Добавить IP-адрес в белый список в политике сегмента S3 в AWS CDK - PullRequest
1 голос
/ 27 мая 2020

Я пытаюсь написать свою инфраструктуру, используя AWS CDK, а не строить ее с помощью консоли, как это было раньше. Я пишу свою политику корзины S3 и не понимаю, как задать условия. Моя цель - воссоздать эту политику корзины из консоли AWS, которая работает по назначению:

{
    "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: ...
    });

Заранее благодарим за помощь!

1 Ответ

2 голосов
/ 27 мая 2020

Я решил это так:

const bucketPolicy = new iam.PolicyStatement({
    actions: ['s3:GetObject'],
    resources: [`${bucket.bucketArn}/*`],
    principals: [new iam.Anyone()],
    conditions: { 
        'IpAddress': {
            'aws:SourceIp': '***.***.***.***'
         }
      }
    });
...