是否有可用于 AWS S3 存储桶名称的策略变量?

Paw*_*rma 6 amazon-s3 amazon-web-services

我有多个 s3 存储桶,并且希望在所有存储桶中维护通用的存储桶策略。我的存储桶策略包含存储桶名称作为资源名称的一部分,因此我无法为所有存储桶维护单个策略文件。有没有办法使用任何变量来获取策略中的存储桶名称?

{
    "Version": "2012-10-17",
    "Id": "Policy1610615475618",
    "Statement": [
        {
            "Sid": "Stmt1610615465140",
            "Effect": "Deny",
            "Principal": {
                "AWS": "arn:aws:iam::<acc_name>:user/<user_name>"
            },
            "Action": "s3:PutObject",
            "NotResource": [
                "arn:aws:s3:::<bucket-name>/*.PNG",
                "arn:aws:s3:::<bucket-name>/*.JPG",
                "arn:aws:s3:::<bucket-name>/*.txt",
                "arn:aws:s3:::<bucket-name>/*.mp3",
                "arn:aws:s3:::<bucket-name>/*.Docx"
            ]
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

Mar*_*cin 2

遗憾的是没有这样的变量。通常在这种情况下,您可以使用基础设施即代码工具(例如 AWS CloudFormation 或 Terraform)创建和管理存储桶及其策略。

这将允许您以可重复且易于管理的方式以编程方式参数化和生成存储桶及其策略。