9.4.9. OpenShift 4

前提条件

  1. jq のインストール
  2. コンテナーで設定され /var/run/secrets/kubernetes.io/serviceaccount/ca.crt に設定された X509_CA_BUNDLE

手順

  1. コマンドラインで以下のコマンドを実行し、OpenShift 4 API URL の出力を書き留めます。

    curl -s -k -H "Authorization: Bearer $(oc whoami -t)" \https://<openshift-user-facing-api-url>/apis/config.openshift.io/v1/infrastructures/cluster | jq ".status.apiServerURL"
  2. Red Hat Single Sign-On メニューで Identity Providers をクリックします。
  3. Add provider リストから Openshift を選択します。

    アイデンティティープロバイダーの追加

    Add Identity Provider

  4. Redirect URI の値をクリップボードにコピーします。
  5. oc コマンドラインツールを使用して、クライアントを登録します。

    $ oc create -f <(echo '
    kind: OAuthClient
    apiVersion: v1
    metadata:
     name: keycloak-broker 1
    secret: "..." 2
    redirectURIs:
     - "<copy pasted Redirect URI from OpenShift 4 Identity Providers page>" 3
    grantMethod: prompt 4
    ')
1
OAuth クライアントの 名前<openshift_master>/oauth/authorize および <openshift_master>/oauth/token への要求の実行時に client_id 要求パラメーターとして渡されます。name パラメーターは、OAuthClient オブジェクトと Red Hat Single Sign-On 設定で同じである必要があります。
2
Red Hat Single Sign-On が client_secret リクエストパラメーターとして使用する secret
3
<openshift_master>/oauth/authorize および <openshift_master>/oauth/token への要求で指定される redirect_uri パラメーターは、redirectURIs のいずれかの URI と同じ (または接頭辞が付けられた) 必要があります。これを正しく設定する最も簡単な方法は、Red Hat Single Sign-On OpenShift 4 Identity Provider 設定ページから (Redirect URI フィールド) コピーすることです。
4
このクライアントがトークンを要求し、ユーザーがアクセスを付与していない場合に、Red Hat Single Sign-On がアクションを判断するために使用する grantMethod
  1. Red Hat Single Sign-On で、Client ID の値を Client ID フィールドに貼り付けます。
  2. Red Hat Single Sign-On で、Client Secret の値を Client Secret フィールドに貼り付けます。
  3. Save をクリックします。

詳細は、公式の OpenShift ドキュメント を参照してください。