Модуль google.cloud.gcp_storage_bucket_access_control — создание BucketAccessControl в GCP
Примечание
Этот модуль входит в коллекцию google.cloud (версия 1.13.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install google.cloud. Для использования этого модуля требуются дополнительные компоненты; подробности см. в разделе Требования.
Чтобы использовать модуль в плейбуке, укажите: google.cloud.gcp_storage_bucket_access_control.
Краткое описание
- Ресурс BucketAccessControls представляет списки контроля доступа (ACL) для сегментов в Google Cloud Storage. ACL позволяют указать, кто имеет доступ к вашим данным и в какой степени.
- Сущности можно назначить одну из трех ролей: READER могут получать сведения о сегменте (свойство acl при этом не возвращается) и просматривать список объектов сегмента. WRITER обладают правами READER и могут добавлять объекты в сегмент и удалять объекты из него. OWNER обладают правами WRITER и могут получать свойство acl сегмента, обновлять сегмент и вызывать все методы BucketAccessControls для сегмента. Дополнительные сведения см. в разделе «Контроль доступа»; обратите внимание, что этот API использует роли READER, WRITER и OWNER вместо READ, WRITE и FULL_CONTROL.
Требования
На хосте, выполняющем этот модуль, должны быть установлены следующие компоненты.
- python >= 2.6
- requests >= 2.18.4
- google-auth >= 1.3.0
Параметры
Параметр | Комментарии |
|---|---|
access_token string | Токен доступа OAuth2, если тип учетных данных — accesstoken. |
auth_kind string / обязательный | Тип используемых учетных данных. Варианты:
|
bucket dictionary / обязательный | Имя сегмента. Это поле представляет ссылку на ресурс Bucket в GCP. Его можно задать двумя способами. Во-первых, можно указать словарь с ключом ‘name’ и значением, равным имени ресурса. Также можно добавить `register: name-of-resource` в задачу gcp_storage_bucket, а затем задать для этого поля bucket значение “{{ name-of-resource }}” |
entity string / обязательный | Сущность, которой предоставляется разрешение, в одном из следующих форматов: 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 for Business example.com, используйте сущность domain-example.com. |
env_type string | Указывает, в какой среде Ansible выполняется этот модуль. Не задавайте это значение, если не знаете, что делаете. Этот параметр влияет только на строку User Agent для запросов к API. |
project string | Проект Google Cloud Platform, который нужно использовать. |
role string | Разрешение на доступ для сущности. Допустимые варианты: “OWNER”, “READER”, “WRITER” |
scopes list / элементы=string | Массив областей доступа для использования |
service_account_contents jsonarg | Содержимое JSON-файла учетной записи службы в виде словаря или JSON-строки, представляющей его. |
service_account_email string | Необязательный адрес электронной почты учетной записи службы, если выбрано machineaccount и пользователь не хочет использовать адрес по умолчанию. |
service_account_file path | Путь к JSON-файлу учетной записи службы, если в качестве типа выбрано serviceaccount. |
state string | Должен ли указанный объект существовать в GCP Варианты:
|
Примечания
Примечание
- Справочник по API: https://cloud.google.com/storage/docs/json_api/v1/bucketAccessControls
- Официальная документация: https://cloud.google.com/storage/docs/access-control/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. - Значения переменных окружения используются только в том случае, если значения не заданы в плейбуке.
- Параметры 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 bucket access control
google.cloud.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 dictionary | Имя сегмента. Возвращается: при успешном выполнении |
domain string | Домен, связанный с сущностью. Возвращается: при успешном выполнении |
string | Адрес электронной почты, связанный с сущностью. Возвращается: при успешном выполнении |
entity string | Сущность, которой предоставляется разрешение, в одном из следующих форматов: 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 for Business example.com, используйте сущность domain-example.com. Возвращается: при успешном выполнении |
entityId string | Идентификатор сущности. Возвращается: при успешном выполнении |
id string | Идентификатор записи контроля доступа. Возвращается: при успешном выполнении |
projectTeam complex | Команда проекта, связанная с сущностью. Возвращается: при успешном выполнении |
|
projectNumber string |
Команда проекта, связанная с сущностью. Возвращается: при успешном выполнении |
|
team string |
Команда. Возвращается: при успешном выполнении |
role string | Разрешение на доступ для сущности. Возвращается: при успешном выполнении |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/google/cloud/gcp_storage_bucket_access_control_module.html