簡體   English   中英

如何將Cognito用戶池用戶減少到S3存儲桶中自己的文件夾?

[英]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的代碼段。


我的猜測(沒有您的日志)

  1. 是因為您的策略可能不錯,但是您可能有一項策略授予列表訪問權限過多。

  2. 正在使用開發人員憑證(可能具有完整的管理員)來初始化AWS類

  3. Cognito可能有問題,值得記錄支持記錄。

我要嘗試的下一步是

您可能有一個action:List*或同等功能

策略模擬器也是最好的隱藏秘密(這不是真正的秘密)。 針對此測試您的策略,它將告訴您至少該策略是否正確,並且不要忘記iam策略已串聯。

最后,如果您不知道如何提供對列表操作的訪問權限,則可以使CloudTrail將API日志轉儲到S3並驗證列表對象是否正在由您期望的認知用戶運行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM