ゲストユーザープロファイルを設定するときのベストプラクティスと考慮事項
ゲストユーザープロファイルを設定するときは、次の推奨事項と考慮事項に留意してください。
必要なエディション
| 使用可能なエディション: Essentials Edition、Enterprise Edition、Performance Edition、Unlimited Edition、および Developer Edition |
一般的なベストプラクティスと考慮事項
- ゲストユーザープロファイルは、特定の Experience Cloud サイトに固有です。各サイトのゲストユーザープロファイルで、データセキュリティを確認します。
- ゲストユーザーの場合は、Salesforce ロケール設定で設定された日時形式がブラウザーのロケール設定で上書きされます。ブラウザーの優先言語が有効な翻訳言語であることを確認します。そうでない場合、システムはデフォルトでゲストユーザーのロケール設定になります。
- Experience Cloud サイトが有効である限り、ゲストユーザーはログインページやエラーページなどのページのサブセットにアクセスできます。
-
使用認証済みユーザーおよびゲストユーザーのアクセスレポートおよび監視 AppExchange パッケージを使用して、レコードがゲストユーザーと共有されているかどうかを把握します。
メモSalesforce では、Authenticated and Guest User Access Report and Monitoring AppExchange パッケージを所有しておらず、サポートしていません。トラブルシューティングの問題がある場合は、パッケージ所有者にお問い合わせください。
共有設定
[ゲストユーザーのレコードアクセス権を保護] 設定は、組織のデータに対するゲストユーザーの表示とアクセスを制限します。
メモ この設定はデフォルトで有効になっており、無効にすることはできません。この設定のロールアウトと適用のタイムラインは、「ゲストユーザーセキュリティポリシーとタイムライン」で公開されています。
この設定を有効にすると、ゲストユーザーは次のように制限されます。
- すべてのオブジェクトで組織の共有設定が非公開に設定されます。このアクセスレベルは変更できません。
- キューや公開グループには追加できません。
- 共有の直接設定または Apex による共有管理を使用して、レコードへのアクセス権を付与することはできません。
- ゲストユーザー共有ルールのみを介して「参照のみ」アクセス権を付与することができます。ゲストユーザー共有ルールは、特別な条件ベースの共有ルールであり、オブジェクトあたりの条件ベースの共有ルール数の上限である 50 件に含まれます。
警告 ゲストユーザー共有ルールタイプは、ログイン情報のないゲストユーザーにアクセス権を付与するものです。ゲストユーザー共有ルールを作成すれば、共有ルールの条件に一致するすべてのレコードに、誰もが無制限にすぐさまアクセスできるようになります。Salesforce データを保護し、ゲストユーザーが必要な情報にアクセスできるようにするために、このタイプの共有ルールの作成に関するすべての使用事例と影響を検討してください。データの機密性に適したセキュリティコントロールを実装します。デフォルト設定からのこの変更により、認証されていないユーザーにデータが漏洩した場合でも Salesforce は責任を負わないものとします。
オブジェクト設定
- ゲストユーザープロファイルですべてのデフォルトのオブジェクト権限を確認し、最も制限の厳しい権限をゲストユーザーに適用します。ほとんどすべてのオブジェクトで、ゲストユーザーにはアクセス権を付与しないことをお勧めします。ビジネスケースでオブジェクトデータをゲストユーザーに公開する必要がある場合は、可能な限り最大の「参照」権限を設定します。
- デフォルトのレコードタイプを変更します。システムの [デフォルトのレコードタイプ] は自動的に [マスター] に設定されますが、ゲストユーザーがアクセスできるオブジェクトには新しいレコードタイプを選択することをお勧めします。
- ゲストユーザーに割り当てられた権限セットライセンス、権限セット、権限セットグループを確認します。権限セットライセンスによってゲストユーザーにビジネスニーズに不要な権限が付与されないことを確認します。権限セットまたは権限セットグループを介してゲストユーザーに不要な権限が付与されないことを確認します。Winter '23 では、Salesforce は特定の権限セットおよび権限セットグループからゲストユーザーの割り当てを削除します。「すべてのレコードの参照」、「すべてのレコードの編集」、「編集」、「削除」標準オブジェクト権限を含む権限セットライセンスに関連付けられた権限セットグループおよび権限セットから、ゲストユーザーの割り当てが削除されました。ゲストユーザーに許可されるオブジェクト権限は参照と作成のみです。詳細は、「ゲストユーザーのセキュリティポリシーとタイムライン」を参照してください。
- [ゲストユーザーによって作成された新規レコードをデフォルト所有者に割り当て] 設定を有効にし、ゲストユーザーが作成したレコードの所有者としてそのゲストユーザーが自動的に割り当てられないようにします。
- ゲストユーザーに「すべてのレコードの参照」または「すべてのレコードの編集」権限を割り当てないでください。
- ゲストユーザーに更新または削除権限を割り当てないでください。
システム権限
- すべてのシステム権限を確認し、使用事例に必要のない権限を選択解除します。
- ゲストユーザーに他のサイトのユーザーを表示しないようにする場合は、「すべてのユーザーの参照」権限を無効にします。「すべてのユーザーの参照」権限は、Winter '20 以降で作成された組織ではゲストユーザープロファイルにデフォルトで無効になっています。
メモ [すべてのユーザーの参照] を選択解除すると、ゲストユーザーはサイト内のユーザーやトピックフィードにアクセスできなくなります。 - ゲストユーザーがフローを使用していない場合、「フローを実行」権限を無効にします。ゲストユーザーがフローアクセスを必要とする場合、ゲストユーザーがアクセスしているフローの一時停止オプションを無効にします。
API 使用状況
システム権限の「API の有効化」権限では、外部アプリケーションまたはコネクタが API を使用して Salesforce データを認証またはアクセスできます。API の使用例として、Salesforce モバイルアプリケーションがあります。
- ゲストユーザープロファイルで「API の有効化」権限が有効になっているかどうかを確認します。
- ゲストユーザーが明示的に API アクセスを必要としている場合以外は、「API の有効化」権限を無効にすることを強くお勧めします。
- 最初に Sandbox で権限を無効にして、ゲストユーザーのアクセスがどのように影響されるかを確認します。
Visualforce ページと Apex
- ゲストユーザーがアクセスできるすべての Visualforce ページと Apex ページを確認します。ゲストユーザーにアクセスさせたくないページは削除します。
- 次の Salesforce が提供する Visualforce ページは、認証フローやサイトメンテナンスなどの一般的なサービスを提供するために、デフォルトでゲストユーザープロファイルに追加されます。
- BandwidthExceeded
- CommunitiesLanding
- CommunitiesLogin
- CommunitiesSelfReg
- CommunitiesSelfRegConfirm
- CommunitiesTemplate
- Exception
- FileNotFound
- ForgotPassword
- ForgotPasswordConfirm
- InMaintenance
- SiteLogin
- SiteRegister
- SiteRegisterConfirm
- UnderConstruction
- サイトがセルフ登録を提供していない場合、ゲストプロファイルから次のセルフ登録ページを削除します。
- CommunitiesSelfReg
- CommunitiesSelfRegConfirm
- SiteRegister
- SiteRegisterConfirm
- 特定のビジネスプロセス (ISV アプリケーション、カスタムアプリケーション) をサポートしていない他のすべての Visualforce ページを削除します。
- ゲストユーザーの Apex クラスを制限します。REST または SOAP API の使用に対してのみ Apex クラスのアクセスを許可します。Visualforce コントローラーとして機能する Apex クラスには、明示的なアクセス権は必要ありません。
- Apex クラスとサブクラスコードで、項目レベルセキュリティまたはオブジェクト権限をチェックしないか、「without sharing」クラス内にあるレコード更新またはクエリを検索します。without sharing を実行するか、項目レベルセキュリティおよびオブジェクト権限を最小限にバイパスする Apex とサブクラスコードは保持します。
- Lightning コンポーネントで使用される Apex コントローラーで
@AuraEnabledメソッドをゲストユーザーが実行できる場合、常に「with sharing」キーワードを使用します。 - Experience Cloud サイトで使用される
@AuraEnabledApex クラスにゲストユーザープロファイルを追加します。
データカテゴリ設定
- 組織に Classic ナレッジを実装している場合、データカテゴリ設定で、ゲストユーザーが必要なすべての Salesforce ナレッジカテゴリにアクセスできることを確認します。
項目レベルセキュリティ
- ゲストユーザーがアクセスできるオブジェクトの項目レベルセキュリティで、ゲストユーザーが適切な項目にアクセスできることを確認します。
- ゲストユーザーに表示したくない項目への項目レベルのアクセス権は削除します。
行動の同期
Einstein 活動キャプチャまたは Lightning Sync を使用して行動を同期している場合、ゲストユーザーが行動データにアクセスできないようにします。
- ゲストユーザーを行動に招待しないでください。
- ゲストユーザーとゲスト以外のユーザーで同じメールアドレスを使用しないでください。これにより、ゲストユーザーが行動に追加されることがあります。
- 使用事例でアクセス権が必要でない限り、ゲストユーザープロファイルで「活動にアクセス」権限を無効にします。
- ゲストユーザーが行動を所有している場合は、行動を削除するか、再割り当てします。
- ゲストユーザーが行動の招待者の場合、主催者の行動レコードからゲストユーザーを削除します。または、行動が一連の行動の一部でない場合、API を使用して関連する EventRelation レコードを削除します。イベントが一連のイベントの一部である場合は、API を使用して、Event オブジェクトの UndetermineedEventInviteeIds、AcceptedEventInviteeIds、または AcceptedEventInviteeIds 項目からゲストユーザーを削除します。
- 行動を Salesforce から接続済みアカウントに同期するか、双方向に同期する場合、Salesforce の行動に加えられた変更によってすべての被招集者に通知が送信される可能性があります。
この記事で問題は解決されましたか?
ご意見をお待ちしております。
