> ## Documentation Index
> Fetch the complete documentation index at: https://auth0.generaltranslation.app/llms.txt
> Use this file to discover all available pages before exploring further.

# SAML IDプロバイダーとしてSalesforceを設定する

> Auth0で使用するために、SAML IDプロバイダーにSalesforceを設定する方法について説明します。

以下の手順を完了して、<Tooltip data-tooltip-id="react-containers-DefinitionTooltip-1" href="/docs/ja-JP/ja-jp/glossary?term=security-assertion-markup-language" tip="Security Assertion Markup Language（SAML）: パスワードなしに二者間で認証情報を交換できる標準化プロトコル。" cta="用語集の表示">SAML</Tooltip> IDプロバイダーとしてSalesforceを設定します。

1. Salesforceの証明書とメタデータを取得します。
2. Auth0をサービスプロバイダーとして設定します。
3. SalesforceIDプロバイダ（IdP）を設定します。
4. Salesforceのユーザーに権限を付与します。
5. Salesforce IdPへの接続をテストします。

<div id="prerequisite">
  ## 前提条件
</div>

[Salesforce.com](http://salesforce.com)のアカウントを登録します。IDプロバイダーサポートが含まれているいずれかのアカウントタイプを選択する必要があります。

<div id="obtain-salesforce-certificate-and-metadata">
  ## Salesforceの証明書とメタデータを取得する
</div>

1. [Salesforce](http://salesforce.com)アカウントにログインします。
2. [Salesforceドメイン](https://help.salesforce.com/apex/HTViewHelpDoc?id=domain_name_setup.htm\&language=en_US)を作成します。
3. Salesforceのドメイン`https://{yourDomain}.my.salesforce.com`にログインし、右上にある **［Setup（設定）］** をクリックします。
4. クイック検索ボックスに「Single Sign-On Settings（シングルサインオン設定）」と入力し、 **［Single Sign-On Settings（シングルサインオン設定］** を選択してから **［Edit（編集）］** をクリックします。
5. SAML SSO設定を表示するには、 **［SAML Enabled（有効なSAML）］** を選択します。
6. デフォルトの証明書を選択し、 **［Save（保存）］** をクリックします。
7. **［Download Certificate（証明書のダウンロード）］** をクリックして、IDプロバイダーの証明書をダウンロードします。
8. **［Download Metadata（メタデータのダウンロード）］** をクリックして、IDプロバイダーのメタデータをダウンロードします。

<div id="set-up-auth0-as-a-service-provider">
  ## Auth0をサービスプロバイダーとして設定する
</div>

<Tooltip data-tooltip-id="react-containers-DefinitionTooltip-0" href="/docs/ja-JP/ja-jp/glossary?term=single-sign-on" tip="シングルサインオン（SSO）: ユーザーが1つのアプリケーションにログインした後、そのユーザーを他のアプリケーションに自動的にログインさせるサービス。" cta="用語集の表示">SSO</Tooltip>のためにSalesforceのIDプロバイダーと通信するサービスプロバイダーとして、Auth0を設定します。

1. [［Dashboard］ > ［Authentication（認証）］ > ［Enterprise（エンタープライズ）］](https://manage.auth0.com/#/connections/enterprise)に移動し、 **［SAML］** をクリックします。
2. **［Create Connection（接続を作成）］** をクリックします。
3. 設定ウィンドウで、以下の情報を入力します。

   <table class="table">
     <thead>
       <tr>
         <th>設定</th>
         <th>説明</th>
       </tr>
     </thead>

     <tbody>
       <tr>
         <td><b>Connection Name（接続名）</b></td>
         <td>接続の名前。たとえば、<b>SFIDP</b>。</td>
       </tr>

       <tr>
         <td><b>Email Domains（メールドメイン）</b></td>
         <td>ユーザーがログインに使用するメールドメイン名を入力します。たとえば、ユーザーが`abc-example.com`のメールドメイン名を持っている場合は、それをこのフィールドに入力します。複数のドメインを入力できます。</td>
       </tr>

       <tr>
         <td><b>Sign In URL（サインインURL）</b></td>
         <td>Salesforceからダウンロードしたメタデータファイルを開き、`SingleSignOnService`バインディングを含む行を見つけます。この行の`location`属性の値は、サインインURLです。次のようになります：`https://{sf-account-name}.my.salesforce.com/idp/endpoint/HttpRedirect`で`{sf-account-name}`はSalesforceドメイン名です。</td>
       </tr>

       <tr>
         <td><b>Sign Out URL（サインアウトURL）</b></td>
         <td>サインインURLに入力したのと同じURLを入力します。</td>
       </tr>
     </tbody>
   </table>
4. **［Certificate（証明書）］** では、Salesforceからダウンロードした証明書を次のコマンドで.pem形式に変換します。
   `openssl x509 -in original.crt -out sfcert.pem -outform PEM`ここで、`original.crt`はダウンロードした.crtファイルのファイル名です。

   1. **［UPLOAD CERTIFICATE（証明書をアップロード）］** をクリックし、先ほど作成した`.pem`ファイルを選択します。（上記の例では`sfcert.pem`です）。残りのフィールドは、今は無視してかまいません。
   2. **［Save（保存）］** をクリックします。
   3. **［CONTINUE（続行）］** をクリックします。ウィンドウが開き、Auth0サービスプロバイダーのSAMLメタデータが表示されます。このウィンドウは開いたままにしておいてください。設定を完了するには、この情報の一部をSalesforceに入力する必要があります。

Auth0のSAML接続用のメタデータにアクセスするには、URL構文の`https://{yourDomain}/samlp/metadata?connection={yourConnectionName}`を使用します。

<div id="configure-salesforce-as-an-identity-provider">
  ## IDプロバイダーとしてSalesforceを設定する
</div>

Auth0からSAMLベースの認証要求を受信し、応答できるように、Auth0のメタデータを使用してSalesforceを設定します。

1. [**salesforce.com** ](http://salesforce.com)にアクセスします。
2. **［Setup（設定）］** > **［Manage Apps（アプリの管理）］** に移動します。 **［Connected Apps（接続アプリ）］** をクリックします。
3. 新しい接続アプリを作成し、以下のフィールドに入力します。

   <table class="table">
     <thead>
       <tr>
         <th>設定</th>
         <th>説明</th>
       </tr>
     </thead>

     <tbody>
       <tr>
         <td><b>Entity ID（エンティティID）</b></td>
         <td>`urn:auth0:YOUR_TENANT:YOUR_CONNECTION_NAME`</td>
       </tr>

       <tr>
         <td><b>ACS URL</b></td>
         <td>`https://{yourDomain}/login/callback`</td>
       </tr>

       <tr>
         <td><b>Subject Type（サブジェクトタイプ）</b></td>
         <td>`Persistent ID`</td>
       </tr>

       <tr>
         <td><b>Name ID Format（名前のID形式）</b></td>
         <td>`emailAddress`があるものを選ぶ</td>
       </tr>

       <tr>
         <td><b>Issuer（発行者）</b></td>
         <td>`https://{your-saleforce-domain}.my.salesforce.com`</td>
       </tr>
     </tbody>
   </table>
4. **［Save（保存）］** をクリックして設定を完了します。

<div id="grant-privileges-to-users-in-salesforce">
  ## Salesforceのユーザーに権限を付与する
</div>

1. [**salesforce.com** ](http://salesforce.com)にアクセスし、 **［Setup（設定）］** をクリックします。
2. **［Manage Users（ユーザーの管理）］** で **［Profiles（プロファイル）］** をクリックします。
3. スクロールダウンして、 **［Standard User（標準ユーザー）］** というプロファイル（2ページ目）を見つけます。
4. **［Edit（編集）］** をクリックしてプロファイルを編集します。
5. **［Connected App Access（接続アプリのアクセス）］** セクションまでスクロールダウンします。
6. 接続アプリの名前の横にあるボックスにチェックマークを入れて、このプロファイル用に有効にします。
7. **［Save（保存）］** をクリックします。
8. **［Manage Users（ユーザーの管理）］** で **［Users（ユーザー）］** をクリックします。
9. **［Edit（編集）］** をクリックして、テストユーザーを編集し、プロファイルを **［Standard User（標準ユーザー）］** に設定します。Salesforceの別のプロファイルを使用するには、そのプロファイル用の接続アプリを有効にし、Salesforce IDプロバイダー経由でログインするすべてのユーザーがそのプロファイルを持っていることを確認します。

<div id="test-connection-to-salesforce">
  ## Salesforceへの接続をテストする
</div>

1. Auth0 Dashboardの[［Authentication（認証）］ > ［Enterprise（エンタープライズ）］](https://manage.auth0.com/#/connections/enterprise)セクションに移動します。 **［SAMLP Identity Provider（SAMLP IDプロバイダー）］** を選択します。
2. 先ほど作成したSAML接続の **［Try（試行）］** ボタンをクリックします。これで、Auth0からSalesforceのログインページにリダイレクトされるはずです。
3. **Salesforceのログイン画面** が表示されたら、Salesforceアカウントを作成した際に指定した資格情報でログインします。

   1. SAMLの設定に問題がなければ、 **［It works!!!（有効!!!）］** と表示されたAuth0ページにブラウザーがリダイレクトされます。このページには、Salesforce IDプロバイダーからAuth0に送信されたSAML認証アサーションの内容が表示されます。
   2. 有効にならなかった場合は、上記のステップを再度確認し、以下の **トラブルシューティング** のセクションを参照してください。

SSOをトラブルシュートする際は、多くの場合インタラクションのHTTPトレースをキャプチャして、それをHARファイルに保存することが役立ちます。詳細については、[HARファイルの生成と分析](/docs/ja-JP/ja-jp/troubleshoot/guides/generate-har-files)をお読みください。

<Warning>
  HARファイルを（Auth0を含む）誰かと共有するときは、必ず事前に以下を含むすべての機密データを削除または難読化してください。

  * ユーザーの機密情報
  * 個人を特定できる情報（PII）
  * アプリケーションの機密情報

  詳細については、[Auth0コミュニティ](https://community.auth0.com)の以下の記事をお読みください。

  * [HTTPトレースのサニタイズ](https://community.auth0.com/t/sanitizing-http-traces/119488)
  * [HTTPトレースファイルを自動的にサニタイズする方法](https://community.auth0.com/t/how-to-sanitize-a-http-trace-file-automatically/120583)
  * [機密情報を手動で編集する方法](https://community.auth0.com/t/how-to-manually-redact-sensitive-information/122554)
  * [HARファイルが大きすぎてサポートケースにアップロードできない場合](https://community.auth0.com/t/har-file-is-too-large-to-upload-to-the-support-case/122488)
</Warning>

httpトレースツールを入手したら、ログインシーケンスを最初から最後までキャプチャし、GETのシーケンスをトレースで分析します。元のサイトから<Tooltip data-tooltip-id="react-containers-DefinitionTooltip-2" href="/docs/ja-JP/ja-jp/glossary?term=idp" tip="IDプロバイダー（IdP）: デジタルIDを保存および管理するサービス。" cta="用語集の表示">IDP</Tooltip>へのリダイレクト、ログインする必要がある場合は資格情報の投稿、そしてコールバックURLへのリダイレクトが表示されます。HARファイルにはSAML応答も含まれます。

ブラウザーでCookieとJavaScriptが有効になっていることを確認してください。

Salesforceのユーザープロファイルに、Salesforce IDP経由でログインする権限があることを確認してください（上記セクション4を参照）。
