5.3.2. Red Hat Single Sign-On 認証用の OpenShift マスターの設定
OpenShift マスター CLI にログインします。/etc/origin/master/master-config.yaml ファイルを編集するために必要なパーミッションが必要です。
/etc/origin/master/master-config.yaml ファイルを編集し、identityProviders を見つけます。たとえば、OpenShift マスターが HTPassword ID プロバイダー で設定されている場合、identityProviders セクションは以下のようになります。
identityProviders: - challenge: true login: true name: htpasswd_auth provider: apiVersion: v1 file: /etc/origin/openshift-passwd kind: HTPasswdPasswordIdentityProvider
以下のスニペットのような内容で、Red Hat Single Sign-On をセカンダリーアイデンティティープロバイダーとして追加します。
- name: rh_sso challenge: false login: true mappingMethod: add provider: apiVersion: v1 kind: OpenIDIdentityProvider clientID: openshift-demo clientSecret: 7b0384a2-b832-16c5-9d73-2957842e89h7 ca: xpaas.crt urls: authorize: https://secure-sso-sso-app-demo.openshift32.example.com/auth/realms/OpenShift/protocol/openid-connect/auth token: https://secure-sso-sso-app-demo.openshift32.example.com/auth/realms/OpenShift/protocol/openid-connect/token userInfo: https://secure-sso-sso-app-demo.openshift32.example.com/auth/realms/OpenShift/protocol/openid-connect/userinfo claims: id: - sub preferredUsername: - preferred_username name: - name email: - email
- clientSecret の Red Hat Single Sign-On Secret ハッシュは、Red Hat Single Sign-On Web コンソールの Clients → openshift-demo → Credentials にあります。
urls のエンドポイントは、Red Hat Single Sign-On アプリケーションでリクエストを行うことで確認できます。以下は例になります。
<curl -k https://secure-sso-sso-app-demo.openshift32.example.com/auth/realms/OpenShift/.well-known/openid-configuration | python -m json.tool>
応答には、authorization_endpoint、token_endpoint、および userinfo_endpoint が含まれます。
- このワークフロー例では、自己生成された CA を使用して、デモ目的でエンドツーエンドのワークフローを提供します。このため、ca は <ca: xpaas.crt> として提供されます。この CA 証明書も /etc/origin/master ディレクトリーにコピーする必要があります。検証済みの認証局から購入した証明書を使用する場合、この作業は必要ありません。
設定を保存して OpenShift マスターを再起動します。
$ systemctl restart atomic-openshift-master