【问题标题】:AWS policy condition operator 'NULL' in 'YAML'“YAML”中的 AWS 策略条件运算符“NULL”
【发布时间】:2022-06-14 05:29:42
【问题描述】:

如何在 YAML 中编写以下 JSON 存储桶策略?

"Policy": 
        {
            "Type" : "AWS::S3::BucketPolicy",
            "Properties" : {
                "Bucket" : { "Ref" : "Bucket" },
                "PolicyDocument" : {
                    "Statement":[
                        {
                            "Action":["s3:PutObject"],
                            "Effect": "Deny",
                            "Resource": { "Fn::Join" : ["", ["arn:aws:s3:::", { "Ref" : "Bucket" } , "/*" ]]},
                            "Principal":"*",
                            "Condition":{
                                "Null": {
                                    "s3:x-amz-server-side-encryption": "true"
                                },
                                "StringNotEquals":{
                                    "s3:x-amz-server-side-encryption": "AES256"
                                }
                            }
                        }
                    ]
                }
            }
        },

我主要关心的是“NULL”条件运算符。 yaml是怎么写的?我试过 AWS::NoValue 但没有帮助。我不断收到错误 - “无效的条件前缀:AWS”。如果我使用 NULL 或 'NULL',则错误是 - 'Malformed'。

【问题讨论】:

  • 'NULL' 有效。 “格式错误”的错误可能是由于其他原因。

标签: amazon-web-services amazon-s3 amazon-cloudformation amazon-iam


【解决方案1】:

所以 YAML 中 IAM Policy "Null" 条件的语法如下:

            Condition:
              'Null':
                's3:x-amz-server-side-encryption': 'true'

我已经使用 CloudFormation designer 将 JSON 从 this page 转换为 YAML -- 将 IAM 策略添加到设计器并使用该页面中的示例填充 JSON 版本。然后切换到 YAML 并得到了我需要的部分。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-05
    • 2021-07-31
    • 1970-01-01
    • 2020-09-24
    • 1970-01-01
    • 2018-01-08
    • 1970-01-01
    • 2020-11-25
    相关资源
    最近更新 更多