IT人材をお探しの方は、まずはお電話ください。担当営業がすぐにご要望にマッチした人材をご提案いたします。
tel:03-6409-6766 お急ぎの方はお電話ください

ブログTOP > IT・技術関連 > SalesforceのPermissionSetAssignmentとは?概要や使い方

SalesforceのPermissionSetAssignmentとは?概要や使い方

IT・技術関連 更新日:2024.09.05
エンジニア採用
SalesforceのPermissionSetAssignmentとは?概要や使い方

PermissionSetAssignmentとは? SalesforceのPermissionSetAssignmentとは、どのユーザーにどの権限が割り当てられているか確認する場合に使用するオブジェクトです。 Salesforceでは、各ユーザーには複数の権限を割り当てることができ、また、各権限を複数のユーザーに割り当てることもできます。割り当てられている情報を確認する場合は、PermissionSetAssignmentを使用します。

サンプルコード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でプロファイル権限の確認

PermissionSetAssignmentを使用すれば、プロファイルで所有している権限セットからユーザーのアクセス可否などを確認することができます。 プロファイルは、ユーザー権限、オブジェクト権限、項目権限、アクセス権限などを保存する権限セットと関連付けられています。 プロファイルから権限セットのIDを取得すれば、PermissionSetAssignmentオブジェクトを使用して、ユーザーがオブジェクトや項目にアクセスできるかどうかを確認することができます。

プロファイルの権限セットを取得

プロファイルで所有している権限セットを取得する方法をサンプルコードで説明します。 以下のサンプルコードでは、プロファイルで所有している権限セットを含んだ、すべての権限セットを取得しています。
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を活用しよう!

今回は、SalesforceのPermissionSetAssignmentについて説明しました。 PermissionSetAssignmentは、ユーザーの権限情報を確認できたり、権限の割り当てを編集したり削除したりすることができるオブジェクトです。 この機会に理解しておきましょう。]]>

この記事の監修者・著者

株式会社オープンアップITエンジニア
株式会社オープンアップITエンジニアAWSパートナー/Salesforce認定コンサルティングパートナー 認定企業
ITエンジニア派遣サービス事業を行っています。AWSやSalesforceなど専門領域に特化したITエンジニアが4,715名在籍し、常時100名以上のITエンジニアの即日派遣が可能です。

・2021年:AWS Japan Certification Award 2020 ライジングスター of the Year 受賞
・2022年3月:人材サービス型 AWSパートナー認定
・AWS認定資格保有者数1,154名(2024年6月現在)
・Salesforce認定コンサルティングパートナー
・Salesforce認定資格者276名在籍(2024年5月現在)
・LPIC+CCNA 認定資格者:472 名(2024年6月時点)
ITエンジニアの派遣を利用したい企業様へ
ITエンジニアを派遣で採用したい企業様へ
  • 求人・転職サイトや自社採用サイトを使っているが、自社に合ったITエンジニアが応募してこない…
  • すぐに採用したいが、応募がぜんぜん集まらない
こんな悩みをお持ちの採用・人事担当者の方は、
オープンアップITエンジニアをご検討ください!

当社のITエンジニア派遣サービスは

  • 派遣スピードが速い!(最短即日)
  • 4,500名のエンジニアから貴社にマッチした人材を派遣
  • 正社員雇用も可能

こんな特長があり、貴社の事業やプロジェクトに合った最適なITエンジニアを派遣可能です。
まずは下記ボタンから無料でご相談ください。

無料相談のお申し込みはこちら
IT・技術関連の記事一覧へ

カテゴリから記事を探す

すべての記事一覧へ