Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

13.3. アイデンティティープロバイダーの設定

OpenShift Container Platform は、同じアイデンティティープロバイダーを使用した複数の LDAP サーバーの設定をサポートしません。ただし、LDAP フェイルオーバー など、より複雑な設定の Basic 認証を拡張することが可能です。

これらのパラメーターを使用して、インストール時またはインストール後にアイデンティティープロバイダーを定義できます。

13.3.1. Ansible を使用したアイデンティティープロバイダーの設定

初回クラスターインストールでは、Deny All アイデンティティープロバイダーが設定されますが、インベントリーファイルで openshift_master_identity_providers パラメーター を設定して、これをインストール中に上書きできます。OAuth 設定のセッションオプション はインベントリーファイルで設定できます。

Ansible を使用したアイデンティティープロバイダー設定の例

# htpasswd auth
openshift_master_identity_providers=[{'name': 'htpasswd_auth', 'login': 'true', 'challenge': 'true', 'kind': 'HTPasswdPasswordIdentityProvider'}]
# Defining htpasswd users
#openshift_master_htpasswd_users={'user1': '<pre-hashed password>', 'user2': '<pre-hashed password>'}
# or
#openshift_master_htpasswd_file=/etc/origin/master/htpasswd

# Allow all auth
#openshift_master_identity_providers=[{'name': 'allow_all', 'login': 'true', 'challenge': 'true', 'kind': 'AllowAllPasswordIdentityProvider'}]

# LDAP auth
#openshift_master_identity_providers=[{'name': 'my_ldap_provider', 'challenge': 'true', 'login': 'true', 'kind': 'LDAPPasswordIdentityProvider', 'attributes': {'id': ['dn'], 'email': ['mail'], 'name': ['cn'], 'preferredUsername': ['uid']}, 'bindDN': '', 'bindPassword': '', 'insecure': 'false', 'url': 'ldap://ldap.example.com:389/ou=users,dc=example,dc=com?uid'}]
# Configuring the ldap ca certificate 1
#openshift_master_ldap_ca=<ca text>
# or
#openshift_master_ldap_ca_file=<path to local ca file to use> 2

# Available variables for configuring certificates for other identity providers:
#openshift_master_openid_ca
#openshift_master_openid_ca_file 3
#openshift_master_request_header_ca
#openshift_master_request_header_ca_file 4

1
LDAP アイデンティティープロバイダーについてのみ openshift_master_identity_providers パラメーターで 'insecure': 'true' を指定している場合は、CA 証明書を省略できます。
2 3 4
Playbook を実行するホストにファイルを指定する場合、その内容は /etc/origin/master/<identity_provider_name>_<identity_provider_type>_ca.crt ファイルにコピーされます。アイデンティティープロバイダー名は openshift_master_identity_providers パラメーターの値であり、ldapopenid、または request_header になります。CA テキストまたはローカル CA ファイルのパスを指定しない場合は、CA 証明書をこの位置に配置する必要があります。複数のアイデンティティープロバイダーを指定する場合は、各プロバイダーの CA 証明書をこの位置に手動で配置する必要があります。この位置を変更することはできません。

複数のアイデンティティープロバイダーを指定することができます。これらを指定する場合は、各アイデンティティープロバイダーの CA 証明書を /etc/origin/master/ ディレクトリーに配置する必要があります。たとえば、以下のプロバイダーを openshift_master_identity_providers 値に含めているとします。

openshift_master_identity_providers:
- name: foo
  provider:
    kind: OpenIDIdentityProvider
    ...
- name: bar
  provider:
    kind: OpenIDIdentityProvider
    ...
- name: baz
  provider:
    kind: RequestHeaderIdentityProvider
    ...

これらのアイデンティティープロバイダーの CA 証明書を以下のファイルに配置する必要があります。

  • /etc/origin/master/foo_openid_ca.crt
  • /etc/origin/master/bar_openid_ca.crt
  • /etc/origin/master/baz_requestheader_ca.crt