|
この文書は自動機械翻訳技術を使用して翻訳されています。 正確な翻訳を提供するように努めておりますが、翻訳された内容の完全性、正確性、信頼性については一切保証いたしません。 相違がある場合は、元の英語版 英語 が優先され、正式なテキストとなります。 |
Keycloak (SAML) を設定する
組織がユーザー認証に Keycloak アイデンティティプロバイダー (IdP) を使用している場合、Rancher を設定してユーザーが IdP の資格情報を使用してログインできるようにすることができます。
前提条件
-
Keycloak IdP サーバー を設定する必要があります。
-
Keycloak で、以下の設定を持つ 新しい SAML クライアント を作成します。ヘルプについては、 Keycloak ドキュメント を参照してください。
設定 値 Sign DocumentsON1Sign AssertionsON1その他の
ON/OFF設定OFFClient IDhttps://yourRancherHostURL/v1-saml/keycloak/saml/metadataまたは Rancher Keycloak 設定のEntry ID Fieldに設定された値 2Client Name(e.g. rancher)Client ProtocolSAMLValid Redirect URIhttps://yourRancherHostURL/v1-saml/keycloak/saml/acs1:オプションで、これらの設定のいずれか一方または両方を有効にすることができます。 2:SAML プロバイダーが設定されて保存されるまで、Rancher SAML メタデータは生成されません。
-
新しい SAML クライアントで、ユーザーのフィールドを公開するためにマッパーを作成します。
-
すべての「ビルトインプロトコルマッパー」を追加します。
-
メンバー属性をユーザーのグループにマッピングする新しい「グループリスト」マッパーを作成します。
-
IDP メタデータの取得
-
Keycloak 5 およびそれ以前
-
Keycloak 6-13
-
Keycloak 14+
IDP メタデータを取得するには、Keycloak クライアントから metadata.xml ファイルをエクスポートします。
インストール タブから、SAML メタデータ IDPSSODescriptor 形式オプションを選択し、ファイルをダウンロードします。
-
*設定*セクションから、*レルム設定*タブをクリックします。
-
*一般*タブをクリックします。
-
*エンドポイント*フィールドから、*SAML 2.0 アイデンティティプロバイダー メタデータ*をクリックします。
IDPメタデータに以下の属性が含まれていることを確認してください:
xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
Firefoxなどの一部のブラウザでは、ドキュメントが変更されたように表示されることがあり、一部の属性が欠落しているように見えることがあります。この場合、ブラウザを使用して見つけることができる生の応答データを使用してください。
以下はFirefoxの例ですが、他のブラウザでは若干異なる場合があります:
-
開発者コンソールにアクセスするには、*F12*を押してください。
-
*ネットワーク*タブをクリックします。
-
テーブルから、`descriptor`を含む行をクリックします。
-
詳細ペインから、*応答*タブをクリックします。
-
生の応答データをコピーします。
取得したXMLには、`EntitiesDescriptor`がルート要素として含まれています。Rancherは、ルート要素が`EntityDescriptor`であることを期待しており、`EntitiesDescriptor`ではありません。したがって、このXMLをRancherに渡す前に、次の手順で調整してください:
-
`EntitiesDescriptor`から`EntityDescriptor`に存在しないすべての属性をコピーします。
-
最初から`<EntitiesDescriptor>`タグを削除します。
-
XMLの最後から`</EntitiesDescriptor>`を削除します。
以下の例のようなものが残ります。
<EntityDescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" entityID="https://{KEYCLOAK-URL}/auth/realms/{REALM-NAME}">
....
</EntityDescriptor>
-
*設定*セクションから、*レルム設定*タブをクリックします。
-
*一般*タブをクリックします。
-
*エンドポイント*フィールドから、*SAML 2.0 アイデンティティプロバイダー メタデータ*をクリックします。
IDPメタデータに以下の属性が含まれていることを確認してください。
xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
Firefoxなどの一部のブラウザでは、ドキュメントが変更されたように表示されることがあり、一部の属性が欠落しているように見えることがあります。この場合、ブラウザを使用して見つけることができる生の応答データを使用してください。
以下はFirefoxの例ですが、他のブラウザでは若干異なる場合があります。
-
開発者コンソールにアクセスするには、*F12*を押してください。
-
*ネットワーク*タブをクリックします。
-
テーブルから、`descriptor`を含む行をクリックします。
-
詳細ペインから、*応答*タブをクリックします。
-
生の応答データをコピーします。
RancherでのKeycloakの設定
-
左上隅で、*☰ > ユーザーと認証*をクリックします。
-
左側のナビゲーションメニューで、*認証プロバイダー*をクリックします。
-
*Keycloak SAML*をクリックします。
-
*Keycloakアカウントの設定*フォームを完成させてください。フォームの記入に関するヘルプは、設定リファレンスを参照してください。
-
*Keycloakアカウントの設定*フォームに入力した後、*有効化*をクリックします。
RancherはIdPログインページにリダイレクトします。RancherのKeycloak設定を検証するために、Keycloak IdPで認証される資格情報を入力します。
IdPログインページを見るためにポップアップブロッカーを無効にする必要があるかもしれません。
*結果:*RancherはKeycloakと連携するように設定されています。ユーザーはKeycloakのログイン情報を使用してRancherにサインインできるようになりました。
|
SAMLプロバイダーの注意点
|
構成リファレンス
| フィールド | 説明 |
|---|---|
表示名フィールド |
ユーザーの表示名を含む属性。 |
ユーザー名フィールド |
ユーザー名/名を含む属性。 |
UIDフィールド |
すべてのユーザーに固有の属性。 |
グループフィールド |
グループメンバーシップを管理するためのエントリを作成してください。 |
エンティティIDフィールド |
KeycloakクライアントでクライアントIDとして設定する必要があるID。 |
Rancher APIホスト |
あなたのRancherサーバーのURLです。 |
秘密鍵 / 証明書 |
RancherとあなたのIdPの間に安全な接続を作成するための鍵/証明書ペアです。 |
IDP-metadata |
あなたのIdPサーバーからエクスポートした`metadata.xml`ファイル。 |
|
openssl コマンドを使用してキー/証明書ペアを生成できます。次に例を示します。 openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout myservice.key -out myservice.cert |
付録:トラブルシューティング
Keycloakサーバーへの接続をテストしている際に問題が発生した場合は、まずSAMLクライアントの設定オプションを再確認してください。問題の原因を特定するために、Rancherのログを確認することもできます。デバッグログには、エラーに関するより詳細な情報が含まれている場合があります。このドキュメントのデバッグログを有効にする方法を参照してください。
Keycloakにリダイレクトされません
*Keycloakで認証する*をクリックすると、IdPにリダイレクトされません。
-
Keycloakクライアントの設定を確認してください。
-
`Force Post Binding`が`OFF`に設定されていることを確認します。
IdPログイン後に表示される禁止メッセージ
正しくIdPログインページにリダイレクトされ、資格情報を入力できますが、その後`Forbidden`メッセージが表示されます。
-
Rancherデバッグログを確認してください。
-
ログに`ERROR: either the Response or Assertion must be signed`が表示される場合は、Keycloakクライアントの`Sign Documents`または`Sign assertions`が`ON`に設定されていることを確認してください。
/v1-saml/keycloak/saml/metadataにアクセスしようとしたときのHTTP 502
これは通常、SAMLプロバイダーが設定されるまでメタデータが作成されないためです。 KeycloakをSAMLプロバイダーとして構成して保存し、その後メタデータにアクセスしてみてください。
SAMLシングルログアウト(SLO)の設定
Rancher supports the ability to configure SAML SLO. Options include logging out of the Rancher application only, logging out of Rancher and registered applications tied to the external authentication provider, or a prompt asking the user to choose between the previous options. The steps below outline configuration from the application GUI:
|
The Log Out behavior configuration section only appears if the SAML authentication provider allows for |
-
Sign in to Rancher using a standard user or an administrator role to configure SAML SLO.
-
In the top left corner, click ☰ > Users & Authentication.
-
In the left navigation menu, click Auth Provider.
-
Under the section Log Out behavior, choose the appropriate SLO setting as described below:
Setting Description Log out of Rancher and not authentication provider
Choosing this option will only logout the Rancher application and not external authentication providers.
Log out of Rancher and authentication provider (includes all other applications registered with authentication provider)
Choosing this option will logout Rancher and all external authentication providers along with any registered applications linked to the provider.
Allow the user to choose one of the above in an additional log out step
Choosing this option presents users with a choice of logout method as described above.
SAMLとOpenLDAPグループ権限
When you configure a SAML authentication provider backed by OpenLDAP, the SAML response might return only a subset of the groups that a user belongs to. The exact groups returned depend on the configuration of your external authentication provider.
Rancher assigns user permissions based strictly on the groups provided in the SAML response.
|
Even if you can search for and view specific OpenLDAP groups in the Rancher UI, you cannot use them to assign permissions if they are missing from the SAML response. To assign permissions successfully, verify that your SAML authentication provider is configured to return all necessary OpenLDAP groups. |