PermissionSet
Metadata メタデータ型を拡張し、その fullName 項目を継承します。
- Apex クラス
- アプリケーション
- カスタム項目権限
- カスタムオブジェクト権限
- カスタムタブの設定
- 外部データソース
- レコードタイプ
- Visualforce ページ
詳細は、「package.xml マニフェストファイルのサンプル」の「管理コンポーネントへのアクセス」を参照してください。
宣言的なメタデータファイルのサフィックスおよびディレクトリの場所
権限セットは permissionsets ディレクトリに保存されます。ファイル名は権限セットの API 参照名に一致し、拡張子は .permissionset です。たとえば、User_Management_Perms という名前の権限セットは permissionsets/User_Management_Perms.permissionset に保存されます。
バージョン
権限セットは API バージョン 22.0 以降で使用できます。
特別なアクセスルール
- 「設定・定義の参照」
- 「セッション権限セットの有効化の管理」
- 「権限セットの割り当て」
- 「プロファイルと権限セットの管理」
- クライアント設定
- 項目権限
- レイアウトの割り当て
- オブジェクト権限
- 権限の連動関係
- 権限セットのタブ設定
- 権限セットグループのコンポーネント
- レコードのタイプ
項目
| 項目 | 項目の型 | 説明 |
|---|---|---|
| applicationVisibilities | PermissionSetApplicationVisibility[] | この権限セットに割り当てられているユーザに表示されるアプリケーションを示します。API バージョン 29.0 以降で利用できます。API バージョン 29.0 では、この項目はカスタムアプリケーションのみをサポートします。API バージョン 30.0 以降、この項目は標準アプリケーションとカスタムアプリケーションの両方をサポートします。 |
| classAccesses | PermissionSetApexClassAccess[] | この権限セットに割り当てられているユーザが実行できるメソッドを持つ最上位の Apex クラスを示します。API バージョン 23.0 以降で利用できます。 |
| customMetadataTypeAccesses | PermissionSetCustomMetadataTypeAccess[] | この権限セットに割り当てられたユーザに参照アクセス権があるカスタムメタデータ型を示します。API バージョン 47.0 以降で利用できます。 |
| customPermissions | PermissionSetCustomPermissions[] | この権限セットに割り当てられているユーザが利用可能なカスタム権限を示します。API バージョン 31.0 以降で利用できます。 |
| customSettingAccesses | PermissionSetCustomSettingAccesses[] | この権限セットに割り当てられたユーザに参照アクセス権があるカスタム設定を示します。API バージョン 47.0 以降で利用できます。 |
| description | string | 権限セットの説明。最大 255 文字です。 |
| externalDataSourceAccesses | PermissionSetExternal DataSourceAccess[] | この権限セットに割り当てられているユーザが使用できる、ID 種別 [ユーザ] を持つデータソースを示します。API バージョン 27.0 以降で利用できます。 |
| fieldPermissions | PermissionSetFieldPermissions[] | この権限セットに割り当てられているユーザがアクセスできる項目、および使用可能なアクセス権の種類 (参照可能または編集可能) を示します。API バージョン 23.0 以降で利用できます。 |
| flowAccesses | PermissionSetFlowAccess[] | この権限セットに割り当てられているユーザがアクセスできるフローを示します。API バージョン 47.0 以降で利用できます。 |
| hasActivationRequired | boolean | 権限セットが、関連付けられた有効なセッションを要求するか (true)、否か (false) を示します。API バージョン 37.0 以降で利用できます。 |
| label | string | 必須。権限セットの表示ラベル。最大 80 文字です。 |
| license | string | 関連権限セットライセンス、またはこの権限セットに関連付けられているユーザライセンスが含まれます。API バージョン 38.0 以降で利用できます。非推奨で API バージョン 37.0 までしか使用できない userLicense の代わりにこの項目を使用してください。 |
| objectPermissions | PermissionSetObjectPermissions[] | この権限セットに割り当てられているユーザがアクセスできるオブジェクト、および使用可能なアクセス権の種類 (作成、参照、編集、削除など) を示します。API バージョン 23.0 以降で利用できます。 |
| pageAccesses | PermissionSetApexPageAccess[] | この権限セットに割り当てられているユーザが実行できる Visualforce ページを示します。API バージョン 23.0 以降で利用できます。 |
| recordTypeVisibilities | PermissionSetRecordTypeVisibility[] | この権限セットに割り当てられているユーザに表示されるレコードタイプを示します。API バージョン 29.0 以降で利用できます。無効なレコードタイプの場合、この項目は取得またはリリースされません。 |
| tabSettings | PermissionSetTabSetting[] | この権限セットのタブ表示設定を示します。API バージョン 26.0 以降で利用できます。 |
| userLicense | string | 非推奨。権限セットのユーザライセンス。ユーザライセンスによって、ユーザがアクセスできる機能の基準が決まります。各ユーザにユーザライセンスが 1 つだけ必要です。API バージョン 37.0 まで使用可能です。API バージョン 38.0 以降では、license を使用します。 |
| userPermissions | PermissionSetUserPermission[] | アプリケーション権限またはシステム権限 (「API の有効化」など) と、この権限セットで有効化されているかどうかを指定します。API バージョン 28.0 以前では、有効であるか無効であるかに関係なく、この項目ですべてのユーザ権限が取得されます。API バージョン 29.0 以降では、有効なユーザ権限のみが取得されます。API バージョン 40.0 以降では、リリースで権限が指定されてい合い場合、無効になります。 |
PermissionSetApplicationVisibility
PermissionSetApplicationVisibility は、この権限セットに割り当てられているユーザにアプリケーションが表示されるかどうかを決定します。
| 項目名 | 項目の型 | 説明 |
|---|---|---|
| application | string | 必須。アプリケーショ���の名前。 |
| visible | boolean | 必須。この権限セットに割り当てられているユーザにこのアプリケーションが表示されるか (true)、否か (false) を示します。 |
PermissionSetCustomMetadataTypeAccess
PermissionSetCustomMetadataTypeAccess は権限セットに割り当てられているユーザのカスタムメタデータ型アクセス権を表します。API バージョン 47.0 以降で利用できます。
| 項目 | 項目の型 | 説明 |
|---|---|---|
| enabled | boolean | 必須。このカスタムメタデータ型のレコードが参照可能か (true)、否か (false) を示します。 |
| name | string | 必須。カスタムメタデータ型名。 |
PermissionSetCustomPermissions
PermissionSetCustomPermissions は権限セットに割り当てられているユーザのカスタムアクセス権限を表します。取得できるのは有効なカスタム権限のみです。
| 項目名 | 項目の型 | 説明 |
|---|---|---|
| enabled | boolean | 必須。カスタム権限が有効化されているか (true)、否か (false) を示します。 |
| name | string | 必須。カスタム権限名。 |
PermissionSetCustomSettingAccesses
PermissionSetCustomSettingAccesses は権限セットに割り当てられているユーザのカスタム設定を表します。API バージョン 47.0 以降で利用できます。
| 項目 | 項目の型 | 説明 |
|---|---|---|
| enabled | boolean | 必須。このカスタム設定のレコードが参照可能か (true)、否か (false) を示します。 |
| name | string | 必須。カスタム設定の名前。 |
PermissionSetExternalDataSourceAccess
PermissionSetExternalDataSourceAccess は、ID 種別 [ユーザ] を持つユーザのデータソースアクセス権を表します。API バージョン 27.0 以降で利用できます。
| 項目 | 項目の型 | 説明 |
|---|---|---|
| enabled | boolean | 必須。データソースが有効化されているか (true)、否か (false) を示します。 |
| externalDataSource | string | 外部データソースの名前。 |
PermissionSetFieldPermissions
PermissionSetFlowAccess
PermissionSetFlowAccess は、権限セットでアクセス権が付与されるフローを表します。API バージョン 47.0 以降で利用できます。
| 項目 | 項目の型 | 説明 |
|---|---|---|
| enabled | boolean | 必須。この権限セットに割り当てられているユーザがフローにアクセスできるか (true)、否か (false) を示します。デフォルト値は false です。 |
| flow | string | 必須。アクセス権が付与されているフローの名前。 |
PermissionSetObjectPermissions
PermissionSetObjectPermissions は権限セットのオブジェクト権限を表します。権限ごとにこれらの要素の 1 つを使用します。
| 項目 | 項目の型 | 説明 |
|---|---|---|
| allowCreate | boolean | 必須。この権限セットに割り当てられているユーザが object 項目で参照されているオブジェクトを作成できるか (true)、否か (false) を示します。 |
| allowDelete | boolean | 必須。この権限セットに割り当てられているユーザが object 項目で参照されているオブジェクトを削除できるか (true)、否か (false) を示します。 |
| allowEdit | boolean | 必須。この権限セットに割り当てられているユーザが object 項目で参照されているオブジェクトを編集できるか (true)、否か (false) を示します。 |
| allowRead | boolean | 必須。この権限セットに割り当てられているユーザが object 項目で参照されているオブジェクトを参照できるか (true)、否か (false) を示します。 |
| modifyAllRecords | boolean | 必須。オブジェクトの共有設定に関係なく、この権限セットに割り当てられているユーザが object 項目で参照されているオブジェクトを参照、編集、または削除できるか (true)、否か (false) を示します。これには非公開レコード (親オブジェクトを持たないレコード) を含みます。これは「すべてのデータの編集」ユーザ権限と似ていますが、個別のオブジェクトレベルに限定されます。 |
| object | string | 必須。オブジェクトの API 参照名 (Warehouse__c など)。 |
| viewAllRecords | boolean | 必須。オブジェクトの共有設定に関係なく、この権限セットに割り当てられているユーザが object 項目で参照されているオブジェクトを参照できるか (true)、否か (false) を示します。これには非公開レコード (親オブジェクトを持たないレコード) を含みます。viewAllRecords 項目は、「すべてのデータの参照」ユーザ権限と似ていますが、個別のオブジェクトレベルに限定されます。 |
PermissionSetApexPageAccess
PermissionSetApexPageAccess は権限セットに割り当てられているユーザの Visualforce ページのアクセス権を表します。
PermissionSetRecordTypeVisibility
PermissionSetRecordTypeVisibility は、この権限セットのレコードタイプが表示されるかどうかを表します。
| 項目 | 項目の型 | 説明 |
|---|---|---|
| recordType | string | 必須。Account.MyRecordType などのレコードタイプ名。 |
| visible | boolean | 必須。レコードタイプがこの権限セットに割り当てられているユーザに表示されるか (true)、否か (false) を示します。 |
PermissionSetTabSetting
PermissionSetTabSetting は権限セットのタブ設定を表します。
| 項目 | 項目の型 | 説明 |
|---|---|---|
| tab | string | 必須。タブ名。 |
| visibility | PermissionSetTabVisibility (string 型の列挙) | 必須。タブの表示設定を示します。有効な値は、次のとおりです。
|
PermissionSetUserPermission
API バージョン 28.0 以前では、PermissionSetUserPermission は権限セットのアプリケーション権限またはシステム権限を表します。API バージョン 29.0 以降では、有効なユーザ権限のみが取得されます。権限ごとにこれらの要素の 1 つを使用します。
| 項目 | 項目の型 | 説明 |
|---|---|---|
| enabled | boolean | 必須。権限が有効化されるか (true)、無効化されるか (false) を示します。 |
| name | string | 必須。権限の名前。 |
宣言的なメタデータの定義のサンプル
権限セットを追加または変更するときは、すべての権限を含める必要はありません。含める必要があるのは、追加または変更する権限のみです。
1<?xml version="1.0" encoding="UTF-8"?>
2<PermissionSet xmlns="http://soap.sforce.com/2006/04/metadata">
3 <description>Grants all rights needed for an HR administrator to manage employees.</description>
4 <label>HR Administration</label>
5 <userLicense>Salesforce</userLicense>
6 <applicationVisibilities>
7 <application>JobApps__Recruiting</application>
8 <visible>true</visible>
9 </applicationVisibilities>
10 <userPermissions>
11 <enabled>true</enabled>
12 <name>APIEnabled</name>
13 </userPermissions>
14 <objectPermissions>
15 <allowCreate>true</allowCreate>
16 <allowDelete>true</allowDelete>
17 <allowEdit>true</allowEdit>
18 <allowRead>true</allowRead>
19 <viewAllRecords>true</viewAllRecords>
20 <modifyAllRecords>true</modifyAllRecords>
21 <object>Job_Request__c</object>
22 </objectPermissions>
23 <fieldPermissions>
24 <editable>true</editable>
25 <field>Job_Request__c.Salary__c</field>
26 <readable>true</readable>
27 </fieldPermissions>
28 <pageAccesses>
29 <apexPage>Job_Request_Web_Form</apexPage>
30 <enabled>true</enabled>
31 </pageAccesses>
32 <classAccesses>
33 <apexClass>Send_Email_Confirmation</apexClass>
34 <enabled>true</enabled>
35 </classAccesses>
36 <tabSettings>
37 <tab>Job_Request__c</tab>
38 <visibility>Available</visibility>
39 </tabSettings>
40 <recordTypeVisibilities>
41 <recordType>Recruiting.DevManager</recordType>
42 <visible>true</visible>
43 </recordTypeVisibilities>
44</PermissionSet>組織の PermissionSet メタデータを取得するために使用される package.xml マニフェストの例を次に示します。権限セットを取得する場合、割り当てられた権限付きの関連コンポーネントも取得します。たとえば、カスタムオブジェクトの objectPermissions および fieldPermissions を取得するには、CustomObject コンポーネントも取得する必要があります。
1<?xml version="1.0" encoding="UTF-8"?>
2<Package xmlns="http://soap.sforce.com/2006/04/metadata">
3 <types>
4 <members>Job_Request__c</members>
5 <name>CustomTab</name>
6 </types>
7 <types>
8 <members>Job_Request__c</members>
9 <name>CustomObject</name>
10 </types>
11 <types>
12 <members>JobApps__Recruiting</members>
13 <name>CustomApplication</name>
14 </types>
15 <types>
16 <members>Recruiting.DevManager</members>
17 <name>RecordType</name>
18 </types>
19 <types>
20 <members>*</members>
21 <name>PermissionSet</name>
22 </types>
23 <version>54.0</version>
24</Package>マニフェストファイル内のワイルドカードのサポート
このメタデータ型では、package.xml マニフェストファイル内のワイルドカード文字 * (アスタリスク) がサポートされます。マニフェストファイルの使用についての詳細は、「zip ファイルを使用したメタデータのリリースと取得」を参照してください。