プロファイルのまとめ


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


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

+ [profileとrole/レコードタイプとレイアウトの定義と使い分け](https://trailhead.salesforce.com/trailblazer-community/feed/0D54S00000QKRqESAX)

**ページ レイアウト** => ページ レイアウトによって、レコード上のどのフィールドがユーザーに表示されるかが決まります。これらを使用すると、フィールド、セクション、リンク、カスタム ボタン、およびその他のいくつかの機能を追加できます。

**レコード タイプ** => レコード タイプを使用すると、さまざまなビジネス プロセス、選択リストの値、およびページ レイアウトをさまざまなユーザーに提供できます。

たとえば、レコード タイプの最も一般的な使用例の 1 つは、Opportunity オブジェクトに 2 つの異なる販売プロセスを作成することです。それぞれに異なる販売ステージとページレイアウトがあります。

これは、レコード タイプを使用すると、オブジェクトごと、ユーザー プロファイルごとに複数のページ レイアウトを適用できることを意味します

https://developer.salesforce.com/forums/?id=9062I000000DNtmQAG

レコードタイプとプロファイルの違い

**レコードタイプ:**
レコード タイプを使用すると、プロファイルに基づいてさまざまなビジネス プロセス、選択リストの値、ページ レイアウトをさまざまなユーザーに提供できます。詳細は、Salesforce オンラインヘルプの「レコードタイプの管理」を参照してください。このメタデータ タイプを使用して、カスタム オブジェクトのレコード タイプ定義を作成、更新、または削除します。これは Metadata メタデータ型を拡張し、その fullName フィールドを継承します。


**プロファイル:**
プロファイル。情報のクエリ、追加、更新、削除など、さまざまな操作を実行するための一連の権限を定義します。 

https://developer.salesforce.com/forums/?id=906F00000008pFcIAI

 
1) **OWD** - 組織全体の共有設定は、レコードへのデフォルトのアクセス レベルを指定し、アカウント (資産および契約を含む)、アクティビティ、連絡先、キャンペーン、ケース、リード、商談、カレンダー、価格表、およびカスタムごとに個別に設定できます。オブジェクト。 

ほとんどのオブジェクトでは、
組織全体の共有設定をプライベート、パブリック読み取り専用、またはパブリック読み取り/書き込みに設定できます。

2) **プロファイル**は、ユーザーが Salesforce で実行できる内容を定義する設定と権限のグループ/コレクションです。プロファイルは、「オブジェクト権限、項目権限、ユーザ権限、タブ設定、アプリケーション設定、Apex クラスアクセス、Visualforce ページアクセス、ページレイアウト、レコードタイプ、ログイン時間、ログイン IP 範囲」を制御します。

3) **ロール階層**により、ユーザーが組織データに対して持つ可視性のレベルが制御されます。ロール階層を定義することで、レコードへのアクセスを共有できます。(CEO、役員、その他のより高いレベルの役割) など、階層の最上位に近い役割に割り当てられたユーザーは、その直下にあるすべてのユーザーのデータにアクセスできます。

 

https://developer.salesforce.com/forums/?id=906F00000005FoeIAE

--------------------------------------------------

+ [プロファイルの操作の問題](https://qiita.com/Keiji_otsubo/items/dce4cb783ada9c6118ea)
+ [Salesforce でのプロファイルと権限セットのクリーンアップ　](https://qiita.com/Keiji_otsubo/items/89021c67b246816b509c)
+ [使われていない権限セットを探したい](https://qiita.com/Keiji_otsubo/items/893e59be1cccd7670a84)
+ [MetaData APIを使ってプロファイルを読む（準備）](https://qiita.com/Keiji_otsubo/items/5d75e344af2cad9b8624)
+ [レポートのアクセス権を制限するプロファイルの設定](https://qiita.com/Keiji_otsubo/items/779ba758c094f6722f23)
+ [レポートを見ることができないときの対応](https://qiita.com/Keiji_otsubo/items/fb97021e5e7631d8a21f)
+ [プロファイルに設定しているIPアドレスの設定をレポートする方法](https://qiita.com/Keiji_otsubo/items/bfe3ad7794684fa11eae)
+ [AppExchangeを開くことができない](https://qiita.com/Keiji_otsubo/items/e30041d9701c52b04f13)
+ [パートナーとの CRM データの共有](https://qiita.com/Keiji_otsubo/items/26609144193915429d7f)
+ [insufficient cross reference id](https://qiita.com/Keiji_otsubo/items/a2e57ba4e3d197e5329e)
プロファイルなども他の人と一緒なのに、このエラーの場合で、メール送信があったら疑うことがあります。
メールテンプレートのフォルダーにアクセス権があるかどうかを。

+ [ユーザプロファイルに基づく認証済みユーザの @AuraEnabled Apex メソッドへのアクセスの制限](https://qiita.com/Keiji_otsubo/items/1c650bcebaa894efeea0)
+ [システム用の特殊なユーザの扱い](https://qiita.com/Keiji_otsubo/items/328ae96ddf0691a654f1)
+ [クイックアクションとレコードタイプ](https://qiita.com/Keiji_otsubo/items/6871c511ac350fe6b72d)
+ [プロファイルからレコード タイプを削除するURLハック](https://qiita.com/Keiji_otsubo/items/9a7de0269f99b67faf5e)

+ [プロファイルに apex クラス権限を付与できません。](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007YwH37)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/96b2e7b0-8a60-0774-ba4f-7de2dabfef36.png)

:::note
Setup > User management settings > Enable, Enhanced permission set component views.

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

+ [Test Automation User Profile](https://trailhead.salesforce.com/trailblazer-community/feed/0D5KX00000SWDjP0AX)



# 読み取り専用プロファイルがなくなったようです。
Control Access to Objectsのチャレンジ、
日本語では データセキュリティ > オブジェクトへのアクセスの制御

[データセキュリティ > オブジェクトへのアクセスの制御](https://trailhead.salesforce.com/ja/content/learn/modules/data_security/data_security_objects)

Read-Onlyプロファイルがないという質問が2021/02/14以降多いです。
調べてみると、なんとSpring21から無くなったようです。

[The Read Only Profile Is No Longer Available in New Salesforce Orgs](https://help.salesforce.com/articleView?id=release-notes.rn_profiles_and_perms_read_only_new.htm&type=5&release=230)

適当に自分で読み取り専用みたいな構成をつくらないといけなさそうです。

追記：
MinimumAccess標準プロファイルを使う案が提案されています。

[Control Access to Objects - Read Only Profile](https://trailhead.salesforce.com/en/trailblazer-community/feed/0D54S00000A8g1bSAB)

# CPQ Developer Sandbox error: 'The value of the "tid" parameter contains a character...'

よくわからんけど、拡張プロファイルの設定にするといいらしい。

[CPQ Developer Sandbox error: 'The value of the "tid" parameter contains a character...'](https://trailhead.salesforce.com/en/trailblazer-community/feed/0D54S00000A91HcSAJ)

# 拡張プロファイルエディタで選択できない
[STUCK AGAIN!!! "Create New Users and Allow a User to Delete Accounts"](https://trailhead.salesforce.com/ja/trailblazer-community/feed/0D54S00000BtNSZ)

# Set Default Record Types in Personal Settingsが表示できない

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/92477ca5-d143-cc6f-3c26-73e9839fed5b.png)

[Missing Set Default Record Types in Personal Settings](https://trailhead.salesforce.com/ja/trailblazer-community/feed/0D54S00000EBsrn)

プロファイルにレコードタイプが１つも設定されないと表示できないようです。

# SalesforceAdoptionDashboardsアプリをインストールするプロセスを実行します。再ログインを要求されると、古いパスワードが使用されるため、間違ったプロファイルに接続しているのではないかと思います。

[AppExchange基本モジュールのAppExchangeパッケージのインストールを完了できません。](https://trailhead.salesforce.com/en/trailblazer-community/feed/0D54S00000FxUft)

# システム管理者関係

+ [システム管理者のライセンス変更](https://trailhead.salesforce.com/ja/trailblazer-community/feed/0D54S00000LJXPESA5)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/a2f20874-e0c3-4116-e8bf-c64f348471e8.png)

https://klever.jp/archives/1648

https://help.salesforce.com/s/articleView?id=000384761&type=1

:::note
web-to-leadの設定を変更することで問題解決しました！
:::

# すべてのプロファイルに必要な大量の変更を行う方法があることを願っています。これにより、各プロファイルに入ることなくレコード タイプを非アクティブ化できますか?

+ [How do you resolve this without going into each individual profile?](https://trailhead.salesforce.com/trailblazer-community/feed/0D54S00000JgKZ6)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/ff6cdfeb-8eee-ae81-4427-d390834faf56.png)

:::note
unfortunately there’s not an easy way to do this from the user interface en-masse yet, but it is on the roadmap: https://ideas.salesforce.com/s/idea/a0B8W00000GdcIOUAZ/record-type-assignment-tool-for-profiles
:::

# IP アドレスの追加が出来ない

+ [Is the "Restrict Login IP Addresses in the Original Profile User Interface" help article out-of-date?](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007PiEDQ)

:::note
Don't press the edit button, just scroll down.
It looks like Enhanced Profile is not enabled.

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/62105a2e-f599-d708-a4af-db3c1c9d91ba.png)
:::

# セッションタイムアウトの設定

+ [セッションタイムアウトの設定](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007T576g)

:::note
以下のような優先順位があるようです。

プロファイル レベルのセッション期間とパスワード ポリシーの設定は、組織レベルの設定をオーバーライドします。

プロファイルにセッション タイムアウトを設定するまでは、セッション設定の組織全体のタイムアウト値がプロファイルのユーザーに適用されます。プロファイルのセッション タイムアウトを設定すると、そのプロファイルのユーザーの組織全体のタイムアウト値が上書きされます。組織全体のタイムアウト値への変更は、独自のセッション タイムアウト値を持つプロファイルのユーザーには適用されません。

https://salesforce.stackexchange.com/questions/73717/session-settings-timeout
:::


# プロファイルに apex クラス権限を付与できません。

+ [【未解決】Unable to give apex class permission to the profile.](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007YwH37)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/e7f0cc9e-0b1b-fb2e-412d-d222cb8beff1.png)

:::note
Based on above gack id, error seem to be with maximum view state size limit, can you check on view state error and see if that fixes the issue.

https://help.salesforce.com/s/articleView?id=000384480&type=1

上記の gack ID に基づいて、エラーはビュー ステートの最大サイズ制限に関連しているようです。ビュー ステートのエラーを確認して、問題が解決するかどうかを確認してください。
:::


# 数式(チェックボックス)型のカスタム項目でProfile.Name = 'システム管理者'が機能しない

+ [数式(チェックボックス)型のカスタム項目でProfile.Name = 'システム管理者'が機能しない](https://trailhead.salesforce.com/trailblazer-community/feed/0D5KX00000PZ4Bi)

:::note
SOQLでは検索条件にできるのですが.... 

この項目は実際はユーザなので特殊なのかもしれません 

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/cd15942c-d6d3-4600-907c-074c261d1f8b.png)

CreatedBy.ProfileIdを使えって回答されていますね 

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


以下も１人を除いてIdを使うと回答していますね。バグかも

 https://salesforce.stackexchange.com/questions/96189/profile-name-in-validation-rule-not-working
 

Caseを使って回避しようとしていたようですが、最終的にはIdを使っています。 

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