我正在尝试使用AWS CDK来编写我的基础设施,而不是像以前那样用控制台来构建。我正在编写我的S3桶策略,对如何给出条件感到困惑。我的目标是从AWS控制台重新创建这个Bucket策略,并按预期工作。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AddPerm",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::**********/*",
"Condition": {
"IpAddress": {
"aws:SourceIp": "*********"
}
}
}
]
}
我目前的桶策略的aws cdk代码是这样的。
const bucketPolicy = new iam.PolicyStatement({
actions: ['s3:GetObject'],
resources: [`${bucket.bucketArn}/*`],
principals: [new iam.Anyone()],
conditions: ...
});
先谢谢你的帮助!
我只是通过这样做来解决它。
const bucketPolicy = new iam.PolicyStatement({
actions: ['s3:GetObject'],
resources: [`${bucket.bucketArn}/*`],
principals: [new iam.Anyone()],
conditions: {
'IpAddress': {
'aws:SourceIp': '***.***.***.***'
}
}
});