2.2. Red Hat OpenStack Platform と Red Hat Single Sign-On の統合
Red Hat OpenStack Platform (RHOSP) と Red Hat Single Sign-On (RH-SSO) をフェデレーション用にデプロイした後、RH-SSO を RHOSP と統合する必要があります。
手順
フェデレーションドメインを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow openstack domain create <federated_domain_name>
$ openstack domain create <federated_domain_name>
出力例:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow +-------------+----------------------------------+ | Field | Value | +-------------+----------------------------------+ | description | | | enabled | True | | id | b493634c9dbf4546a2d1988af181d7c9 | | name | my_domain | | options | {} | | tags | [] | +-------------+----------------------------------+
+-------------+----------------------------------+ | Field | Value | +-------------+----------------------------------+ | description | | | enabled | True | | id | b493634c9dbf4546a2d1988af181d7c9 | | name | my_domain | | options | {} | | tags | [] | +-------------+----------------------------------+
フェデレーションアイデンティティープロバイダーを設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow openstack identity provider create --remote-id https://<rh-sso_fqdn>:9443/realms/<realm> --domain <domain_name> kcipaIDP
$ openstack identity provider create --remote-id https://<rh-sso_fqdn>:9443/realms/<realm> --domain <domain_name> kcipaIDP
<rh-sso_fqdn>
は、RH-SSO の完全修飾ドメイン名に、<realm>
は RH-SSO レルムに置き換えます。デフォルトのレルムはmaster
です。<federated_domain_name>
は、手順 1 で作成したフェデレーションドメインの名前に置き換えます。出力例:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow +-------------------+-----------------------------------------------------+ | Field | Value | +-------------------+-----------------------------------------------------+ | authorization_ttl | None | | description | None | | domain_id | b493634c9dbf4546a2d1988af181d7c9 | | enabled | True | | id | kcipaIDP | | remote_ids | https://rh-sso.fqdn.local:9443/realms/master | +-------------------+-----------------------------------------------------+
+-------------------+-----------------------------------------------------+ | Field | Value | +-------------------+-----------------------------------------------------+ | authorization_ttl | None | | description | None | | domain_id | b493634c9dbf4546a2d1988af181d7c9 | | enabled | True | | id | kcipaIDP | | remote_ids | https://rh-sso.fqdn.local:9443/realms/master | +-------------------+-----------------------------------------------------+
クラウドのアイデンティティーのニーズに固有のマッピングファイルを作成します。
以下に例を示します。
cat > mapping.json << EOF [ { "local": [ { "user": { "name": "{0}" }, "group": { "domain": { "name": "<federated_domain_name>" }, "name": "<federated_group_name>" } } ], "remote": [ { "type": "OIDC-preferred_username" } ] } ] EOF
cat > mapping.json << EOF
[
{
"local": [
{
"user": {
"name": "{0}"
},
"group": {
"domain": {
"name": "<federated_domain_name>"
},
"name": "<federated_group_name>"
}
}
],
"remote": [
{
"type": "OIDC-preferred_username"
}
]
}
]
EOF
- 1
- <federated_domain_name> は、手順 x で作成したドメインです。
- 2
federated_group_name
の名前を選択します。後のステップでこれを作成します。- 3
- RH-SSO の要求 ID として
OIDC-preferred_username
を使用する必要があります。マッピングファイルを使用して、RHOSP のフェデレーションマッピングルールを作成します。上記の例では、
mapping.json
ファイルから作成されたマッピングルールの名前はIPAmap
です。Copy to Clipboard Copied! Toggle word wrap Toggle overflow openstack mapping create --rules <file> <name>
openstack mapping create --rules <file> <name>
以下に例を示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow openstack mapping create --rules mapping.json IPAmap
$ openstack mapping create --rules mapping.json IPAmap
フェデレーショングループを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow openstack group create --domain <federation_domain_name> <federation_group_name>
$ openstack group create --domain <federation_domain_name> <federation_group_name>
Identity サービス (keystone) プロジェクトを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow openstack project create --domain <federation_domain> <federation_project_name>
$ openstack project create --domain <federation_domain> <federation_project_name>
Identity サービスのフェデレーショングループをロールに追加します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow openstack role add --group <federation_group_name> --group-domain <federation_domain> --project <federation_project_name> --project-domain <federation_domain> member
$ openstack role add --group <federation_group_name> --group-domain <federation_domain> --project <federation_project_name> --project-domain <federation_domain> member
OpenID フェデレーションプロトコルを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow openstack federation protocol create openid --mapping IPAmap --identity-provider kcipaIDP
$ openstack federation protocol create openid --mapping IPAmap --identity-provider kcipaIDP