1

我想在测试中创建一个 S3 存储桶,使其成为一个网站,并使其中的所有对象可见。AWS 策略生成器将采用存储桶名称,并需要一个对象名称。我可以将它作为bucket/*吗?此外,生成的策略 JSON 包含一个 ID。由于我可能不知道存储桶名称,这是否意味着我必须为所有可能的存储桶预先生成策略?还是这个 ID 只是一个唯一的引用,也可以与 JSON 一起生成?

4

1 回答 1

0

对象名称通配符

我可以将它作为存储桶/* 吗?

是 - 虽然在桶策略中指定 Amazon S3 资源中的相关文档令人恼火地只说明资源名称的格式是桶名/键名,其中桶名是桶的名称,键名是对象的全名,并没有提及通配符 (*) 选项,通配符用于 Amazon S3 存储桶策略的示例案例,并在Amazon S3 策略的特殊信息中得到确认:

Resource 的值必须以存储桶名称或存储桶名称及其下的路径 (bucket/ ) 为前缀。如果只指定了存储桶名称,没有尾部 /,则该策略适用于存储桶。

政策编号

  • 由于我可能不知道存储桶名称,这是否意味着我必须为所有可能的存储桶预先生成策略?还是这个 ID 只是一个唯一的引用,也可以与 JSON 一起生成?

虽然IdSid都是访问策略语言的可选标识符,但您确实需要特别在 Amazon S3 策略中指定唯一 ID,请再次参阅Amazon S3 策略的特殊信息

  • 每个策略必须具有唯一的策略 ID (Id)
  • 策略中的每个语句都必须具有唯一的语句 ID (sid)

但是,您可以自己生成该唯一 ID 以及 JSON - 像往常一样,建议使用 UUID 作为值,或者将 UUID 合并为 ID 的一部分以确保唯一性

于 2012-10-26T08:55:32.070 回答