[英]How can I access user's data from an identity credential provided by a Cognito identity pool?
[英]How can I access S3 protected files from a different cognito user pool?
我有一個 Cognito 用戶池(我們稱之為 UP1)。 該池中的用戶使用 Amplify 將受保護的文件上傳到 S3。 現在我有另一個用於管理端的用戶池 (UP2)。 但是,使用登錄 UP2 的用戶(也通過放大),我無法訪問用戶在 UP1 中上傳的 S3 文件,因為我總是收到 HTTP 403。
分配給 UP2 的 IAM 角色必須能夠對該 S3 存儲桶執行任何操作(到目前為止還沒有運氣)。
這是政策
{
"Statement": [
{
"Action": [
"*"
],
"Resource": [
"<bucket_arn/*>"
],
"Effect": "Allow"
}
]
}
以及使用 Amplify 從 UP2 中的用戶訪問 UP1 文件的方式
Storage.list('<somepath>/', {
level: 'protected',
identityId: '<identityId of the User from UP1>',
}
為了列出和獲取此存儲桶中的文件,我是否遺漏了什么? 是否可以?
或者我如何向 UP2 中的用戶授予“特殊”權限,以允許我訪問這些 S3 文件。
謝謝!
解決了。
抱歉,我錯誤地配置了 IAM 策略。 我認為通配符本身就可以解決所有子資源(包括它自己)的問題。
我正在執行 ListBucket 操作,其資源必須是 Bucket 本身(不是它的任何子項)。 但是,為了避免使用通配符並更好地控制資源,我遵循了指南(我之前沒有閱讀過,ups)並查看那里說明的政策。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.