在文档here中,您无法在Python客户端中指定密钥的名称(名称为"仅输出")。但是,使用CLI工具,您可以指定密钥的名称(此处为KEY_NAME)ala gcloud kms keys create KEY_NAME --location LOCATION --keyring KEYRING_NAME --purpose encryption
。此功能在Python API中不可用吗?
答案 0 :(得分:1)
新密钥的名称会进入名为cryptoKeyId
的顶级参数,并且必须提供。创建密钥时,无法提供正文中的name
字段;唯一必填字段为purpose
,必须为ENCRYPT_DECRYPT
;然后,当响应返回时,将填充名称字段。
这是我刚刚从API Explorer做的请求(在我用我已创建的钥匙圈控制的项目上)。您可以看到新的密钥名称是作为URL参数cryptoKeyId
提供的。 (key={YOUR_API_KEY}
是浏览器API Explorer UI发布的新版本。)
请求:
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"
}