AWS CDK 中的 IAM 角色条件 Python

IAM Role Conditions in AWS CDK Python

我正在创建一个新的 IAM 角色自定义策略,但它会回滚,原因是:MalformedPolicyDocument


myrole = iam.Role(self,config['CUSTOM_POLICY']['ROLE'],
    assumed_by=iam.ServicePrincipal('ec2.amazonaws.com'),
    role_name=config['CUSTOM_POLICY']['NAME']
)
myrole.add_to_policy(
    iam.PolicyStatement(
        effect=iam.Effect.ALLOW,
        resources=['arn:aws:s3:::MyBucket/*'],
        actions=[
            's3:CreateBucket',
            's3:GetObject',
            's3:ListBucket',
            's3:PutObject'
        ],
        conditions=[
            {
                'aws:SourceIp':'192.10.10.10/32'
            }
        ]
    )
)

如果我删除它起作用的条件,考虑条件的正确语法是什么?

您似乎遗漏了 condition operator。您是否在寻找类似的东西:

conditions=[
    {
        "NotIpAddress": {
            "aws:SourceIp": ["192.10.10.10/32"]
        }
        
    }
]