用于允许Cognito用户在用户池中访问S3存储桶的存储桶策略

时间:2018-02-01 21:03:21

标签: amazon-web-services amazon-s3 amazon-cognito amazon-iam

我正在尝试向我的存储桶添加存储桶策略,因为我的存储桶位于root aws帐户中,我想限制root帐户下的其他用户,角色等访问我的存储桶,但特定的Cognito用户除外在我的用户池中。

我不想也使用身份池 - 我只想将Cognito用户称为我的存储桶策略中的主体。有没有办法在不使用身份池的情况下执行此操作?我找不到任何执行此操作的示例策略。

1 个答案:

答案 0 :(得分:0)

您可以将存储桶策略的“原则”设置为Cognito用户的auth角色。就我而言,原理看起来像

"Principal": {
    "AWS": "arn:aws:iam::123456789000:role/NAME_OF_MY-authRole"
},

然后,您可以通过更改资源进一步控制访问。这是AWS docs中的示例。

"arn:aws:s3:::bucket-name/cognito/application-name/${cognito-identity.amazonaws.com:sub}",
                "arn:aws:s3:::bucket-name/cognito/application-name/${cognito-identity.amazonaws.com:sub}/*"