openstack.cloud.neutron_rbac_policy 模块 – 创建或删除 Neutron RBAC 策略。

注意

此模块是 openstack.cloud 集合 (版本 2.3.0) 的一部分。

如果您使用的是 ansible 包,则可能已安装此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用: ansible-galaxy collection install openstack.cloud。您需要其他要求才能使用此模块,请参阅 要求 以了解详情。

要在 playbook 中使用它,请指定: openstack.cloud.neutron_rbac_policy

概要

  • 创建、更新或删除策略以针对网络、安全组或 QoS 策略应用 RBAC 规则。

要求

执行此模块的主机需要以下要求。

  • python >= 3.6

  • openstacksdk >= 1.0.0

参数

参数

注释

action

字符串

RBAC 策略的操作。

可以是以下选项之一:access_as_sharedaccess_as_external

更新现有策略时不能更改。

创建 RBAC 策略规则时必填,删除策略时忽略。

选项

  • "access_as_shared"

  • "access_as_external"

api_timeout

整数

套接字层在 API 调用超时前应等待多长时间。如果省略此项,则不会将任何内容传递给 requests 库。

auth

字典

包含云的认证插件策略所需的认证信息的字典。对于默认的 *password* 插件,这将包含 *auth_url*、*username*、*password*、*project_name* 以及云支持的任何有关域的信息(例如,*user_domain_name* 或 *project_domain_name*)。对于其他插件,此参数需要包含该认证插件所需的所有参数。如果提供了命名云或存在 OpenStack OS_* 环境变量,则不需要此参数。

auth_type

字符串

要使用的认证插件的名称。如果云使用密码认证以外的其他认证方式,则应在此处指示插件的名称,并相应地更新 *auth* 参数的内容。

ca_cert

别名:cacert

字符串

CA 证书包的路径,可用作验证 SSL API 请求的一部分。

client_cert

别名:cert

字符串

客户端证书的路径,用作 SSL 事务的一部分。

client_key

别名:key

字符串

客户端密钥的路径,用作 SSL 事务的一部分。

cloud

任意

要操作的命名云或云配置。如果 *cloud* 是字符串,则它引用在 OpenStack clouds.yaml 文件中定义的命名云配置。为 *auth* 和 *auth_type* 提供默认值。如果提供了 *auth* 或存在 OpenStack OS_* 环境变量,则不需要此参数。如果 *cloud* 是字典,则它包含完整的云配置,就像 clouds.yaml 的一个部分一样。

id

别名:policy_id

字符串

RBAC 策略 ID。

删除或更新现有 RBAC 策略规则时必填,否则忽略。

如果提供了 *id*,但找不到具有此 ID 的策略,则会引发错误。

interface

别名:endpoint_type

字符串

从服务目录中获取的端点 URL 类型。

选项

  • "admin"

  • "internal"

  • "public" ← (默认)

object_id

字符串

应用 RBAC 规则的对象 ID(主题)。

更新现有策略时不能更改。

创建 RBAC 策略规则时必填,删除策略时忽略。

object_type

字符串

此 RBAC 策略影响的对象类型。

可以是以下对象类型之一:networksecurity_groupqos_policy

更新现有策略时不能更改。

创建 RBAC 策略规则时必填,删除策略时忽略。

选项

  • "network"

  • "security_group"

  • "qos_policy"

project_id

字符串

object_id 所属项目的 ID。

更新现有策略时不能更改。

创建 RBAC 策略规则时必填,删除策略时忽略。

region_name

字符串

区域名称。

sdk_log_level

字符串

OpenStackSDK 的日志级别

选项

  • "INFO" ← (默认)

  • "DEBUG"

sdk_log_path

字符串

OpenStackSDK 日志文件的路径。如果为空,则不写入日志

state

字符串

RBAC 规则应该是 present 还是 absent

选项

  • "present" ← (默认)

  • "absent"

target_all_project

布尔值

是否所有项目都作为目标进行访问。

如果此选项设置为 true,则忽略 target_project_id

选项

  • false ← (默认)

  • true

target_project_id

字符串

要允许或撤销(即不允许)访问的项目的 ID。

创建或更新 RBAC 策略规则时必填,删除策略时忽略。

timeout

整数

ansible 应等待请求资源多长时间。

默认值: 180

validate_certs

别名:verify

布尔值

是否应验证 SSL API 请求。

在 Ansible 2.3 之前,此项默认值为 true

选项

  • false

  • true

等待

布尔值

Ansible 是否应等待请求的资源完成。

选项

  • false

  • true ← (默认)

备注

注意

  • 可以使用标准的 OpenStack 环境变量(例如 OS_USERNAME)代替提供显式值。

  • 身份验证信息由 openstacksdk 驱动,这意味着值可以来自 /etc/ansible/openstack.yaml、/etc/openstack/clouds.yaml 或 ~/.config/openstack/clouds.yaml 中的 yaml 配置文件,然后来自标准环境变量,最后来自 playbook 中的显式参数。更多信息可在 https://docs.openstack.org/openstacksdk/ 找到。

示例

- name: Create or update RBAC policy
  neutron_rbac_policy:
    object_id: '7422172b-2961-475c-ac68-bd0f2a9960ad'
    object_type: 'network'
    project_id: '84b8774d595b41e89f3dfaa1fd76932d'
    target_project_id: 'a12f9ce1de0645e0a0b01c2e679f69ec'

- name: Delete RBAC policy
  openstack.cloud.openstack.neutron_rbac_policy:
    id: 'f625242a-6a73-47ac-8d1f-91440b2c617f'
    state: absent

返回值

常见的返回值已在 此处 记录,以下是此模块特有的字段

描述

policy

字典

rbac_policy 相同,保留用于向后兼容。

返回值:始终

rbac_policy

字典

描述 RBAC 策略的字典。

返回值:始终

action

字符串

RBAC 规则指定的访问模型

返回值:成功

示例: "access_as_shared"

id

字符串

RBAC 规则/策略的 ID

返回值:成功

示例: "4154ce0c-71a7-4d87-a905-09762098ddb9"

name

字符串

RBAC 规则的名称;通常为 null

返回值:成功

object_id

字符串

应用 RBAC 规则的对象的 UUID

返回值:成功

示例: "7422172b-2961-475c-ac68-bd0f2a9960ad"

object_type

字符串

应用 RBAC 的对象类型

返回值:成功

示例: "network"

project_id

字符串

授予访问权限的项目的 UUID

返回值:成功

示例: "84b8774d595b41e89f3dfaa1fd76932c"

target_project_id

字符串

目标项目的 UUID

返回值:成功

示例: "c201a689c016435c8037977166f77368"

tenant_id

字符串

授予访问权限的项目的 UUID。已弃用。

返回值:成功

示例: "84b8774d595b41e89f3dfaa1fd76932c"

作者

  • OpenStack Ansible SIG