はじめにこんにちは、角煮です。(オフィス近くで売っている角煮丼が好きなため)普段はSalesforceの設定や検証をコツコツやっています。今回は勉強会で学んだSalesforceの「ログイン認証(SSO)」についてまとめました。本記事を通じて、Salesforceを安全かつ効率的に活用するための基本的な設定について、少しでも理解を深めていただければ幸いです。勉強会の目的Salesforceの「認証(ログイン)」に関する基本的な知識を身につけ、システムの安全な運用とユーザーの利便性向上に役立てること。SSO(シングルサインオン)の設定本セクションでは、SSOの設定について学びます。下記のユースケースを想定しています。・他のサービス(例:GoogleやMicrosoft)とログインをまとめたい・パスワードを何度も入力せずに使える仕組みを作りたい・ログイン方法を安全で便利にしたいSSO、SAMLについての技術概要・SSO:1回のログインで複数サービスにアクセスできる仕組み・SAML:その仕組みを支える安全な情報のやり取りのルール要件:セキュリティポリシーで一般社員の直接ログインを禁止し、IdP経由のSSO認証のみを許可するケースを想定Salesforceを業務利用しているが、セキュリティポリシー上、一般社員によるSalesforceへの直接ログインは禁止されている。ログインは社内の認証基盤(IdP:例 Okta、Azure AD、Google Workspaceなど)を経由したSSO認証に限定したい。目標:axiomを利用したSSOログイン環境が作れるようになることaxiomを使ってSalesforceにログインする。※axiomはIDP(Identity Provider)のサービスです。IDPとは「ユーザーの身元(認証情報)を管理し、他のサービスに本人であることを証明する仕組み」です。事前準備Trailhead Playground作成時のシステム管理者のアカウントを使用します。ユーザー名はtestに変更しています。手順①統合 ID を作成設定から、クイック検索ボックスに「ユーザー」 と入力し、[ユーザー]を選択し、test の名前の横にある [編集] をクリックします。(自分のユーザー名でも可)[シングルサインオン情報] で、[統合 ID] に test@jedeye-tech.com と入力し、[保存]をクリックします。②Salesforce に SSO プロバイダーを設定axiomのサイト(https://axiomsso.herokuapp.com)にアクセスし、[SAML Identity Provider & Tester]をクリックします。[Download the Identity Provider Certificate] をクリックします。Salesforce 組織で、[設定] の [クイック検索] ボックスに「シングル」と入力し、[シングルサインオン設定] を選択します。その後、[編集]をクリックします。[SAML を有効化] を選択し、[保存] をクリックします。[SAML シングルサインオン設定] で、[新規] をクリックします。次の値を入力し、[保存] をクリックします。Name (名前): Axiom Test AppIssuer (発行者): https://axiomsso.herokuapp.com ← axiomのサイトID プロバイダーの証明書:先ほどダウンロードしたファイルを選択します。署名要求メソッド: [RSA-SHA1] を選択します。 ※設定例として署名要求メソッドに SHA1 を指定しています。実運用ではより安全なアルゴリズム(SHA256 など)を推奨しますが、本記事では Trailhead の例題に沿った手順解説を目的としています。SAML ID 種別: [アサーションには、ユーザーオブジェクトの統合 ID が含まれます] を選択します。SAML ID の場所: [ID は、Subject ステートメントの NameIdentifier 要素にあります] を選択します。サービスプロバイダーの起動要求バインド: [HTTP リダイレクト] を選択します。エンティティ ID: [私のドメイン] の URL を入力します。これは [私のドメイン] の [設定] ページに表示されています。エンティティ ID には「https」が含まれており、Salesforce ドメインを参照していることを確認してください。https://mydomain-dev-ed.develop.my.salesforce.com のようになります。③ID プロバイダーを Salesforce にリンクさせます。1.axiom web アプリケーションに戻ります。このアプリケーションがブラウザーウィンドウで開いていない場合は、https://axiomsso.herokuapp.com にアクセスします。2.[SAML Identity Provider & Tester] をクリックします。3.[generate a SAML Response] をクリックします。4.次の値を入力します。他の項目はそのままにします。SAML バージョン: 2.0Username OR Federated ID (ユーザー名または統合 ID): test@jedeye-tech.comIssuer (発行者): https://axiomsso.herokuapp.comRecipient URL (受信 URL): Salesforce SAML の [シングルサインオン設定] ページから取得した URL。ページ下部 (の [エンドポイント] セクション) に [ログイン URL] という表示ラベルがあります。Entity Id (エンティティ ID): Salesforce の [SAML Single Sign-On Settings (SAML シングルサインオン設定)] ページから取得したエンティティ ID。④確認する ※シークレットwindowで行うこと1.axion 設定のブラウザーウィンドウで、[generate a SAML Response]をクリックします。2.axiom により XML の SAML アサーションが生成されます。3.[Login] をクリックします。正常に機能している場合は、Salesforce ホームページで test としてログインしています。axiom アプリケーションから、割り当てられた統合 ID を使用して、Salesforce 組織にユーザーとしてログインできます。結果今回の設定を通じて、axiom(IdP)を使ってSalesforceにログインできることを確認できました。具体的には、ユーザーに設定した統合IDとaxiomのSAMLレスポンスを利用して、Salesforceへ認証が行われ、パスワードを直接入力せずにアクセスできました。まとめ今回は「SSO設定」について触れ、外部の認証基盤を使ってSalesforceにログインする流れを体験しました。今回はSalesforce単体での設定でしたが、本来は同じ仕組みを使って、他のサービスもまとめてログインできるようにできます。これでパスワード管理の手間も減って、ぐっと便利になります。参考リンク・資料Salesforce公式ドキュメントTrailheadモジュール(SSO)関連する社内Wikiや資料へのリンクhttps://trailhead.salesforce.com/ja/content/learn/modules/identity_login/identity_login_sso