我想在测试中创建一个S3存储桶,使其成为一个网站,并使其中的所有对象可见。 AWS Policy Generator将获取存储桶名称,并且需要对象名称。我可以将其全球化为bucket/*
吗?此外,生成的策略JSON包含ID。由于我可能不知道存储桶名称,这是否意味着我必须为所有可能的存储桶预生成策略?或者这个ID只是一个唯一的引用,也可以与JSON一起生成?
答案 0 :(得分:0)
我可以将它作为桶/ *吗?
是的 - 虽然Specifying Amazon S3 Resources in Bucket Policies中的相关文档仅指出资源名称的格式为bucketname / keyname,其中bucketname是存储桶的名称,keyname是对象的全名< / em>并且未提及通配符(*)选项,Example Cases for Amazon S3 Bucket Policies中使用了通配符,并在Special Information for Amazon S3 Policies中确认了通配符:
Resource的值必须以存储桶名称或者前缀为前缀 存储桶名称及其下的路径(存储桶/ )。如果只有桶名称 指定的,没有尾随/ ,策略适用于存储桶。
- 由于我可能不知道水桶名称,这是否意味着我必须这样做 所有可能的桶的预生成策略?或者这个ID只是一个 唯一引用,也可以与JSON一起生成?
虽然 Id 和 Sid 都是<{3}}中的可选标识符,但您确实需要指定唯一ID特别是在Amazon S3策略中,请再次参阅Access Policy Language:
- 每个政策必须具有唯一的政策ID(Id)
- 策略中的每个语句都必须具有唯一的语句ID(sid)
但是,您可以自己生成该唯一ID以及JSON - 通常建议使用UUID作为值,或者将UUID作为ID的一部分合并以确保唯一性。