# Auth0 SAMLの実装

この記事には、SAML 2.0を介したSSOでのログインを設定するための**Auth0特有の**ヘルプが含まれています。別のIdPでSSOを使用したログインの設定についてのヘルプは、[SAML 2.0設定](https://bitwarden.com/ja-jp/help/configure-sso-saml/)を参照してください。

設定は、BitwardenウェブアプリとAuth0ポータルの両方で同時に作業を行うことを含みます。進行するにあたり、両方をすぐに利用できる状態にして、記録されている順序で手順を完了することをお勧めします。

> [!NOTE]
> **すでにSSOの専門家ですか？**この記事の指示をスキップして、自分の設定と比較するためのサンプル設定のスクリーンショットをダウンロードしてください。
> 
> ⬇️ タイプ：アセット-ハイパーリンク id：773hQzr7eXdIfIxVW0jX9N

## ウェブアプリでSSOを開く

Bitwardenウェブアプリにログインし、製品スイッチャー（[filter]）を使用して管理者コンソールを開きます。

![製品切り替えメニュー](https://bitwarden.com/assets/2uxBDdQa6lu0IgIEfcwMPP/e3de3361749b6496155e25edcfdcf08b/2024-12-02_11-19-56.png)

あなたの組織の**設定** → **シングルサインオン**画面を開きます。

![SAML 2.0設定](https://bitwarden.com/assets/20720mRAluo6crSdTiYJrn/1175889d7f6ab42fe7614f34cdd1dcdd/2024-12-04_09-41-15.png)

まだ作成していない場合は、あなたの**SSO識別子**を組織用に作成し、**SAML**を**タイプ**のドロップダウンから選択してください。この画面を開いたままにして、簡単に参照できるようにしてください。

この段階で、必要であれば**ユニークなSPエンティティIDを設定する**オプションをオフにすることができます。これを行うと、組电IDがSPエンティティID値から削除されますが、ほとんどの場合、このオプションをオンにしておくことをお勧めします。

> [!TIP] Self-hosting, use alternative Member Decryption Options.
> 代替の**メンバー復号化オプション**があります。[信頼できるデバイスでのSSOの使い方](https://bitwarden.com/ja-jp/help/about-trusted-devices/)または[キーコネクター](https://bitwarden.com/ja-jp/help/about-key-connector/)の使い方を学びましょう。

## Auth0アプリケーションを作成する

Auth0ポータルで、アプリケーションメニューを使用して、**通常のWebアプリケーション**を作成します：

![Auth0 Create Application ](https://bitwarden.com/assets/3EsE3HTVqocRvC1f2XSWbt/9077b5bc7801de7270372594e62b7aad/auth0-createapp.png)

**設定**タブをクリックし、以下の情報を設定します。これらの一部はBitwardenシングルサインオン画面から取得する必要があります：

![Auth0 Settings ](https://bitwarden.com/assets/6MMUA6fh1HBgeEa1lCWXc5/4dc49064bcd846f5973595fed3f525e9/auth0-appsettings.png)

| **Auth0 設定** | **説明** |
|------|------|
| お名前 | アプリケーションにBitwarden特有の名前を付けてください。 |
| ドメイン | この値をメモしてください。それは[後のステップで](https://bitwarden.com/ja-jp/help/saml-auth0/#identity-provider-configuration/)必要になります。 |
| アプリケーションタイプ | **通常のウェブアプリケーション**を選択してください。 |
| トークンエンドポイント認証方法 | **投稿**（HTTP Post）を選択し、これは後で**設定する**属性に[バインディングタイプ](https://bitwarden.com/ja-jp/help/saml-auth0/#identity-provider-configuration/)としてマッピングされます。 |
| アプリケーションログインURI | このフィールドを事前に生成された**SPエンティティID**に設定します。 この自動生成された値は、組織の**設定** → **シングルサインオン**画面からコピーでき、設定により異なります。 |
| 許可されたコールバックURLS | このフィールドを事前に生成された**Assertion Consumer Service (ACS) URL**に設定します。 この自動生成された値は、組織の**設定** → **シングルサインオン**画面からコピーでき、設定に基づいて異なります。 |

#### 助成金のタイプ

**詳細設定** → **許可タイプ**セクションで、以下の許可タイプが選択されていることを確認してください（事前に選択されている場合があります）：

![Application Grant Types ](https://bitwarden.com/assets/6Pl6X2GbNJmgIN0xQgJcoV/f1af38c91fa568b99c77b3b21e78d017/auth0-advancedsettings.png)

#### 証明書

**詳細設定** → **証明書**セクションで、署名証明書をコピーまたはダウンロードしてください。まだそれに何もする必要はありませんが、後でそれを[参照する](https://bitwarden.com/ja-jp/help/saml-auth0/#identity-provider-configuration/)必要があります。

![Auth0 Certificate ](https://bitwarden.com/assets/1VeE8trhYRSDBVBpmdlJDA/4bc9ed89e8e8b539f3d2c2791f2f42eb/auth0-certificate.png)

#### エンドポイント

**詳細設定** → **エンドポイント**セクションで何も編集する必要はありませんが、後で[参照するために](https://bitwarden.com/ja-jp/help/saml-auth0/#identity-provider-configuration/)SAMLエンドポイントが必要になります。

> [!NOTE]
> In smaller windows, the **Endpoints** tab can disappear behind the edge of the browser. If you're having trouble finding it, click the **Certificates** tab and hit the Right Arrow key (→).

![Auth0 Endpoints ](https://bitwarden.com/assets/6eUrnDaSf3W67POfR0IKgq/6d120ea3b1ffc7a194ccbefd31e047d9/auth0-endpoints.png)

## Auth0ルールを設定する

あなたのアプリケーションのSAMLレスポンスの振る舞いをカスタマイズするためのルールを作成してください。Auth0は[数値のオプション](https://auth0.com/docs/protocols/saml-protocol/customize-saml-assertions#saml-assertion-attributes)を提供していますが、このセクションではBitwardenのオプションに特にマッピングするものだけに焦点を当てます。カスタムSAML設定ルールセットを作成するには、**認証パイプライン** → **ルール**メニューを使用して+ **ルールを作成**します:

![Auth0 Rules ](https://bitwarden.com/assets/EIFBJJ3u3UT4eWik4zpuC/2b79d305d2fc13f86142482c17170279/auth0-settings.png)

次のいずれかを設定することができます:

| **キー** | **説明** |
|------|------|
| `署名アルゴリズム` | Auth0がSAMLアサーションまたはレスポンスに署名するために使用するアルゴリズム。デフォルトでは、`rsa-sha1 `が含まれますが、この値は`rsa-sha256`に設定するべきです。 この値を変更する場合、あなたは次のことを行う必要があります： -`digestAlgorithm `を`sha256`に設定します。 -Bitwardenの**最小入力署名アルゴリズム**を`rsa-sha256`に設定します。 |
| `ダイジェストアルゴリズム` | SAMLアサーションまたはレスポンスのダイジェストを計算するためのアルゴリズム。デフォルトでは、`sha-1`。`signatureAlgorithm`の値も`sha256`に設定する必要があります。 |
| `サインレスポンス` | デフォルトでは、Auth0はSAMLアサーションのみに署名します。これを`true `に設定して、アサーションの代わりにSAMLレスポンスに署名します。 |
| `名前識別子形式` | デフォルトでは、`urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified`。この値は[任意のSAML NameID形式](https://docs.oracle.com/cd/E19316-01/820-3886/ggwbz/index.html)に設定できます。もしそうなら、SP **名前ID形式**フィールドを対応するオプションに変更してください（[こちら](https://bitwarden.com/ja-jp/help/saml-auth0/#service-provider-configuration/)を参照）。 |

以下のような**スクリプト**を使用して、これらのルールを実装してください。ヘルプが必要な場合は、[Auth0のドキュメンテーション](https://auth0.com/docs/protocols/saml-protocol/customize-saml-assertions#customize-saml-assertions-with-rules)を参照してください。

```
function (user, context, callback) {
 context.samlConfiguration.signatureAlgorithm = "rsa-sha256";
 context.samlConfiguration.digestAlgorithm = "sha256";
 context.samlConfiguration.signResponse = "true";
 context.samlConfiguration.nameIdentifierFormat = "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress"
 context.samlConfiguration.binding = "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect";
 callback(null, user, context);
}
```

## ウェブアプリに戻る

この時点で、Auth0ポータルのコンテキスト内で必要なすべてを設定しました。設定を完了するためにBitwardenウェブアプリに戻ってください。

シングルサインオン画面は、設定を二つのセクションに分けています：

- **SAML サービス プロバイダーの構成によって、** SAML リクエストの形式が決まります。
- **SAML IDプロバイダーの設定**は、SAMLの応答に期待する形式を決定します。

### サービスプロバイダーの設定

あなたが[カスタムルール](https://bitwarden.com/ja-jp/help/saml-auth0/#configure-auth0-rules/)を設定していない限り、サービスプロバイダーの設定はすでに完了しているはずです。カスタムルールを設定したり、実装にさらなる変更を加えたい場合は、関連するフィールドを編集してください。

| **フィールド** | **説明** |
|------|------|
| 名前ID形式 | [NameID形式](https://docs.oracle.com/cd/E19316-01/820-3886/ggvxx/index.html)をSAMLリクエストで指定します（`NameIDPolicy`）。省略するには、**設定されていません**に設定します。 |
| アウトバウンド署名アルゴリズム | デフォルトでSAMLリクエストに署名するために使用されるアルゴリズムは、`rsa-sha256`です。 |
| 署名行動 | Bitwarden SAMLリクエストが署名されるか/いつ署名されるか。デフォルトでは、Auth0はリクエストの署名を必要としません。 |
| 最小入力署名アルゴリズム | BitwardenがSAMLレスポンスで受け入れる最小の署名アルゴリズム。デフォルトでは、Auth0は`rsa-sha1`で署名します。ドロップダウンから`rsa-sha256 `を選択してください。ただし、[カスタム署名ルール](https://bitwarden.com/ja-jp/help/saml-auth0/#configure-auth0-rules/)を設定している場合は除きます。 |
| 署名されたアサーションが欲しい | BitwardenがSAMLアサーションに署名を求めるかどうか。デフォルトでは、Auth0はSAMLアサーションに署名しますので、[カスタム署名ルール](https://bitwarden.com/ja-jp/help/saml-auth0/#configure-auth0-rules/)を設定していない限り、このボックスをチェックしてください。 |
| 証明書を検証する | あなたのIdPから信頼できるCAを通じて信頼性と有効性のある証明書を使用するときは、このボックスをチェックしてください。自己署名証明書は、適切な信頼チェーンがBitwarden ログイン with SSO dockerイメージ内に設定されていない限り、失敗する可能性があります。 |

サービスプロバイダーの設定が完了したら、作業を**保存**してください。

### IDプロバイダーの設定

IDプロバイダーの設定では、アプリケーションの値を取得するために、しばしばAuth0ポータルを参照する必要があります。

| **フィールド** | **説明** |
|------|------|
| エンティティID | あなたのAuth0アプリケーションの**ドメイン**値を入力してください（[こちら](https://bitwarden.com/ja-jp/help/saml-auth0/#create-an-auth0-application/)を参照）、接頭辞として`urn:`を使用します。例えば`urn:bw-help.us.auth0.com`のようになります。このフィールドは大文字と小文字を区別します。 |
| バインディングタイプ | あなたのAuth0アプリケーションで指定された**トークンエンドポイント認証方法**の値と一致するように、[HTTP POST](https://bitwarden.com/ja-jp/help/saml-auth0/#create-an-auth0-application/)を選択してください。 |
| シングルサインオンサービスURL | あなたのAuth0アプリケーションの**SAMLプロトコルURL**を入力してください（[エンドポイント](https://bitwarden.com/ja-jp/help/saml-auth0/#endpoints/)を参照）。例えば、`https://bw-help.us.auth0.com/samlp/HcpxD63h7Qzl420u8qachPWoZEG0Hho2`。 |
| シングルログアウトサービスURL | 現在、SSOでのログインはSLOを**サポートしていません**。このオプションは将来の開発のために計画されていますが、ご希望であれば事前に設定することができます。 |
| X509公開証明書 | 取得した[署名証明書](https://bitwarden.com/ja-jp/help/saml-auth0/#certificates/)を貼り付け、削除します `-----BEGIN CERTIFICATE-----` そして `-----証明書の終わり-----` 証明書の値は大文字と小文字を区別し、余分なスペース、キャリッジリターン、その他の余分な文字**は認証の検証に失敗する原因となります**。 |
| アウトバウンド署名アルゴリズム | デフォルトでは、Auth0は`rsa-sha1`で署名します。`rsa-sha256 `を選択してください、あなたが[カスタム署名ルール](https://bitwarden.com/ja-jp/help/saml-auth0/#configure-auth0-rules/)を設定していない限り。 |
| アウトバウンドログアウトリクエストを無効にする | 現在、SSOでの**ログインは**SLOをサポートしていません。このオプションは、将来の開発のために計画されています。 |
| 認証リクエストに署名を希望します | Auth0がSAMLリクエストの署名を期待しているかどうか。 |

> [!NOTE] X509 cert expiration
> X509証明書を完成させるとき、有効期限の日付をメモしてください。SSOエンドユーザーへのサービスの中断を防ぐために、証明書を更新する必要があります。証明書が期限切れになった場合でも、管理者と所有者のアカウントは常にメールアドレスとマスターパスワードでログインできます。

IDプロバイダーの設定が完了したら、**保存**してください。

> [!TIP] Policies for SSO Guides
> シングルサインオン認証ポリシーを有効にすることで、ユーザーにSSOでログインすることを要求することができます。メモしてください、これは単一の組織ポリシーも同時に活性化する必要があります。[もっと学ぶ](https://bitwarden.com/ja-jp/help/policies/)

## 設定をテストする

設定が完了したら、[https://vault.bitwarden.com](https://vault.bitwarden.com)に移動してテストを行います。メールアドレスを入力し、**続行**を選択し、**エンタープライズシングルオン**ボタンを選択します。

![エンタープライズシングルサインオンとマスターパスワード](https://bitwarden.com/assets/3BdlHeogd42LEoG06qROyQ/c68021df4bf45d72e9d37b1fbf5a6040/login.png)

設定された[組織識別子](https://bitwarden.com/ja-jp/help/saml-auth0/#/)を入力し、**ログイン**を選択してください。あなたの実装が正常に設定されている場合、Auth0のログイン画面にリダイレクトされます。

![Auth0 Login ](https://bitwarden.com/assets/h2jxKn7KCsKPE3qYqvt3y/657246df1424b743436b3f9ec1d8c559/auth0-login.png)

あなたのAuth0の資格情報で認証した後、Bitwardenのマスターパスワードを入力して保管庫を復号化してください！

> [!NOTE] SSO must be initiated from Bitwarden
> Bitwardenは勝手なレスポンスをサポートしていませんので、あなたのIdPからログインを開始するとエラーが発生します。SSOログインフローはBitwardenから開始されなければなりません。