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

PermissionSet

ユーザーのプロファイルを変更または再割り当てせずに 1 名以上のユーザーに追加のアクセス権を付与できるようにするために使用する権限のセットを表します。アクセスの許可に権限セットを使用できますが、アクセスの拒否には使用できません。

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

API バージョン 40.0 以降、権限セットメタデータを取得すると、メタデータ API で公開されている、権限セットのすべてのコンテンツが含まれます。メタデータには、権限セットに関連付けられた Apex、CRUD などが含まれます。同様に、権限セットをリリースするときは、権限セットの内容を誤って上書きしないように、そのメタデータをすべて含める必要があります。

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

API バージョン 29.0 以降では、プロファイルと権限セットの次の管理コンポーネントのアクセス設定を取得およびリリースできます。

詳細は、『メタデータ API 開発者ガイド』「package.xml マニフェストファイルのサンプル」に記載されている「管理コンポーネントへのアクセス」セクションを参照してください。

宣言的なメタデータファイルのサフィックスおよびディレクトリの場所

権限セットは permissionsets ディレクトリに保存されます。ファイル名は権限セットの API 参照名に一致し、拡張子は .permissionset です。たとえば、User_Management_Perms という名前の権限セットは permissionsets/User_Management_Perms.permissionset に保存されます。

バージョン

権限セットは API バージョン 22.0 以降で使用できます。

特別なアクセスルール

Summer '20 以降、このタイプにアクセスできるのは、次のいずれかの権限を持つユーザーのみとなります。

  • 「設定・定義の参照」
  • 「セッション権限セットの有効化の管理」
  • 「権限セットの割り当て」
  • 「プロファイルと権限セットの管理」
指定された権限セット内の標準オブジェクトとカスタムオブジェクトの次の設定、割り当て、および権限を表示するには、「設定・定義を参照する���権限が必要です。
  • クライアント設定
  • 項目権限
  • レイアウトの割り当て
  • オブジェクト権限
  • 権限の連動関係
  • 権限セットのタブ設定
  • 権限セットグループのコンポーネント
  • レコードのタイプ

項目

項目 項目の型 説明
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 文字です。
externalCredentialPrincipalAccesses PermissionSetExternalCredentialPrincipalAccess[] この権限セットに割り当てられているユーザーが利用可能な外部ログイン情報プリンシパルを示します。API バージョン 59.0 以降で利用できます。
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 PermissionSetTabVisibility[] この権限セットのタブ表示設定を示します。API バージョン 26.0 以降で利用できます。
userLicense string 非推奨。権限セットのユーザーライセンス。ユーザーライセンスによって、ユーザーがアクセスできる機能の基準が決まります。各ユーザーにユーザーライセンスが 1 つだけ必要です。API バージョン 37.0 まで使用可能です。API バージョン 38.0 以降では、license を使用します。
userPermissions PermissionSetUserPermissions[] アプリケーション権限またはシステム権限 (「API の有効化」など) と、この権限セットで有効化されているかどうかを指定します。API バージョン 28.0 以前では、有効であるか無効であるかに関係なく、この項目ですべてのユーザー権限が取得されます。API バージョン 29.0 以降では、有効なユーザー権限のみが取得されます。API バージョン 40.0 以降では、リリースで権限が指定されていない場合、無効になります。

PermissionSetApplicationVisibility

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

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

PermissionSetApexClassAccess

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

項目 項目の型 説明
apexClass string 必須。Apex クラス名。
enabled 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 必須。カスタム設定の名前。

PermissionSetExternalCredentialPrincipalAccess

PermissionSetExternalCredentialPrincipalAccess は外部ログイン情報プリンシパルへのアクセスを表します。権限セットに割り当てられているユーザーは、外部ログイン情報を参照する指定ログイン情報を使用して、コールアウトを実行できます。API バージョン 59.0 以降で利用できます。

項目 項目の型 説明
enabled boolean 必須。権限セットで外部ログイン情報プリンシパルへのアクセスが有効になっているか (true)、否か (false) かを示します。
externalCredentialPrincipal string 必須。外部ログイン情報とプリンシパルの名前をダッシュで区切ります。たとえば、「myExternalCredential-myPrincipal」などです。

外部ログイン情報とプリンシパルがパッケージの一部である場合は、「namespacePrefix__myExternalCredential-myPrincipal」という形式を使用して、プリンシパルの名前とともにパッケージの名前空間プレフィックスを含めます。名前空間プレフィックスと外部ログイン情報プリンシパル名の間にアンダースコアを 2 つ (__) 使用します。

PermissionSetExternalDataSourceAccess

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

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

PermissionSetFieldPermissions

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

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

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

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

項目 項目の型 説明
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

API バージョン 28.0 以前では、PermissionSetUserPermission は権限セットのアプリケーション権限またはシステム権限を表します。API バージョン 29.0 以降では、有効なユーザー権限のみが取得されます。権限ごとにこれらの要素の 1 つを使用します。

項目 項目の型 説明
enabled boolean 必須。権限が有効化されるか (true)、無効化されるか (false) を示します。
name string 必須。権限の名前。

宣言的なメタデータの定義のサンプル

PermissionSet コンポーネントの例を次に示します。

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>60.0</version>
24</Package>

マニフェストファイル内のワイルドカードのサポート

このメタデータ型では、package.xml マニフェストファイル内のワイルドカード文字 * (アスタリスク) がサポートされます。マニフェストファイルの使用についての詳細は、「zip ファイルを使用したメタデータのリリースと取得」を参照してください。