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 にログインします。

  1. 新しいプロジェクトを作成します。

    $ oc new-project eap-app-demo
  2. view ロールを デフォルト のサービスアカウントに追加します。これにより、サービスアカウントが eap-app-demo 名前空間のすべてのリソースを表示できるようになります。これは、クラスターの管理に必要です。

    $ oc policy add-role-to-user view system:serviceaccount:$(oc project -q):default
  3. EAP テンプレートには、SSL キーストアと JGroups キーストア が必要です。
    この例では、Java Development Kit に含まれるパッケージの keytool を使用して、これらのキーストアの自己署名証明書を生成します。以下のコマンドはパスワードを要求します。

    1. SSL キーストアのセキュアキーを生成します。

      $ keytool -genkeypair -alias https -storetype JKS -keystore eapkeystore.jks
    2. JGroups キーストアのセキュアキーを生成します。

      $ keytool -genseckey -alias jgroups -storetype JCEKS -keystore eapjgroups.jceks
  4. 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
  5. EAP シークレットを default のサービスアカウントに追加します。

    $ oc secrets link default eap-ssl-secret eap-jgroup-secret