Loading
Salesforce から送信されるメールは、承認済ドメインからのみとなります続きを読む

デジタルエクスペリエンスゲストユーザが行動データにアクセスできないようにする

公開日: Nov 1, 2021
説明
一部の Salesforce 組織では、ゲストユーザが同期された行動の所有権を取得する可能性があり、組織のアクセス制御権限が誤って設定されていた場合には、この特定の行動データを閲覧することができてしまいます。Salesforce はこの問題を解決するための対策を講じていますが、お客様の組織が Summer '21 リリース以前に作成された場合は、以下の手順に従ってゲストユーザの行動へのアクセスを削除してください。
解決策
以下の変更を行う前に、次のように、クエリを実行する必要があるゲストユーザの ID を特定してください。含まれるクエリがゲストユーザのレコードを返す場合にのみ、データをクリーンアップする必要があります。
  • [設定] から、クイック検索ボックスで「すべてのサイト」を検索して、[すべてのサイト] を開き、設定されている各サイトの [ビルダー] に進みます。
  • [設定] をクリックし、[ゲストユーザプロファイル] 項目を見つけ、プロファイルをクリックします。
  • [このプロファイルに属するユーザの参照] をクリックします。
  • 設定したユーザを選択します。複数のユーザがいる場合は、必ずすべてのユーザに対してこの操作を行います。
  • 以下のクエリで使用するため、こちらで説明されているように、URL の 1 つまたは複数のユーザー ID をメモします。

データを削除する前に、組織が週次または月次のエクスポートを行うか、Salesforce データのバックアップに他の方法を使用している場合は、最新のバックアップデータが利用可能であることを確認する必要があります。

1.  認証されていないゲストユーザが行動にアクセスできないようにするには、ゲストユーザプロファイルの「活動にアクセス」権限を無効化します。ゲストユーザのアクセスを保護する方法の詳細については、こちらのドキュメントを参照してください。

2. ゲストユーザがスタンドアロンのカレンダーの行動を所有している場合、行動を削除または再割り当てします。

a. データローダまたは Workbench を使用して、ゲストユーザが所有する行動レコードを検索します。行動レコードを検索し、OwnerId 項目でフィルタリングします。OwnerId 項目は、ゲストレコード ID と同じでなければなりません。ゲストユーザー ID を見つけるには、こちらで説明したようにゲストユーザのプロファイルに移動し、各ユーザについて、こちらで説明した手順に従います。

b. 複数のゲストユーザがいる場合は、各ゲストユーザに対してクエリを実行します。

SOQL クエリ:

SELECT Id FROM Event WHERE OwnerId = '[GuestUserRecordId]' AND IsChild = false

c. 見つかったレコードを削除するか、OwnerId をゲストではないユーザに更新します。


3. ゲストユーザが不定期のカレンダーの行動や過去の定期のカレンダーの行動に招集されている場合、その行動から削除します。

a. データローダまたは Workbench を使用して、ゲストユーザを招集者として参照している行動レコードを見つけます。EventRelation レコードをクエリし、RelationId 項目でフィルタリングします。RelationId 項目は、ゲストユーザレコード ID と同じでなければなりません。

SOQL クエリ:

SELECT Id FROM EventRelation WHERE RelationId = '[GuestUserRecordId]' AND (Event.IsRecurrence2 = false OR Event.StartDateTime < TOMORROW) AND Event.IsRecurrence2Exception = false

b. ゲストユーザの単独の行動の招待状を削除するには、主催者の行動レコードから削除するか、クエリから返された EventRelation レコードを削除します。

4. Lightning Experience の一連の行動と定期的な例外については、ユーザインターフェースを使用して各一連の行動からゲストユーザを削除するか、API を使用して行動オブジェクトからゲストユーザーを削除します:
  • UndecidedEventInviteeIds、または
  • AcceptedEventInviteeIds、または
  • DeclinedEventInviteeIds
 
a. データローダまたは Workbench を使用して、ゲストユーザを招集者として参照している行動レコードを見つけます。EventRelation レコードをクエリし、RelationId 項目でフィルタリングします。RelationId 項目は、ゲストユーザレコード ID と同じでなければなりません。

SOQL クエリ:

SELECT Event.Id, Event.Subject, Event.AcceptedEventInviteeIds, Event.DeclinedEventInviteeIds, Event.UndecidedEventInviteeIds FROM EventRelation WHERE RelationId = '[GuestUserRecordId]' AND Event.IsRecurrence2 = true AND (Event.StartDateTime >= TODAY OR Event.IsRecurrence2Exception = true)

このクエリに基づいて、Event.id を使用し、ブラウザのアドレスバーで手動で検索して、レコードを編集します。招集者からゲストユーザを編集・削除します。

b. API を介してゲストユーザの行動の招待状を削除する代わりに、JunctionIdList 項目を介して主催者の行動レコードから削除します。
 
  • AcceptedEventInviteeIds、または
  • DeclinedEventInviteeIds、または
  • UndecidedEventInviteeIds

例えば、Event.AcceptedEventInviteeIds が元々['StandardUserRecordId', 'GuestUserRecordId'] と等しかった場合、新しい Event.AcceptedEventInviteeIds は['StandardUserRecordId'] となります。
 

5. 「ゲストユーザプロファイルを設定するときのベストプラクティスと考慮事項」を確認します。

解決手順に問題がある場合は、件名に「#GuestRem21」を付けて、サポートへのお問い合わせを起票してください。
ナレッジ記事番号

000389512

 
読み込み中
Salesforce Help | Article