google.cloud.gcp_storage_default_object_acl 模块 – 创建 GCP DefaultObjectACL
注意
此模块是 google.cloud 集合(版本 1.4.1)的一部分。
如果您使用的是 ansible 包,您可能已经安装了这个集合。它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list。
要安装它,请使用:ansible-galaxy collection install google.cloud。您需要其他要求才能使用此模块,请参阅 要求 以了解详细信息。
要在 Playbook 中使用它,请指定:google.cloud.gcp_storage_default_object_acl。
注意
由于违反了 Ansible 包含要求,google.cloud 集合将从 Ansible 12 中删除。该集合有未解决的健全性测试失败。有关详细信息,请参阅讨论主题。
概要
- DefaultObjectAccessControls 资源表示在未为该对象提供 ACL 时,应用于 Google Cloud Storage 存储桶中新对象的访问控制列表 (ACL)。ACL 允许您指定谁可以访问您的存储桶内容以及访问的程度。 
- 可以为实体分配两个角色:READER 可以获取对象,但不会显示 acl 属性。 
- OWNER 是 READER,并且可以获取 acl 属性、更新对象并调用该对象上的所有 objectAccessControls 方法。对象的所有者始终是 OWNER。 
- 有关更多信息,请参阅访问控制,但请注意此 API 使用 READER 和 OWNER 而不是 READ 和 FULL_CONTROL。 
要求
执行此模块的主机需要以下要求。
- python >= 2.6 
- requests >= 2.18.4 
- google-auth >= 1.3.0 
参数
| 参数 | 注释 | 
|---|---|
| 如果凭据类型是 accesstoken,则为 OAuth2 访问令牌。 | |
| 使用的凭据类型。 选项 
 | |
| 存储桶的名称。 | |
| 持有权限的实体,采用以下形式之一:* user-{{userId}} * user-{{email}}(例如“user-liz@example.com”)* group-{{groupId}} * group-{{email}}(例如“group-example@googlegroups.com”)* domain-{{domain}}(例如“domain-example.com”)* project-team-{{projectId}} * allUsers * allAuthenticatedUsers 。 | |
| 指定您在此模块中运行的 Ansible 环境。 除非您知道自己在做什么,否则不应设置此项。 这只会更改任何 API 请求的用户代理字符串。 | |
| 要使用的 Google Cloud Platform 项目。 | |
| 实体的访问权限。 一些有效的选择包括:“OWNER”、“READER” | |
| 要使用的范围数组 | |
| 服务帐户 JSON 文件的内容,可以是字典形式,也可以是表示它的 JSON 字符串。 | |
| 如果选择了 machineaccount 并且用户不希望使用默认电子邮件,则为可选的服务帐户电子邮件地址。 | |
| 如果选择 serviceaccount 作为类型,则为服务帐户 JSON 文件的路径。 | |
| 给定的对象是否应存在于 GCP 中 选项 
 | 
备注
注意
- API 参考:https://cloud.google.com/storage/docs/json_api/v1/defaultObjectAccessControls 
- 官方文档:https://cloud.google.com/storage/docs/access-control/create-manage-lists 
- 对于身份验证,您可以使用 - GCP_SERVICE_ACCOUNT_FILE环境变量设置 service_account_file。
- 对于身份验证,您可以使用 - GCP_SERVICE_ACCOUNT_CONTENTS环境变量设置 service_account_contents。
- 对于身份验证,您可以使用 - GCP_SERVICE_ACCOUNT_EMAIL环境变量设置 service_account_email。
- 对于身份验证,您可以使用 - GCP_ACCESS_TOKEN环境变量设置 access_token。
- 对于身份验证,您可以使用 - GCP_AUTH_KIND环境变量设置 auth_kind。
- 对于身份验证,您可以使用 - GCP_SCOPES环境变量设置作用域。
- 只有在 playbook 值未设置的情况下,才会使用环境变量的值。 
- service_account_email 和 service_account_file 选项是互斥的。 
示例
- name: create a bucket
  google.cloud.gcp_storage_bucket:
    name: "{{ resource_name }}"
    project: "{{ gcp_project }}"
    auth_kind: "{{ gcp_cred_kind }}"
    service_account_file: "{{ gcp_cred_file }}"
    state: present
  register: bucket
- name: create a default object acl
  google.cloud.gcp_storage_default_object_acl:
    bucket: "{{ bucket }}"
    entity: OWNER:[email protected]
    project: test_project
    auth_kind: serviceaccount
    service_account_file: "/tmp/auth.pem"
    state: present
返回值
常见的返回值记录在这里,以下是此模块特有的字段
| 键 | 描述 | 
|---|---|
| 存储桶的名称。 返回: 成功 | |
| 与实体关联的域。 返回: 成功 | |
| 与实体关联的电子邮件地址。 返回: 成功 | |
| 持有权限的实体,以下列形式之一: * user-{{userId}} * user-{{email}} (例如 “user-liz@example.com”) * group-{{groupId}} * group-{{email}} (例如 “group-example@googlegroups.com”) * domain-{{domain}} (例如 “domain-example.com”) * project-team-{{projectId}} * allUsers * allAuthenticatedUsers 。 返回: 成功 | |
| 实体的 ID。 返回: 成功 | |
| 与实体关联的项目团队。 返回: 成功 | |
| 与实体关联的项目团队。 返回: 成功 | |
| 团队。 返回: 成功 | |
| 实体的访问权限。 返回: 成功 | 
