put-bucket-logging
Описание
Примечание
Данная операция не поддерживается для ведер-каталогов.Установите параметры ведения журнала для ведра и укажите разрешения для пользователей, имеющих право просматривать и изменять параметры ведения журнала. Все журналы сохраняются в ведрах в том же регионе Amazon Web Services, что и исходное ведро. Чтобы установить состояние ведения журнала для ведра, вы должны быть владельцем ведра.
Владелец ведра автоматически получает FULL_CONTROL для всех журналов. Вы используете элемент запроса Grantee, чтобы предоставить доступ другим пользователям. Элемент запроса Permissions указывает тип доступа, который получатель имеет к журналам.
Предупреждение
Если целевое ведро для доставки журналов использует настройку владельца ведра для владения объектами S3, вы не можете использовать элемент запроса Grantee, чтобы предоставить доступ другим пользователям. Разрешения могут предоставляться только с помощью политик. Дополнительную информацию см. в разделе Разрешения для доставки журналов серверного доступа в Руководстве пользователя Amazon S3.
Значения получателя
Вы можете указать человека (получателя), которому вы назначаете права доступа (используя элементы запроса), следующими способами:
- По идентификатору пользователя:
<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName> </Grantee>DisplayNameявляется необязательным и игнорируется в запросе. - По адресу электронной почты:
<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="AmazonCustomerByEmail"><EmailAddress><>Grantees@email.com<></EmailAddress></Grantee>Получатель определяется поCanonicalUserи в ответе на запросGETObjectAclотображается как CanonicalUser. - По URI:
<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Group"><URI><>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<></URI></Grantee>
Для включения ведения журнала вы используете элементы запроса LoggingEnabled и его дочерние элементы. Для отключения ведения журнала используйте пустой элемент запроса BucketLoggingStatus:
<BucketLoggingStatus xmlns="http://doc.s3.amazonaws.com/2006-03-01" />Дополнительную информацию о ведении журнала серверного доступа см. в разделе Ведение журнала серверного доступа в Руководстве пользователя Amazon S3.
Дополнительную информацию о создании ведра см. в CreateBucket. Дополнительную информацию о возврате состояния ведения журнала ведра см. в GetBucketLogging.
Следующие операции связаны с PutBucketLogging:
- PutObject
- DeleteBucket
- CreateBucket
- GetBucketLogging
См. также: Документация API AWS
Синтаксис
put-bucket-logging
--bucket <value>
--bucket-logging-status <value>
[--content-md5 <value>]
[--checksum-algorithm <value>]
[--expected-bucket-owner <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
[--debug]
[--endpoint-url <value>]
[--no-verify-ssl]
[--no-paginate]
[--output <value>]
[--query <value>]
[--profile <value>]
[--region <value>]
[--version <value>]
[--color <value>]
[--no-sign-request]
[--ca-bundle <value>]
[--cli-read-timeout <value>]
[--cli-connect-timeout <value>]
[--cli-binary-format <value>]
[--no-cli-pager]
[--cli-auto-prompt]
[--no-cli-auto-prompt]
Параметры
--bucket (строка)
--bucket-logging-status (структура)
Контейнер для информации о состоянии ведения журнала.
LoggingEnabled -> (структура)
Описание места хранения журналов и префикса, который Amazon S3 назначает всем ключам объектов журнала для ведра. Дополнительную информацию см. в разделе PUT Bucket logging в Справочнике по API Amazon S3.
TargetBucket -> (строка)
TargetPrefix для каждого исходного ведра, чтобы файлы журналов, которые доставляются, можно было различить по ключу.TargetGrants -> (список)
Контейнер для предоставления информации.
Ведра, использующие настройку владельца ведра для владения объектами, не поддерживают предоставления прав доступа. Дополнительную информацию см. в разделе Разрешения для доставки журналов серверного доступа в Руководстве пользователя Amazon S3.
(структура)
Контейнер для предоставления информации.
Ведра, использующие настройку владельца ведра для владения объектами, не поддерживают предоставления прав доступа. Дополнительную информацию см. в разделе Разрешения для доставки журналов серверного доступа в Руководстве пользователя Amazon S3.
Grantee -> (структура)
Контейнер для человека, которому предоставляются разрешения.
DisplayName -> (строка)
EmailAddress -> (строка)
Адрес электронной почты получателя.
Примечание
Использование адресов электронной почты для указания получателя поддерживается только в следующих регионах Amazon Web Services:
- US East (N. Virginia)
- US West (N. California)
- US West (Oregon)
- Asia Pacific (Singapore)
- Asia Pacific (Sydney)
- Asia Pacific (Tokyo)
- Europe (Ireland)
- South America (São Paulo)
Список всех поддерживаемых регионов и конечных точек Amazon S3 см. в разделе Регионы и конечные точки в Общей справке Amazon Web Services.
ID -> (строка)
Type -> (строка)
URI -> (строка)
Permission -> (строка)
TargetPrefix -> (строка)
TargetObjectKeyFormat -> (структура)
Формат ключа Amazon S3 для объектов журналов.
SimplePrefix -> (структура)
PartitionedPrefix -> (структура)
Разделенный ключ S3 для объектов журналов.
PartitionDateSource -> (строка)
Указывает источник даты разбиения для разделяемого префикса. PartitionDateSource может быть EventTime или DeliveryTime.
Для DeliveryTime время в именах файлов журналов соответствует времени доставки файлов журналов.
Для EventTime, доставляемые журналы предназначены только для определенного дня. Год, месяц и день соответствуют дню, когда произошло событие, а час, минуты и секунды установлены в 00 в ключе.
Синтаксис JSON:
{
"LoggingEnabled": {
"TargetBucket": "string",
"TargetGrants": [
{
"Grantee": {
"DisplayName": "string",
"EmailAddress": "string",
"ID": "string",
"Type": "CanonicalUser"|"AmazonCustomerByEmail"|"Group",
"URI": "string"
},
"Permission": "FULL_CONTROL"|"READ"|"WRITE"
}
...
],
"TargetPrefix": "string",
"TargetObjectKeyFormat": {
"SimplePrefix": {
},
"PartitionedPrefix": {
"PartitionDateSource": "EventTime"|"DeliveryTime"
}
}
}
}
--content-md5 (строка)
MD5-хеш тела запроса PutBucketLogging.
Для запросов, выполненных с помощью командной строки Amazon Web Services (CLI) или SDK Amazon Web Services, этот параметр вычисляется автоматически.
--checksum-algorithm (строка)
Указывает алгоритм, используемый для создания контрольной суммы для запроса при использовании SDK. Этот заголовок не предоставит никаких дополнительных функций, если вы не используете SDK. При отправке этого заголовка необходимо отправить соответствующий заголовок x-amz-checksum или x-amz-trailer. В противном случае Amazon S3 отклонит запрос с кодом HTTP-статуса 400 Bad Request. Дополнительную информацию см. в разделе Проверка целостности объектов в Руководстве пользователя Amazon S3.
Если вы предоставите индивидуальную контрольную сумму, Amazon S3 проигнорирует любой предоставленный параметр ChecksumAlgorithm.
Возможные значения:
CRC32CRC32CSHA1SHA256CRC64NVME
--expected-bucket-owner (строка)
403 Forbidden (доступ запрещен).--cli-input-json | --cli-input-yaml (строка) Считывает аргументы из предоставленной JSON-строки. JSON-строка следует формату, предоставленному --generate-cli-skeleton. Если другие аргументы предоставлены в командной строке, эти значения переопределят значения, предоставленные JSON. Невозможно передавать произвольные двоичные значения с помощью значения, предоставленного JSON, так как строка будет интерпретироваться буквально. Это не может быть указано вместе с --cli-input-yaml.
--generate-cli-skeleton (строка) Выводит JSON-скелет в стандартный вывод без отправки запроса API. Если предоставлено значение по умолчанию или значение input, выводит пример входного JSON, который можно использовать в качестве аргумента для --cli-input-json. Аналогично, если предоставлено значение yaml-input, он выведет пример входного YAML, который можно использовать с --cli-input-yaml. Если предоставлено значение output, он проверит входные данные команд и вернет пример выходного JSON для данной команды. Сгенерированный JSON-скелет не стабилен между версиями AWS CLI, и нет гарантий обратной совместимости в сгенерированном JSON-скелете.
Общие параметры
--debug (boolean)
Включить отладочную запись журнала.
--endpoint-url (string)
Переопределить URL по умолчанию команды заданным URL.
--no-verify-ssl (boolean)
По умолчанию AWS CLI использует SSL при взаимодействии с AWS-сервисами. Для каждого SSL-соединения AWS CLI будет проверять сертификаты SSL. Этот параметр переопределяет поведение проверки сертификатов SSL по умолчанию.
--no-paginate (boolean)
Отключить автоматическую постраничность. Если автоматическая постраничность отключена, AWS CLI выполнит только один вызов для первой страницы результатов.
--output (string)
Стиль форматирования вывода команд.
- json
- text
- table
- yaml
- yaml-stream
--query (string)
Запрос JMESPath для фильтрации данных ответа.
--profile (string)
Использовать определенный профиль из файла учетных данных.
--region (string)
Регион для использования. Переопределяет настройки конфигурации/окружения.
--version (string)
Отобразить версию этого инструмента.
--color (string)
Включить/выключить цветной вывод.
- on
- off
- auto
--no-sign-request (boolean)
Не подписывать запросы. Учетные данные не будут загружены, если этот аргумент предоставлен.
--ca-bundle (string)
Файл сертификатов CA для проверки SSL-сертификатов. Переопределяет настройки конфигурации/окружения.
--cli-read-timeout (int)
Максимальное время чтения сокета в секундах. Если значение установлено в 0, чтение сокета будет выполняться блокирующим образом без таймаута. Значение по умолчанию — 60 секунд.
--cli-connect-timeout (int)
Максимальное время подключения сокета в секундах. Если значение установлено в 0, подключение сокета будет выполняться блокирующим образом без таймаута. Значение по умолчанию — 60 секунд.
--cli-binary-format (string)
Стиль форматирования, используемый для бинарных блоков. Формат по умолчанию — base64. Формат base64 ожидает, что бинарные блоки будут предоставлены как строка, закодированная в base64. Формат raw-in-base64-out сохраняет совместимость с поведением AWS CLI V1, и бинарные значения должны передаваться буквально. При предоставлении содержимого из файла, соответствующего бинарному блоку fileb:// всегда будет обрабатываться как бинарное и будет использовать содержимое файла напрямую независимо от настройки cli-binary-format. При использовании file:// содержимое файла должно быть должным образом отформатировано для настроенного cli-binary-format.
- base64
- raw-in-base64-out
--no-cli-pager (boolean)
Отключить вывод страницы cli.
--cli-auto-prompt (boolean)
Автоматически запрашивать параметры ввода CLI.
--no-cli-auto-prompt (boolean)
Отключить автоматическое запросы параметров ввода CLI.
Примеры
Примечание
Для использования следующих примеров необходимо установить и настроить AWS CLI. Дополнительную информацию см. в руководстве по началу работы в руководстве пользователя AWS CLI.
Если не указано иное, все примеры используют правила цитирования Unix-подобных систем. Эти примеры необходимо адаптировать к правилам цитирования вашей оболочки. См. Использование кавычек со строками в руководстве пользователя AWS CLI.
Пример 1: Настройка ведения журнала политики ведра
В следующем put-bucket-logging примере настраивается политика ведения журнала для amzn-s3-demo-bucket. Сначала предоставьте службе ведения журнала разрешение в политике ведра, используя команду put-bucket-policy.
aws s3api put-bucket-policy \
--bucket amzn-s3-demo-bucket \
--policy file://policy.json
Содержание policy.json:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "S3ServerAccessLogsPolicy",
"Effect": "Allow",
"Principal": {"Service": "logging.s3.amazonaws.com"},
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::amzn-s3-demo-bucket/Logs/*",
"Condition": {
"ArnLike": {"aws:SourceARN": "arn:aws:s3:::SOURCE-BUCKET-NAME"},
"StringEquals": {"aws:SourceAccount": "SOURCE-AWS-ACCOUNT-ID"}
}
}
]
}
Чтобы применить политику ведения журнала, используйте put-bucket-logging.
aws s3api put-bucket-logging \
--bucket amzn-s3-demo-bucket \
--bucket-logging-status file://logging.json
Содержание logging.json:
{
"LoggingEnabled": {
"TargetBucket": "amzn-s3-demo-bucket",
"TargetPrefix": "Logs/"
}
}
Примечание
Командаput-bucket-policy требуется для предоставления разрешений s3:PutObject службе ведения журнала.Дополнительную информацию см. в разделе Ведение журнала доступа сервера Amazon S3 в Руководстве пользователя Amazon S3.
Пример 2: Настройка политики ведра для доступа к журналу только одного пользователя
В следующем put-bucket-logging примере настраивается политика ведения журнала для amzn-s3-demo-bucket. Пользователь AWS bob@example.com будет иметь полный доступ к файлам журнала, а у других пользователей доступа не будет. Сначала предоставьте разрешения S3 с помощью put-bucket-acl.
aws s3api put-bucket-acl \
--bucket amzn-s3-demo-bucket \
--grant-write URI=http://acs.amazonaws.com/groups/s3/LogDelivery \
--grant-read-acp URI=http://acs.amazonaws.com/groups/s3/LogDelivery
Затем применить политику ведения журнала, используя put-bucket-logging.
aws s3api put-bucket-logging \
--bucket amzn-s3-demo-bucket \
--bucket-logging-status file://logging.json
Содержание logging.json:
{
"LoggingEnabled": {
"TargetBucket": "amzn-s3-demo-bucket",
"TargetPrefix": "amzn-s3-demo-bucket-logs/",
"TargetGrants": [
{
"Grantee": {
"Type": "AmazonCustomerByEmail",
"EmailAddress": "bob@example.com"
},
"Permission": "FULL_CONTROL"
}
]
}
}
Примечание
Командаput-bucket-acl требуется для предоставления системе доставки журналов S3 необходимых разрешений (разрешений на запись и чтение-acp).Дополнительную информацию см. в разделе Ведение журнала доступа сервера Amazon S3 в Руководстве разработчика Amazon S3.
Вывод
Нет данных
© Copyright 2025, Amazon Web Services. Created using Sphinx.