Salesforceのプロファイルと権限セットをわかりやすく説明してみた

こんにちは
本橋孝昭です

今回はSalesforceで難しい「権限」の中でプロファイル・権限セットについてわかりやすく説明します（※2023年時点）

※今回の内容は動画でも紹介しています


https://youtu.be/5orZte7tJzM

<iframe width="560" height="315" src="https://www.youtube.com/embed/5orZte7tJzM" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>

## Salesforceのプロファイル、権限セットって何？
Salesforceには様々な機能があり、その機能が使えるか否かはそのユーザに付与されているプロファイルと権限セットに寄ります

例として
・アプリケーション設定の権限
・レポートやダッシュボードの作成権限
・オブジェクトのレコードを参照や作成、編集、削除する権限
・オブジェクトの項目を参照、編集する権限
のような権限付与のとき、プロファイルや権限セットで権限付与を行います

## プロファイルと権限セットは何が違うの？（※2023年時点）

プロファイルと権限セットはユーザに付与する設定が大きく違います

大きな違い
１　付与をしないといけないか？してもいいのか　の違い
・プロファイルは必ず１ユーザに１プロファイル付与しなければならない
（プロファイルを付与しないと現状ユーザの作成はできない）
・権限セットはユーザに付与しなくても問題ない

２　最大付与数の違い
プロファイルは１ユーザに１つまでしか付与できない。複数のプロファイルの付与はできない
権限セットは１ユーザに付与しなくてもいいし複数付与することも可能

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/531631/ab45834d-33dc-0cbf-48a6-3cc04c0c68fe.png)





## プロファイルと権限セットでそれぞれ違う権限を付与したらどうなるの？

ユーザの権限範囲はプロファイルと権限セットの権限になります。

例えばユーザ本橋太郎に対して
・プロファイル「総務部」権限を付与　取引先オブジェクトは「参照」のみ（編集不可）
とします
プロファイルの権限のみでは取引先オブジェクトは参照のみで編集はできません
しかし、その後本橋太郎に権限セットを付与します
・権限セット「部長」権限を付与　取引先オブジェクトは「編集」可能

この場合、本橋太郎は権限セットが付与された状態では
取引先オブジェクトの「参照・編集」が可能です

なお、権限セット「部長」が外された瞬間、本橋太郎の権限は取引先オブジェクトは参照のみで編集はできない状態に戻ります

## プロファイルと権限セットはどう使い分けるの？（※2023年時点）

この使い分けの方法はSalesforceのユーザ数や環境の管理方法によって異なると思います

一般的に言われるのは
・プロファイルで最小限の権限を付与するように設定
・権限セットで個人ユーザごとに付与する権限を微調整する

でしょうか

権限セットに使いどころとしては
・一時的に権限を付与したり外したりすることが便利
（例：一時的に特定の人に権限を付与する場合）
・「この個人だけ特別に権限付与」という場合に権限の調整が便利
（例：通常総務部プロファイルはレポート作成権限を抜いてるが、本橋太郎だけレポート作成を特別にしてほしい　など）

上記のような場合、権限セットを作成する必要があります

なお、権限セットは必ずしも作成しなくてもいいので実際には権限セットを使ってないSalesforce環境も数多く存在します

はじめはプロファイルのみで設定して、組織が大きくなったりSalesforceユーザが増えた後に権限セット作成を検討してもいいかもしれないですね


さて、プロファイルについてある程度理解したところで次はプロファイルについてよくある勘違いについてまとめます

### プロファイルでよく勘違いしてしまう注意点( 初級編)
ここではプロファイルでよくやってしまう内容についてまとめます
おそらくプロファイル作成する際に誰もが一度は陥る部分をまとめました

#### 勘違いポイント１（初級編）
Salesforceには標準プロファイルが複数すでに存在してるが、その標準プロファイルは編集することができない。よってそのまま標準プロファイルを使うのは、のぞましくない
（例えば標準プロファイル「一般ユーザ」プロファイルの編集は不可なのでカスタムオブジェクトの参照などの権限を付与することはできないです。）

#### 　勘違いポイント２（初級編）
はじめからからカスタムプロファイルを作成することは厳密にいえばできない
最初にカスタムプロファイルを作成するにはまずは標準プロファイルをコピーして作成しなければならない
（その後、２つ目以降のカスタムプロファイルを作成する場合、標準プロファイルまたはカスタムプロファイルをコピーして作成する）

ざっくり上記解説すると
・標準プロファイルはカスタムプロファイル作成の元になるもの
・あくまでも標準プロファイルはカスタムプロファイル作成の元になるものなので、実際のユーザに割り当てるのはカスタムプロファイルがのぞましい（※標準プロファイル　システム管理者　は例外）
となるでしょうか


### プロファイルでよく勘違いしてしまう注意点( 中級編)
プロファイル（権限セット）には多くの権限付与設定ができますがこの中でも
・オブジェクト権限
・項目レベルセキュリティ

があるのですがここら辺について「どっちがどっち？」とよくかんがえてしまいます

なので、この
・オブジェクト権限
・項目レベルセキュリティ
について、条件分けをして解説します

#### パターン１ 
・本橋太郎は「総務部」プロファイルを付与
・総務部プロファイルのオブジェクト権限で取引先オブジェクトは「参照可能・編集可能」に設定
・総務部プロファイルの項目レベルセキュリティで取引先オブジェクトカスタム項目「項目A」は　「参照可能・編集可能」に設定
（※注意※　レコードアクセス権を考慮するとややこしいので今回取引先オブジェクトの共有設定は「公開／参照・更新可能」とする）

![t001.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/531631/1b7608d3-92a7-02d2-3bd6-c7478d07e231.png)


↑このパターン１の場合、本橋太郎さんは
・取引先のすべてのレコードの参照や編集が可能
・編集できるすべての取引先レコードの項目のうち、取引先のカスタム項目Aの参照や編集も可能


#### パターン２

・本橋太郎は「総務部」プロファイルを付与
・総務部プロファイルのオブジェクト権限で取引先オブジェクトは「参照のみ」に設定（編集はできないように設定）
・総務部プロファイルの項目レベルセキュリティで取引先オブジェクトカスタム項目「項目A」は　「参照可能・編集可能」に設定
（※注意※　レコードアクセス権を考慮するとややこしいので今回取引先オブジェクトの共有設定は「公開／参照・更新可能」とする）

![t002.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/531631/a0c0e8ef-0cda-2b1f-b00c-1854b167f2be.png)


↑このパターン２の場合、本橋太郎さんは
・取引先のすべてのレコードの参照が可能（しかし編集はできない）
・取引先の編集はできないので、取引先のカスタム項目Aの参照は可能だが編集もできない

となります

#### パターン３

・本橋太郎は「総務部」プロファイルを付与
・総務部プロファイルのオブジェクト権限で取引先オブジェクトは「参照可能・編集可能」に設定
・総務部プロファイルの項目レベルセキュリティで取引先オブジェクトカスタム項目「項目A」は　「参照可能」（編集不可能）に設定
（※　プロファイルの設定は「参照のみ項目の編集」の権限が無いものとする）
（※注意※　レコードアクセス権を考慮するとややこしいので今回取引先オブジェクトの共有設定は「公開／参照・更新可能」とする）

![t003.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/531631/9a75ab20-d14d-9fc8-b240-ec127efc8296.png)


↑このパターン３の場合、本橋太郎さんは
・取引先のすべてのレコードの参照や編集が可能
・編集できるすべての取引先レコードの項目のうち、取引先のカスタム項目Aは参照は出来るが編集することはできない
（※　プロファイルの設定は「参照のみ項目の編集」の権限がある場合、カスタム項目Aは参照もできるし編集も可能になります）

となります

このように、
・オブジェクト権限には編集権限があるが項目レベルセキュリティでは編集権限がない
または
・オブジェクト権限には編集権限がないが項目レベルセキュリティでは編集権限がある

場合、その項目の編集ができないのでご注意ください



### プロファイルでよく勘違いしてしまう注意点( 上級編～レコードアクセス権との組み合わせ)

さあ、先ほどの注意点では
・オブジェクト権限
・項目レベルセキュリティ
の組み合わせでも苦労しましたが、レコードの見えるor見えない　はさらに
・レコードアクセス権（共有設定やロール階層や共有ルール）
も組み合わせて考えないといけないです

![t004.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/531631/8e131ae9-24ec-410b-42df-a3fbf114358b.png)



こちらについては、ちょっと今は書く時間がないので
レコードの共有設定をまとめたこちらの記事をご確認ください

https://qiita.com/Takaa/items/dae3107d096510af1f74

https://qiita.com/Takaa/items/9a701f9cce508e51a848


## 補足事項　2026年にはプロファイル、権限セットの考えが変わる？

さて、ここまで熱く語ったプロファイルと権限セットですが、残念ながら2026年には大きくその変わることが現在（2023年）想定されてます

具体的に言えば、プロファイルでの権限付与は最低限の設定のみになるようで、
オブジェクトの権限などは権限セットでの設定になるようです
よって今後は権限セットに大事な権限が集約され、すべてのユーザに権限セットを必ず１つは付与しないといけない世界？が訪れそうですね

詳細はこちらの公式情報をご確認ください

Permissions Updates | Learn MOAR Spring ’23
https://admin.salesforce.com/blog/2023/permissions-updates-learn-moar-spring-23

（※新しい情報が出てきたらまた記事書きます！今後どうなるか気になるところですね。）