Модуль 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.
Краткое описание
- Ресурсы DefaultObjectAccessControls представляют списки управления доступом (ACL), применяемые к новому объекту в корзине Google Cloud Storage, когда для этого объекта не был предоставлен ACL. ACL позволяют указать, кто имеет доступ к содержимому вашего корзины и в какой степени.
- Существует две роли, которые можно назначить объекту: READERs могут получить объект, хотя свойство acl не будет раскрыто.
- OWNERs являются READERs, и они могут получить свойство acl, обновить объект и вызвать все методы objectAccessControls для объекта. Владелец объекта всегда является OWNER.
- Для получения дополнительной информации см. Управление доступом, с оговоркой, что этот API использует READER и OWNER вместо READ и FULL_CONTROL.
Требования
Ниже приведены требования, необходимые на хосте, который выполняет этот модуль.
- python >= 2.6
- requests >= 2.18.4
- google-auth >= 1.3.0
Параметры
Параметр | Комментарии |
|---|---|
access_token строка | Токен доступа OAuth2, если тип учетных данных — accesstoken. |
auth_kind строка / обязательно | Тип используемых учетных данных. Варианты:
|
bucket словарь / обязательно | Название корзины. |
entity строка / обязательно | Объект, владеющий разрешением, в одном из следующих форматов: * 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 . |
env_type строка | Указывает, в какой среде Ansible вы запускаете этот модуль. Это не должно быть установлено, если вы не знаете, что делаете. Это только изменяет строку User Agent для любых запросов API. |
project строка | Проект Google Cloud Platform для использования. |
role строка / обязательно | Разрешение на доступ для объекта. Некоторые допустимые варианты: «OWNER», «READER» |
scopes список / элементы=строка | Массив областей, которые будут использоваться |
service_account_contents jsonarg | Содержимое файла Service Account JSON, либо в виде словаря, либо в виде JSON-строки, которая его представляет. |
service_account_email строка | Необязательный адрес электронной почты учетной записи службы, если выбран machineaccount, и пользователь не хочет использовать адрес электронной почты по умолчанию. |
service_account_file путь | Путь к файлу Service Account JSON, если в качестве типа выбран serviceaccount. |
state строка | Должен ли данный объект существовать в GCP Варианты:
|
Примечания
Примечание
- API Reference: https://cloud.google.com/storage/docs/json_api/v1/defaultObjectAccessControls
- Официальная документация: https://cloud.google.com/storage/docs/access-control/create-manage-lists
- для аутентификации вы можете установить service_account_file с помощью переменной среды
GCP_SERVICE_ACCOUNT_FILE. - для аутентификации вы можете установить service_account_contents с помощью переменной среды
GCP_SERVICE_ACCOUNT_CONTENTS. - Для аутентификации вы можете установить service_account_email с помощью переменной среды
GCP_SERVICE_ACCOUNT_EMAIL. - Для аутентификации вы можете установить access_token с помощью переменной среды
GCP_ACCESS_TOKEN. - Для аутентификации вы можете установить auth_kind с помощью переменной среды
GCP_AUTH_KIND. - Для аутентификации вы можете установить scopes с помощью переменной среды
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:user-alexstephen@google.com
project: test_project
auth_kind: serviceaccount
service_account_file: "/tmp/auth.pem"
state: present
Значения возврата
Общие значения возврата документированы здесь, следующие являются полями, уникальными для данного модуля:
Ключ | Описание |
|---|---|
bucket словарь | Имя ведра. Возвращается: success |
domain строка | Домен, связанный с сущностью. Возвращается: success |
строка | Электронный адрес, связанный с сущностью. Возвращается: success |
entity строка | Сущность, владеющая правом доступа, в одном из следующих форматов: * 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. Возвращается: success |
entityId строка | Идентификатор сущности. Возвращается: success |
projectTeam сложная | Команда проекта, связанная с сущностью. Возвращается: success |
|
projectNumber строка |
Команда проекта, связанная с сущностью. Возвращается: success |
|
team строка |
Команда. Возвращается: success |
role строка | Разрешение доступа для сущности. Возвращается: success |
Ссылки на сборки
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/google/cloud/gcp_storage_default_object_acl_module.html