Почему учетная запись администратора получает разрешение при обновлении BucketPolicy? - PullRequest
1 голос
/ 10 апреля 2020

У меня есть AWS CDK-скрипт, который я сейчас не могу развернуть. Я мог бы развернуть его перед добавлением политики корзины. После добавления политики сегмента она не может быть развернута. Вот код Python:

bucket = aws_s3.Bucket(
    self,
    "myBucket",
    bucket_name="mybucket",
    access_control=aws_s3.BucketAccessControl.PRIVATE,
    versioned=True,
    encryption=aws_s3.BucketEncryption.S3_MANAGED,
    block_public_access=aws_s3.BlockPublicAccess.BLOCK_ALL
)

policy_statement =  aws_iam.PolicyStatement(
    effect=aws_iam.Effect.DENY,
    actions=["*"],
    resources=[bucket.arn_for_objects("*")],
    conditions={ "Bool": { "aws:SecureTransport": "false" } }
)

policy_statement.add_any_principal()

bucket.add_to_resource_policy(policy_statement)

Я развертываю этот стек с помощью этой команды: cdk deploy --require-approval=never

И вижу следующую ошибку:

 2/4 | 10:01:03 AM | CREATE_IN_PROGRESS   | AWS::S3::BucketPolicy | myBucket/Policy (myBucketPolicyAFBF75F8)
 3/4 | 10:01:04 AM | CREATE_FAILED        | AWS::S3::BucketPolicy | myBucket/Policy (myBucketPolicyAFBF75F8) API: s3:PutBucketPolicy Access Denied

Пользователь, которого я использую для развертывания, это пользователь с правами администратора, имеющий доступ ко всему. Я подтвердил, что могу войти в консоль, создать эту корзину и добавить эту Политику корзины с тем же пользователем, но по какой-то причине я получаю ошибку отказа в разрешении при развертывании сценария CDK.

I ' Я относительно новичок в CDK и AWS, так что, может быть, я упускаю что-то простое. Буду признателен за любую помощь.

AWS CLI Version 2.0.3
Python Version 3.7.5
CDK Version 1.31.0 (build 8f3ac79)
Botocore Version 2.0.0dev7
Windows 10

ОБНОВЛЕНИЕ:

Я обновил мою установку CDK до последней версии, и теперь она разворачивается очень хорошо. Код не изменился, только моя версия CDK. Я сейчас использую 1.32.2 (build e19e206), и он развернут. Просматривая примечания к выпуску, я не могу точно сказать, почему он был сломан раньше и почему он работает сейчас, но они внесли некоторые изменения в IAM, и один из них, должно быть, исправил это.

...