第 12 章 常见管理任务
有时您需要对 OpenShift (RHOSO)网络服务(neutron)上的 Red Hat OpenStack Services 执行管理任务,如指定内部 DNS 分配给端口的名称。
12.1. 创建共享安全组来集中安全管理 复制链接链接已复制到粘贴板!
当您希望一个或多个项目共享数据时,您可以使用 Networking 服务(neutron) RBAC 策略功能共享安全组。
您可以在实例创建过程中直接将安全组应用到实例,或应用到正在运行的实例上的端口。
您无法在实例创建过程中将基于角色的访问控制 (RBAC) 共享安全组直接应用到实例。要将 RBAC 共享安全组应用到实例,您必须首先创建端口,将共享安全组应用到该端口,然后将该端口分配给实例。请参阅 创建和管理实例 中的 向端口添加安全组。
先决条件
- 您至少有两个要共享的 RHOSO 项目。
在其中一个项目中(当前项目),您创建了要与其他项目 (目标项目)共享的安全组。
在本例中,创建了
ping_ssh安全组:- Example
$ openstack security group create ping_ssh
-
在工作站上安装了
oc命令行工具。 -
以具有
cluster-admin权限的用户身份登录到可访问 RHOSO 控制平面的工作站。
流程
从您的工作站访问 OpenStackClient pod 的远程 shell:
$ oc rsh -n openstack openstackclient获取包含安全组和目标项目的项目的名称或 ID。
$ openstack project list获取您要在 RHOSO 项目之间共享的安全组的名称或 ID。
$ openstack security group list使用前面步骤中的标识符,使用
openstack network rbac create命令创建 RBAC 策略。在本例中,目标项目的 ID 是
32016615de5d43bb88de99e7f2e26a1e。安全组的 ID 是5ba835b7-22b0-4be6-bdbe-e0722d1b5f24:- Example
$ 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 客户端
安全组命令时访问安全组。其他用户(除管理员和所有者以外的)都无法访问安全组。提示要删除目标项目的访问权限,请使用
openstack network rbac delete命令删除允许该策略的 RBAC 策略。
退出
openstackclientpod:$ exit