Я работаю над учебным пособием : создайте REST API в качестве прокси-сервера Amazon S3 в API Gateway . Конечная точка для GET /
работает нормально, но я получаю «Отказано в доступе», когда я PUT /{folder}
. Я попытался использовать входящее в комплект OpenAPI определение и создать его, как описано в руководстве.
У меня был временный успех, когда я удалил конечную точку PUT /{folder}
и заново создал ее в консоли AWS. Затем я создал второй шлюз API из предоставленного определения OpenAPI , чтобы я мог понять, что я сделал по-другому, но затем оба перестали работать.
Два вопроса:
- Почему я получаю «Отказано в доступе»?
- Как мне отладить это?
По первому. Я проверил, что роль IAM apigAwsProxyRole
из openapi do c существует и имеет управляемые привилегии AmazonS3FullAccess
, которые allow
S3:*
. У него есть политика доверия с sts:AssumeRole
для "apigateway.amazonaws.com"
Во-вторых, есть ли какая-то полезная информация, которую я должен увидеть в CloudWatch или CloudTrail? Я видел события, которые говорят мне «Доступ запрещен», но это не очень информативно.