5.5. ワークフローの例: OpenID-Connect クライアントを使用した Red Hat Single Sign-On での EAP アプリケーションの自動登録
これは、Red Hat Single Sign-On が OpenShift にデプロイされた 「ワークフローの例: Red Hat Single Sign-On for OpenShift イメージの準備とデプロイ」 に続きます。以下の例では、OpenID-Connect クライアントアダプターを使用して、EAP プロジェクトの Red Hat Single Sign-On レルム、ロール、およびユーザー認証情報を準備します。これらの認証情報は、Red Hat Single Sign-On クライアントの自動登録のために EAP for OpenShift テンプレートに提供されます。デプロイ後、Red Hat Single Sign-On ユーザーを使用して JBoss EAP の認証およびアクセスが可能になります。
以下の例では OpenID-Connect クライアントを使用していますが、SAML クライアントも使用できます。OpenID-Connect と SAML クライアントの違いに関する詳細は、「Red Hat Single Sign-On Clients」および「Red Hat Single Sign-On Client の自動および手動での登録方法」を参照してください。
5.5.1. OpenShift デプロイメント用の Red Hat Single Sign On 認証の準備
cluster:admin ロールを持つユーザーとして OpenShift CLI にログインします。
新しいプロジェクトを作成します。
$ oc new-project eap-app-demo
view
ロールをデフォルト
のサービスアカウントに追加します。これにより、サービスアカウントがeap-app-demo
名前空間のすべてのリソースを表示できるようになります。これは、クラスターの管理に必要です。$ oc policy add-role-to-user view system:serviceaccount:$(oc project -q):default
EAP テンプレートには、SSL キーストアと JGroups キーストア が必要です。
この例では、Java Development Kit に含まれるパッケージのkeytool
を使用して、これらのキーストアの自己署名証明書を生成します。以下のコマンドはパスワードを要求します。
SSL キーストアのセキュアキーを生成します。
$ keytool -genkeypair -alias https -storetype JKS -keystore eapkeystore.jks
JGroups キーストアのセキュアキーを生成します。
$ keytool -genseckey -alias jgroups -storetype JCEKS -keystore eapjgroups.jceks
SSL および JGroup キーストアファイルで EAP for OpenShift シークレットを生成します。
$ oc create secret generic eap-ssl-secret --from-file=eapkeystore.jks $ oc create secret generic eap-jgroup-secret --from-file=eapjgroups.jceks
EAP シークレットを
default
のサービスアカウントに追加します。$ oc secrets link default eap-ssl-secret eap-jgroup-secret