この記事の目次
PermissionSetAssignmentとは?
![](https://b-engineer-media-cms.s3.amazonaws.com/item/image/user/9e08934fd24485c7d9e691a312f16a4ef7ff96eb/35243f00-6773-4465-8ac2-7ac2bb3bf90c.jpg)
サンプルコード1
以下のサンプルコードでは、特定のユーザーに割り当てられている権限を検索しています。 SalesforceのPermissionSetAssignmentを使用して、特定のユーザーに割り当てられているすべての権限を検索します。SELECT Id, PermissionSetId
FROM PermissionSetAssignment
WHERE AssigneeId = '005600000017cKt'
サンプルコード2
以下のサンプルコードでは、特定の権限に割り当てられているユーザーを検索しています。 SalesforceのPermissionSetAssignmentを使用して、特定の権限に割り当てられているすべてのユーザーを検索します。SELECT Id, AssigneeId
FROM PermissionSetAssignment
WHERE PermissionSetId = '0PS30000000000e'
割り当ての編集
SalesforceのPermissionSetAssignmentでは、割り当てられているユーザーや権限の検索以外に、割り当てを編集することが可能です。 SalesforceのPermissionSetAssignmentでは、新しい権限の割り当てを作成したり、割り当てユーザーがいない権限を削除したりすることが可能です。割り当てを編集する場合は、既存の割り当てを一旦削除してから、新しい割り当てを作成する必要があります。権限の割り当て
Salesforceでは、権限を割り当てる場合、PermissionSetの「UserLicenseId」とプロファイルの「UserLicenseId」が一致していることが条件になります。 1.ユーザーのプロファイルIDを検索します。SELECT Id, ProfileId
FROM User
WHERE Id = '005D0000001GMAT'
2.権限のライセンスIDを検索します。
SELECT Id, LicenseId
FROM PermissionSet
WHERE Id = '0PS30000000000e'
3.IDが一致している場合に割り当てが実行できます。
また、割り当ての無いすべての権限を検索する場合は、次のようにします。
SELECT Id, Assignee.Name, PermissionSet.Name
FROM PermissionSetAssignment
WHERE PermissionSet.LicenseId = null
PermissionSetAssignmentでプロファイル権限の確認
![](https://b-engineer-media-cms.s3.amazonaws.com/item/image/user/9e08934fd24485c7d9e691a312f16a4ef7ff96eb/92e5f7e9-db15-40b0-a27f-8f192f3215b1.jpg)
プロファイルの権限セットを取得
プロファイルで所有している権限セットを取得する方法をサンプルコードで説明します。 以下のサンプルコードでは、プロファイルで所有している権限セットを含んだ、すべての権限セットを取得しています。SELECT Id, Label, ProfileId, Profile.Name
FROM PermissionSet
以下のサンプルコードでは、プロファイルで所有している権限セット含まない、すべての権限セットを取得しています。
SELECT Id, Label, ProfileId, Profile.Name, IsOwnedByProfile
FROM PermissionSet
WHERE IsOwnedByProfile = FALSE
プロファイルから権限を確認
プロファイルで所有している権限セットから権限を確認する方法をサンプルコードで説明します。 プロファイルで所有している権限セットのIDを取得した後、PermissionSetAssignment オブジェクトを用いれば、ユーザーがアクセスできるかどうかを確認することができます。SELECT Assignee.Name, PermissionSet.Id, PermissionSet.isOwnedByProfile
FROM PermissionSetAssignment
WHERE PermissionSetId
IN (SELECT ParentId
FROM ObjectPermissions
WHERE SObjectType = 'Merchandise__c' AND PermissionsRead = true)
SalesforceのPermissionSetAssignmentを活用しよう!
![](https://b-engineer-media-cms.s3.amazonaws.com/item/image/user/9e08934fd24485c7d9e691a312f16a4ef7ff96eb/558130be-c106-47de-a1f2-06db421e15bb.jpg)
この記事の監修者・著者
![株式会社オープンアップITエンジニア](https://tenshoku-careerchange.jp/wp-content/uploads/2023/07/fzxADbr-_400x400-1-150x150.jpg)
-
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞
最新の投稿
- 2024年3月26日キャリア・転職保安職(自衛官・警察・消防官など)に向いている人の性格・特徴ランキング【現役保安職(自衛官・警察・消防官など)36人が回答】
- 2024年3月26日キャリア・転職保安職(自衛官・警察・消防官など)に必要なスキルランキング&スキルアップの方法とは?【現役保安職(自衛官・警察・消防官など)36人が回答】
- 2024年3月26日キャリア・転職クリエイター職(ライター・デザイナー・編集)に向いている人の性格・特徴ランキング【現役クリエイター職(ライター・デザイナー・編集)64人が回答】
- 2024年3月26日キャリア・転職クリエイター職(ライター・デザイナー・編集)に必要なスキルランキング&スキルアップの方法とは?【現役クリエイター職(ライター・デザイナー・編集)64人が回答】