如何使用python boto3仅从AWS账户单独获取KMS客户托管密钥?

时间:2019-01-03 06:05:47

标签: python amazon-web-services boto3

我正在尝试仅从AWS账户中获取客户管理密钥的数量。 我得到了AWS账户中存在的重复费用。 它也正在获得AWS托管密钥。 所以我想知道如何从KMS获取唯一的客户管理密钥。

Python代码:

for region in ec2_regions:
    conn = boto3.client('kms', aws_access_key_id=access_key, 
                    aws_secret_access_key=secret_key,region_name=region)

    resp = conn.list_keys()
    for keys in resp:
      kms_count.append(keys)
print("kms" + str(len(kms_count)))

1 个答案:

答案 0 :(得分:0)

您可以使用list_aliases方法。 对于AWS托管密钥,别名具有'alias/aws/'作为前缀字符串。 您可以将逻辑应用于同一逻辑,以仅从KMS获取“客户管理”密钥。

我已根据要求更新了您的代码段:

kms_count=[]
for region in ec2_regions:
    conn = boto3.client('kms', aws_access_key_id=access_key, aws_secret_access_key=secret_key,region_name=region)

    resp = conn.list_aliases()['Aliases']
    for keys in resp:
        if 'alias/aws/' not in keys['AliasName']:
            kms_count.append(keys)
print("kms count: " + str(len(kms_count)))

希望这会有所帮助!