8.2. Identity サービスをシングルサインオンフェデレーション IdP と統合する
フェデレーションのために Red Hat のシングルサインオン (SSO) テクノロジーを使用して Red Hat OpenStack Services on OpenShift (RHOSO) をデプロイした後、SSO を RHOSO と統合する必要があります。
手順
フェデレーションドメインを作成します。
$ openstack domain create <federated_domain_name><federated_domain_name>は、アイデンティティープロバイダーで管理しているドメインの名前 (例:my_domain) に置き換えます。出力例:
+-------------+----------------------------------+ | Field | Value | +-------------+----------------------------------+ | description | | | enabled | True | | id | b493634c9dbf4546a2d1988af181d7c9 | | name | my_domain | | options | {} | | tags | [] | +-------------+----------------------------------+
フェデレーションアイデンティティープロバイダーを設定します。
$ openstack identity provider create --remote-id https://<sso_fqdn>:9443/realms/<realm> --domain <federated_domain_name> <idp_name>-
<sso_fqdn>は、SSO アイデンティティープロバイダーの完全修飾ドメイン名に置き換えます。 -
<realm>は、SSO レルムに置き換えます。デフォルトのレルムはmasterです。 -
<federated_domain_name>は、ステップ 1 で作成したフェデレーションドメインの名前 (例:my_domain) に置き換えます。 <idp_name>は、SSO をデプロイして一意のリダイレクト URL を作成するときに選択した文字列 (例:kcipaIDP) に置き換えます。出力例:
+-------------------+-----------------------------------------------------+ | Field | Value | +-------------------+-----------------------------------------------------+ | authorization_ttl | None | | description | None | | domain_id | b493634c9dbf4546a2d1988af181d7c9 | | enabled | True | | id | kcipaIDP | | remote_ids | https://sso.fqdn.local:9443/realms/master | +-------------------+-----------------------------------------------------+
-
クラウドのアイデンティティーが必要とする固有のマッピングファイルを作成します。
cat > mapping.json << EOF [ { "local": [ { "user": { "name": "{0}" }, "group": { "domain": { "name": "<federated_domain_name>"1 }, "name": "<federated_group_name>"2 } } ], "remote": [ { "type": "OIDC-preferred_username" } ] } ] EOFマッピングファイルを使用して、RHOSO のフェデレーションマッピングルールを作成します。
$ openstack mapping create --rules <mapping_file> <mapping_rules>-
<mapping_file>は、前の手順で作成したマッピングファイルの名前 (例:mapping.json) に置き換えます。 -
<mapping_rules>は、このファイルから作成されたマッピングルールの名前 (例:IPAmap) に置き換えます。
-
フェデレーショングループを作成します。
$ openstack group create --domain <federated_domain_name> <federated_group_name>-
<federated_domain_name>は、ステップ 1 で作成したドメインの名前 (例:my_domain) に置き換えます。 -
<federated_group_name>は、マッピングファイルで指定したフェデレーショングループの名前 (例:my_fed_group) に置き換えます。
-
Identity サービス (keystone) プロジェクトを作成します。
$ openstack project create --domain <federated_domain_name> <federated_project_name>-
<federation_project_name>は、Identity サービスプロジェクトの名前に置き換えます。
-
Identity サービスのフェデレーショングループをロールに追加します。
$ openstack role add --group <federated_group_name> --group-domain <federated_domain_name> --project <federated_project_name> --project-domain <federated_domain_name> memberOpenID フェデレーションプロトコルを作成します。
$ openstack federation protocol create openid --mapping <mapping_rules> --identity-provider <idp_name>-
<mapping_rules>は、マッピングファイルから作成したマッピングルールの名前 (例:IPAmap) に置き換えます。 -
<idp_name>は、一意のリダイレクト URL を作成するために選択した文字列 (例:kcipaIDP) に置き換えます。
-