[英]How to reduce a cognito userpool user to their own folder in S3 bucket?
我正在編寫一個基本的react native應用程序,用戶可以在其中注冊自己到AWS Cognito用戶池並使用該身份登錄以從S3存儲/檢索其數據。 我只有一個存儲桶,每個用戶在該存儲桶中都有自己的文件夾。 在這種情況下,如何限制每個用戶使用自己的文件夾。 這是場景。
我在用戶池中創建了兩個用戶。
然后,我為用戶池創建了一個聯合身份。 該聯合身份具有兩個IAM角色:授權和未授權。
然后,我向聯合身份驗證的auth角色添加了一個策略。
這是我的政策:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "*", "Resource": "arn:aws:s3:::mybucket/${cognito-identity.amazonaws.com:sub}/*" } ] }
然后,我嘗試使用Javascript SDK從S3檢索數據,並且可以從“ album-b207a8df-58e8-49cf-ba1b-0b48b7252291”中列出對象,其中“ b207a8df-58e8-49cf-ba1b-0b48b7252291”是“ madi”用戶的子對象。 為什么“ test2”能夠列出該對象?
您能否提供onClick_Cognito_receiptsdumpAuth_Role的代碼段。
我的猜測(沒有您的日志)
是因為您的策略可能不錯,但是您可能有一項策略授予列表訪問權限過多。
正在使用開發人員憑證(可能具有完整的管理員)來初始化AWS類
我要嘗試的下一步是
您可能有一個action:List*
或同等功能
策略模擬器也是最好的隱藏秘密(這不是真正的秘密)。 針對此測試您的策略,它將告訴您至少該策略是否正確,並且不要忘記iam策略已串聯。
最后,如果您不知道如何提供對列表操作的訪問權限,則可以使CloudTrail將API日志轉儲到S3並驗證列表對象是否正在由您期望的認知用戶運行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.