Spec-Zone.ru › AWS CLI v2

[ aws . kms ]

generate-data-key-pair-without-plaintext

Описание

Возвращает уникальную асимметричную пару ключей данных для использования вне KMS. Данная операция возвращает открытый ключ в текстовом формате и копию закрытого ключа, зашифрованного с помощью указанного симметричного ключа шифрования KMS. В отличие от операции GenerateDataKeyPair, эта операция не возвращает закрытый ключ в текстовом формате. Байты в ключах случайны; они не связаны с вызывающей стороной или с ключом KMS, используемым для шифрования закрытого ключа.

Вы можете использовать открытый ключ, который GenerateDataKeyPairWithoutPlaintext возвращает, для шифрования данных или проверки подписи вне KMS. Затем сохраните зашифрованный закрытый ключ вместе с данными. Когда вы будете готовы расшифровать данные или подписать сообщение, вы можете использовать операцию Decrypt для расшифровки зашифрованного закрытого ключа.

Для генерации пары ключей данных необходимо указать симметричный ключ шифрования KMS для шифрования закрытого ключа в паре ключей данных. Вы не можете использовать асимметричный ключ KMS или ключ KMS в пользовательском хранилище ключей. Для получения типа и происхождения вашего ключа KMS используйте операцию DescribeKey.

Используйте параметр KeyPairSpec, чтобы выбрать пару ключей данных RSA или эллиптической кривой (ECC). В регионах Китая вы также можете выбрать пару ключей данных SM2. KMS рекомендует использовать пары ключей ECC для подписи и использовать пары ключей RSA и SM2 для шифрования или подписи, но не для обоих. Однако KMS не может накладывать никаких ограничений на использование пар ключей данных за пределами KMS.

GenerateDataKeyPairWithoutPlaintext возвращает уникальную пару ключей данных для каждого запроса. Байты в ключе не связаны с вызывающей стороной или ключом KMS, используемым для шифрования закрытого ключа. Открытый ключ представляет собой DER-кодированный X.509 SubjectPublicKeyInfo, как указано в RFC 5280.

Вы можете использовать необязательный контекст шифрования для добавления дополнительной безопасности к операции шифрования. Если вы укажете EncryptionContext, вы должны указать тот же контекст шифрования (точная совпадение с учетом регистра) при расшифровке зашифрованных данных. В противном случае запрос на расшифровку завершится с ошибкой InvalidCiphertextException. Более подробную информацию см. в разделе "Контекст шифрования" в руководстве разработчика службы управления ключами.

Ключ KMS, который вы используете для этой операции, должен находиться в совместимом состоянии. Подробнее см. раздел "Состояния ключей ключей KMS" в руководстве разработчика службы управления ключами.

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

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

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

  • Decrypt
  • Encrypt
  • GenerateDataKey
  • GenerateDataKeyPair
  • GenerateDataKeyWithoutPlaintext
Эвентуальная согласованность: API KMS следует модели эвентуальной согласованности. Подробнее см. в разделе "Эвентуальная согласованность KMS".

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

Синтаксис

  generate-data-key-pair-without-plaintext
[--encryption-context <value>]
--key-id <value>
--key-pair-spec <value>
[--grant-tokens <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]

Параметры

--encryption-context (отображение)

Указывает контекст шифрования, который будет использоваться при шифровании закрытого ключа в паре ключей данных.

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

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

Контекст шифрования — это набор пар ключ-значение, которые не являются секретными и представляют дополнительные данные для проверки подлинности. При использовании контекста шифрования для шифрования данных необходимо указать тот же (полное совпадение с учетом регистра) контекст шифрования для расшифровки данных. Контекст шифрования поддерживается только в операциях с симметричными ключами KMS. В операциях с симметричными ключами KMS контекст шифрования является необязательным, но его крайне рекомендуется использовать.

Для получения дополнительной информации см. раздел "Контекст шифрования" в руководстве разработчика службы управления ключами.

key -> (строка)

value -> (строка)

Краткая форма записи:

KeyName1=string,KeyName2=string

Синтаксис JSON:

{"string": "string"
  ...}

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

Указывает симметричный ключ шифрования KMS, который шифрует закрытый ключ в паре ключей данных. Вы не можете указать асимметричный ключ KMS или ключ KMS в пользовательском хранилище ключей. Для получения типа и происхождения вашего ключа KMS используйте операцию DescribeKey.

Для указания ключа KMS используйте его идентификатор ключа, ARN ключа, имя псевдонима или ARN псевдонима. При использовании имени псевдонима добавьте префикс "alias/". Для указания ключа KMS в другой учетной записи Amazon Web Services необходимо использовать ARN ключа или ARN псевдонима.

Например:

  • Идентификатор ключа: 1234abcd-12ab-34cd-56ef-1234567890ab
  • ARN ключа: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
  • Имя псевдонима: alias/ExampleAlias
  • ARN псевдонима: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias

Для получения идентификатора ключа и ARN ключа KMS используйте ListKeys или DescribeKey. Для получения имени псевдонима и ARN псевдонима используйте ListAliases.

--key-pair-spec (строка)

Определяет тип генерируемой пары ключей данных.

Правило KMS, которое ограничивает использование асимметричных ключей RSA и SM2 KMS для шифрования и расшифровки или для подписи и проверки (но не для обоих), и правило, которое позволяет использовать ключи KMS ECC только для подписи и проверки, не работают с парами ключей данных, которые используются вне KMS. Спецификация ключа SM2 доступна только в регионах Китая.

Возможные значения:

  • RSA_2048
  • RSA_3072
  • RSA_4096
  • ECC_NIST_P256
  • ECC_NIST_P384
  • ECC_NIST_P521
  • ECC_SECG_P256K1
  • SM2

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

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

Используйте маркер разрешения, когда ваше разрешение на вызов этой операции получено из нового разрешения, которое еще не достигло эвентуальной согласованности. Более подробную информацию см. в разделе "Маркер разрешения и Использование маркера разрешения" в руководстве разработчика службы управления ключами.

(строка)

Синтаксис:

"string" "string" ...

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

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

Дополнительные сведения об использовании этого параметра см. в разделе "Тестирование вызовов API KMS" в руководстве разработчика службы управления ключами.

--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
  • text
  • table
  • yaml
  • yaml-stream

--query (строка)

Запрос JMESPath для фильтрации данных ответа.

--profile (строка)

Использовать определенный профиль из файла учетных данных.

--region (строка)

Регион для использования. Переопределяет настройки конфигурации/среды.

--version (строка)

Отобразить версию этого инструмента.

--color (строка)

Включить/выключить цветной вывод.

  • on
  • off
  • auto

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

Для генерации пары асимметричных ключей ECC NIST P384

Следующий generate-data-key-pair-without-plaintext пример запрашивает пару ключей ECC NIST P384 для использования вне AWS.

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

Для запроса пары асимметричных ключей ECC NIST P384 используйте параметр key-pair-spec со значением ECC_NIST_P384.

Ключ KMS, который вы указываете, должен быть симметричным ключом шифрования KMS, то есть ключом KMS со значением KeySpec, равным SYMMETRIC_DEFAULT.

ПРИМЕЧАНИЕ: Значения в выводе этого примера усечены для отображения.

aws kms generate-data-key-pair-without-plaintext \
    --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \
    --key-pair-spec ECC_NIST_P384

Вывод:

{
    "PrivateKeyCiphertextBlob": "AQIDAHi6LtupRpdKl2aJTzkK6FbhOtQkMlQJJH3PdtHvS/y+hAFFxmiD134doUDzMGmfCEtcAAAHaTCCB2UGCSqGSIb3DQEHBqCCB1...",
    "PublicKey": "MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA3A3eGMyPrvSn7+LdlJE1oUoQV5HpEuHAVbdOyND+NmYDH/mL1OSIEuLrcdZ5hrMH4pk83r40l...",
    "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
    "KeyPairSpec": "ECC_NIST_P384"
}

PublicKey и PrivateKeyCiphertextBlob возвращаются в формате Base64.

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

Вывод

PrivateKeyCiphertextBlob -> (blob)

Зашифрованная копия закрытого ключа. При использовании HTTP API или Amazon Web Services CLI значение кодируется в Base64. В противном случае оно не кодируется в Base64.

PublicKey -> (blob)

Открытый ключ (в виде обычного текста). При использовании HTTP API или Amazon Web Services CLI значение кодируется в Base64. В противном случае оно не кодируется в Base64.

KeyId -> (строка)

Amazon Resource Name (ARN ключа KMS), который зашифровал закрытый ключ.

KeyPairSpec -> (строка)

Тип пары ключей данных, который был сгенерирован.

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

Spec-Zone.ru

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