我有一个在Linux EC2实例上运行的Python程序,我试图从Secrets Manager获取值,但是我一直收到权限错误
An error occurred (AccessDeniedException) when calling the GetSecretValue operation: User: arn:aws:sts::user_id_here:assumed-role/AmazonSSMRoleForInstancesQuickSetup/somestring is not authorized to perform: secretsmanager:GetSecretValue on resource: arn:aws:secretsmanager:eu-west-2:xxx_my_secret
在我的IAM设置中,用户位于具有管理员访问权限的组中,然后用户本身具有权限SecretsManagerReadWrite
我需要更改哪些权限?
答案 0 :(得分:1)
访问EC2的用户与计算机本身的角色不同。
机器对角色管理器的角色和访问权限由以下两者之一定义
在我的代码中,我使用boto.utils.get_instance_identity()来获取区域。然后从boto3.Session()。get_credentials()。get_frozen_credentials()
获取access_key和secret_key由于get_frozen_credentials()中的令牌已过期,因此您可能还需要使用botocore.credentials.RefreshableCredentials。