18.6. 配置共享安全组
当您希望一个或多个 Red Hat OpenStack Platform (RHOSP)项目可以共享数据时,您可以使用 RHOSP Networking 服务(neutron) RBAC 策略功能共享安全组。您可以使用 OpenStack 客户端创建安全组和网络服务基于角色的访问控制(RBAC)策略。
您可以在实例创建过程中直接将安全组应用到实例,或应用到正在运行的实例上的端口。
您不能在实例创建过程中将基于角色的访问控制(RBAC)共享安全组直接应用到实例。要将 RBAC 共享安全组应用到实例,必须首先创建端口,将共享安全组应用到该端口,然后将该端口分配给实例。请参阅 将安全组添加到端口。
先决条件
- 您至少有两个要共享的 RHOSP 项目。
在其中一个项目中(当前项目),您创建了要与其他项目 (目标项目)共享的安全组。
在本例中,创建了
ping_ssh
安全组:示例
$ openstack security group create ping_ssh
流程
- 为包含安全组的当前项目登录 overcloud。
获取目标项目的名称或 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-all-projects
参数而不是--target-project <target-project>
以在所有项目中共享数据。默认情况下,只有 admin 用户具有此特权。--action access_as_shared
- 指定允许的项目做什么。
--type
- 表示目标对象是一个安全组。
5ba835b7-22b0-4be6-bdbe-e0722d1b5f24
- 是被授予访问权限的特定安全组的 ID。
目标项目在运行 OpenStack Client 安全组命令时可以访问安全组
,同时能够绑定到其端口。没有其他用户(除管理员和拥有者之外)无法访问安全组。
要删除目标项目的访问,请使用 openstack network rbac delete
命令删除允许它的 RBAC 策略。
其他资源
- 创建和管理实例 指南中的 创建安全组
- 命令行界面参考中的 安全组创建
- 命令行界面参考中的 network rbac create