我有一個嵌入式設備,需要寫入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