我正在尝试仅从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)))
答案 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)))
希望这会有所帮助!