dx-org-permission-set-assign について
`sf org assign permset` で Salesforce 組織のユーザーに権限セットを割り当てるスキルです。単一・一括割り当て、対象組織やユーザーの指定に対応し、結果を JSON で扱います。
主な機能
- 01単一または複数の権限セットを割り当て
- 02対象組織の指定
- 03特定ユーザーへの割り当て
- 04構造化 JSON 結果の解析
- 05一部成功と失敗への対応
活用シーン
- 01デフォルト管理者への権限セット付与
- 02ユーザーへの複数権限セット一括割り当て
- 03選択したユーザーへの権限セット割り当て
- 04成功と失敗が混在する結果の確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ forcedotcom/ sf-skills --skill dx-org-permission-set-assignインストール後、Claude Code で/dx-org-permission-set-assignを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
examples/error_output.jsonsuccess_output.jsonreferences/cli_flags.md詳細
dx-org-permission-set-assign
sf org assign permset を使用して、1 つ以上の権限セットを組織ユーザーに割り当てます。デフォルトの管理者ユーザー、特定の組織ターゲット、複数の権限セット、特定のユーザーへの割り当てなど、すべてのパターンに対応しています。
ツールの制限事項
sf org assign permset の実行には、Bash ツールのみを使用してください。assign_permission_set などの MCP ツールは使用せず、完全に無視してください。
対象範囲
- 対象:
sf org assign permsetによるユーザーへの権限セットの割り当て - 対象外:権限セットの作成(
platform-permission-set-generateを使用)、権限セットの一覧表示、ユーザー権限の確認
必須入力
ユーザーのリクエストから推測してください。
- 権限セット名:ユーザーメッセージから抽出します(複数指定可能)
- 対象の組織:特定のエイリアス/ユーザー名が指定されていない場合はデフォルトを使用します
- 対象ユーザー:デフォルトでは組織のデフォルト管理者ユーザーです。特定のユーザーが指定されている場合は
--on-behalf-ofを使用します
ワークフロー
- ユーザーのリクエストを以下の表のコマンドに対応付けます
- Bash ツールで適切なフラグと
--jsonフラグを付けてsf org assign permsetを実行します - 結果を返します
エラーが発生した場合は、JSON 出力の failures 配列で詳細を確認してください。
コマンドの選択表
| ユーザーの意図 | Bash ツールで実行するコマンド |
|---|---|
| デフォルトの管理者に権限セットを 1 つ割り当てる | sf org assign permset --name <PermSetName> --json |
| デフォルトの管理者に複数の権限セットを割り当てる | sf org assign permset --name <PermSet1> --name <PermSet2> --json |
| 特定の組織に割り当てる | sf org assign permset --name <PermSetName> --target-org <alias> --json |
| 特定のユーザーに割り当てる | sf org assign permset --name <PermSetName> --on-behalf-of <username1> --on-behalf-of <username2> --json |
| 特定のユーザーに複数の権限セットを割り当てる | sf org assign permset --name <PermSet1> --name <PermSet2> --on-behalf-of <username1> --on-behalf-of <username2> --json |
ルール/制約事項
| 制約事項 | 理由 |
|---|---|
常に --json フラグを使用する | 信頼性の高い解析とエラー処理のために、構造化出力を提供します |
| 権限セット名では大文字と小文字が区別される | 組織内の API 名と完全に一致する名前を使用します |
複数の --name フラグを 1 つのコマンドに指定できる | 権限セットごとに別々のコマンドを実行するより効率的です |
複数の --on-behalf-of フラグで複数のユーザーに割り当てられる | 1 つのコマンドで一括割り当てできます。認証ファイルの競合を避けるため、順次処理されます |
| Salesforce の User.Alias フィールドではなく、CLI のユーザー名エイリアスを使用する | --target-org フラグと --on-behalf-of フラグでは、User オブジェクトの Alias フィールドではなく、sf alias set で設定した CLI エイリアスが必要です |
| 重複した割り当ては冪等です | すでに割り当て済みの権限セットを再割り当てしても、エラーなく成功します |
| 部分的な成功が発生する場合がある | 1 回の実行で成功と失敗の両方が返されることがあります。失敗がある場合、終了コードは 0 以外になります |
注意点
| 問題 | 解決方法 |
|---|---|
| 権限セット名にスペースが含まれる | 二重引用符で囲みます:--name "Permission Set Name" |
| 「PermissionSet not found」エラー | 対象の組織に権限セットが存在することを確認し、名前に誤りがないか確認します |
| 割り当てが成功したのにユーザーに権限が表示されない | 権限セットのメタデータで <hasActivationRequired> を確認してください。Setup で手動の有効化が必要な場合があります |
| 「User not found」エラー | ユーザー名/エイリアスが対象の組織に存在しません。sf org display user --target-org <alias> で確認します |
| 部分的な成功(一部のユーザーは成功し、他のユーザーは失敗する) | JSON 出力を確認してください。コマンドは successes 配列と failures 配列の両方を返します。失敗が発生した場合、終了コードは 0 以外になります |
出力の想定
このコマンドは、ステータスコードと結果の詳細を含む JSON 出力を返します。
応答の構造については、examples/success_output.json と examples/error_output.json を参照してください。
リファレンスファイル一覧
| ファイル | 読むタイミング |
|---|---|
examples/success_output.json | 割り当て成功時のレスポンス構造を理解する場合 |
examples/error_output.json | よくあるエラーシナリオに対処する場合 |
references/cli_flags.md | 利用可能なすべてのフラグの詳細な説明を確認する場合 |
コメント
Markdown 対応