Permission Setのまとめ

[まとめページに戻る](https://qiita.com/Keiji_otsubo/items/60afc2a8d211b6f7d89f)
[まとめN～Z](https://qiita.com/Keiji_otsubo/items/92f92bb9f668ca9688be)


+ [カスタム権限セットおよび権限セットグループの割り当てに関するレポート](https://help.salesforce.com/s/articleView?id=platform.perm_sets_assignment_reporting.htm&type=5)
+ [権限セットのユーザの割り当て時のエラー](https://qiita.com/Keiji_otsubo/items/fbbba168ad3402ccc3d7)
+ [you don't have permission to take that action on this record or related records. For help, contact your Salesforce admin](https://qiita.com/Keiji_otsubo/items/b43b45861d73c4b4781b)
+ [フィールド作成時にプロファイルではなく権限セットでフィールドにフィールドレベルのセキュリティを設定する (ベータ)](https://qiita.com/Keiji_otsubo/items/e7bf1bb33aa9abf23b4a)
+ [所有権/共有は、共有設定によって行われます Ownership/Sharing of records would be done by Sharing Settings](https://trailhead.salesforce.com/en/trailblazer-community/feed/0D54S00000JeiSwSAJ)

+ [パーミッション作成時のライセンスの選択 アルファベット順じゃない](https://qiita.com/Keiji_otsubo/items/f8d1935f48cb7c3a8b48)
+ [Google Chromeでないと通過できないチャレンジ](https://qiita.com/Keiji_otsubo/items/751a60aae7ad6c32f9fe)
+ [シークレットモードでの対応が必要なトレイルヘッド](https://qiita.com/Keiji_otsubo/items/c8e22d7fc9639e6d7f4f)
+ [使われていない権限セットを探したい](https://qiita.com/Keiji_otsubo/items/893e59be1cccd7670a84)
+ [ユーザーに割り当てられた権限セットを見つけるためのクエリ](https://qiita.com/Keiji_otsubo/items/229348c423813009e864)
+ [Salesforce でのプロファイルと権限セットのクリーンアップ　](https://qiita.com/Keiji_otsubo/items/89021c67b246816b509c)
+ [SOQLで非アクティブなユーザーに割り当てられた権限セットを検索する](https://qiita.com/Keiji_otsubo/items/5425e3e7f6cc14e5659d)
+ [条件に基づく共有ルールで使用されているため、レコード タイプを非アクティブ化できません。](https://qiita.com/Keiji_otsubo/items/de328c6f807a4b46d4f7)
+ [You do not have permission to execute that operation](https://qiita.com/Keiji_otsubo/items/96df0bb676b8b877538a)
+ [同じ組織内のプロファイル間のオブジェクト権限を比較し、結果を Excel シートに表示したいのですが、何か良いツールを提案してください](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007bLA5C)

:::note
As of now, we have an idea (https://ideas.salesforce.com/s/idea/a0B8W00000GdeELUAZ/compare-profile-side-by-side) created for the same. You can also check this

Alternatively, we can use the following- https://perm-comparator.herokuapp.com/
:::

+ [任意のレコードタイプにアクセス出来る権限セット一覧取得方法](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007aiz5C)

:::note
メタデータのリファレンスを見ると以下の部分が該当しそうですが、SOQLではアクセスでき無さそうですね。

[PermissionSetRecordTypeVisibility ](https://developer.salesforce.com/docs/atlas.ja-jp.248.0.api_meta.meta/api_meta/meta_permissionset.htm)
:::

# Apex

+ [プロファイルで、標準かカスタムか、サンドボックスか本番かに関係なく、Apexの権限を付与すると、権限を付与できず、エラーが表示され、サポートに連絡するように指示されます。Apexクラスへのアクセスを許可するには、権限セットを作成する必要がありました。](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007ifi1v)

# AppExchange

+ [User Access and Permissions Assistant](https://appexchange.salesforce.com/appxListingDetail?listingId=a0N3A00000FeF99UAF&tab=e)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/35e8c201-6a9f-f084-d272-3ff6f83454eb.png)

:::note
この問題は、一部のクラス、特に管理パッケージ クラスや特定のシステム レベル クラスでは、Apex クラス権限をプロファイルを通じて直接割り当てることができないため発生します。代わりに、Salesforce では、権限セットを使用してこれらのクラスへのアクセスを許可する必要があります。

解決：

権限セットの使用:権限セットを作成し、そこに Apex クラスの権限を割り当てます。次に、アクセスを必要とするユーザーに権限セットを割り当てます。
:::

# 既知の問題

+ [Insufficient privileges error searching in Permission Set Group](https://issues.salesforce.com/issue/a028c00000slqsMAAQ/insufficient-privileges-error-searching-in-permission-set-group)

:::note alert
Insufficient Privileges

You do not have the level of access necessary to perform the operation you requested. Please contact the owner of the record or your administrator if access is necessary. For more information, see Insufficient Privileges Errors.

Internal Diagnostics:
Invalid PermissionSet Id

要求した操作を実行するために必要なアクセス レベルがありません。アクセスが必要な場合は、レコードの所有者または管理者に問い合わせてください。詳細については、「権限不足エラー」を参照してください。
:::

+ [Insufficient Privileges Error on the module: Mute Permissions in Permission Set Groups](https://trailhead.salesforce.com/trailblazer-community/feed/0D54S00000PeQ9uSAF)

:::note
設定の検索ボックス内で契約を検索すると、エラーが発生しました。代わりに、販売処理許可>ミュートパーマに進みました。グループに設定 > 契約の権限をミュート > オブジェクト設定 > 契約 > ここから編集と削除をミュートしてトレイルヘッドを完成させることができます。

I was getting the error when searching for contracts within the find settings search box. Instead, I went to my sales processing permission>muting perm. set in group>contracts permission muted>object settings>contracts> From here you can now mute edit and delete to complete the trailhead.

https://trailhead.salesforce.com/en/trailblazer-community/feed/0D54S00000JdUVF
:::

+ [Insufficient Privileges Errors](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007cmAzX)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/d4422dd1-5608-52be-6873-59d9c8c77ef5.png)

+ [Hi, I'm trying to complete Mute Permissions in Permission Set Groups challenge i'm getting Insufficient Privileges error](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007er7XXSAY)

:::note
検索設定の検索ボックス内で契約を検索すると、エラーが発生しました。代わりに、販売処理権限 > グループでミュート権限を設定 > 契約権限をミュート > オブジェクト設定 > 契約 > に移動しました。ここから、編集と削除をミュートして Trailhead を完了できるようになりました。

I was getting the error when searching for contracts within the find settings search box. Instead, I went to my sales processing permission>muting perm. set in group>contracts permission muted>object settings>contracts> From here you can now mute edit and delete to complete the trailhead.

https://trailhead.salesforce.com/en/trailblazer-community/feed/0D54S00000JdUVF

https://trailhead.salesforce.com/trailblazer-community/feed/0D54S00000A8sW0SAJ

https://www.youtube.com/watch?v=WWLu0365oNg
:::


# できないこと

+ [共有設定を上書きする権限セット](https://ideas.salesforce.com/s/idea/a0B8W00000GdmWgUAJ/permission-sets-that-override-sharing-settings)

現在、各オブジェクトの [共有設定] ページには、共有設定を上書きするすべてのプロファイルの関連リストが含まれています。これは、システム全体のセキュリティへの影響を判断するのに非常に役立ちます。共有設定を上書きする権限セットの別の関連リストを追加し、それらの権限セットに割り当てられたユーザーへのリンクを追加するとさらに便利です。これにより、各オブジェクトの完全なセキュリティ分析を実行するための 1 つのページが得られます。

+ [権限セットで指定した「ユーザの割り当て」の指定は変更セットでリリース可能か？](https://trailhead.salesforce.com/ja/trailblazer-community/feed/0D54S00000Je7yrSAB)

ここでの回答を読むとできないようなことが書かれています。 

 Permission Set Assignments are data in the org. The DML operation cannot be performed by a Change Set - but this sample code might help you in automating the assignments. 
何やらDML操作を別途行って自動化するようなことが提案されています。

[Deploying Permission Sets using Change Sets - came to destination org without the Assigned Users](https://salesforce.stackexchange.com/questions/146658/deploying-permission-sets-using-change-sets-came-to-destination-org-without-th)

+ [4800人程度に付与している権限セットグループに権限セットを追加する際のタイムアウトエラーについて](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007FUa3dSAD)

:::note
権限セットグループを使わず必要なユーザへDataLoderを使って付与するように今回は対応しました。

Salesforceからも回答をいただいたのですが、
数が多いと今回のようなエラーになることがあるそうで、
その場合は個別付与で対応するしかないようです。。
:::

# タブの設定

+ [タブ設定は権限セットでは使用できません](https://help.salesforce.com/s/articleView?id=000333496&type=1)
+ [View and Edit Tab Settings in Permission Sets and Profiles](https://help.salesforce.com/s/articleView?id=sf.users_tab_visibility.htm&type=5)

権限セットまたは拡張プロファイル ユーザ インターフェイス - [設定の検索...]ボックスに、目的のタブの名前を入力してリストから選択し、[編集] をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/bc0a8a73-9a7a-de63-ed9e-67057155a12a.png)

# TABSET_LIMIT_EXCEEDED

+ [Post Install Script Salesforce](https://trailhead.salesforce.com/trailblazer-community/feed/0D54S00000NHGK5)

:::note
I figured it out, I am pulling the users in SOQL who doesn't have Salesforce license like chatter users and others who cannot be assigned a permission set. Now I am querying only the users with Salesforce license and it doesn't throw any error.

私はそれを理解しました。チャットユーザーや権限セットを割り当てることができない他のユーザーなど、Salesforce ライセンスを持っていないユーザーを SOQL でプルしています。現在、Salesforce ライセンスを持つユーザーのみを照会していますが、エラーはスローされません。
:::

# 「カスタム設定」セクションで作成されたフィールドに基づいて権限セットを作成する方法??

+ [How to create a permission set based on fields created on the section "Custom settings"??](https://trailhead.salesforce.com/trailblazer-community/feed/0D54S00000Os48TSAR) 


通常、 アプリケーションのカスタマイズ 権限は、カスタム設定へのアクセスを許可するために使用されますが、これにより、必要な場合とそうでない場合がある追加の管理者アクセスをユーザーに許可することもできます。これを許可する以外に、特定のカスタム設定へのアクセスを許可することもできるようです (ただし、この機能を自分で試したことはありません)。 

https://help.salesforce.com/s/articleView?language=en_US&id=sf.cs_grant_permission.htm&type=5

# 画面がブランク？？？

+ [I do not get the edit option for a profile name = Minimum Access Salesforce Clone](https://trailhead.salesforce.com/trailblazer-community/feed/0D54S00000PeT15)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/31d5c847-9f50-f625-2845-e80b6ff2ab68.png)

何故か、英語でプレイグランドを作っている？




# 共有設定の「商談共有ルール」の下に「新規」ボタンと「編集」ボタンがないため、新しい共有ルールを作成できません。

+ [Use Sharing Rules for External Users](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007MYjhe)

:::note
Try your browser's incognito mode.Or try it in a different browser.

https://trailhead.salesforce.com/trailblazer-community/feed/0D54V000076BUXN
:::

# フローを使用してユーザーが権限セット(Test_Permission_Set)に割り当てられるたびに、権限セット(CreatedBy.Email)の所有者に電子メールを送信することはできますか?

+ [Permission Set Assignment Updation to any user.](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007LrMdS)

:::note
The sample code for Apex trigger is below.

https://developer.salesforce.com/forums/?id=9065d000000XckBAAS
:::


# Custom Permission Core is not valid for this Permission Set

+ [New User Unable to Access Maps](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007NAJR1)

:::note
 I actually solved my problem but I'll give some solutions to look at. 

1. Look at the installed package and the permissions granted there
2. Look at user and verify that you have the proper Permission Set License Assignments "Salesforce Maps"
3. Ensure that you are able to assign the proper Permission set.

I think those were the 3 steps that I took to make sure that I could assign the SF Maps permission. 

https://trailhead.salesforce.com/trailblazer-community/feed/0D54S00000A8y5YSAR

https://issues.salesforce.com/issue/a028c00000gAxOoAAK/customer-is-unable-to-assign-maps-admin-permission-set-due-to-custom-permissions-being-on-the-maps-admin-permission-set

実際に問題は解決しましたが、いくつかの解決策を紹介します。

1. インストールされたパッケージとそこに付与されている権限を確認します。
2. ユーザーを調べて、適切な権限セット ライセンス割り当て「Salesforce Maps」があることを確認します。
3. 適切な権限セットを割り当てられることを確認します。

これらは、SF マップの権限を確実に割り当てるために実行した 3 つの手順だったと思います。
:::


# permission set　の削除

削除すれば、同じ名前でも登録できる。

Permission Set Groupsも削除すれば、同じ名前でも登録できる。

Mutingでも同じですね。

何故、重複する人が出るんだろう。



https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007ZBgJA

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/0cab1a71-e426-c3c6-25e4-6f8d4d9e7bf1.png)

# 権限セットを作成した後、権限セットにライセンスを割り当てることができません。 権限セットに割り当てられたユーザーライセンスの変更/更新

+ [I'm unable to assign the license to the permission set after creating the permission set.](https://trailhead.salesforce.com/trailblazer-community/feed/0D54S00000G5LEt)


:::note


いいえ、ライセンスを変更することはできませんが、vs code を使用して権限セットを複製することはできます。

package.xml を使用して既存の権限を取得します

```Xml
<types>
    <members>*</members>
    <name>PermissionSet</name>
</types>
```

次に、以下のプロセスに従って権限セットを複製します。

権限セット フォルダーで、権限セットのメタ XML ファイルを取得します。
ファイルをコピーして同じフォルダーに貼り付け、名前をクローンされたアクセス許可セットの目的の名前に変更します。
メタ XML ファイル内の新しい権限セットのラベルを変更します。
メタ XML ファイル内の新しい権限セットのライセンス名を変更します。
次に、新しい権限セットをデプロイします。
これは権限セットのメタ XML ファイルの例です。これにはすべての設定が含まれています。

```Xml
<?xml version="1.0" encoding="UTF-8"?>
<PermissionSet xmlns="http://soap.sforce.com/2006/04/metadata">
    <hasActivationRequired>false</hasActivationRequired>
    <label>------Add the desired label here-----</label>
    <license>------Add the desired license here-----</license>
    <userPermissions>
        <enabled>true</enabled>
        <name>ViewRoles</name>
    </userPermissions>
    <userPermissions>
        <enabled>true</enabled>
        <name>ViewSetup</name>
    </userPermissions>
</PermissionSet>
```

ライセンスの削除
注意: <license>...</license>PS を複数のライセンス タイプに割り当てられるようにする場合は、この行を削除してください。実行して<license></license>も保存されません。ありがとう@cropredy。

https://salesforce.stackexchange.com/questions/291982/change-update-user-license-assigned-to-a-permission-set
:::

# ライセンスを指定していないと表示されないオブジェクトがある。

+ [Can't see file object when trying to create a new permission set.](https://trailhead.salesforce.com/ja/trailblazer-community/feed/0D54V00007eqCkz)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/82ea71d3-b2a4-7927-ce6a-a3844984a9b1.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/984fbf77-b978-c900-7cee-c556179b566a.png)

:::note
Is the license set?

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/652fd330-6e03-969e-a296-51a4ae40e8d4.png)
:::

# 権限セットを消すことができない。　ユーザの割り当てでエラーになる

+ [【未解決】Protect Your Data in Salesforce badge](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007er9Ap)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/38b0c2a1-14ac-a14f-c01f-bbba942f73d7.png)