18.6. 配置共享安全组

当您希望一个或多个 Red Hat OpenStack Platform (RHOSP)项目可以共享数据时,您可以使用 RHOSP Networking 服务(neutron) RBAC 策略功能共享安全组。您可以使用 OpenStack 客户端创建安全组和网络服务基于角色的访问控制(RBAC)策略。

您可以在实例创建过程中直接将安全组应用到实例,或应用到正在运行的实例上的端口。

注意

您不能在实例创建过程中将基于角色的访问控制(RBAC)共享安全组直接应用到实例。要将 RBAC 共享安全组应用到实例,必须首先创建端口,将共享安全组应用到该端口,然后将该端口分配给实例。请参阅 将安全组添加到端口

先决条件

  • 您至少有两个要共享的 RHOSP 项目。
  • 在其中一个项目中(当前项目),您创建了要与其他项目 (目标项目)共享的安全组。

    在本例中,创建了 ping_ssh 安全组:

    示例

    $ openstack security group create ping_ssh

流程

  1. 为包含安全组的当前项目登录 overcloud。
  2. 获取目标项目的名称或 ID。

    $ openstack project list
  3. 获取您要在 RHOSP 项目之间共享的安全组的名称或 ID。

    $ openstack security group list
  4. 使用上一步中的标识符,使用 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 策略。

其他资源