put-bucket-cors
Описание
Примечание
Данная операция не поддерживается для ведер-каталогов.Устанавливает конфигурацию cors для вашего ведра. Если конфигурация существует, Amazon S3 заменяет её.
Для использования этой операции, вы должны иметь разрешение на выполнение действия s3:PutBucketCORS. По умолчанию, владельцу ведра предоставляется это разрешение, и он может предоставить его другим.
Вы устанавливаете эту конфигурацию для ведра, чтобы ведро могло обрабатывать запросы с разных источников. Например, вы можете разрешить запросы, исходящие из источника http://www.example.com, для доступа к вашему ведру Amazon S3 по адресу my.example.bucket.com, используя возможность браузера XMLHttpRequest.
Чтобы включить совместное использование ресурсов с разных источников (CORS) для ведра, вы добавляете подресурс cors к ведру. Подресурс cors представляет собой XML-документ, в котором вы настраиваете правила, определяющие источники и HTTP-методы, которые могут быть выполнены для вашего ведра. Размер документа ограничен 64 КБ.
Когда Amazon S3 получает запрос с разных источников (или предварительный запрос OPTIONS) к ведру, он оценивает конфигурацию cors в ведре и использует первое правило CORSRule, которое соответствует входящему запросу браузера, чтобы разрешить запрос с разных источников. Для соответствия правилу должны быть выполнены следующие условия:
- Заголовок запроса
Originдолжен соответствовать элементамAllowedOrigin. - Метод запроса (например, GET, PUT, HEAD и т. д.) или заголовок
Access-Control-Request-Methodв случае предварительного запросаOPTIONSдолжен быть одним из элементовAllowedMethod. - Каждый заголовок, указанный в заголовке запроса
Access-Control-Request-Headersпредварительного запроса, должен соответствовать элементуAllowedHeader.
Дополнительную информацию о CORS см. в разделе Включение совместного использования ресурсов с разных источников в руководстве пользователя Amazon S3.
Следующие операции связаны с PutBucketCors:
- GetBucketCors
- DeleteBucketCors
- RESTOPTIONSobject
См. также: Документацию API AWS
Синтаксис
put-bucket-cors
--bucket <value>
--cors-configuration <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 (строка)
cors.--cors-configuration (структура)
Описывает конфигурацию доступа с разных источников для объектов в ведре Amazon S3. Дополнительную информацию см. в разделе Включение совместного использования ресурсов с разных источников в руководстве пользователя Amazon S3.
CORSRules -> (список)
Набор источников и методов (доступ с разных источников, который вы хотите разрешить). Вы можете добавить до 100 правил в конфигурацию.
(структура)
Указывает правило доступа с разных источников для ведра Amazon S3.
ID -> (строка)
AllowedHeaders -> (список)
Заголовки, которые указаны в заголовке Access-Control-Request-Headers. Эти заголовки разрешены в предварительном запросе OPTIONS. В ответ на любой предварительный запрос OPTIONS Amazon S3 возвращает любые запрошенные заголовки, которые разрешены.
(строка)
AllowedMethods -> (список)
HTTP-метод, который вы разрешаете источнику выполнять. Допустимые значения: GET , PUT , HEAD , POST и DELETE .
(строка)
AllowedOrigins -> (список)
Один или несколько источников, с которых вы хотите разрешить клиентам доступ к ведру.
(строка)
ExposeHeaders -> (список)
Один или несколько заголовков в ответе, к которым вы хотите разрешить клиентам доступ из своих приложений (например, из объекта JavaScript XMLHttpRequest).
(строка)
MaxAgeSeconds -> (целое число)
Синтаксис JSON:
{
"CORSRules": [
{
"ID": "string",
"AllowedHeaders": ["string", ...],
"AllowedMethods": ["string", ...],
"AllowedOrigins": ["string", ...],
"ExposeHeaders": ["string", ...],
"MaxAgeSeconds": integer
}
...
]
}
--content-md5 (строка)
Базовая 128-битная MD5-дигеста данных, закодированная в Base64. Этот заголовок должен использоваться в качестве проверки целостности сообщения для проверки того, что тело запроса не было повреждено во время передачи. Дополнительную информацию см. в RFC 1864.
Для запросов, отправленных с помощью командной строки Amazon Web Services (CLI) или Amazon Web Services SDK, этот параметр вычисляется автоматически.
--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 (логическое)
Включение отладки.
--endpoint-url (строка)
Переопределяет URL по умолчанию команды заданным URL.
--no-verify-ssl (логическое)
По умолчанию AWS CLI использует SSL при взаимодействии с AWS-сервисами. Для каждого SSL-соединения AWS CLI будет проверять сертификаты SSL. Этот параметр переопределяет поведение по умолчанию проверки SSL-сертификатов.
--no-paginate (логическое)
Отключение автоматической постраничной навигации. Если автоматическая постраничная навигация отключена, AWS CLI выполнит только один вызов для первой страницы результатов.
--output (строка)
Стиль форматирования для вывода команды.
- json
- текст
- таблица
- yaml
- yaml-поток
--query (строка)
Запрос JMESPath для фильтрации данных ответа.
--profile (строка)
Использование определенного профиля из файла учетных данных.
--region (строка)
Используемый регион. Переопределяет настройки конфигурации/среды.
--version (строка)
Вывод версии этого инструмента.
--color (строка)
Включение/выключение цветного вывода.
- включено
- выключено
- автоматически
--no-sign-request (логическое)
Отмена подписи запросов. Учетные данные не будут загружены, если этот аргумент указан.
--ca-bundle (строка)
Файл сертификата CA для проверки SSL-сертификатов. Переопределяет настройки конфигурации/среды.
--cli-read-timeout (целое число)
Максимальное время чтения сокета в секундах. Если значение установлено в 0, чтение сокета будет блокирующим и без таймаута. Значение по умолчанию — 60 секунд.
--cli-connect-timeout (целое число)
Максимальное время подключения сокета в секундах. Если значение установлено в 0, подключение сокета будет блокирующим и без таймаута. Значение по умолчанию — 60 секунд.
--cli-binary-format (строка)
Стиль форматирования, используемый для двоичных блоков. Формат по умолчанию — 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 (логическое)
Отключение пейджера cli для вывода.
--cli-auto-prompt (логическое)
Автоматическое запросить параметры ввода для CLI.
--no-cli-auto-prompt (логическое)
Отключение автоматического запроса параметров ввода для CLI.
Примеры
Примечание
Для использования следующих примеров необходимо установить и настроить AWS CLI. Дополнительную информацию см. в руководстве по началу работы с AWS CLI.
Если не указано иное, во всех примерах используются правила цитирования Unix-подобных систем. Эти примеры необходимо адаптировать к правилам цитирования вашей оболочки. См. Использование кавычек со строками в руководстве пользователя AWS CLI.
В следующем примере включаются запросы PUT, POST и DELETE от www.example.com и включаются запросы GET с любого домена:
aws s3api put-bucket-cors --bucket amzn-s3-demo-bucket --cors-configuration file://cors.json
cors.json:
{
"CORSRules": [
{
"AllowedOrigins": ["http://www.example.com"],
"AllowedHeaders": ["*"],
"AllowedMethods": ["PUT", "POST", "DELETE"],
"MaxAgeSeconds": 3000,
"ExposeHeaders": ["x-amz-server-side-encryption"]
},
{
"AllowedOrigins": ["*"],
"AllowedHeaders": ["Authorization"],
"AllowedMethods": ["GET"],
"MaxAgeSeconds": 3000
}
]
}
Вывод
Нет
© Copyright 2025, Amazon Web Services. Created using Sphinx.