Spec-Zone.ru › Ansible

Модуль 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 / обязательный

Тип используемых учетных данных.

Варианты:

  • "application"
  • "machineaccount"
  • "serviceaccount"
  • "accesstoken"

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

Варианты:

  • "present" ← (по умолчанию)
  • "absent"

Примечания

Примечание

  • Справочник по 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

Домен, связанный с сущностью.

Возвращается: при успешном выполнении

email

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

Разрешение на доступ для сущности.

Возвращается: при успешном выполнении

Авторы

  • Google Inc. (@googlecloudplatform)

Ссылки на коллекцию

  • Отслеживание проблем
  • Главная страница
  • Репозиторий (исходный код)

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API