Есть ли способ указать имя при создании ключа в Google KMS через клиент Python?

Здесь в документации вы не можете указать имя ключа в клиенте Python (имя "Только вывод"). Однако с помощью инструментов CLI вы можете указать имя ключа (здесь KEY_NAME). gcloud kms keys create KEY_NAME --location LOCATION --keyring KEYRING_NAME --purpose encryption, Эта функция недоступна в Python API?

1 ответ

Решение

Имя нового ключа входит в параметр верхнего уровня, называемый cryptoKeyIdи должны быть предоставлены. name поле в теле не может быть предоставлено при создании ключа; единственное обязательное поле purposeкоторый должен быть ENCRYPT_DECRYPT; затем, когда ответ вернется, поле имени будет заполнено.

Вот запрос, который я только что сделал из API Explorer (в проекте, которым я управляю с помощью кольца ключей, которое я уже создал). Вы можете видеть, что имя нового ключа предоставляется в качестве параметра URL, cryptoKeyId, (The key={YOUR_API_KEY} редактирование, выполненное пользовательским интерфейсом API браузера).

Запрос:

POST https://cloudkms.googleapis.com/v1/projects/cloud-kms-demonstration/locations/global/keyRings/test01/cryptoKeys?cryptoKeyId=testKey01&key={YOUR_API_KEY}

{
 "purpose": "ENCRYPT_DECRYPT"
}

Код ответа: 200

Отклик:

{
 "name": "projects/cloud-kms-demonstration/locations/global/keyRings/test01/cryptoKeys/testKey01",
 "primary": {
  "name": "projects/cloud-kms-demonstration/locations/global/keyRings/test01/cryptoKeys/testKey01/cryptoKeyVersions/1",
  "state": "ENABLED",
  "createTime": "2018-03-28T23:17:32.485044241Z"
 },
 "purpose": "ENCRYPT_DECRYPT",
 "createTime": "2018-03-28T23:17:32.485044241Z"
}
Другие вопросы по тегам