# Keycloak SAML実装

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

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

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

## ウェブアプリで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/)の使い方を学びましょう。

## Keycloakの設定

Keycloakにログインし、**クライアント** → **クライアントを作成**を選択します。

![Create a Client ](https://bitwarden.com/assets/2bBUv6v2343MxtsXC09lvm/1d3c30e4fbe95941ed0d8303f888a885/create_client.png)

クライアントを作成する画面で、次のフィールドに入力してください：

| **フィールド** | **説明** |
|------|------|
| クライアントタイプ | SAMLを選択してください。 |
| クライアントID | このフィールドを事前に生成された**SPエンティティID**に設定します。 この自動生成された値は、組織の**設定** → **シングルサインオン**画面からコピーでき、設定により異なります。 |
| お名前 | Keycloakクライアントの名前を自由に入力してください。 |

必要なフィールドに**一般設定**ページで入力したら、**次へ**をクリックしてください。

**ログイン設定**画面で、次のフィールドに入力してください：

| **フィールド** | **説明** |
|------|------|
| 有効なリダイレクトURI | このフィールドを事前に生成された**Assertion Consumer Service (ACS) URL**に設定します。 この自動生成された値は、組織の**設定**→**シングルサインオン**画面からコピーでき、設定により異なります。 |

**保存**を選択してください。

「Keys」タブを選択し、**クライアント署名が必要**オプションを**オフ**に切り替えてください。

![Keycloak Keys Config](https://bitwarden.com/assets/RZd8WRbn45BIbiyqN7UzR/1337005dbd6c68e1d8b68ee99b1dcdc9/keys_confifg.png)

最後に、Keycloakのメインナビゲーションで、**レルム設定**を選択し、次に**キー**タブを選択します。**RS256**証明書を探して、**証明書**を選択してください。

![Keycloak RS256 Certificate](https://bitwarden.com/assets/2Codsw3P2MWiMHRctDckTF/fc55404f24ceade2663cdef01caa7528/2023-09-25_16-33-13.png)

証明書の値は次の[セクション](https://bitwarden.com/ja-jp/help/saml-keycloak/#back-to-the-web-vault/)で必要となります。

## ウェブアプリに戻る

この時点で、Keycloakポータルのコンテキスト内で必要なすべてを設定しました。Bitwardenウェブアプリに戻り、ナビゲーションから**設定**→**シングルサインオン**を選択します。

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

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

次のフィールドを**SAMLサービスプロバイダ設定**セクションで完了してください:

| **フィールド** | **説明** |
|------|------|
| 名前IDの形式 | **メールアドレス**を選択してください。 |
| アウトバウンド署名アルゴリズム | BitwardenがSAMLリクエストに署名するために使用するアルゴリズム。 |
| 署名行動 | SAMLリクエストが署名されるかどうか/いつ署名されるか。 |
| 最小入力署名アルゴリズム | KeycloakクライアントがSAMLドキュメントまたはアサーションに署名するために[使用するように設定されている](https://bitwarden.com/ja-jp/help/saml-keycloak/#settings/)アルゴリズムを選択します。 |
| 署名されたアサーションが欲しい | BitwardenがSAMLアサーションに署名されることを期待しているかどうか。トグルがオンの場合、Keycloakクライアントを[アサーションに署名する](https://bitwarden.com/ja-jp/help/saml-keycloak/#settings/)ように設定してください。 |
| 証明書を検証する | あなたのIdPから信頼できるCAを通じて信頼できる有効な証明書を使用するときには、このボックスをチェックしてください。自己署名証明書は、適切な信頼チェーンがBitwardenログインのSSO Dockerイメージと一緒に設定されていない限り、失敗する可能性があります。 |

次のフィールドを**SAML IDプロバイダ設定**セクションで完了してください：

| **フィールド** | **説明** |
|------|------|
| エンティティID | クライアントが作成されたKeycloakレルムのURLを入力してください。例：`https:///領域/`。このフィールドは大文字と小文字を区別します。 |
| バインディングの種類 | **リダイレクト**を選択します。 |
| シングルサインオンサービス URL | あなたのマスターSAML処理URLを入力してください。例えば、`https:///領域//プロトコル/saml`。 |
| シングルログアウトサービスURL | 現在、SSOでのログインはSLOを**サポートしていません**。このオプションは将来の開発のために計画されていますが、ご希望であれば**ログアウトURL**で事前に設定することができます。 |
| X509 公開鍵証明書 | 前のステップでコピーされた**RS256証明書**を入力してください。 証明書の値は大文字と小文字を区別し、余分なスペース、キャリッジリターン、その他の余分な文字**は証明書の検証に失敗する原因となります**。 |
| アウトバウンド署名アルゴリズム | KeycloakクライアントがSAMLドキュメントまたはアサーションに署名するために[使用するように設定されている](https://bitwarden.com/ja-jp/help/saml-keycloak/#settings/)アルゴリズムを選択します。 |
| アウトバウンドログアウトリクエストを無効にする | SSOでのログインは現在、SLOを**サポートしていません**。このオプションは将来の開発のために計画されています。 |
| 認証リクエストに署名が欲しい | KeycloakがSAMLリクエストの署名を期待するかどうか。 |

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

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

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

## 追加のKeycloak設定

「Keycloakクライアント設定」**タブ**では、追加の構成オプションを使用できます。

| **フィールド** | **説明** |
|------|------|
| 書類に署名する | Keycloak領域によってSAMLドキュメントが署名されるべきかどうかを指定してください。 |
| 署名アサーション | KeycloakレルムによってSAMLアサーションが署名されるべきかどうかを指定してください。 |
| 署名アルゴリズム | **署名アサーション**が有効になっている場合、署名に使用するアルゴリズムを選択します（デフォルトは`sha-256`）。 |
| 名前ID形式 | KeycloakがSAMLレスポンスで使用するName IDフォーマットを選択してください。 |

フォーラムが完了したら、**保存**を選択してください。

## 設定をテストする

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

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

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

![Keycloak Login Screen ](https://bitwarden.com/assets/1FOJPAvRf0NCpJleOtMA8e/cc981e5933250dcab63a3f518370a24f/keycloak-login.png)

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

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