3.2. Red Hat OpenStack Platform と Active Directory Federation サービスの統合

Active Directory フェデレーションサービス (ADFS) を使用して Red Hat OpenStack Platform (RHOSP) をデプロイした後、次の手順を実行して、アイデンティティプロバイダー (IdP) をサービスプロバイダー (RHOSP) と統合する必要があります。

手順

  1. フェデレーションドメインを作成します。

    openstack domain create <federated_domain_name>

    出力例:

    +-------------+----------------------------------+
    | Field       | Value                            |
    +-------------+----------------------------------+
    | description |                              	 |
    | enabled     | True                         	 |
    | id          | b493634c9dbf4546a2d1988af181d7c9 |
    | name        | my_domain                    	 |
    | options     | {}                           	 |
    | tags        | []                           	 |
    +-------------+----------------------------------+
  2. フェデレーションアイデンティティープロバイダーを設定します。

    openstack identity provider create --remote-id https://<adfs_fqdn>:9443/adfs --domain <domain_name> adfsIdP

    <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/                        |
    +-------------------+-----------------------------------------------------+
  3. マッピングファイルの作成マッピングファイルは、クラウドの ID 要件に応じて固有のものになります。

    以下に例を示します。

 cat > mapping.json << EOF
[
    {
        "local": [
            {
                "user": {
                 "name": "{0}"
                },
                "group": {
                    "domain": {
                     "name": "<federated_domain>"1
                    },
                    "name": "<federated_group_name>"2
                }
            }
        ],
        "remote": [
            {
                "type": "OIDC-upn"3
            }
        ]
    }
]
EOF
1
federated_domain は、前の手順で作成したドメインです。
2
federated_group_name の名前を選択します。後のステップでこれを作成します。
3
ADFS のクレーム ID として「OIDC-upn」を使用する必要があります。
  1. マッピングファイルを使用して、OpenStack のフェデレーションマッピングルールを作成します。上記の例では、mapping.json ファイルから作成されたマッピングルールは、ADmap と呼ばれます。

    openstack mapping create --rules <file> <name>

    以下に例を示します。

$ openstack mapping create --rules mapping.json ADmap
  1. フェデレーショングループを作成します。

    openstack group create --domain <federation_domain> <federation_group_name>
  2. Identity サービス (keystone) プロジェクトを作成します。

    openstack project create --domain <federation_domain> <federation_project_name>
  3. Identity サービスのフェデレーショングループをロールに追加します。
openstack role add --group <federation_group_name> --group-domain <federation_domain> --project <federation_project_name> --project-domain <federation_domain> member
  1. OpenID フェデレーションプロトコルを作成します。

    openstack federation protocol create openid --mapping ADmap --identity-provider adfsIdP