我有个问题。我正在使用 Auth0 和 AWS SDK 访问 S3 上的一些存储桶。我有个问题。有没有办法在不使用存储桶策略的情况下限制对 S3 存储桶的访问?也许使用 Auth0 提供的元数据。
谢谢大家
我有个问题。我正在使用 Auth0 和 AWS SDK 访问 S3 上的一些存储桶。我有个问题。有没有办法在不使用存储桶策略的情况下限制对 S3 存储桶的访问?也许使用 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}"] }
}
}
]
}
但是,如果用户有可共享的组文件夹,它可能会变得更加棘手,我正在查看它自己 atm 查看此 pdf:https ://www.pingidentity.com/content/dam/pic/downloads/resources/ebooks/en /amazon-web-services-ebook.pdf?id=b6322a80-f285-11e3-ac10-0800200c9a66(第 11 页)利用 AWS API 的 OPENID CONNECT用例类似。
因此,一个选项可能是执行以下操作
[USER] -> [Auth0] -> [AWS (Federation/SAML)] -> [exchange temporary AWS credentials] -> [use temp. credentials to access S3]
希望它有所帮助,即使您很久以前问过这个问题,其他用户也可能会受益。如果您找到了更好的解决方案,请分享。
要限制对 S3 存储桶的访问,您必须使用 Amazon IAM。
使用 Auth0 时,您基本上是将 Auth0 令牌交换为 Amazon 令牌。然后,使用该 Amazon 令牌调用 S3。这意味着为了限制对 S3 某些部分的访问,您将不得不更改对 Amazon 令牌的权限,这意味着您需要使用 IAM。
说得通?
干杯!