Salesforce でのプロファイルと権限セットのクリーンアップ　



[Clean Up Profiles and Permission Sets in Salesforce](https://www.salesforceben.com/clean-up-profiles-and-permission-sets-in-salesforce/)

||プロフィール|ロール|
|:----------|:----------|:----------|
|ユーザーができることを決定|実行 - 作成、読み取り、編集、削除|見る - 可視性を記録する|
|各ユーザーに必要ですか?| 必須|オプションです|
|次のような形で想像してください。|サークル、同様の機能を持つユーザーをグループ化します。|権限の高いユーザーと権限の低いユーザーを分割する階層。|
|以下へのアクセスを制御します。|オブジェクト、フィールド レベルのセキュリティ (表示または編集可能なフィールド)、ページ レイアウト、レコード タイプ、アプリ、タブ。|レコード、フォルダー。|

プロファイルと権限セットは連携して、ユーザがアクセスできるオブジェクトと、Salesforce 内で実行できるアクションを決定します。これらの機能は Salesforce のセキュリティにとって重要ですが、時間の経過とともに、関係がなくなったものも含めて、プロファイルと権限セットが多すぎることになりがちです。

# なぜこれが問題なのですか?

このガイドでは、プロファイルと権限セットの違いを理解していることを前提としています。必要に応じて、Lucy によるこの優れた分析を[ここで](https://www.salesforceben.com/salesforce-roles-profiles-permission-sets/)参照できます。

Salesforce 組織を家に例えるなら、プロファイルと権限セット (「PermSets」) がその最たるものかもしれません。OK、完全な例えではありませんが、ポイントは、プロファイルと PermSet が組織のバックグラウンドで動作することですが、家の床のように、ほぼすべてのものに影響を与えます。

家に何かを持ち込むと、床に接触して何らかの形で相互作用する可能性が最も高くなります。ほぼ同じように、管理者として Salesforce で実行するほぼすべてのアクション (および新たに取り込んだもの) は、プロファイルと PermSets (新しいフィールド、新しいレコード タイプ、新しいアプリのインストール、または新しいユーザーの作成) に影響します。例）。

組織でわずかなカスタマイズを行っただけでも、プロファイルと PermSet がシステムの奥深くに組み込まれ始めます。そして、それらは組織に非常に統合されているため、これらの清潔さが進むにつれて、組織全体の清潔さと組織 (つまり、「組織の健康」) も進むと私は主張します。これが、クリーンで整理されたプロファイルと PermSet を持つことが非常に重要である理由です。実際、私が新しい組織に入り、「組織の健全性」の改善を任されたとき、私は最初にここから始めます。

# ステップ 1: 未使用のプロファイルと PermSet を削除する

組織内のプロファイルと PermSet をクリーンアップするための最初の最も簡単な手順は、単に使用されていないものを特定することです。これらは、アクティブなユーザーが割り当てられていないプロファイルと PermSet です。同時に、各プロファイルに割り当てられているユーザー数の全体像を把握しましょう。

各プロファイルと PermSet 内で、割り当てられたユーザーを表示し、「アクティブ」列で並べ替えることができます ([プロファイル] > [割り当てられたユーザー] または [権限セット] > [割り当ての管理])。 PermSet。幸いなことに、Salesforce には組織自体に関するいくつかの (限定的な) レポート機能があり、ユーザー (プロファイルが割り当てられている) はレポートできる領域の 1 つです。

**ユーザー レポートを作成する**

「ユーザー」に関する新しいレポートを作成することから始めます。必要なフィールドが自動的に読み込まれるはずですが、そうでない場合は必要になります (名、姓、ユーザー名、アクティブ、最終ログイン)。「プロファイル」をグループとして追加し、「ビュー」のフィルターを (アクティブなユーザーだけでなく) 「すべてのユーザー」に変更して、レポートを更新します。各プロファイルに割り当てられた全体のユーザー数が表示されます。

ここで、私たちがやろうとしているのは、各プロファイルに割り当てられているアクティブなユーザーの数を確認し、アクティブなユーザーがいないか、1 つか 2 人のユーザーしかいないかを判断することです。これを行うには、列に「集計式」を作成する必要があります。左側の [列] の横にある下矢印をクリックすると、[集計式の追加] が表示されるので、クリックして追加します。サマリー「Number of Active Users」を呼び出し、左側で「Active」フィールドを検索して強調表示し、「Insert」ボタンをクリックします。数式は「ACTIVE:SUM」と表示され、「小数点」をゼロに変更し、「適用」をクリックしてレポートを更新します。

レポートを実行すると、プロファイルごとのアクティブ ユーザー数が表示されます

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/32eff860-3ae6-cb38-799e-4982eab21918.png)


ここで立ち止まって、「何が見えますか?」と尋ねましょう。

**未使用のプロファイルをハイライト**

初めてのクリーニングの機会です。アクティブなユーザーが 0 人 (またはアクティブなユーザーが 1 人のみ) のプロファイル グループが表示された場合、これらはすぐに解決できる問題であり、組織からの削除を検討する必要があります。

組織からプロファイルを実際に削除する前に、いくつかのことを行う必要があります。まず、Google ドキュメント (またはその他のドキュメント) を作成して、削除を検討しているプロファイルを追跡することをお勧めします。組織に戻って、各プロファイルを表示し、それらが作成された理由、作成者、およびその理由を理解しようとしました。プロファイルを最初に作成した管理者がまだいる場合は、これらの質問をして、前述のドキュメントで詳細を収集することをお勧めします。

特にこれらを作成した管理者が亡くなっている場合は、最善の判断を下すこともできます。5 年前に作成されたアクティブ ユーザーのいないプロファイルが表示された場合は、削除しても問題ない可能性が高くなります。一方、アクティブなユーザーがいないプロファイルが表示され、それがほんの数か月前に作成された場合は、作成者に確認して、まだ使用されているか、特別なために使用されるのを待っているかどうかを確認することをお勧めします。目的。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/c18e1da5-1cd1-dc43-d8e3-10a3d0996dc0.png)


**割り当てられたユーザーを削除**

この判断と調査作業の後、組織から削除する準備ができているプロファイルの最終的なリストが必要です。最後のハードルは、ユーザーが割り当てられているプロファイルを削除することはできず (割り当てられたすべてのユーザーが非アクティブであっても)、すべてのユーザーをプロファイルに割り当てる必要があることです。何をすべきか？

再割り当てが必要なすべてのユーザー (および将来のユーザー) を保持するために、「非アクティブ プロファイル」を作成することをお勧めします。私は通常、プロファイルに「Z – DO NOT USE – INACTIVE PROFILE」という名前を付けます (「Z」は、プロファイル リスト ビューで最後になることを保証します)。次に、削除対象としてマークされた各プロファイルを確認し、割り当てられたユーザーを表示して、作成したばかりの新しい「非アクティブ プロファイル」にこれらのユーザーを 1 つずつ再割り当てする必要があります。各ユーザーが再割り当てされると、最終的にプロファイルを削除する準備が整います。

**「削除」ボタンをクリックして確認してください。**

削除対象としてマークされたすべてのプロファイルが削除されたら、一時停止しましょう。ハッピーダンスをして背中を撫でてください。Org Health が大幅に改善されました!

でも待ってください、それはプロファイルでした。権限セットはどうですか?

**権限セットのプロセスを繰り返す**

残念ながら、プロファイルで行った方法で、Salesforce で権限セット (およびアクティブなユーザー数と合計ユーザー数) をレポートする方法はありません。組織内のすべての権限セットのリスト ビューに移動し、組織内のすべての権限セットの名前と説明をコピー (クリック アンド ドラッグ) することをお勧めします。次に、このリストを Excel/Google シートに貼り付けて、簡単なクリーニングを行うだけで、組織内のすべての PermSet の確実なリストを取得できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/b31e706d-5a47-4e46-ff29-944a2ef825a1.png)


次に、Salesforce でそれぞれに移動し、[View Assignments] をクリックして、[Active] 列で並べ替えます。各プロファイルに割り当てられた「アクティブ ユーザー」の数を数え、作成した文書に記入します。

注: 「Salesforce Optimizer」を実行すると、「アクティブなユーザー」を特定するこのステップ専用の「割り当てられていない権限セット」のリストが表示されますが、このリストには、ユーザーの総数と、アクティブなユーザーと非アクティブなユーザーの内訳は表示されません。上記のプロファイルで行った方法でそれぞれに割り当てられた合計ユーザー。また、オプティマイザーは「非アクティブなユーザー」を割り当てとしてカウントしないため、この「未割り当てのアクセス許可セット」のリストであっても、一部のユーザーはまだ割り当てられている可能性があります。上記のプロファイルで見たように、非アクティブな割り当てであっても削除する前に削除する必要があるため、これらの権限セットを削除することはできません。

少しの手作業と調査作業の後、プロファイルで行ったのと同じポイントに到達し、削除対象としてマークされた権限セットの確実なリストが表示されます。

# ステップ 2: 適切な命名規則

未使用のプロファイルと PermSet を削除したので、引き続き使用する残りのものを整理する必要があります。プロファイルと PermSet が不必要に作成されるのを防ぐ最も簡単な方法の 1 つは (あなたまたは他の管理者によって)、それぞれに適切な名前を付けることです。これにより、それぞれに何が含まれ、どのような職務に使用されるのかが明確になります (ステップ 3 にも役立ちます)。

しかし、各プロファイルの内容と、それがどのような職務に使用されているかをどのように知るのでしょうか?

**各プロファイルの中身を調べる**

すばらしいのは、それぞれの内部のすべてのアクセス許可を 1 つの簡単なリストにまとめて表示することです。残念ながら、これを取得する簡単な方法は Salesforce では利用できません。したがって、これにはいくつかの調査作業が必要になります。

ステップ 1 で作成した Google ドキュメントと同様に、各プロファイル / PermSet の実際の内容に関するメモを保存するためだけに、別のドキュメントを作成することをお勧めします。このタスクでは、Setup から (各プロファイル / PermSet を直接参照して) 情報を取得し、他の管理者からも情報を取得することを期待します (会社に他の管理者がいると仮定します)。

まず、既存の名前と説明フィールドから何が収集できるかを確認します。運が良ければ、各プロファイルが何をするかを理解するための情報がそこにあるかもしれません。また、このプロファイルに現在どのユーザーが割り当てられているか、そのロール名、またはプロファイルが何に使用されているかを知るためのその他の情報を確認することもできます。

次に、セットアップからの情報を得るために、ちょっと調べてみることから始めます。各プロファイルを表示すると、「ユーザー管理」設定がどのように構成されているかに応じて、各プロファイルに含まれる権限の概要を把握できるはずです。アクセス権が付与されているオブジェクト、システム権限などを確認できます。残念ながら、フィールド アクセスなどの詳細については、すべてのオブジェクトをクリックして表示する必要があります。ただし、ここでの主な目的は、プロファイルに何が含まれているかを大まかに把握することです。そのため、可能なすべての権限を探しているわけではありません。

収集された人間の情報については、ステップ 1 と同様に、これらのプロファイルのいくつかを作成した他の管理者に尋ねます。これが作成された理由、作成時にユーザーが念頭に置いていたこと、および作成を取り巻く状況 (つまり.特別なプロジェクト、必要な特別な許可、新しいタイプのユーザーが組織に参加するなど)?

ある程度の忍耐と上記の調査方法を使用すると、各プロファイルが何をするかについての適切なアイデアに到達するはずです.

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/c25b7b2c-6141-8a0a-e3d9-81491c134e1f.png)


**プロファイルの名前変更**

これには多くの方法がありますが、私が推奨するのは、「JOB FUNCTION – より具体的な用語」のような命名スキームを使用することです。例: 「SALES USER – 管理者」、「SALES USER – 外販」、「MARKETING USER – 通常」、「MARKETING USER – パワー ユーザー」。

[プロパティの編集] をクリックして、各プロファイルの名前を更新します。

権限セットについて繰り返します
権限セットに対して上記のプロセスを繰り返す必要があります。残念ながら、アクセス許可セットには、プロファイルにある「内部のすべてのアクセス許可を表示する」ようなビューがないため、各アクセス許可カテゴリ内を調べたり、他の管理者と話し合ったり、既存の名前や説明が表示されることを期待したりする必要があります。何が入っているかを判断するのに役立ちます。

# ステップ 3: 類似のプロファイルを結合し、プロファイルを権限セットに変換する

使用されていないプロファイルと PermSet が組織から削除され、それらすべてに適切な名前が付けられたので、残っているものの統合を開始するのに最適な場所にようやくたどり着きました。

ステップ 2 に基づいて、どのプロファイルが類似している可能性があるかを既に把握しているはずです。「SALES - 通常のユーザー」と「SALES - 地域のユーザー」は検討の対象となる可能性があります。

すばらしいのは、別のプロファイルとそのプロファイル内のすべての権限と比較して、内部のすべての権限を表示することです。幸いなことに、Salesforce の従業員が「[PermComparator](https://perm-comparator.herokuapp.com/)」と呼ばれる無料のツールを作成しました。

PermCompator ツールを使用すると、組織の資格情報でログインすると、プロファイルをボックスの 1 つにドラッグして別のプロファイルと「比較」できるドラッグ アンド ドロップ インターフェイスが表示されます。次に、共通の権限と異なる権限を確認します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/b7188b74-7121-155f-084b-158bbd5e55ee.png)


**非常に重要な注意事項を 1 つ強調したいと思います。このツールは、プロファイルまたは PermSet に含まれる可能なすべてのアクセス許可を提供するわけではありません。オブジェクト アクセス、システム権限 (見込み客の変換、設定の表示など)、アプリ アクセスを含む多くの権限がありますが、フィールド、レコード タイプなどの権限がありません。したがって、このツールは非常に優れたガイドになるはずですが、プロファイルを比較するための完璧なソリューションではありません.

この新しい知識を武器に、どのプロファイルが統合に適しているかを確認し始める必要があります。通常、最も可能性の高い候補は内部にほぼ正確な権限を持つプロファイルですが、いくつかの追加のシステム権限 (リスト ビューの管理やレポートのエクスポートなど) を持つプロファイルです。このような場合、プロファイルを組み合わせて、特別な権限ごとに権限セットを作成する必要があります。

上記の例から、2 つの新しい権限セットを作成する必要があります。それらを「レポート - レポートのエクスポート」および「リスト ビュー - リスト ビューの管理」と呼び、これらの権限が必要なユーザーをこれらの新しい PermSet のそれぞれに割り当てます。次に、削除するプロファイルに移動し、割り当てられているすべてのユーザーを表示して、それらすべてを他の同様のプロファイルに移動します。ステップ 1 で行ったように、ユーザーが割り当てられていないプロファイルを削除できるはずです。

権限セットについて繰り返します
権限セットに対して上記のプロセスを繰り返して、結合/削除できるものがあるかどうかを判断する必要があります。


**ユーザーの問題に備える**

これらの変更に関係するユーザーに問題が発生しないようにあらゆる予防措置を講じていますが、フィールドの許可やその他の小さなことが見逃されることはありません. プロファイルと PermSet にこれらの変更を加えた後、最初の数日間は注意を怠らないことをお勧めします。これにより、問題を迅速に解決し、見逃していた小さな権限を復元し、システムの日常業務に大きな混乱がないようにすることができます。

# 未来について考える

この 3 ステップのプロセスの後、組織にはプロファイルと権限セットのクリーンなリストが残されます。
この成果を祝福します。今後何年にもわたって組織に利益をもたらします。
しかし、どうすればそれがこのままであることを保証できるでしょうか?

**命名規則の伝達**

組織でプロファイルまたは PermSet を作成しているすべての人は、採用した「命名規則」を認識しておく必要があります。組織のすべての管理者とミーティングを行い、この新しい命名規則について伝えます。このようにして、新しく作成されたものには明確でわかりやすい名前が付けられ、組織が再び混乱し始めた場合にすぐに明らかになります。

**ドキュメンテーション**

ドキュメンテーションとは、組織の一部が特定の方法で構築された理由と、それを要求した人に関する情報を説明するために言葉を並べただけです。思ったほど複雑ではなく、威圧感もありません。ただし、ドキュメントは組織をクリーンに保つ上で非常に強力であり、通常、Salesforce 組織には非常に欠けています。

ドキュメントがあれば、プロファイルまたは PermSet が作成された理由、作成者、および作成された状況が最初から明確であったため、上記の 3 つの手順で大幅に時間を節約できたはずです。

上記の困難なタスクを実行したばかりで、各プロファイルとその内容のリストが既にあるので、ドキュメントを作成することをお勧めします。それは本当に簡単です。ドキュメントを作成し (または作成済みのドキュメントの 1 つを出発点として使用し)、各プロファイルと PermSet をリストし、その内容や目的などについていくつかのメモを提供します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/2510aca9-66a9-2854-d598-4e3ad0ef367c.png)

プロファイルまたは PermSet が作成される (または大幅に更新される) たびに、必ずドキュメントを更新してください。これにより、全員が同じページにいることが保証されます。将来、別のクリーンアップ プロジェクトを行う必要がある場合は、便利な「生きている」組織のドキュメントを参照できます。