У меня есть 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, и один из них, должно быть, исправил это.