Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 确保在AWS'中仅创建一个CMK;s公里_Amazon Web Services_Aws Sdk_Aws Kms - Fatal编程技术网

Amazon web services 确保在AWS'中仅创建一个CMK;s公里

Amazon web services 确保在AWS'中仅创建一个CMK;s公里,amazon-web-services,aws-sdk,aws-kms,Amazon Web Services,Aws Sdk,Aws Kms,AWS SDK允许以编程方式创建新的CMK 但是,我想检查是否已经创建了一个给定的CMK,如果已经创建了,就使用它,而不是重新创建它 据我所知,描述和别名都不是唯一的标识符,而且与S3不同,它们没有唯一的名称,因此我不确定代码中可以使用哪些其他属性来检查给定的CMK是否存在 有什么办法可以帮你吗?是否有我缺少的CMK属性?从您的问题来看,我不清楚您是否想要: 1) 说明是否已经创建了一个(任何)CMK;或 2) 说明是否已创建(特定)CMK 3) 保证客户端不能创建多个密钥 对于1),您可以使用

AWS SDK允许以编程方式创建新的CMK

但是,我想检查是否已经创建了一个给定的CMK,如果已经创建了,就使用它,而不是重新创建它

据我所知,描述和别名都不是唯一的标识符,而且与S3不同,它们没有唯一的名称,因此我不确定代码中可以使用哪些其他属性来检查给定的CMK是否存在


有什么办法可以帮你吗?是否有我缺少的CMK属性?

从您的问题来看,我不清楚您是否想要:

1) 说明是否已经创建了一个(任何)CMK;或
2) 说明是否已创建(特定)CMK
3) 保证客户端不能创建多个密钥

对于1),您可以使用和API的组合

不过,正如您自己指出的,在创建密钥期间,您不能指定任何唯一的属性,以便在使用之前检查是否存在。所以2)有点棘手。在创建CMK之后,您可以使用API。KMS保证别名和CMK之间的一对一映射,因此您可以这样做,然后调用API。DescribeKey接受一个别名作为参数,这样就可以满足您的需要。只需检查它是否存在,如果存在,则重用它,如果不存在,则创建它

如果您试图完成3,我的建议是您使用AWS控制台创建一个CMK,并将策略分配给IAM角色或您在调用SDK API时假定的用户,使其无法创建CMK