この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

PermissionSet

ユーザのプロファイルを変更せずに、追加権限の許可に使用する権限のセットを表します。アクセスの許可に権限セットを使用できますが、アクセスの拒否には使用できません。

Metadata メタデータ型を拡張し、その fullName 項目を継承します。

API バージョン 40.0 以降、権限セットメタデータを取得またはリリースすると、メタデータ API で公開されている、権限セットのすべてのコンテンツが含まれます。メタデータには、権限セットに関連付けられた Apex、CRUD などが含まれます。

API バージョン 39.0 以前では、権限セットメタデータを取得またはリリースすると、権限セットに割り当てられたアプリケーション権限とシステム権限のみが返されます。連結メタデータ (Apex、CRUD など) が含まれるのは、関連するコンポーネントのメタデータもパッケージ定義に含まれる場合のみです。

重要

API バージョン 29.0 以降では、プロファイルと権限セットの次の管理コンポーネントのアクセス設定を取得およびリリースできます。
  • 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 以降で使用できます。
customPermissions PermissionSetCustomPermissions[] この権限セットに割り当てられているユーザが利用可能なカスタム権限を示します。API バージョン 31.0 以降で使用できます。
description string 権限セットの説明。最大 255 文字です。
externalDataSourceAccesses PermissionSetExternal DataSourceAccess[] この権限セットに割り当てられているユーザが使用できる、ID 種別 [ユーザ] を持つデータソースを示します。API バージョン 27.0 以降で利用できます。
fieldPermissions PermissionSetFieldPermissions[] この権限セットに割り当てられているユーザがアクセスできる項目、および使用可能なアクセス権の種類 (参照可能または編集可能) を示します。API バージョン 23.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 以降では、有効なユーザ権限のみが取得されます。

PermissionSetApplicationVisibility

PermissionSetApplicationVisibility は、この権限セットに割り当てられているユーザにアプリケーションが表示されるかどうかを決定します。

項目名 データ型 説明
application string 必須。アプリケーションの名前。
visible boolean 必須。この権限セットに割り当てられているユーザにこのアプリケーションが表示されるか (true)、否か (false) を示します。

PermissionSetApexClassAccess

PermissionSetApexClassAccess は権限セットに割り当てられているユーザの Apex クラスのアクセス権を表します。

項目 データ型 説明
apexClass string 必須。Apex クラス名���
enabled boolean 必須。この権限セットに割り当てられているユーザが最上位クラスのメソッドを実行できるか (true)、否か (false) を示します。

PermissionSetCustomPermissions

PermissionSetCustomPermissions は権限セットに割り当てられているユーザのカスタムアクセス権限を表します。取得できるのは有効なカスタム権限のみです。

項目名 データ型 説明
enabled boolean 必須。カスタム権限が有効化されているか (true)、否か (false) を示します。
name string 必須。カスタム権限名。

PermissionSetExternalDataSourceAccess

PermissionSetExternalDataSourceAccess は、ID 種別 [ユーザ] を持つユーザのデータソースアクセス権を表します。API バージョン 27.0 以降で利用できます。

項目 データ型 説明
enabled boolean 必須。データソースが有効化されているか (true)、否か (false) を示します。
externalDataSource string 外部データソースの名前。

PermissionSetFieldPermissions

PermissionSetFieldPermissions は権限セットに割り当てられているユーザの項目権限を表します。API バージョン 30.0 以降では、必須項目の権限の取得やリリースはできません。

API バージョン 38.0 以降は、ユーザインターフェースでは変更できない項目の場合は、メタデータ API を使用��て、項目権限を変更し、項目を編集可能にすることができます。たとえば、Asset.ProductCode はユーザインターフェースでは変更できませんが、編集可能項目としてリリースできます。

メモ

項目 データ型 説明
editable boolean 必須。この権限セットに割り当てられているユーザが項目を編集できるか (true)、否か (false) を示します。
field string 必須。項目の API 参照名 (Warehouse__c.Description__c など)。
readable boolean この権限セットに割り当てられているユーザが項目を参照できるか (true)、否か (false) を示します。

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 ページのアクセス権を表します。

項目 データ型 説明
apexPage string 必須。Visualforce ページ名。
enabled boolean 必須。この権限セットに割り当てられているユーザが Visualforce ページを実行できるか (true)、否か (false) を示します。

PermissionSetRecordTypeVisibility

PermissionSetRecordTypeVisibility は、この権限セットのレコードタイプが表示されるかどうかを表します。

項目 データ型 説明
recordType string 必須。Account.MyRecordType などのレコードタイプ名。
visible boolean 必須。レコードタイプがこの権限セットに割り当てられているユーザに表示されるか (true)、否か (false) を示します。

PermissionSetTabSetting

PermissionSetTabSetting は権限セットのタブ設定を表します。

項目 データ型 説明
tab string 必須。タブ名。
visibility PermissionSetTabVisibility (string 型の列挙) 必須。タブの表示設定を示します。有効な値は、次のとおりです。
  • Available — このタブは [すべてのタブ] ページで利用できます。各ユーザは、どのアプリケーションでもタブが表示されるように表示をカスタマイズできます。
  • None — このタブは [すべてのタブ] ページでは利用できず、どのアプリケーションにも表示されません。
  • Visible — タブは [すべてのタブ] ページで利用でき、関連付けられているアプリケーションの表示タブに表示されます。各ユーザは、表示をカスタマイズしてタブを非表示にしたり、その他のアプリケーションで表示したりできます。

PermissionSetUserPermission

PermissionSetUserPermission は権限セットのアプリケーション権限またはシステム権限を表します。権限ごとにこれらの要素の 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>43.0</version>
24</Package>