如何使用AWS Cognito Indentity P检索正确的凭证以访问boto3客户机上的AWS SecretsManger

2024-05-23 17:17:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用运行python3(kivy)的独立应用程序检索AWS Secret(boto3配置)。在

客户端使用boto3,使用硬编码的凭据可以很好地工作。在

我试着在boto3中使用get_credentials_for_identity来获取creds。在

我创建了一个联合身份池,并为其分配了一个策略以访问机密管理器:

{
    "Version": "2012-10-17",
    "Statement": {
        "Effect": "Allow",
        "Action": "secretsmanager:GetSecretValue",
        "Resource": "<arn-of-the-secret-the-app-needs-to-access>"
    }
}

我也使用通用的Cognito角色做了同样的操作。(我知道这不是问题所在,但我相信我们都会蠢蠢欲动想办法解决问题)。在

^{pr2}$

给了我错误的AccessKeyId和{}它提供的那些我甚至找不到。我想我要的是持有这个identity的IAM的访问密钥/密码,但是我需要访问secrets manager的IAM角色的访问密钥/密码,这样我就可以将它们输入boto3并检索creds/secret。在

对于user pool我也需要相同的配置,但是一旦我意识到我所做的愚蠢,我可以配置出来。在


Tags: theaws应用程序角色密码客户端secret密钥
1条回答
网友
1楼 · 发布于 2024-05-23 17:17:27

Cognito生成由AWS STS提供的新凭证。您将无法将这些凭据与现有的IAM生成的凭据相匹配。要访问AWS Secrets Manager api,请确保您的Cognito标识池的Authenticated Role具有足够的权限。在

相关问题 更多 >