получение ключей контекста для пользовательской политики
Описание
Получает список всех ключей контекста, на которые ссылаются входные политики. Политики предоставляются в виде списка из одной или нескольких строк. Чтобы получить ключи контекста из политик, связанных с пользователем IAM, группой или ролью, используйте GetContextKeysForPrincipalPolicy.
Ключи контекста — это переменные, поддерживаемые Amazon Web Services и его сервисами, которые предоставляют подробности о контексте запроса API. Ключи контекста могут быть оценены путем проверки на соответствие значению, указанному в политике IAM. Используйте GetContextKeysForCustomPolicy, чтобы понять, какие имена и значения ключей необходимо указать при вызове SimulateCustomPolicy. Обратите внимание, что все параметры здесь показаны в некодированном виде для ясности, но для включения в реальный HTML-запрос их необходимо закодировать в URL.
См. также: Документацию по API AWS
Синтаксис
get-context-keys-for-custom-policy
--policy-input-list <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]
Параметры
--policy-input-list (список)
Список политик, для которых требуется список ключей контекста, на которые ссылаются эти политики. Каждый документ задается строкой, содержащей полный, допустимый текст JSON политики IAM.
Шаблон регулярных выражений, используемый для проверки этого параметра, представляет собой строку символов, состоящую из следующего:
- Любой печатный ASCII-символ, начиная с пробела (
\u0020) и до конца диапазона ASCII-символов - Печатные символы набора символов Basic Latin и Latin-1 Supplement (до
\u00FF) - Специальные символы табуляции (
\u0009), новой строки (\u000A) и возврата каретки (\u000D)
(строка)
Синтаксис:
"string" "string" ...
--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.
Пример 1: Чтобы перечислить ключи контекста, на которые ссылаются одна или несколько пользовательских JSON-политик, предоставленных в качестве параметра на командной строке
Следующая команда get-context-keys-for-custom-policy анализирует каждую предоставленную политику и перечисляет ключи контекста, используемые этими политиками. Используйте эту команду для определения того, какие значения ключей контекста необходимо предоставить для успешного использования команд симулятора политики simulate-custom-policy и simulate-custom-policy. Вы также можете получить список ключей контекста, используемых всеми политиками, связанными с пользователем IAM или ролью, с помощью команды get-context-keys-for-custom-policy. Значения параметров, начинающиеся с file://, указывают команде считать файл и использовать содержимое в качестве значения параметра вместо имени файла самого.
aws iam get-context-keys-for-custom-policy \
--policy-input-list '{"Version":"2012-10-17","Statement":{"Effect":"Allow","Action":"dynamodb:*","Resource":"arn:aws:dynamodb:us-west-2:123456789012:table/${aws:username}","Condition":{"DateGreaterThan":{"aws:CurrentTime":"2015-08-16T12:00:00Z"}}}}'
Вывод:
{
"ContextKeyNames": [
"aws:username",
"aws:CurrentTime"
]
}
Пример 2: Чтобы перечислить ключи контекста, на которые ссылаются одна или несколько пользовательских JSON-политик, предоставленных в качестве входного файла
Следующая команда get-context-keys-for-custom-policy аналогична предыдущему примеру, за исключением того, что политики предоставляются в файле вместо параметра. Поскольку команда ожидает JSON-список строк, а не список JSON-структур, файл должен быть структурирован следующим образом, хотя вы можете его свернуть в один.
[
"Policy1",
"Policy2"
]
Например, файл, содержащий политику из предыдущего примера, должен выглядеть следующим образом. Необходимо экранировать каждую вложенную двойную кавычку внутри строки политики, предваряя ее обратной косой чертой '\'.
[ "{\"Version\": \"2012-10-17\", \"Statement\": {\"Effect\": \"Allow\", \"Action\": \"dynamodb:*\", \"Resource\": \"arn:aws:dynamodb:us-west-2:128716708097:table/${aws:username}\", \"Condition\": {\"DateGreaterThan\": {\"aws:CurrentTime\": \"2015-08-16T12:00:00Z\"}}}}" ]
Этот файл можно затем подать в следующую команду.
aws iam get-context-keys-for-custom-policy \
--policy-input-list file://policyfile.json
Вывод:
{
"ContextKeyNames": [
"aws:username",
"aws:CurrentTime"
]
}
Дополнительную информацию см. в разделе Использование симулятора политики IAM (AWS CLI и API AWS) в руководстве пользователя AWS IAM.
Вывод
ContextKeyNames -> (список)
Список ключей контекста, на которые ссылаются входные политики.
(строка)
© Copyright 2025, Amazon Web Services. Created using Sphinx.