18.6. 共有セキュリティーグループの設定
1 つ以上の Red Hat OpenStack Platform (RHOSP) プロジェクトがデータを共有できるようにするには、RHOSP Networking サービス (neutron)RBAC ポリシー機能を使用してセキュリティーグループを共有できます。OpenStack クライアントを使用して、セキュリティーグループと Networking サービスのロールベースアクセス制御 (RBAC) ポリシーを作成します。
インスタンスの作成時にセキュリティーグループをインスタンスに直接適用することや、実行中のインスタンスのポートに適用することができます。
インスタンスの作成中に、ロールベースのアクセス制御 (RBAC) 共有セキュリティーグループをインスタンスに直接適用することはできません。RBAC 共有セキュリティーグループをインスタンスに適用するには、最初にポートを作成し、共有セキュリティーグループをそのポートに適用してから、そのポートをインスタンスに割り当てる必要があります。セキュリティーグループのポートへの追加 を参照してください。
前提条件
- 共有する RHOSP プロジェクトが少なくとも 2 つある。
プロジェクトの 1 つ現在のプロジェクトで、別のプロジェクト ターゲットプロジェクトと共有するセキュリティーグループを作成している。
以下の例では、
ping_ssh
セキュリティーグループが作成されます。例
$ openstack security group create ping_ssh
手順
- セキュリティーグループが含まれる現在のプロジェクトのオーバークラウドにログインします。
ターゲットプロジェクトの名前または ID を取得します。
$ openstack project list
RHOSP プロジェクト間で共有するセキュリティーグループの名前または ID を取得します。
$ openstack security group list
前のステップの識別子を使用して、
openstack network rbac create
コマンドを使用して RBAC ポリシーを作成します。以下の例では、ターゲットプロジェクトの ID は
32016615de5d43bb88de99e7f2e26a1e
です。セキュリティーグループの ID は5ba835b7-22b0-4be6-bdbe-e0722d1b5f24
です。例
$ openstack network rbac create --target-project \ 32016615de5d43bb88de99e7f2e26a1e --action access_as_shared \ --type security_group 5ba835b7-22b0-4be6-bdbe-e0722d1b5f24
--target-project
セキュリティーグループへのアクセスを必要とするプロジェクトを指定します。
ヒント--target-project <target-project>
引数の代わりに--target-all-projects
を使用して、すべてのプロジェクト間でデータを共有できます。デフォルトでは、admin ユーザーのみがこの特権を持ちます。--action access_as_shared
- プロジェクトを実行できるものを指定します。
--type
- ターゲットオブジェクトがセキュリティーグループであることを示します。
5ba835b7-22b0-4be6-bdbe-e0722d1b5f24
- は、アクセスが許可される特定のセキュリティーグループの ID です。
そのポートにバインドできるだけでなく、OpenStack クライアントの security group
コマンドを実行すると、ターゲットプロジェクトはセキュリティーグループにアクセスできます。他のユーザー (管理者および所有者以外) はセキュリティーグループにアクセスすることはできません。
ターゲットプロジェクトのアクセス権を削除するには、openstack network rbac delete
コマンドを使用して、アクセスを許可する RBAC ポリシーを削除します。
関連情報
- インスタンスの作成と管理 ガイドの セキュリティーグループの作成
- コマンドラインインターフェイスリファレンス の security group create
- コマンドラインインターフェイスリファレンス の network rbac create