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

SetupEntityAccess

親の PermissionSet の有効化された設定エンティティアクセス権設定 (Apex クラスへのアクセスなど) を表します。ユーザにエンティティへのアクセスを付与するには、ユーザに割り当てられる PermissionSet に適切な SetupEntityAccess レコードを関連付けます。このオブジェクトは、API バージョン 25.0 以降で使用できます。

サポートされているコール

create()delete()describeSObjects()query()retrieve()

項目

項目名 詳細
ParentId
reference
プロパティ
CreateFilterGroupSort
説明
エンティティの親 PermissionSet の ID。
SetupEntityId
reference
プロパティ
CreateFilterGroupSort
説明
Apex クラスや Visualforce ページなど、アクセス権が有効化されているエンティティの ID。
SetupEntityType
picklist
プロパティ
FilterGroupNillableRestricted picklistSort
説明
アクセス権が有効化されている設定エンティティのタイプ。有効な値は、次のとおりです。
  • Apex クラスの ApexClass
  • Visualforce ページの ApexPage
  • API バージョン 28.0 以降では、OAuth 接続アプリケーションConnectedApplication
  • API バージョン 31.0 以降では、カスタムアプリケーションの CustomPermission
  • API バージョン 28.0 以降では、サービスプロバイダの ServiceProvider
  • API バージョン 28.0 以降では、アプリケーションの TabSet

使用方法

SetupEntityAccessPermissionSet オブジェクトの子であるため、使用方法は、FieldPermissions および ObjectPermissions などの他の PermissionSet 子オブジェクトと似ています。

たとえば、次のコードでは、アクセス権が有効化されている任意の設定エンティティへのアクセス権を付与するすべての権限セットが返されます。
1SELECT Id, ParentId, Parent.Name, SetupEntityId
2FROM SetupEntityAccess
次のコードでは、Apex クラスへのアクセス権のみを付与する権限セットが返されます。
1SELECT Id, ParentId, Parent.Name, SetupEntityId
2FROM SetupEntityAccess
3WHERE SetupEntityType='ApexClass'
次のコードでは、任意の設定エンティティへのアクセス権を付与し、プロファイルによって所有されていない権限セットが返されます。
1SELECT Id, ParentId, Parent.Name, SetupEntityId
2FROM SetupEntityAccess
3WHERE ParentId
4IN (SELECT Id
5   FROM PermissionSet
6   WHERE isOwnedByProfile = false)
特定の設定エンティティへのアクセス権がある権限セットのみを返すこともできます。これを実行するには、親オブジェクトをクエリします。たとえば、このコードでは、helloWorld Apex クラスへのアクセス権を付与するすべての権限セットが返されます。
1SELECT Id, Name,
2   (SELECT Id, Parent.Name, Parent.Profile.Name
3   FROM SetupEntityAccessItems)
4FROM ApexClass
5WHERE Name = 'helloWorld'
ConnectedApplicationServiceProvider、または TabSet へのアクセス権がある権限セットを SetupEntityId を使用して返すことはできますが、これらの SetupEntityType 項目へのアクセス権がある権限セットを、NameDescription などの他の AppMenuItem 属性を使用して返すことはできません。たとえば、ユーザに社員募集アプリケーションへのアクセス権があるかどうかを調べるには、2 つのクエリを実行します。まず、AppMenuItem ID を取得する次のクエリを実行します。
1SELECT Id, Name, Label
2FROM AppMenuItem
3WHERE Name = 'Recruiting'
このクエリから AppMenuItem ID 02uD0000000GIiMIAW が返されるとします。この ID を使用して、ユーザに社員募集アプリケーションへのアクセス権があるかどうかを調��る次のクエリを実行できます。
1SELECT Id, SetupEntityId, SetupEntityType
2FROM SetupEntityAccess
3WHERE ParentId
4IN
5   (SELECT PermissionSetId 
6   FROM PermissionSetAssignment
7   WHERE AssigneeId = '005D0000001QOzF')
8AND (SetupEntityId = '02uD0000000GIiMIAW')