Почему при развертывании с помощью плагина serverless-appsync-plugin я получаю сообщение об ошибке прав доступа?
Я пытаюсь научиться использовать плагин serverless.com AWS AppSync.
Я получаю сообщение об ошибке при попытке развернуть:
Error:
CREATE_FAILED: GraphQlApi (AWS::AppSync::GraphQLApi)
User: arn:aws:iam::705076103456:user/cloud_user is not authorized to perform: appsync:TagResource on resource: arn:aws:appsync:us-east-1:705076103456:* with an explicit deny (Service: AWSAppSync; Status Code: 403; Error Code: AccessDeniedException; Request ID: 7695c105-653f-4bff-9b73-05c640d6e2b4; Proxy: null)
В документации плагина ничего не говорится о необходимости явно предоставлять разрешения для развертывания, поэтому я предполагаю, что с моим serverless.yml что-то не так:
service: daveh-football-api
provider:
name: aws
deploymentBucket:
name: daveh-mindgym-football-api2
serverSideEncryption: AES256
stage: ${opt:stage, 'local'}
runtime: nodejs14.x
logs:
restApi: true
tracing:
apiGateway: true
lambda: true
region: us-east-1
profile: acloudguru
apiGateway:
shouldStartNameWithService: true
plugins:
- serverless-deployment-bucket
- serverless-webpack
# - serverless-domain-manager
- serverless-offline
- serverless-plugin-stage-variables
- serverless-appsync-plugin
custom:
appSync:
authenticationType: API_KEY
mappingTemplates:
- type: Query
request: false
response: false
dataSource: query
field: hello
dataSources:
- type: AWS_LAMBDA
name: query
config:
functionName: query
apiKeys:
- name: myapikey
description: 'My api key'
expiresAfter: 30d
functions:
ping:
handler: src/rest-handler.handler
events:
- http:
method: GET
path: ping
query:
handler: src/query-handler.handler
resources:
Resources:
GatewayResponseDefault4XX:
Type: 'AWS::ApiGateway::GatewayResponse'
Properties:
ResponseParameters:
gatewayresponse.header.Access-Control-Allow-Origin: "'*'"
gatewayresponse.header.Access-Control-Allow-Headers: "'*'"
ResponseType: DEFAULT_4XX
RestApiId:
Ref: 'ApiGatewayRestApi'
GatewayResponseDefault5XX:
Type: 'AWS::ApiGateway::GatewayResponse'
Properties:
ResponseParameters:
gatewayresponse.header.Access-Control-Allow-Origin: "'*'"
gatewayresponse.header.Access-Control-Allow-Headers: "'*'"
ResponseType: DEFAULT_5XX
RestApiId:
Ref: 'ApiGatewayRestApi'
В этом также определена конечная точка отдыха
serverless.yml
. До того, как я добавил материал AppSync, он отлично развернулся.
Вот зависимости разработчиков из моего package.json:
"serverless": "^3.12.0",
"serverless-appsync-plugin": "^1.13.0",
"serverless-deployment-bucket": "^1.5.2",
"serverless-offline": "^8.5.0",
"serverless-plugin-stage-variables": "^1.10.1",
"serverless-webpack": "^5.7.0",
"ts-loader": "^9.2.8"
Любые идеи, что мне не хватает? Все, что я пытаюсь сделать, это развернуть графическую штуку «hello world» прямо сейчас.