Почему при развертывании с помощью плагина 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» прямо сейчас.

0 ответов