1.8.2. Active Directory グループのメンバーによるプロジェクトへのアクセスの許可
認証されたユーザーが OpenStack リソースにアクセスするのを許可するための推奨される方法は、特定の Active Directory グループを承認してプロジェクトへのアクセス権を付与することです。これにより、OpenStack の管理者は、プロジェクト内で各ユーザーをロールに割り当てる必要がなくなります。代わりに、Active Directory グループにプロジェクト内のロールが付与されます。その結果、これらの Active Directory グループのメンバーである Active Directory ユーザーは、事前定義済みのプロジェクトにアクセスできるようになります。
個々の Active Directory ユーザーの承認プロセスを手動で管理する方が望ましい場合には、「Active Directory ユーザーによるプロジェクトへのアクセスの許可」を参照してください。
本項は、Active Directory の管理者が以下のステップをすでに完了していることを前提としています。
-
Active Directory で
grp-openstack-admin
という名前のグループを作成する。 -
Active Directory で
grp-openstack-demo
という名前のグループを作成する。 - 必要に応じて、上記のグループの 1 つに Active Directory ユーザーを追加する。
-
Active Directory ユーザーを
grp-openstack
グループに追加する。 -
目的のプロジェクトを作成する。以下の例では、
openstack project create --domain default --description "Demo Project" demo
を使用して作成したdemo
という名前のプロジェクトを使用します。
以下のステップでは、AD グループにロールを割り当てます。これで、グループのメンバーに OpenStack リソースへのアクセス権が付与されます。
AD グループの一覧を取得します。
# openstack group list --domain LAB +------------------------------------------------------------------+---------------------+ | ID | Name | +------------------------------------------------------------------+---------------------+ | 185277be62ae17e498a69f98a59b66934fb1d6b7f745f14f5f68953a665b8851 | grp-openstack | | a8d17f19f464c4548c18b97e4aa331820f9d3be52654aa8094e698a9182cbb88 | grp-openstack-admin | | d971bb3bd5e64a454cbd0cc7af4c0773e78d61b5f81321809f8323216938cae8 | grp-openstack-demo | +------------------------------------------------------------------+---------------------+
ロールの一覧を取得します。
# openstack role list +----------------------------------+-----------------+ | ID | Name | +----------------------------------+-----------------+ | 01d92614cd224a589bdf3b171afc5488 | admin | | 034e4620ed3d45969dfe8992af001514 | member | | 0aa377a807df4149b0a8c69b9560b106 | ResellerAdmin | | 9369f2bf754443f199c6d6b96479b1fa | heat_stack_user | | cfea5760d9c948e7b362abc1d06e557f | reader | | d5cb454559e44b47aaa8821df4e11af1 | swiftoperator | | ef3d3f510a474d6c860b4098ad658a29 | service | +----------------------------------+-----------------+
Active Directory グループに上記のロールを 1 つまたは複数追加して、プロジェクトへのアクセス権を付与します。たとえば、
grp-openstack-demo
グループのユーザーをdemo
プロジェクトの一般ユーザーにするには、そのグループをmember
ロールに追加する必要があります。# openstack role add --project demo --group d971bb3bd5e64a454cbd0cc7af4c0773e78d61b5f81321809f8323216938cae8 member
その結果、grp-openstack-demo
のメンバーは、AD DS のユーザー名とパスワードを入力してから、ドメインフィールドにも LAB
と入力すると Dashboard にログインすることができます。
ユーザーに Error: Unable to retrieve container list.
というエラーメッセージが表示され、コンテナーの管理が可能であることが想定されている場合には、SwiftOperator
ロールに追加する必要があります。