3.2. Red Hat OpenStack Platform と Active Directory Federation サービスの統合
Active Directory フェデレーションサービス (ADFS) を使用して Red Hat OpenStack Platform (RHOSP) をデプロイした後、次の手順を実行して、アイデンティティプロバイダー (IdP) をサービスプロバイダー (RHOSP) と統合する必要があります。
手順
フェデレーションドメインを作成します。
openstack domain create <federated_domain_name>
openstack domain create <federated_domain_name>
Copy to Clipboard Copied! 出力例:
+-------------+----------------------------------+ | 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! フェデレーションアイデンティティープロバイダーを設定します。
openstack identity provider create --remote-id https://<adfs_fqdn>:9443/adfs --domain <domain_name> adfsIdP
openstack identity provider create --remote-id https://<adfs_fqdn>:9443/adfs --domain <domain_name> adfsIdP
Copy to Clipboard Copied! <adfs_fqdn>
は、完全修飾ドメイン名に、Active Directory フェデレーションサービス<federated_domain_name>
は、手順 1 で作成したフェデレーションドメインの名前に置き換えます。出力例:
+-------------------+-----------------------------------------------------+ | Field | Value | +-------------------+-----------------------------------------------------+ | authorization_ttl | None | | description | None | | domain_id | b493634c9dbf4546a2d1988af181d7c9 | | enabled | True | | id | adfsIdP | | remote_ids | https:/adfs.fqdn.local/adfs/ | +-------------------+-----------------------------------------------------+
+-------------------+-----------------------------------------------------+ | Field | Value | +-------------------+-----------------------------------------------------+ | authorization_ttl | None | | description | None | | domain_id | b493634c9dbf4546a2d1988af181d7c9 | | enabled | True | | id | adfsIdP | | remote_ids | https:/adfs.fqdn.local/adfs/ | +-------------------+-----------------------------------------------------+
Copy to Clipboard Copied! マッピングファイルの作成マッピングファイルは、クラウドの ID 要件に応じて固有のものになります。
以下に例を示します。
cat > mapping.json << EOF [ { "local": [ { "user": { "name": "{0}" }, "group": { "domain": { "name": "<federated_domain>" }, "name": "<federated_group_name>" } } ], "remote": [ { "type": "OIDC-upn" } ] } ] EOF
cat > mapping.json << EOF
[
{
"local": [
{
"user": {
"name": "{0}"
},
"group": {
"domain": {
"name": "<federated_domain>"
},
"name": "<federated_group_name>"
}
}
],
"remote": [
{
"type": "OIDC-upn"
}
]
}
]
EOF
- 1
federated_domain
は、前の手順で作成したドメインです。- 2
federated_group_name
の名前を選択します。後のステップでこれを作成します。- 3
- ADFS のクレーム ID として「OIDC-upn」を使用する必要があります。
マッピングファイルを使用して、OpenStack のフェデレーションマッピングルールを作成します。上記の例では、
mapping.json
ファイルから作成されたマッピングルールは、ADmap
と呼ばれます。openstack mapping create --rules <file> <name>
openstack mapping create --rules <file> <name>
Copy to Clipboard Copied! 以下に例を示します。
openstack mapping create --rules mapping.json ADmap
$ openstack mapping create --rules mapping.json ADmap
フェデレーショングループを作成します。
openstack group create --domain <federation_domain> <federation_group_name>
openstack group create --domain <federation_domain> <federation_group_name>
Copy to Clipboard Copied! Identity サービス (keystone) プロジェクトを作成します。
openstack project create --domain <federation_domain> <federation_project_name>
openstack project create --domain <federation_domain> <federation_project_name>
Copy to Clipboard Copied! - Identity サービスのフェデレーショングループをロールに追加します。
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 フェデレーションプロトコルを作成します。
openstack federation protocol create openid --mapping ADmap --identity-provider adfsIdP
openstack federation protocol create openid --mapping ADmap --identity-provider adfsIdP
Copy to Clipboard Copied!