簡體   English   中英

如何從不同的認知用戶池訪問受 S3 保護的文件?

[英]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.

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