2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Salesforce】「PermissionSetAssignment」オブジェクトを解説

Posted at

今回はSalesforceでマニアックなオブジェクトであるPermissionSetAssignmentを解説します。
このオブジェクトは、ユーザーと権限セット(Permission Set)や権限セットグループ(Permission Set Group)の関連付けを管理するために使用されます。
多数のユーザーの「誰がどの権限を持っているのか?」を管理するうえで、便利なオブジェクトなので、ぜひ押さえておきましょう。


1. PermissionSetAssignmentとは?

PermissionSetAssignment(権限セットの割り当て)オブジェクトは、ユーザー権限セット/権限セットグループの関係を表現する中間オブジェクトです。

例えば、以下のような場面で利用されます:

  • 特定のユーザーがどの権限セットを持っているかを確認する。
  • 新しい権限セットを割り当てる。
  • 不要な権限セットを削除する。

公式ドキュメント:PermissionSetAssignment - Object Reference

データローダーからも確認できます。

01権限セットの割り当て.png


2. 主なフィールド

PermissionSetAssignmentオブジェクトの主要なフィールドを以下にまとめました。

フィールド名 説明
Id ID レコードの一意識別子
PermissionSetId ID 割り当てられた権限セットのID
PermissionSetGroupId ID 割り当てられた権限セットグループのID
AssigneeId ID 権限セットを割り当てられたユーザーのID
CreatedDate DateTime レコードが作成された日時
LastModifiedDate DateTime レコードが最後に更新された日時

これらのフィールドを使うことで、権限セットや権限セットグループの割り当て状況を詳細に追跡できます。


3. 使用例

3.1 SOQLで権限セットを確認する

以下のSOQLクエリで、特定ユーザーの割り当てられた権限セットを取得できます。

SELECT Id, PermissionSet.Name, Assignee.Name 
FROM PermissionSetAssignment 
WHERE AssigneeId = '005XXXXXXXXXXXX'
  • AssigneeId:ユーザーのIDを指定します。
  • PermissionSet.Name:関連付けられた権限セットの名前を取得できます。

3.2 権限セットを割り当てる

開発者コンソールから、特定のユーザーに権限セットを割り当てることも可能です。

Id userId = '005XXXXXXXXXXXX'; // ユーザーID
Id permissionSetId = '0PSXXXXXXXXXXXX'; // 権限セットID

PermissionSetAssignment psa = new PermissionSetAssignment();
psa.AssigneeId = userId;
psa.PermissionSetId = permissionSetId;

insert psa;
System.debug('Permission Set Assigned: ' + psa.Id);

4. 注意点

  • 一意性制約
    同一ユーザーに同一の権限セットを複数回割り当てることはできません。

  • 削除制限
    権限セットの割り当てを削除する際は、Sandboxなどで十分に検証を行い、影響範囲に注意してください。基本的に件数が少ない場合には設定から手動で行っていきましょう。


5. 終わりに

PermissionSetAssignmentは、普段は見ることがないオブジェクトかと思います。
本記事で紹介した内容が少しでも参考になりましたら幸いです。

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?