Auth0 and S3 Buckets



我有个问题。我正在使用Auth0和AWS SDK访问S3上的一些bucket。我有个问题。是否有任何方法可以在不使用bucket策略的情况下限制对S3 Buckets的访问?可能使用Auth0提供的元数据。

感谢所有

也许你正在寻找这样的东西https://github.com/auth0/auth0-s3-sample以限制用户对其资源的访问。

用户存储桶的IAM策略(仅限于这些用户)

{
  "Version": "2012-10-17",
  "Statement": [{
      "Sid": "AllowEverythingOnSpecificUserPath",
      "Effect": "Allow",
      "Action": [
        "*"
      ],
      "Resource": [
          "arn:aws:s3:::YOUR_BUCKET/dropboxclone/${saml:sub}",
          "arn:aws:s3:::YOUR_BUCKET/dropboxclone/${saml:sub}/*"]
   },
   {
      "Sid": "AllowListBucketIfSpecificPrefixIsIncludedInRequest",
      "Action": ["s3:ListBucket"],
      "Effect": "Allow",
      "Resource": ["arn:aws:s3:::YOUR_BUCKET"],
      "Condition":{
        "StringEquals": { "s3:prefix":["dropboxclone/${saml:sub}"] }
       }
    }
  ]
}

但是,如果用户有可共享的组文件夹,这可能会变得更棘手,我会自己上午研究。查看此pdf:https://www.pingidentity.com/content/dam/pic/downloads/resources/ebooks/en/amazon-web-services-ebook.pdf?id=b6322a80-f285-11e3-ac10-0800200c9a66,第11页LEVERAGE OPENID CONNECT FOR AWS APIS用例类似。

因此,一种选择可能是进行以下

[USER] -> [Auth0] -> [AWS (Federation/SAML)] -> [exchange temporary AWS credentials] -> [use temp. credentials to access S3]

希望它能有所帮助,即使你很久以前问过这个问题,其他用户也可能受益。如果您找到了更好的解决方案,请分享。

要限制对S3存储桶的访问,必须使用Amazon IAM。

当使用Auth0时,您基本上是在用您的Auth0令牌交换Amazon令牌。然后,使用这个亚马逊代币,您将调用S3。这意味着,为了限制对S3某些部分的访问,你必须更改亚马逊代币的权限,这意味着你需要使用IAM。

有道理吗?

干杯!

最新更新