gpt4 book ai didi

python - 如何使用 AWS S3 策略强制联合用户的资源所有权?

转载 作者:行者123 更新时间:2023-11-28 16:50:44 27 4
gpt4 key购买 nike

我正在编写一个应用程序,我有一组用户,每个用户都会在 S3 存储桶的“目录”中拥有一些与其关联的文件。用户将使用 Amazon 的 STS 进行身份验证,获得临时安全凭证,这些凭证应该允许他们访问他们拥有的资源,同时不允许他们访问他们不拥有的资源(认为:“主”目录)。

假设用户已经存在于系统中(并且已通过身份验证),并且使用命名方案创建了他们的文件桶(没有指定的策略或 ACL):

<< my app's bucket>>/<< user's identifier >>/

在请求用户访问文件期间,我们使用 boto 如下授予临时安全凭证:

get_federation_token(<< user's identifier >>, duration,policy=user_policy)

user_policy 在哪里:

user_policy =  (r'{"Statement": [{"Effect":"Allow",
"Action":[
"s3:PutObject",
"s3:GetObject",
"s3:GetObjectVersion",
"s3:DeleteObject",
"s3:DeleteObjectVersion"],
"Resource":"arn:aws:s3:::/%s/*"}]}' % (<< user's identifier >>))

我以为我了解政策,但显然我错过了什么。使用上述方案,我能够获取/放置用户目录下的资源,以及属于其他用户的目录/资源。在我的一生中,我无法正确隔离访问权限。我也玩过桶策略,但没有结果。

任何方向将不胜感激。

注意:我无法使用 STS,因为我们可能有太多用户无法创建/使用 IAM 用户。

最佳答案

有人问过这样的问题 - 结果发现桶上使用桶策略设置了全局公共(public)读取。仔细检查是否没有其他 ACL 等允许访问。而且看起来没有“列表”访问权限 - 这就是您想要的吗?您能否在存储桶上调用 get 并获取其中所有文件的列表? (你不应该这样做)。

不知道这是否有帮助 - 他们在政策中使用“StringLike”。 http://www.techtricky.com/amazon-s3-how-to-restrict-user-access-to-specific-folder-or-bucket/

https://forums.aws.amazon.com/search.jspa?objID=f76&q=stringlike&x=0&y=0

关于python - 如何使用 AWS S3 策略强制联合用户的资源所有权?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8074720/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com