代码之家  ›  专栏  ›  技术社区  ›  Andrew

在通过Python客户端在Google KMS中创建密钥时,是否有方法指定名称?

  •  0
  • Andrew  · 技术社区  · 8 年前

    在文档中 here ,则不能在Python客户端中为密钥指定名称(名称为“仅输出”)。但是,使用CLI工具,您可以指定密钥的名称(此处为key\u name)ala gcloud kms keys create KEY_NAME --location LOCATION --keyring KEYRING_NAME --purpose encryption 。Python API中是否没有此功能?

    1 回复  |  直到 8 年前
        1
  •  2
  •   Tim Dierks    8 年前

    新键的名称进入名为 cryptoKeyId ,并且必须提供。这个 name 创建密钥时不能提供正文中的字段;唯一的必填字段是 purpose ,必须是 ENCRYPT_DECRYPT ;然后,当响应返回时,将填充名称字段。

    这是我刚从 API Explorer (在一个我用已经创建的钥匙圈控制的项目上)。您可以看到,新的密钥名称是作为URL参数提供的, 加密密钥ID 。(The 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"
    }