4.8. Red Hat Single Sign-On Client
クライアントは、ユーザー認証を要求する Red Hat Single Sign-On エンティティーです。クライアントは、ユーザー認証を提供するために Red Hat Single Sign-On を要求するアプリケーションを使用することも、認証ユーザーの代わりにサービスを開始するためのアクセストークンの要求を行うことができます。詳細は、Red Hat Single Sign-On ドキュメントの「クライアントの管理」の章を参照してください。
Red Hat Single Sign-On は、OpenID-ConnectおよびSAML クライアントプロトコルを提供します。
OpenID-Connect が推奨されるプロトコルとなり、3 つの異なるアクセス種別が使用されます。
- public: ブラウザーで直接実行し、サーバー構成が必要ない JavaScript アプリケーションに役立ちます。
- confidential: ブラウザーログインを実行する必要がある EAP Web アプリケーションなどのサーバー側クライアントに役立ちます。
- bearer-only: ベアラートークンリクエストを許可するバックエンドサービスに役立ちます。
アプリケーションの web.xml ファイルの <auth-method> キーでクライアントタイプを指定する必要があります。このファイルは、デプロイ時にイメージにより読み取られます。<auth-method> 要素の値を以下のように設定します。
- OpenID Connect クライアントの KEYCLOAK。
- SAML クライアントの KEYCLOAK-SAML。
以下は、OIDC クライアントを設定するアプリケーションの web.xml のスニペットの例です。
... <login-config> <auth-method>KEYCLOAK</auth-method> </login-config> ...
4.8.1. Red Hat Single Sign-On Client の自動および手動での登録方法
eap64-sso-s2i、eap71-sso-s2i、および datavirt63-secure-s2i に固有の変数に渡される認証情報を使用すると、クライアントアプリケーションを Red Hat Single Sign-On レルムに自動的に登録できます。
または、Red Hat Single Sign-On クライアントアダプターを設定してエクスポートし、クライアントアプリケーション設定に追加することで、クライアントアプリケーションを手動で登録できます。
4.8.1.1. Red Hat Single Sign-On Client の自動登録
Red Hat Single Sign-On クライアントの自動登録は、eap64-sso-s2i、eap71-sso-s2i、および datavirt63-secure-s2i に固有の Red Hat Single Sign-On 環境変数により決定されます。テンプレートに指定された Red Hat Single Sign-On 認証情報は、クライアントアプリケーションのデプロイメント時にクライアントを Red Hat Single Sign-On レルムに登録するのに使用されます。
eap64-sso-s2i、eap71-sso-s2i、および datavirt63-secure-s2i テンプレートに含まれる Red Hat Single Sign-On の環境変数は次のとおりです。
変数 | 説明 |
---|---|
HOSTNAME_HTTP | http サービスルートのカスタムホスト名。<application-name>.<project>.<default-domain-suffix> のデフォルトホスト名には空白のままにします。 |
HOSTNAME_HTTPS | https サービスルートのカスタムホスト名。<application-name>.<project>.<default-domain-suffix> のデフォルトホスト名には空白のままにします。 |
SSO_URL | Red Hat Single Sign-On の Web サーバーの認証アドレス: https://secure-sso-<project-name>.<hostname>/auth |
SSO_REALM | この手順用に作成された Red Hat Single Sign-On レルム。 |
SSO_USERNAME | レルム管理ユーザー の名前。 |
SSO_PASSWORD | ユーザーのパスワード。 |
SSO_PUBLIC_KEY | レルムによって生成された公開鍵。これは、Red Hat Single Sign-On コンソールの Realm Settings の Keys タブにあります。 |
SSO_BEARER_ONLY | True に設定すると、OpenID Connect クライアントは bearer-only として登録されます。 |
SSO_ENABLE_CORS | True に設定すると、Red Hat Single Sign-On アダプターは、Cross-Origin Resource Sharing (CORS) を有効にします。 |
Red Hat Single Sign-On クライアントが SAML プロトコルを使用する場合は、以下の追加変数を設定する必要があります。
変数 | 説明 |
---|---|
SSO_SAML_KEYSTORE_SECRET | SAML キーストアへのアクセスに使用するシークレット。デフォルトは sso-app-secret です。 |
SSO_SAML_KEYSTORE | SAML キーストアシークレットのキーストアファイル名。デフォルトは keystore.jks です。 |
SSO_SAML_KEYSTORE_PASSWORD | SAML のキーストアパスワード。デフォルトは mykeystorepass です。 |
SSO_SAML_CERTIFICATE_NAME | SAML に使用するキー/証明書のエイリアス。デフォルトは jboss です。 |
OpenID-Connect クライアントを使用してクライアントの自動登録方法のエンドツーエンドの例は、「ワークフローの例: OpenID-Connect クライアントを使用した Red Hat Single Sign-On での EAP アプリケーションの自動登録」を参照してください。
4.8.1.2. Red Hat Single Sign-On Client の手動登録
Red Hat Single Sign-On におけるクライアントの手動登録は、クライアントアプリケーションの ../configuration/ ディレクトリーにおけるデプロイメントファイルの存在によって判断されます。これらのファイルは、Red Hat Single Sign-On Web コンソールのクライアントアダプターからエクスポートされます。このファイルの名前は、OpenID-Connect および SAML クライアントの場合とは異なります。
OpenID-Connect | ../configuration/secure-deployments |
SAML | ../configuration/secure-saml-deployments |
これらのファイルは、アプリケーションのデプロイ時に standalone-openshift.xml の Red Hat Single Sign-On アダプター構成セクションにコピーされます。
Red Hat Single Sign-On アダプター設定をクライアントアプリケーションに渡す方法は 2 つあります。
- デプロイメントファイルを変更して Red Hat Single Sign-On アダプター設定が含まれるように修正し、デプロイメント時に standalone-openshift.xml ファイルに含まれるようにします。
- クライアントアプリケーションの ../WEB-INF ディレクトリーに OpenID-Connect の keycloak.json ファイル、または SAML keycloak-saml.xml ファイルを手動で追加します。
SAML クライアントを使用した手動の Red Hat Single Sign-On クライアント登録方法のエンドツーエンドの例は、「ワークフローのサンプル: SAML クライアントを使用して、Red Hat Single Sign-On 認証を使用するアプリケーションを手動で設定」を参照してください。