Модуль amazon.aws.s3_bucket — Управление S3-бакетами в AWS, DigitalOcean, Ceph, Walrus, FakeS3 и StorageGRID
Примечание
Этот модуль является частью коллекции amazon.aws (версия 8.2.1).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить её установку, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install amazon.aws. Для использования этого модуля необходимы дополнительные требования, см. Требования для получения подробностей.
Для использования в плейбуке укажите: amazon.aws.s3_bucket.
Добавлен в amazon.aws 1.0.0
Обзор
- Управление S3-бакетами.
- Совместим с AWS, DigitalOcean, Ceph, Walrus, FakeS3 и StorageGRID.
- При использовании не-AWS сервисов, необходимо указать
endpoint_url.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- python >= 3.6
- boto3 >= 1.26.0
- botocore >= 1.29.0
Параметры
Параметр | Комментарии |
|---|---|
accelerate_enabled boolean добавлено в amazon.aws 8.1.0 | Включает ускорение передачи данных Amazon S3, отправленные данные будут маршрутизироваться в Amazon S3 по оптимизированному сетевому пути. Ускорение передачи недоступно в AWS GovCloud (США). См. https://docs.aws.amazon.com/govcloud-us/latest/UserGuide/govcloud-s3.html#govcloud-S3-diffs. Варианты:
|
access_key псевдонимы: aws_access_key_id, aws_access_key, ec2_access_key string | Идентификатор ключа доступа AWS. См. документацию AWS для получения дополнительной информации о токенах доступа https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys. Переменные среды Параметры aws_access_key и profile являются взаимоисключающими. Псевдоним aws_access_key_id был добавлен в релизе 5.1.0 для согласованности с SDK AWS botocore. Псевдоним ec2_access_key устарел и будет удален в релизе после 2024-12-01. Поддержка переменной среды |
acl string добавлено в amazon.aws 3.1.0 | Заранее определенный ACL для применения к бакету. Если ваш бакет использует настройку, принудительно применяемую владельцем бакета, для права собственности на объекты S3, ACL отключены и больше не влияют на разрешения. Варианты:
|
aws_ca_bundle path | Расположение пакета CA для использования при проверке SSL-сертификатов. Переменная среды |
aws_config dictionary | Словарь для изменения конфигурации botocore. Параметры можно найти в документации AWS https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config. |
bucket_key_enabled boolean добавлено в amazon.aws 4.1.0 | Включить ключи S3 Bucket для SSE-KMS для новых объектов. См. документацию AWS для получения дополнительной информации https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-key.html. Шифрование ключом Bucket поддерживается только если Варианты:
|
ceph псевдонимы: rgw boolean | Включить совместимость API с Ceph RGW. Учитывает подмножество API S3, работающее с Ceph, чтобы обеспечить одинаковое поведение модуля, где это возможно. Требуется Варианты:
|
debug_botocore_endpoint_logs boolean | Использовать Переменная среды Варианты:
|
delete_object_ownership boolean добавлено в amazon.aws 2.0.0 | Удалить элементы управления правом собственности на бакет. Этот параметр не может использоваться вместе с определением Варианты:
|
delete_public_access boolean добавлено в amazon.aws 1.3.0 | Удалить конфигурацию блокировки публичного доступа из бакета. Этот параметр не может использоваться вместе с определением Варианты:
|
dualstack boolean добавлено в amazon.aws 6.0.0 | Включает конечные точки Amazon S3 Dual-Stack, позволяющие S3-связи использовать как IPv4, так и IPv6. Взаимоисключающий с Варианты:
|
encryption string | Описывает шифрование на стороне сервера по умолчанию, которое нужно применить к новым объектам в бакете. Чтобы удалить шифрование на стороне сервера, шифрование необходимо явно установить в значение «none». Примечание. С января 2023 года Amazon S3 не поддерживает отключение шифрования в бакетах S3. Варианты:
|
encryption_key_id string | Идентификатор основного ключа KMS для использования для шифрования по умолчанию. Если не указано, то по умолчанию будет использоваться ключ KMS, предоставленный AWS. Этот параметр поддерживается только если |
endpoint_url aliases: ec2_url, aws_endpoint_url, s3_url string | URL для подключения вместо стандартных конечных точек AWS. Хотя это можно использовать для подключения к другим совместимым с AWS сервисам, коллекции amazon.aws и community.aws тестируются только с AWS. Также могут использоваться переменные среды Псевдонимы ec2_url и s3_url устарели и будут удалены в релизе после 2024-12-01. Поддержка переменной среды |
force boolean | При попытке удалить корзину, сначала удалите все ключи (включая версии и метки удаления) в корзине (корзина S3 должна быть пустой для успешного удаления). Варианты:
|
inventory list / elements=dictionary | Включить инвентаризацию S3, сохраняя список объектов и их соответствующих метаданных ежедневно или еженедельно для корзины S3. |
|
destination dictionary / required |
Содержит информацию о том, куда публиковать результаты инвентаризации. |
|
account_id string |
Идентификатор учетной записи, которой принадлежит целевое хранилище S3. Если идентификатор учетной записи не указан, владелец не проверяется перед экспортом данных. |
|
bucket string / required |
Универсальное имя ресурса (ARN) корзины, в которую будут опубликованы результаты инвентаризации. |
|
format string / required |
Указывает выходной формат результатов инвентаризации. Варианты:
|
|
prefix string |
Префикс, который добавляется ко всем результатам инвентаризации. |
|
filter string |
Префикс, который должен иметь объект, чтобы быть включенным в результаты инвентаризации. |
|
id string / required |
Идентификатор, используемый для идентификации конфигурации инвентаризации. |
|
included_object_versions string / required |
Версии объектов, которые нужно включить в список инвентаризации. Если установлено значение All, список включает все версии объектов, что добавляет в список поля, связанные с версиями: VersionId, IsLatest и DeleteMarker. Если установлено значение Current, список не содержит этих полей, связанных с версиями. Варианты:
|
|
optional_fields list / elements=string |
Содержит дополнительные поля, которые включены в результаты инвентаризации. Варианты:
|
|
schedule string / required |
Указывает расписание для генерации результатов инвентаризации. Варианты:
|
name string / required | Название корзины S3. |
object_lock_default_retention dictionary добавлено в amazon.aws 8.1.0 | Конфигурация блокировки объектов по умолчанию, которая будет применяться по умолчанию к каждому новому объекту, размещенному в указанной корзине. Должно быть включено Политику хранения блокировки объектов нельзя удалить. |
|
days integer |
Количество дней, которое вы хотите указать для периода хранения по умолчанию. Взаимоисключающе с |
|
mode string / required |
Тип режимов хранения. Варианты:
|
|
years integer |
Количество лет, которое вы хотите указать для периода хранения по умолчанию. Взаимоисключающе с |
object_lock_enabled boolean added in amazon.aws 5.3.0 | Включить S3 Object Lock. По умолчанию Варианты:
|
object_ownership string added in amazon.aws 2.0.0 | Разрешить контроль владения ведром.
Этот параметр нельзя использовать вместе с определением
Примечание: В конце апреля 2023 года Amazon обновил значение по умолчанию на Варианты:
|
policy json | Политика в формате JSON в виде строки. Установите строку |
profile aliases: aws_profile string | Используемый именованный профиль AWS для аутентификации. Дополнительную информацию об именованных профилях см. в документации AWS https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html. Также можно использовать переменную среды Параметр profile взаимоисключает параметры aws_access_key, aws_secret_key и security_token. |
public_access dictionary added in amazon.aws 1.3.0 | Настройка блокировки публичного доступа для ведра S3. Этот параметр нельзя использовать вместе с Примечание: В конце апреля 2023 года Amazon обновил значения по умолчанию, заблокировав публичный доступ по умолчанию. Хотя значения по умолчанию для этого модуля не изменились, необходимо явно указать параметр |
|
block_public_acls boolean |
Устанавливает значение BlockPublicAcls. Варианты:
|
|
block_public_policy boolean |
Устанавливает значение BlockPublicPolicy. Варианты:
|
|
ignore_public_acls boolean |
Устанавливает значение IgnorePublicAcls. Варианты:
|
|
restrict_public_buckets boolean |
Устанавливает значение RestrictPublicAcls. Варианты:
|
purge_tags boolean | Если purge_tags=true и tags задано, существующие теги будут удалены, чтобы точно соответствовать параметру tags. Если параметр tags не задан, теги не будут изменены, даже если purge_tags=True. Ключи тегов, начинающиеся с Варианты:
|
region aliases: aws_region, ec2_region string | Используемый регион AWS. Для глобальных сервисов, таких как IAM, Route53 и CloudFront, region игнорируется. Также можно использовать переменные среды Дополнительную информацию см. в документации Amazon AWS http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region. Псевдоним Поддержка переменной среды |
requester_pays boolean | В ведрах с оплатой за запрос оплату за запрос и загрузку данных из ведра вместо владельца ведра. Варианты:
|
secret_key aliases: aws_secret_access_key, aws_secret_key, ec2_secret_key string | Секретный ключ доступа AWS. См. документацию AWS для получения дополнительной информации о маркерах доступа https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys. Также можно использовать переменные среды Параметры secret_key и profile взаимоисключающие. Псевдоним aws_secret_access_key был добавлен в релизе 5.1.0 для соответствия SDK botocore AWS. Псевдоним ec2_secret_key устарел и будет удален в релизе после 2024-12-01. Поддержка переменной среды |
session_token aliases: aws_session_token, security_token, aws_security_token, access_token string | Токен сеанса AWS STS для использования с временными учетными данными. См. документацию AWS для получения дополнительной информации о маркерах доступа https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys. Также можно использовать переменные среды Параметры security_token и profile взаимоисключающие. Псевдонимы aws_session_token и session_token были добавлены в релизе 3.2.0, а параметр был переименован из security_token в session_token в релизе 6.0.0. Псевдонимы security_token, aws_security_token и access_token устарели и будут удалены в релизе после 2024-12-01. Поддержка переменных среды |
state string | Создать или удалить ведро S3. Варианты:
|
tags aliases: resource_tags dictionary | Словарь, представляющий теги, которые будут применены к ресурсу. Если параметр tags не задан, теги не будут изменены. |
validate_bucket_name boolean добавлено в amazon.aws 3.1.0 | Следует ли проверять имя ведра на соответствие правилам именования AWS S3. Включено по умолчанию, может быть отключено для S3-бекендов, которые не применяют эти правила. См. https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html. Варианты:
|
validate_certs boolean | При установке в значение Установка validate_certs=false категорически не рекомендуется, как альтернатива, рассмотрите возможность установки aws_ca_bundle вместо этого. Варианты:
|
versioning boolean | Включить или отключить версионирование (обратите внимание, что после включения версионирования его можно только приостановить). Варианты:
|
Примечания
Примечание
- Если
requestPayment,policy,taggingилиversioningоперации/API не реализованы на конечной точке, модуль не завершается ошибкой, если каждый параметр удовлетворяет следующему условию.requester_paysравноfalse,policy,tags, иversioningравныNone. - В релизе 5.0.0 параметр
s3_urlбыл объединен в параметрendpoint_url,s3_urlостается псевдонимом дляendpoint_url. - Для Walrus
endpoint_urlдолжно быть установлено в FQDN конечной точки без схемы и пути. - Поддержка переменной среды
S3_URLустарела и будет удалена в релизе после 2024-12-01, используйте параметрendpoint_urlили переменную средыAWS_URL. - Внимание: Для модулей переменные среды и файлы конфигурации считываются из контекста Ansible «хост» (host), а не из контекста «контроллер» (controller). Поэтому файлы, возможно, нужно будет явно скопировать на «хост». Для плагинов поиска (lookup) и подключения (connection) переменные среды и файлы конфигурации считываются из контекста Ansible «контроллер», а не «хост».
- AWS SDK (boto3), который используется Ansible, также может считывать значения по умолчанию для учетных данных и других настроек, таких как регион, из файлов конфигурации в контексте Ansible «хост» (обычно
~/.aws/credentials). См. https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html для получения дополнительной информации.
Примеры
# Note: These examples do not set authentication details, see the AWS Guide for details.
# Create a simple S3 bucket
- amazon.aws.s3_bucket:
name: mys3bucket
state: present
# Create a simple S3 bucket on Ceph Rados Gateway
- amazon.aws.s3_bucket:
name: mys3bucket
endpoint_url: http://your-ceph-rados-gateway-server.xxx
ceph: true
# Remove an S3 bucket and any keys it contains
- amazon.aws.s3_bucket:
name: mys3bucket
state: absent
force: true
# Create a bucket, add a policy from a file, enable requester pays, enable versioning and tag
- amazon.aws.s3_bucket:
name: mys3bucket
policy: "{{ lookup('file','policy.json') }}"
requester_pays: true
versioning: true
tags:
example: tag1
another: tag2
# Create a simple DigitalOcean Spaces bucket using their provided regional endpoint
- amazon.aws.s3_bucket:
name: mydobucket
endpoint_url: 'https://nyc3.digitaloceanspaces.com'
# Create a bucket with AES256 encryption
- amazon.aws.s3_bucket:
name: mys3bucket
state: present
encryption: "AES256"
# Create a bucket with aws:kms encryption, KMS key
- amazon.aws.s3_bucket:
name: mys3bucket
state: present
encryption: "aws:kms"
encryption_key_id: "arn:aws:kms:us-east-1:1234/5678example"
# Create a bucket with aws:kms encryption, Bucket key
- amazon.aws.s3_bucket:
name: mys3bucket
bucket_key_enabled: true
encryption: "aws:kms"
# Create a bucket with aws:kms encryption, default key
- amazon.aws.s3_bucket:
name: mys3bucket
state: present
encryption: "aws:kms"
# Create a bucket with public policy block configuration
- amazon.aws.s3_bucket:
name: mys3bucket
state: present
public_access:
block_public_acls: true
ignore_public_acls: true
## keys == 'false' can be omitted, undefined keys defaults to 'false'
# block_public_policy: false
# restrict_public_buckets: false
# Delete public policy block from bucket
- amazon.aws.s3_bucket:
name: mys3bucket
state: present
delete_public_access: true
# Create a bucket with object ownership controls set to ObjectWriter
- amazon.aws.s3_bucket:
name: mys3bucket
state: present
object_ownership: ObjectWriter
# Delete onwership controls from bucket
- amazon.aws.s3_bucket:
name: mys3bucket
state: present
delete_object_ownership: true
# Delete a bucket policy from bucket
- amazon.aws.s3_bucket:
name: mys3bucket
state: present
policy: "null"
# This example grants public-read to everyone on bucket using ACL
- amazon.aws.s3_bucket:
name: mys3bucket
state: present
acl: public-read
# Enable transfer acceleration
- amazon.aws.s3_bucket:
name: mys3bucket
state: present
accelerate_enabled: true
# Default Object Lock retention
- amazon.aws.s3_bucket:
name: mys3bucket
state: present
object_lock_enabled: true
object_lock_default_retention:
mode: governance
days: 1
# Bucket with inventory configuration:
- amazon.aws.s3_bucket:
name: mys3bucket
state: present
inventory:
- id: mys3bucket-inventory-id
destination:
bucket: "arn:aws:s3:::mys3inventorybucket"
optional_fields:
- "Size"
included_object_versions: "All"
schedule: "Weekly"
Значения возврата
Общие значения возврата документированы здесь, следующие являются полями, уникальными для этого модуля:
Ключ | Описание |
|---|---|
accelerate_enabled boolean | |
acl dictionary | Стандартный ACL-список доступа бакета S3. Возвращаемое значение: при Пример: |
bucket_inventory list / elements=string | Настройка инвентаризации бакета S3. Возвращаемое значение: при Пример: |
encryption dictionary | Шифрование объектов на стороне сервера в S3-бакете. Возвращаемое значение: при Пример: |
name string | |
object_lock_default_retention dictionary | Политика удержания записей бакета S3. Возвращаемое значение: при Пример: |
object_lock_enabled boolean | |
object_ownership string | Управление правами собственности на S3-бакет. Возвращаемое значение: при Пример: |
policy dictionary | Политика бакета S3. Возвращаемое значение: при Пример: |
public_access_block dictionary | Настройка блокировки публичного доступа к пакету. Возвращаемое значение: при Пример: |
|
PublicAccessBlockConfiguration dictionary |
Настройки блокировки публичного доступа к Amazon S3-бакету. Возвращаемое значение: успех |
|
BlockPublicAcls boolean |
Указывает, нужно ли Amazon S3 блокировать списки доступа (ACL) для публичного доступа для данного бакета и объектов в этом бакете. Возвращаемое значение: успех |
|
BlockPublicPolicy boolean |
Указывает, нужно ли Amazon S3 блокировать политики бакетов для публичного доступа для данного бакета. Возвращаемое значение: успех |
|
IgnorePublicAcls boolean |
Указывает, нужно ли Amazon S3 игнорировать списки доступа (ACL) для публичного доступа для данного бакета и объектов в этом бакете. Возвращаемое значение: успех |
|
RestrictPublicBuckets boolean |
Указывает, нужно ли Amazon S3 ограничивать политики бакетов для публичного доступа для данного бакета. Возвращаемое значение: успех |
requester_pays boolean | Указывает, что запрос успешно оплачен запрашивающим. Возвращаемое значение: при Пример: |
tags dictionary |
versioning dictionary | Настройка версионирования ведра S3. Возвращается: когда Пример: |
|
MfaDelete string |
Указывает, включена ли функция MFA delete в настройках версионирования ведра. Возвращается: когда |
|
Versioning string |
Состояние версионирования ведра. Возвращается: всегда |
Ссылки на коллекцию
© 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/amazon/aws/s3_bucket_module.html