- Salesforceの証明書とメタデータを取得します。
- Auth0をサービスプロバイダーとして設定します。
- SalesforceIDプロバイダ(IdP)を設定します。
- Salesforceのユーザーに権限を付与します。
- Salesforce IdPへの接続をテストします。
前提条件
Salesforce.comのアカウントを登録します。IDプロバイダーサポートが含まれているいずれかのアカウントタイプを選択する必要があります。Salesforceの証明書とメタデータを取得する
- Salesforceアカウントにログインします。
- Salesforceドメインを作成します。
- Salesforceのドメイン
https://{yourDomain}.my.salesforce.com
にログインし、右上にある [Setup(設定)] をクリックします。 - クイック検索ボックスに「Single Sign-On Settings(シングルサインオン設定)」と入力し、 [Single Sign-On Settings(シングルサインオン設定] を選択してから [Edit(編集)] をクリックします。
- SAML SSO設定を表示するには、 [SAML Enabled(有効なSAML)] を選択します。
- デフォルトの証明書を選択し、 [Save(保存)] をクリックします。
- [Download Certificate(証明書のダウンロード)] をクリックして、IDプロバイダーの証明書をダウンロードします。
- [Download Metadata(メタデータのダウンロード)] をクリックして、IDプロバイダーのメタデータをダウンロードします。
Auth0をサービスプロバイダーとして設定する
のためにSalesforceのIDプロバイダーと通信するサービスプロバイダーとして、Auth0を設定します。- [Dashboard] > [Authentication(認証)] > [Enterprise(エンタープライズ)]に移動し、 [SAML] をクリックします。
- [Create Connection(接続を作成)] をクリックします。
-
設定ウィンドウで、以下の情報を入力します。
設定 説明 Connection Name(接続名) 接続の名前。たとえば、SFIDP。 Email Domains(メールドメイン) ユーザーがログインに使用するメールドメイン名を入力します。たとえば、ユーザーが abc-example.com
のメールドメイン名を持っている場合は、それをこのフィールドに入力します。複数のドメインを入力できます。Sign In URL(サインインURL) Salesforceからダウンロードしたメタデータファイルを開き、 SingleSignOnService
バインディングを含む行を見つけます。この行のlocation
属性の値は、サインインURLです。次のようになります:https://{sf-account-name}.my.salesforce.com/idp/endpoint/HttpRedirect
で{sf-account-name}
はSalesforceドメイン名です。Sign Out URL(サインアウトURL) サインインURLに入力したのと同じURLを入力します。 -
[Certificate(証明書)] では、Salesforceからダウンロードした証明書を次のコマンドで.pem形式に変換します。
openssl x509 -in original.crt -out sfcert.pem -outform PEM
ここで、original.crt
はダウンロードした.crtファイルのファイル名です。- [UPLOAD CERTIFICATE(証明書をアップロード)] をクリックし、先ほど作成した
.pem
ファイルを選択します。(上記の例ではsfcert.pem
です)。残りのフィールドは、今は無視してかまいません。 - [Save(保存)] をクリックします。
- [CONTINUE(続行)] をクリックします。ウィンドウが開き、Auth0サービスプロバイダーのSAMLメタデータが表示されます。このウィンドウは開いたままにしておいてください。設定を完了するには、この情報の一部をSalesforceに入力する必要があります。
- [UPLOAD CERTIFICATE(証明書をアップロード)] をクリックし、先ほど作成した
https://{yourDomain}/samlp/metadata?connection={yourConnectionName}
を使用します。
IDプロバイダーとしてSalesforceを設定する
Auth0からSAMLベースの認証要求を受信し、応答できるように、Auth0のメタデータを使用してSalesforceを設定します。- salesforce.com にアクセスします。
- [Setup(設定)] > [Manage Apps(アプリの管理)] に移動します。 [Connected Apps(接続アプリ)] をクリックします。
-
新しい接続アプリを作成し、以下のフィールドに入力します。
設定 説明 Entity ID(エンティティID) urn:auth0:YOUR_TENANT:YOUR_CONNECTION_NAME
ACS URL https://{yourDomain}/login/callback
Subject Type(サブジェクトタイプ) Persistent ID
Name ID Format(名前のID形式) emailAddress
があるものを選ぶIssuer(発行者) https://{your-saleforce-domain}.my.salesforce.com
- [Save(保存)] をクリックして設定を完了します。
Salesforceのユーザーに権限を付与する
- salesforce.com にアクセスし、 [Setup(設定)] をクリックします。
- [Manage Users(ユーザーの管理)] で [Profiles(プロファイル)] をクリックします。
- スクロールダウンして、 [Standard User(標準ユーザー)] というプロファイル(2ページ目)を見つけます。
- [Edit(編集)] をクリックしてプロファイルを編集します。
- [Connected App Access(接続アプリのアクセス)] セクションまでスクロールダウンします。
- 接続アプリの名前の横にあるボックスにチェックマークを入れて、このプロファイル用に有効にします。
- [Save(保存)] をクリックします。
- [Manage Users(ユーザーの管理)] で [Users(ユーザー)] をクリックします。
- [Edit(編集)] をクリックして、テストユーザーを編集し、プロファイルを [Standard User(標準ユーザー)] に設定します。Salesforceの別のプロファイルを使用するには、そのプロファイル用の接続アプリを有効にし、Salesforce IDプロバイダー経由でログインするすべてのユーザーがそのプロファイルを持っていることを確認します。
Salesforceへの接続をテストする
- Auth0 Dashboardの[Authentication(認証)] > [Enterprise(エンタープライズ)]セクションに移動します。 [SAMLP Identity Provider(SAMLP IDプロバイダー)] を選択します。
- 先ほど作成したSAML接続の [Try(試行)] ボタンをクリックします。これで、Auth0からSalesforceのログインページにリダイレクトされるはずです。
-
Salesforceのログイン画面 が表示されたら、Salesforceアカウントを作成した際に指定した資格情報でログインします。
- SAMLの設定に問題がなければ、 [It works!!!(有効!!!)] と表示されたAuth0ページにブラウザーがリダイレクトされます。このページには、Salesforce IDプロバイダーからAuth0に送信されたSAML認証アサーションの内容が表示されます。
- 有効にならなかった場合は、上記のステップを再度確認し、以下の トラブルシューティング のセクションを参照してください。
HARファイルを(Auth0を含む)誰かと共有するときは、必ず事前に以下を含むすべての機密データを削除または難読化してください。
- ユーザーの機密情報
- 個人を特定できる情報(PII)
- アプリケーションの機密情報