Я сократил код во вложенном стеке до одной строки вывода, чтобы ничего не знать в вложенный стек выдает ошибку.
Код: Выделить всё
class ApiGatewayNestedStack(NestedStack):
""" A nested stack to create the main API Gateway endpoints.
"""
def __init__(self, scope: Construct, id: str, parameters: dict, **kwargs):
super().__init__(scope, id, **kwargs)
print('do somthin')
Код: Выделить всё
apigateway_stack = ApiGatewayNestedStack(self, 'NestedStack', {})Код: Выделить всё
cdk bootstrapКод: Выделить всё
cdk sythКод: Выделить всё
cdk deploy
Затем код передается, и конвейер кода начинает давать сбой только во время выполнение развертывания с ошибкой S3: доступ запрещен.
Настройки сегмента S3 установлены следующим образом:
- Блокировать публичный доступ: включено.
- Владение объектом: Владелец сегмента применяет правила
- Политика сегмента (см. ниже)
Код: Выделить всё
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Deny",
"Principal": {
"AWS": "*"
},
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::bucketname",
"arn:aws:s3::: bucketname/*"
],
"Condition": {
"Bool": {
"aws:SecureTransport": "false"
}
}
}
]
}
Я также пытался удалить политику сегмента и изменить владение объектом на «Объект». Writer', опять же не имеет никакого значения.
Опять же, когда экземпляр вложенного стека удаляется из родительского стека, конвейер будет успешно построен и развернут.
Подробнее здесь: https://stackoverflow.com/questions/793 ... ess-denied
Мобильная версия