第8章 RBAC ポリシーの設定
Red Hat OpenStack Services on OpenShift (RHOSO) 環境では、管理者は Networking サービス (neutron) でロールベースアクセス制御 (RBAC) ポリシーを使用して、インスタンスをネットワークにアタッチする権限を付与するプロジェクトを制御したり、他のリソース (QoS ポリシー、セキュリティーグループ、アドレススコープ、サブネットプール、アドレスグループなど) へのアクセスを制御したりできます。
Networking サービスの RBAC は、RHOSO でアイデンティティーサービス (keystone) が使用するセキュアなロールベースアクセス制御 (SRBAC) とは別です。
8.1. RBAC ポリシーの作成 リンクのコピーリンクがクリップボードにコピーされました!
この手順例は、Networking サービス (neutron) のロールベースアクセス制御 (RBAC) ポリシーを使用して、Red Hat OpenStack Services on OpenShift (RHOSO) 環境の共有ネットワークへのプロジェクトアクセスを許可する方法を示しています。
前提条件
-
管理者がプロジェクトを作成し、管理者からクラウドにアクセスするための
clouds.yamlファイルが提供されている。 python-openstackclientパッケージがワークステーション上に存在する。$ dnf list installed python-openstackclient
手順
システムの
OS_CLOUD変数がクラウドに設定されていることを確認します。$ echo $OS_CLOUD my_cloud必要に応じて変数をリセットします。
$ export OS_CLOUD=my_other_cloud代わりに、
openstackコマンドを実行するたびに--os-cloud <cloud_name>オプションを追加してクラウド名を指定することもできます。利用可能なネットワークのリストを表示します。
$ openstack network list+--------------------------------------+-------------+-------------------------------------------------------+ | id | name | subnets | +--------------------------------------+-------------+-------------------------------------------------------+ | fa9bb72f-b81a-4572-9c7f-7237e5fcabd3 | web-servers | 20512ffe-ad56-4bb4-b064-2cb18fecc923 192.168.200.0/24 | | bcc16b34-e33e-445b-9fde-dd491817a48a | private | 7fe4a05a-4b81-4a59-8c47-82c965b0e050 10.0.0.0/24 | | 9b2f4feb-fee8-43da-bb99-032e4aaf3f85 | public | 2318dc3b-cff0-43fc-9489-7d4cf48aaab9 172.24.4.224/28 | +--------------------------------------+-------------+-------------------------------------------------------+プロジェクトのリストを表示します。
$ openstack project list+----------------------------------+----------+ | ID | Name | +----------------------------------+----------+ | 4b0b98f8c6c040f38ba4f7146e8680f5 | auditors | | 519e6344f82e4c079c8e2eabb690023b | services | | 80bf5732752a41128e612fe615c886c6 | demo | | 98a2f53c20ce4d50a40dac4a38016c69 | admin | +----------------------------------+----------+web-serversネットワークの RBAC エントリーを作成し、auditorsプロジェクト (4b0b98f8c6c040f38ba4f7146e8680f5) にアクセスを許可します。$ openstack network rbac create --type network --target-project 4b0b98f8c6c040f38ba4f7146e8680f5 --action access_as_shared web-servers出力例
+----------------+--------------------------------------+ | Field | Value | +----------------+--------------------------------------+ | action | access_as_shared | | id | 314004d0-2261-4d5e-bda7-0181fcf40709 | | object_id | fa9bb72f-b81a-4572-9c7f-7237e5fcabd3 | | object_type | network | | target_project | 4b0b98f8c6c040f38ba4f7146e8680f5 | | project_id | 98a2f53c20ce4d50a40dac4a38016c69 | +----------------+--------------------------------------+これにより、auditors プロジェクトのユーザーは、インスタンスを
web-serversネットワークに接続することができます。