1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ゲストユーザ関係のまとめ

Last updated at Posted at 2022-04-05

まとめページに戻る
まとめA~M


以下の設定を行う

  • ゲストユーザーにリードの読み取りと作成のアクセス権を付与する
  • ワークスペース > 管理で「ゲストユーザーにパブリック API へのアクセスを許可する」を有効にする
  • ゲストユーザーにリードタブへのアクセスを許可する
  • ゲストユーザーにリードフィールドへの読み取り/アクセスを許可する

リードフォームコンポーネントで訪問者情報を取得する
https://help.salesforce.com/s/articleView?id=sf.networks_microsites_configure_lead_form.htm&type=5

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

ゲストユーザーへの必要なユーザー権限およびオブジェクト権限の付与
https://help.salesforce.com/s/articleView?id=sf.ls_guest_user_permissions.htm&type=5


ゲストユーザを使用する組織のデータセキュリティを強化するため、Salesforce ではいくつかの改善を行っています。このトピックをスタートポイントとして、すべてのセキュリティの改善と更新 (適用のタイムラインや変更に向けた準備など) について理解してください。

Custom Apex and Implementation with Guest Users

Custom code, if well written, would have user-mode most of the time. But with a guest user, you won’t be able to update records without system mode. All APIs used by the guest user should be tested to make sure they are working. Even custom Apex inside an Integration Procedure or implementing VlocityOpenInterface may require solution change and refactoring.

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

カスタム Apex とゲストユーザーによる実装

カスタム コードは、適切に記述されていれば、ほとんどの場合ユーザー モードになります。ただし、ゲスト ユーザーの場合、システム モードなしではレコードを更新できません。ゲスト ユーザーが使用するすべての API をテストして、機能していることを確認する必要があります。統合プロシージャ内のカスタム Apex や VlocityOpenInterface の実装でも、ソリューションの変更とリファクタリングが必要になる場合があります。

現在、サイト ゲスト ユーザーは ContentVersion を挿入できません。
以下の IdeaExchange リンクを確認し、この機能に賛成票を投じてください。

https://ideas.salesforce.com/s/idea/a0B8W00000GdcM1UAJ/site-guest-user-Should-be-able-to-access-content

また、このヘルプ記事も参照してください: https://help.salesforce.com/s/articleView?id=000394368&type=1

For guest record access, you also need guest sharing rule. Just object level read access won’t be sufficient.

ゲスト レコード アクセスには、ゲスト共有ルールも必要です。オブジェクト レベルの読み取りアクセスだけでは十分ではありません。

ゲストユーザー共有ルールの作成

ゲストユーザー共有ルールは、特別な条件ベースの共有ルールであり、認証されていないゲストユーザーにレコードへのアクセス権を付与するための唯一の方法です。ゲストユーザー共有ルールでは、参照のみアクセス権を付与できます。

ゲストユーザーにレコードアクセスを許可するためには、ゲストユーザー共有ルールを作成する必要があります。ゲストユーザー共有ルールタイプは、ログイン情報のないユーザーにアクセス権を付与するものです。ゲストユーザー共有ルールを作成すれば、共有ルールの条件に一致するすべてのレコードに、誰もが無制限にすぐさまアクセスできるようになります。Salesforce データを保護し、ゲストユーザーが必要な情報にアクセスできるようにするために、このタイプの共有ルールの作成に関するすべての使用事例と影響を検討してください。データの機密性に適したセキュリティコントロールを実装します。デフォルト設定からのこの変更により、認証されていないユーザーにデータが漏洩した場合でも Salesforce は責任を負わないものとします。

ゲストユーザーには、データへの参照アクセス権より強力なアクセス権を付与することはできません。

ゲストユーザー共有ルールは、特別な条件ベースの共有ルールであり、認証されていないゲストユーザーにレコードへのアクセス権を付与するための唯一の方法です。ゲストユーザー共有ルールでは、参照のみアクセス権を付与できます。

For guest record access, you also need guest sharing rule. Just object level read access won’t be sufficient.

Create Guest User Sharing Rules
https://help.salesforce.com/s/articleView?id=sf.security_sharing_rules_guest.htm&type=5

設定

I have set Organization wide address to singleEmailMessage seems to have resolved the issue:

   OrgWideEmailAddress[] owea = [select Id from OrgWideEmailAddress where Address =       'testorgaddress@test.com']; //replacing testorgaddress@test.com with my org wide              email address

 

    if ( owea.size() > 0 ) {

       mail.setOrgWideEmailAddressId(owea.get(0).Id);

}   

Without these lines of code it was working for any logged in user, But Guest User seems to be having some kind of trouble.

これらのコード行がなければ、ログインしているユーザーであれば正常に動作していましたが、ゲスト ユーザーには何らかの問題が発生しているようです。

I found out that I had two more sites only visibles switching to Salesforce classic. Get into the classic setup and search for sites, then check there the default owner of the records and choose an active one.

https://salesforce.stackexchange.com/questions/366951/deactivate-a-user-who-is-no-longer-default-owner-of-records-created-by-guest-use

Salesforce クラシックに切り替えてのみ表示されるサイトがさらに 2 つあることがわかりました。クラシック セットアップを開始してサイトを検索し、そこでレコードのデフォルトの所有者を確認し、アクティブな所有者を選択します。

I got this to work in flow builder. After enabling the guest user upload, make sure the flow is running in system mode, then upload the file using the guest user Id as the related Id as mentioned above Then loop through the attachments and reassign the related Id to the records they need to be assigned to.

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

これをフロービルダーで動作させるようにしました。ゲスト ユーザーのアップロードを有効にした後、フローがシステム モードで実行されていることを確認し、上記のようにゲスト ユーザー ID を関連 ID として使用してファイルをアップロードします。次に、添付ファイルをループして、必要なレコードに関連 ID を再割り当てします。に割り当てられた。

うまくいかない

Unexpected error: null asd 5007E00000HCun0QAD asdUpdate failed. First exception on row 0 with id 5007E00000HCun0QAD; first error:

INSUFFICIENT_ACCESS_OR_READONLY, insufficient access rights on object id: []

Experience Builder + Flow

image.png

The System Permissions -> Run Flow inside the permission set should be active, to see the flow

https://salesforce.stackexchange.com/questions/328605/permission-set-flow-access-available-flows-is-empty

エラーメッセージと、フローが自動起動として機能する方法のために、これをバイパスする方法が見つかりませんでした。フローのおしゃべり部分を削除したところ、正常に動作するようになりました。

image.png

ゲストユーザ

image.png

ゲスト ユーザーは記事に投票できず、認証されたユーザーのみが投票できます。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?