小编Jef*_*son的帖子

用于移动和 Web 访问的 Cognito 角色和 AWS S3 存储桶策略

我们的目标是创建 S3 存储桶和 IAM 角色策略,只允许我们登录的用户访问 S3。

我们在 S3 存储桶上托管私有文件,可从 Web 和移动应用程序访问该文件。我们正在尝试使用未经身份验证的角色通过 Amazon Cognito 添加一层安全性,以便任何登录到我们应用程序的用户都可以访问 S3 存储桶。

使用适用于 JS 的 AWS-SDK 并遵循基本AWS.config.credentials设置,我们可以在 Amazon Cognito 身份控制面板中看到访问的 1 个身份和同步数。由于我们似乎正在连接到 IdentityPool,我认为我们的策略可能需要进行一些调整,以便具有未经身份验证的 Cognito 角色的登录用户可以访问 S3 存储桶。

Cognito_IdentityPoolUnauth_Role 的 IAM 角色策略

{
"Version": "2012-10-17",
"Statement": [
    {
        "Sid": "SID_NUMBER",
        "Effect": "Allow",
        "Action": [
            "s3:*"
        ],
        "Resource": [
            "arn:aws:s3:::OUR_BUCKET_NAME/*"
        ]
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

S3 存储桶策略

{
"Version": "2012-10-17",
"Id": "http referer policy example",
"Statement": [
    {
        "Sid": "",
        "Effect": "Allow",
        "Principal": {
            "AWS": "arn:aws:iam::IAM_NUMBER:role/Cognito_IdentityPoolUnauth_Role"
        }, …
Run Code Online (Sandbox Code Playgroud)

amazon-s3 amazon-web-services amazon-cognito

4
推荐指数
1
解决办法
5077
查看次数