Spec-Zone.ru › AWS CLI v2

[ aws . kms ]

create-grant

Описание

Добавляет разрешение (grant) к ключу KMS.

Разрешение — это инструмент политики, который позволяет принципалам Amazon Web Services использовать ключи KMS в криптографических операциях. Он также может разрешать им просматривать ключ KMS (DescribeKey), создавать и управлять разрешениями. При авторизации доступа к ключу KMS разрешения учитываются вместе с политиками ключа и политиками IAM. Разрешения часто используются для временных разрешений, поскольку вы можете создать их, использовать их разрешения и удалить их, не изменяя политики ключа или политики IAM.

Подробную информацию о разрешениях, включая терминологию разрешений, см. в разделе Разрешения в KMS в *руководстве разработчика службы управления ключами* (*Key Management Service Developer Guide*). Примеры работы с разрешениями на нескольких языках программирования см. в разделе Программирование разрешений.

Операция CreateGrant возвращает GrantToken и GrantId.

  • При создании, приостановке или отмене разрешения может возникнуть кратковременная задержка, обычно менее пяти минут, пока разрешение не станет доступным во всей системе KMS. Это состояние известно как постепенная согласованность. После достижения постепенной согласованности, принципал-получатель может использовать разрешения в разрешении, не идентифицируя его. Однако для немедленного использования разрешений в разрешении воспользуйтесь GrantToken, которое возвращает CreateGrant. Подробнее см. в разделе Использование маркера разрешения в *руководстве разработчика службы управления ключами* (*Key Management Service Developer Guide*).
  • Операция CreateGrant также возвращает GrantId. Вы можете использовать GrantId и идентификатор ключа для идентификации разрешения в операциях RetireGrant и RevokeGrant. Чтобы найти идентификатор разрешения, используйте операции ListGrants или ListRetirableGrants.

Ключ KMS, который вы используете для этой операции, должен быть в совместимом состоянии. Подробнее см. в разделе Состояния ключей KMS в *руководстве разработчика службы управления ключами* (*Key Management Service Developer Guide*).

Использование в разных учетных записях : Да. Чтобы выполнить эту операцию с ключом KMS в другой учетной записи Amazon Web Services, укажите ARN ключа в значении параметра KeyId.

Требуемые разрешения : kms:CreateGrant (политика ключа)

Связанные операции :

  • ListGrants
  • ListRetirableGrants
  • RetireGrant
  • RevokeGrant
Постепенная согласованность : API KMS использует модель постепенной согласованности. Дополнительную информацию см. в разделе Постепенная согласованность KMS.

См. также: Документация API AWS

Синтаксис

  create-grant
--key-id <value>
--grantee-principal <value>
[--retiring-principal <value>]
--operations <value>
[--constraints <value>]
[--grant-tokens <value>]
[--name <value>]
[--dry-run | --no-dry-run]
[--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]

Параметры

--key-id (строка)

Идентифицирует ключ KMS для разрешения. Разрешение предоставляет принципалам разрешение на использование этого ключа KMS.

Укажите ID ключа или ARN ключа KMS. Чтобы указать ключ KMS в другой учетной записи Amazon Web Services, необходимо использовать ARN ключа.

Например:

  • ID ключа: 1234abcd-12ab-34cd-56ef-1234567890ab
  • ARN ключа: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

Чтобы получить ID ключа и ARN ключа для ключа KMS, используйте ListKeys или DescribeKey.

--grantee-principal (строка)

Идентичность, которая получает разрешения, указанные в разрешении.

Для указания принципала-получателя используйте Amazon Resource Name (ARN) принципала Amazon Web Services. Допустимые принципалы включают учетные записи Amazon Web Services, пользователей IAM, роли IAM, федеративных пользователей и пользователей, принявших роль. Дополнительную информацию о синтаксисе ARN принципала см. в разделе IAM ARN в *руководстве пользователя службы идентификации и управления доступом* (*Identity and Access Management User Guide*).

--retiring-principal (строка)

Принципал, у которого есть разрешение на использование операции RetireGrant для приостановки разрешения.

Для указания принципала используйте Amazon Resource Name (ARN) принципала Amazon Web Services. Допустимые принципалы включают учетные записи Amazon Web Services, пользователей IAM, роли IAM, федеративных пользователей и пользователей, принявших роль. Дополнительную информацию о синтаксисе ARN принципала см. в разделе IAM ARN в *руководстве пользователя службы идентификации и управления доступом* (*Identity and Access Management User Guide*).

Разрешение определяет принципала-приостанавливающего. Другие принципалы могут иметь разрешение на приостановку или отмену разрешения. Подробности см. в разделах RevokeGrant и Приостановка и отмена разрешений в *руководстве разработчика службы управления ключами* (*Key Management Service Developer Guide*).

--operations (список)

Список операций, разрешенных разрешением.

Этот список должен содержать только операции, разрешенные в разрешении. Кроме того, операция должна поддерживаться ключом KMS. Например, вы не можете создать разрешение для симметричного ключа шифрования KMS, разрешающего операцию Sign, или разрешение для асимметричного ключа KMS, разрешающего операцию GenerateDataKey. Если вы попытаетесь, KMS вернет исключение ValidationError. Подробнее см. в разделе Операции разрешений в *руководстве разработчика службы управления ключами* (*Key Management Service Developer Guide*).

(строка)

Синтаксис:

"string" "string" ...

Where valid values are:
  Decrypt
  Encrypt
  GenerateDataKey
  GenerateDataKeyWithoutPlaintext
  ReEncryptFrom
  ReEncryptTo
  Sign
  Verify
  GetPublicKey
  CreateGrant
  RetireGrant
  DescribeKey
  GenerateDataKeyPair
  GenerateDataKeyPairWithoutPlaintext
  GenerateMac
  VerifyMac
  DeriveSharedSecret

--constraints (структура)

Указывает ограничение разрешения.

Предупреждение

Не включайте конфиденциальную или чувствительную информацию в этот параметр. Этот параметр может быть отображен в виде обычного текста в логах CloudTrail и других выводах.

KMS поддерживает ограничения разрешений EncryptionContextEquals и EncryptionContextSubset, которые позволяют разрешениям в разрешении применяться только при совпадении контекста шифрования в запросе (EncryptionContextEquals) или включении (EncryptionContextSubset) контекста шифрования, указанного в ограничении.

Ограничения контекста шифрования для разрешений поддерживаются только в операциях разрешений, которые включают параметр EncryptionContext, такие как криптографические операции с симметричными ключами шифрования KMS. Разрешения с ограничениями разрешений могут включать операции DescribeKey и RetireGrant, но ограничение не применяется к этим операциям. Если разрешение с ограничением разрешений включает операцию CreateGrant, ограничение требует, чтобы любые разрешения, созданные с разрешением CreateGrant, имели такое же или более строгое ограничение контекста шифрования.

Вы не можете использовать ограничение контекста шифрования для криптографических операций с асимметричными или HMAC ключами KMS. Операции с этими ключами не поддерживают контекст шифрования.

Каждое значение ограничения может включать до 8 пар контекста шифрования. Значение контекста шифрования в каждом ограничении не может превышать 384 символа. Дополнительную информацию об ограничениях разрешений см. в разделе Использование ограничений разрешений в *руководстве разработчика службы управления ключами* (*Key Management Service Developer Guide*). Дополнительную информацию о контексте шифрования см. в разделе Контекст шифрования в *руководстве разработчика службы управления ключами* (*Key Management Service Developer Guide*).

EncryptionContextSubset -> (массив)

Список пар ключ-значение, которые должны быть включены в контекст шифрования запроса криптографической операции. Разрешение позволяет криптографическую операцию только в том случае, если контекст шифрования в запросе включает пары ключ-значение, указанные в этом ограничении, хотя он может включать и дополнительные пары ключ-значение.

key -> (строка)

value -> (строка)

EncryptionContextEquals -> (массив)

Список пар ключ-значение, которые должны соответствовать контексту шифрования в запросе криптографической операции. Разрешение позволяет операцию только тогда, когда контекст шифрования в запросе совпадает с контекстом шифрования, указанным в этом ограничении.

key -> (строка)

value -> (строка)

Сокращенный синтаксис:

EncryptionContextSubset={KeyName1=string,KeyName2=string},EncryptionContextEquals={KeyName1=string,KeyName2=string}

Синтаксис JSON:

{
  "EncryptionContextSubset": {"string": "string"
    ...},
  "EncryptionContextEquals": {"string": "string"
    ...}
}

--grant-tokens (список)

Список маркеров разрешения.

Используйте маркер разрешения, когда ваше разрешение на вызов этой операции получено из нового разрешения, которое еще не достигло постепенной согласованности. Дополнительную информацию см. в разделе Маркер разрешения и Использование маркера разрешения в *руководстве разработчика службы управления ключами* (*Key Management Service Developer Guide*).

(строка)

Синтаксис:

"string" "string" ...

--name (строка)

Дружественное имя для разрешения. Используйте это значение для предотвращения непреднамеренного создания дубликатов разрешений при повторном выполнении запроса.

Предупреждение

Не включайте конфиденциальную или чувствительную информацию в этот параметр. Этот параметр может быть отображен в виде обычного текста в логах CloudTrail и других выводах.

Когда это значение отсутствует, все запросы CreateGrant приводят к новому разрешению с уникальным GrantId, даже если все предоставленные параметры идентичны. Это может привести к непреднамеренным дубликатам при повторном выполнении запроса CreateGrant.

Когда это значение присутствует, вы можете повторно выполнить запрос CreateGrant с идентичными параметрами; если разрешение уже существует, исходное GrantId возвращается без создания нового разрешения. Обратите внимание, что возвращаемый маркер разрешения уникален для каждого запроса CreateGrant, даже если возвращается дублированный GrantId. Все маркеры разрешения для одного и того же идентификатора разрешения можно использовать взаимозаменяемо.

--dry-run | --no-dry-run (логическое значение)

Проверяет, будет ли ваш запрос успешным. DryRun — необязательный параметр.

Дополнительную информацию о том, как использовать этот параметр, см. в разделе Тестирование ваших вызовов API KMS в *руководстве разработчика службы управления ключами* (*Key Management Service Developer Guide*).

--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.

Для создания гранта

Следующий create-grant пример создаёт грант, разрешающий пользователю exampleUser использовать команду decrypt для примера ключа KMS 1234abcd-12ab-34cd-56ef-1234567890ab. Отзывающим субъектом является роль adminRole. Грант использует ограничение гранта EncryptionContextSubset, разрешая это разрешение только тогда, когда контекст шифрования в запросе decrypt включает пару ключ-значение "Department": "IT".

aws kms create-grant \
    --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \
    --grantee-principal arn:aws:iam::123456789012:user/exampleUser \
    --operations Decrypt \
    --constraints EncryptionContextSubset={Department=IT} \
    --retiring-principal arn:aws:iam::123456789012:role/adminRole

Вывод:

{
    "GrantId": "1a2b3c4d2f5e69f440bae30eaec9570bb1fb7358824f9ddfa1aa5a0dab1a59b2",
    "GrantToken": "<grant token here>"
}

Для получения подробной информации о гранте используйте команду list-grants.

Дополнительная информация доступна в разделе Граны в AWS KMS в Руководстве разработчика AWS Key Management Service.

Вывод

GrantToken -> (строка)

Токен гранта.

Используйте токен гранта, когда ваше разрешение на вызов этой операции получено от нового гранта, который ещё не достиг событийной согласованности. Дополнительная информация доступна в разделе Токен гранта и Использование токена гранта в Руководстве разработчика Key Management Service.

GrantId -> (строка)

Уникальный идентификатор гранта.

Вы можете использовать GrantId в операциях ListGrants , RetireGrant или RevokeGrant.

© Copyright 2025, Amazon Web Services. Created using Sphinx.

Spec-Zone.ru

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