• Projects
  • Service
  • About
  • branding.bz
  • Podcast
  • Tips
  • FAQ
  • Recruit
  • Download
  • Contact
  • branding.bz(ブランド構築SaaS)
  • DESIGN NOW(デザインメディア)
  • X
  • LinkedIn
  • Spotify
  • Facebook

213-0011 神奈川県川崎市高津区久本3-6-7-303

© 2026 ID INC. All rights reserved

claude-skills/スキル
SKILLOfficialdevelopment

platform-permission-set-generate

プラグイン
salesforce-development
ソース
GitHub で見る ↗
説明

Salesforceのパーミッション・セット(アクセス権限設定)に関するメタデータ(システムが管理する設定情報)を正確に生成し、デプロイ(配置)可能な状態にします。オブジェクト、フィールド、ユーザー、およびアプリケーションに対するアクセス権限を含むXML形式で出力します。 次のような場合に使用: - パーミッション・セットのメタデータを新規作成または編集する - オブジェクトに対するアクセス権限を設定する - フィールドレベルのセキュリティ(個別フィールドへのアクセス制限)を構成する - タブの表示・非表示を設定する - パーミッション・セットをシステムに配置する

原文を表示

Generates correct, deployable Salesforce permission set metadata (PermissionSet XML) with object, field, user, and app permissions. Use this skill when creating or editing permission set metadata, object permissions, field-level security (FLS), tab visibility, or deploying permission sets.

ユースケース
  • パーミッション・セットのメタデータを新規作成または編集する
  • オブジェクトに対するアクセス権限を設定する
  • フィールドレベルのセキュリティを構成する
  • タブの表示・非表示を設定する
  • パーミッション・セットをシステムに配置する
本文(日本語訳)

このスキルを使う場面

次のような場合に使用: 権限セット(ユーザーに付与する権限をまとめた設定)のメタデータを作成・編集する場合、またはオブジェクト・フィールド・ユーザー・アプリの権限を付与する場合

ステップ1: 基本情報を定義する

権限セットの必須プロパティを定義することから始めます:

<PermissionSet xmlns="http://soap.sforce.com/2006/04/metadata">
    <fullName>YourPermissionSetName</fullName>
    <label>管理者向けの表示名</label>
    <description>目的と対象ユーザーを明確に説明</description>
</PermissionSet>

命名規則:

  • わかりやすいAPI名を使用する(例: Sales_Manager_Access)

ステップ2: オブジェクト権限を設定する

標準・カスタムオブジェクトに対する作成・読み取り・編集・削除の権限を追加します:

<objectPermissions>
    <allowCreate>true</allowCreate>
    <allowRead>true</allowRead>
    <allowEdit>true</allowEdit>
    <allowDelete>false</allowDelete>
    <modifyAllRecords>false</modifyAllRecords>
    <viewAllRecords>false</viewAllRecords>
    <viewAllFields>false</viewAllFields>
    <object>Account</object>
</objectPermissions>

ステップ3: フィールドレベルセキュリティを設定する

機密情報やカスタムフィールドのアクセス権限を定義します:

<fieldPermissions>
    <editable>true</editable>
    <readable>true</readable>
    <field>Account.SSN__c</field>
</fieldPermissions>

重要な注意:

  • 必須フィールドをフィールド権限リストに含めてはいけません。必須フィールドにはフィールドレベルセキュリティを設定できないため、デプロイが失敗します。
  • フィールドを追加する前に、オブジェクト設定から実際に存在するフィールドであり、必須でないことを必ず確認してください
  • フィールドのメタデータに <required>true</required> が含まれている場合、そのフィールドは必須です:
<fields>
    <fullName>FieldName__c</fullName>
    <required>true</required>
</fields>
  • フィールド参照は オブジェクト名.フィールド名 形式で指定します
  • ユーザーが編集権限が必要な場合は、readable と editable の両方を true に設定します(editable は readable を含みます)
  • すべてのフィールドを表示する場合は、オブジェクト権限の「viewAllFields」を有効にすることもできます

ステップ4: ユーザー権限を付与する

機能と操作のシステムレベル権限を追加します:

<userPermissions>
    <enabled>true</enabled>
    <name>ApiEnabled</name>
</userPermissions>
<userPermissions>
    <enabled>true</enabled>
    <name>RunReports</name>
</userPermissions>

よく使う権限:

  • ApiEnabled: API アクセス
  • ViewSetup: 設定メニューの表示
  • ManageUsers: ユーザー管理
  • RunReports: レポート実行

セキュリティ確認が必要な権限:

  • ViewAllData: すべてのレコード読み取り
  • ModifyAllData: すべてのレコード編集
  • ManageUsers: ユーザー管理

ステップ5: アプリとタブの表示設定をする

ユーザーがアプリケーションとタブを使用できるようにします:

<applicationVisibilities>
    <application>Sales_Console</application>
    <visible>true</visible>
</applicationVisibilities>
<tabSettings>
    <tab>CustomTab__c</tab>
    <visibility>Visible</visibility>
</tabSettings>

アプリケーション表示オプション:

  • <visible> は true または false で指定

タブ表示オプション:

  • Visible: すべてのタブページで利用可能で、関連するアプリで表示されるタブに含まれます。ユーザーがカスタマイズできます
  • Available: すべてのタブページで利用可能です。個々のユーザーは表示設定を変更して、任意のアプリでタブを表示させられます
  • None: 表示されません

重要 - タブ命名:

  • カスタムオブジェクトタブ: __c サフィックス を必ず含めます(例: MyCustomObject__c)
  • 標準オブジェクトタブ: オブジェクト名に「standard-」プレフィックスを付けます(例: standard-Account, standard-Contact)
  • タブ名はオブジェクトの API 名と完全に一致する必要があります

ステップ6: Apex と Visualforce アクセスを許可する(オプション)

カスタムコード(開発者が作成したプログラム)へのアクセスを許可します:

<classAccesses>
    <apexClass>CustomController</apexClass>
    <enabled>true</enabled>
</classAccesses>
<pageAccesses>
    <apexPage>CustomPage</apexPage>
    <enabled>true</enabled>
</pageAccesses>

ステップ7: ライセンスとレコードタイプ設定をする(オプション)

ライセンス要件とレコードタイプの表示設定を指定します:

<license>Salesforce</license>
<hasActivationRequired>false</hasActivationRequired>
<recordTypeVisibilities>
    <recordType>Account.Business</recordType>
    <visible>true</visible>
    <default>true</default>
</recordTypeVisibilities>

ステップ8: エージェントアクセスを設定する(オプション)

この権限セットが割り当てられたユーザーが Agentforce(AI アシスタント)の従業員エージェントにアクセスできるようにします:

<agentAccesses>
    <agentName>Sales_Assistant_Agent</agentName>
    <enabled>true</enabled>
</agentAccesses>

フィールド要件:

  • agentName(必須): 従業員エージェントの開発者名
  • enabled(必須): true でアクセスを許可、false で拒否

重要な注意:

  • エージェント名は既存の Agentforce 従業員エージェントの開発者名と一致する必要があります

デプロイ前の確認チェックリスト

デプロイ前に以下を確認します:

  • [ ] fullName、label、description が設定されている
  • [ ] 権限が最小権限の原則に従っている
  • [ ] 必須フィールドが <fieldPermissions> に含まれていない
  • [ ] 重複する権限がない
  • [ ] 不必要なコメントがない

デプロイ失敗の原因

  • 必須フィールドへのフィールド権限設定: <fieldPermissions> に必須フィールドが含まれるとデプロイが失敗します。必須フィールドにはフィールドレベルセキュリティを設定できないため、完全に除外してください。オブジェクト・フィールド設定から、実際に存在して必須でないことを必ず確認します。推測での設定は避けてください。
  • API名の誤り: 間違った名前やサフィックス漏れ(例: カスタムオブジェクト・フィールド・タブの __c 漏れ)を使用するとデプロイが失敗します。

デプロイ方法

Salesforce CLI を使用してデプロイします

原文(English)を表示

When to Use This Skill

Use when generating or editing permission set metadata, or when granting object, field, user, and app permissions.

Step 1: Define Core Properties

Start by defining the required permission set properties:

<PermissionSet xmlns="http://soap.sforce.com/2006/04/metadata">
    <fullName>YourPermissionSetName</fullName>
    <label>Display Name for Administrators</label>
    <description>Clear description of purpose and intended audience</description>
</PermissionSet>

Naming conventions:

  • Use descriptive API names (e.g., Sales_Manager_Access)

Step 2: Configure Object Permissions

Add CRUD permissions for standard and custom objects:

<objectPermissions>
    <allowCreate>true</allowCreate>
    <allowRead>true</allowRead>
    <allowEdit>true</allowEdit>
    <allowDelete>false</allowDelete>
    <modifyAllRecords>false</modifyAllRecords>
    <viewAllRecords>false</viewAllRecords>
    <viewAllFields>false</viewAllFields>
    <object>Account</object>
</objectPermissions>

Step 3: Set Field-Level Security

Define field permissions for sensitive or custom fields:

<fieldPermissions>
    <editable>true</editable>
    <readable>true</readable>
    <field>Account.SSN__c</field>
</fieldPermissions>

Important:

  • Required fields must NEVER appear in list of field permissions. Granting field-level security on required fields is not allowed by the platform and will cause deployment failure.
  • Before adding any field, confirm from the object metadata that the field exists and is not required
  • A field is required when its metadata contains <required>true</required>:
  • Formula fields cannot be editable
  • Master-detail fields are required fields on the child (detail) object
<fields>
    <fullName>FieldName__c</fullName>
    <required>true</required>
</fields>
  • Use format ObjectName.FieldName for field references
  • Set both readable and editable to true when the user needs edit access; editable implies readable
  • If all fields should be visible, can alternatively enable the "viewAllFields" object permission

Step 4: Grant User Permissions

Add system-level permissions for features and capabilities:

<userPermissions>
    <enabled>true</enabled>
    <name>ApiEnabled</name>
</userPermissions>
<userPermissions>
    <enabled>true</enabled>
    <name>RunReports</name>
</userPermissions>

Common permissions:

  • ApiEnabled: API access
  • ViewSetup: View Setup menu
  • ManageUsers: User management
  • RunReports: Report execution

Security review required for:

  • ViewAllData: Read all records
  • ModifyAllData: Edit all records
  • ManageUsers: User administration

Step 5: Configure App and Tab Visibility

Make applications and tabs visible to users:

<applicationVisibilities>
    <application>Sales_Console</application>
    <visible>true</visible>
</applicationVisibilities>
<tabSettings>
    <tab>CustomTab__c</tab>
    <visibility>Visible</visibility>
</tabSettings>

Application visibility options:

  • <visible> can be true or false

Tab visibility options:

  • Visible: The tab is available on the All Tabs page and appears in the visible tabs for its associated app. Can be customized.
  • Available: The tab is available on the All Tabs page. Individual users can customize their display to make the tab visible in any app
  • None: Not visible

CRITICAL - Tab Naming:

  • Custom object tabs: MUST include the __c suffix (e.g., MyCustomObject__c)
  • Standard object tabs: Use the object name with "standard-" prefix (e.g., standard-Account, standard-Contact)
  • The tab name matches the object's API name exactly

Step 6: Add Apex and Visualforce Access (Optional)

Grant access to custom code:

<classAccesses>
    <apexClass>CustomController</apexClass>
    <enabled>true</enabled>
</classAccesses>
<pageAccesses>
    <apexPage>CustomPage</apexPage>
    <enabled>true</enabled>
</pageAccesses>

Step 7: Set License and Record Type Settings (Optional)

Specify license requirements and record type visibility:

<license>Salesforce</license>
<hasActivationRequired>false</hasActivationRequired>
<recordTypeVisibilities>
    <recordType>Account.Business</recordType>
    <visible>true</visible>
    <default>true</default>
</recordTypeVisibilities>

Step 8: Set Agent Access (Optional)

Enable access to Agentforce Employee Agents for users assigned to this permission set:

<agentAccesses> <agentName>Sales_Assistant_Agent</agentName> <enabled>true</enabled> </agentAccesses>

Field requirements:

  • agentName (Required): The developer name of the employee agent
  • enabled (Required): Set to true to grant access, false to deny

Important:

  • Agent names must match existing Agentforce Employee Agent developer names

Validation Checklist

Before deploying, verify:

  • [ ] fullName, label, description set
  • [ ] Permissions follow least privilege
  • [ ] No required fields in <fieldPermissions>
  • [ ] No duplicate permissions
  • [ ] No lengthy comments

What Causes Deployment Failure

  • Field permissions on required fields: Any required field in <fieldPermissions> fails deployment. Required fields cannot have FLS; omit them entirely. Always confirm from object/field metadata that a field exists and is not required—never assume.
  • Incorrect API names: Using the wrong name or missing suffixes (e.g. missing __c for custom objects, fields, tabs) cause failure.

Deployment

Deploy using Salesforce CLI

原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。