我有一个嵌入式设备,需要写入S3的能力。我想避免给嵌入式设备一个实际的AWS IAMUser。我正在考虑使用Cognito获得对S3的写入权限。允许Cognito用户写入S3
我有一个组,一个用户一个用户群(现在)。该组具有允许访问写入某个S3存储桶的附加策略。该池已设置为只有管理员可以创建新用户。我设法认证了认证用户并有权刷新令牌和idTokens。我正在寻找使用这些令牌写入我的S3桶。
我试图按照试图跟随文档,但我感到困惑。我想我需要一个联合身份池,但我没有要求公共提供者。我只想让我的认知用户组写信给s3。
有一个简单的解决方案,允许用户cognito写S3没有联合身份,或者如果不做我需要一个后端服务令牌的联合身份?
我一直在使用权证https://github.com/capless/warrant为使身份验证:
from warrant.aws_srp import AWSSRP
import boto3
client = boto3.client('cognito-idp')
aws = AWSSRP(username='<username>', password='<password>', pool_id='<pool>',
client_id='<clientid>', client=client)
tokens = aws.authenticate_user()
任何提示将不胜感激!
需要调用STS AssumeRoleWithWebIdentity使用Cognito令牌来获取暂时的AWS凭据你再使用S3。顺便说一下,引入用户池的原始博客帖子(作为现在称为联合身份池的自管理替代品)很有用:https://aws.amazon.com/blogs/aws/new-user-pools - 用于-亚马逊cognito /。无需Facebook等。 – jarmod