首先,您可以将 AWS Access Key 和 Secret Key 存储在 AWS Secret Manager 中,但我强烈不建议这样做。但我仍然可以提供一个解决方案来轻松做到这一点:
- 手动将您的秘密值放入 json 或使用
pysecret
.
from pysecret import AWSSecret
aws_profile = "my_aws_profile"
aws = AWSSecret(profile_name=aws_profile)
secret_id = "my-example-secret"
secret_data = {
"iam_user_1": {
"access_key": "AAAAAAAAAAAAAAAAAAAAA",
"secret_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
},
"iam_user_2": {
"access_key": "BBBBBBBBBBBBBBBBBBBBB",
"secret_key": "YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY"
}
}
aws.deploy_secret(name=secret_id, secret_data=secret_data) # or you can pass kms_key_id if you created a custom kms key
- 在 lambda 函数或任何 python 代码中读取您的秘密值。
aws = AWSSecret(profile_name=aws_profile) # in lambda code, don't need ``profile_name=aws_profile``
access_key = aws.get_secret_value(secret_id="my-example-secret", key="iam_user_1.access_key") # AAAAAAAAAAAAAAAAAAAAA
secret_key = aws.get_secret_value(secret_id="my-example-secret", key="iam_user_1.secret_key") # XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
access_key = aws.get_secret_value(secret_id="my-example-secret", key="iam_user_1.access_key") # BBBBBBBBBBBBBBBBBBBBB
secret_key = aws.get_secret_value(secret_id="my-example-secret", key="iam_user_1.secret_key") # YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
我创建了一个名为 pysecret 的开源库,这是 AWS Secret Manager 集成的文档:https ://github.com/MacHu-GWU/pysecret-project#aws-key-management-service-and-secret-manager-integration
第二
当您想要创建 AWS 访问密钥对时,想想谁将使用它,是人还是机器。如果是机器,请使用 IAM 角色而不是 IAM 用户。如果是人类,则应由人类负责安全地存储它,而不是 AWS Secret Manager。
希望这能回答你的问题。