gcp_storage_bucket_access_control – Создаёт GCP BucketAccessControl
Новая в версии 2.6.
Обзор
- Ресурс BucketAccessControls представляет списки управления доступом (ACL) для ведёр в Google Cloud Storage. ACL позволяют указать, кому и в какой степени разрешён доступ к вашим данным.
- Существует три роли, которые могут быть назначены сущности: READERS могут получить ведро, хотя свойство acl не будет возвращено, и перечислить объекты ведра. WRITERS — это READERS, и они могут вставлять объекты в ведро и удалять объекты ведра. OWNERS — это WRITERS, и они могут получить свойство acl ведра, обновить ведро и вызвать все методы BucketAccessControls для ведра. Дополнительную информацию см. в разделе Управление доступом, с оговоркой, что этот API использует READER, WRITER и OWNER вместо READ, WRITE и FULL_CONTROL.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- python >= 2.6
- requests >= 2.18.4
- google-auth >= 1.3.0
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| auth_kind строка / обязательно |
| Тип используемых учетных данных. | |
| bucket словарь / обязательно | Название ведра. Это поле представляет ссылку на ресурс Bucket в GCP. Его можно указать двумя способами. Во-первых, вы можете поместить словарь с ключом 'name' и значением имени вашего ресурса. Во-вторых, вы можете добавить `register: name-of-resource` к задаче gcp_storage_bucket, а затем установить это поле bucket со значением "{{ name-of-resource }}" | ||
| entity строка / обязательно | Сущность, владеющая разрешением, в одном из следующих форматов: user-userId user-email group-groupId group-email domain-domain project-team-projectId allUsers allAuthenticatedUsers Примеры: Пользователь liz@example.com будет user-liz@example.com. Группа example@googlegroups.com будет group-example@googlegroups.com. Для ссылки на всех членов домена Google Apps для бизнеса example.com сущностью будет domain-example.com. | ||
| entity_id строка | Идентификатор сущности. | ||
| env_type строка | Указывает, в какой среде Ansible вы выполняете этот модуль. Это не следует устанавливать, если вы не знаете, что делаете. Это только изменяет строку User Agent для любых запросов API. | ||
| project строка | Проект Google Cloud Platform, который необходимо использовать. | ||
| project_team словарь | Команда проекта, связанная с сущностью. | ||
| project_number строка | Команда проекта, связанная с сущностью. | ||
| team строка | Команда. Некоторые допустимые варианты включают: "editors", "owners", "viewers" | ||
| role строка | Разрешение доступа для сущности. Некоторые допустимые варианты включают: "OWNER", "READER", "WRITER" | ||
| scopes список | Массив используемых областей. | ||
| service_account_contents jsonarg | Содержание файла JSON учетной записи службы, либо в виде словаря, либо в виде JSON-строки, его представляющей. | ||
| service_account_email строка | Необязательный адрес электронной почты учетной записи службы, если machineaccount выбрано, и пользователь не хочет использовать адрес по умолчанию. | ||
| service_account_file путь | Путь к файлу JSON учетной записи службы, если serviceaccount выбрано в качестве типа. | ||
| state строка |
| Должен ли данный объект существовать в GCP | |
Примечания
Примечание
- для аутентификации можно установить service_account_file, используя переменную среды c(gcp_service_account_file).
- для аутентификации можно установить service_account_contents, используя переменную среды c(GCP_SERVICE_ACCOUNT_CONTENTS).
- Для аутентификации можно установить service_account_email, используя переменную среды
GCP_SERVICE_ACCOUNT_EMAIL. - Для аутентификации можно установить auth_kind, используя переменную среды
GCP_AUTH_KIND. - Для аутентификации можно установить scopes, используя переменную среды
GCP_SCOPES. - Значения переменных среды будут использоваться только в том случае, если значения в playbook не заданы.
- Параметры service_account_email и service_account_file взаимоисключают друг друга.
Примеры
- name: create a bucket
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 bucket access control
gcp_storage_bucket_access_control:
bucket: "{{ bucket }}"
entity: user-alexstephen@google.com
role: WRITER
project: test_project
auth_kind: serviceaccount
service_account_file: "/tmp/auth.pem"
state: present
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание | |
|---|---|---|---|
| bucket словарь | success | Имя ведра. | |
| domain строка | success | Домен, связанный с сущностью. | |
| email строка | success | Адрес электронной почты, связанный с сущностью. | |
| entity строка | success | Сущность, владеющая разрешением, в одном из следующих форматов: user-userId user-email group-groupId group-email domain-domain project-team-projectId allUsers allAuthenticatedUsers Примеры: Пользователь liz@example.com будет user-liz@example.com. Группа example@googlegroups.com будет group-example@googlegroups.com. Для ссылки на всех членов домена Google Apps для бизнеса example.com сущностью будет domain-example.com. | |
| entityId строка | success | Идентификатор сущности. | |
| id строка | success | Идентификатор записи управления доступом. | |
| projectTeam сложный тип | success | Команда проекта, связанная с сущностью. | |
| projectNumber строка | success | Команда проекта, связанная с сущностью. | |
| team строка | success | Команда. | |
| role строка | success | Разрешение доступа для сущности. | |
Статус
- Этот модуль не гарантирует обратной совместимости интерфейса. [превью]
- Этот модуль поддерживается сообществом Ansible. [community]
Авторы
- Google Inc. (@googlecloudplatform)
Подсказка
Если вы обнаружите какие-либо проблемы в этом руководстве, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.9/modules/gcp_storage_bucket_access_control_module.html