Разрешение Cognito для лямбда-функции с использованием безсерверного фреймворка - PullRequest
0 голосов
/ 20 февраля 2019

Я попытался дать моей лямбда-функции разрешение на доступ к Cognito, а также вызвать другую лямбда-функцию, используя следующий код в моем файле serverless.yml.Код:

# NOTE: update this with your service name
service: xxxx

# Use the serverless-webpack plugin to transpile ES6
plugins:
  - serverless-webpack
  - serverless-offline

# serverless-webpack configuration
# Enable auto-packing of external modules
custom:
  webpack:
    webpackConfig: ./webpack.config.js
    includeModules: true

provider:
  name: aws
  runtime: nodejs8.10
  stage: dev
  region: ap-south-1

  environment:
    MYSQLHOST: 'xxxx'
    MYSQLPORT: 'xxxx'
    MYSQLUSER: 'xxxx'
    MYSQLPASS: 'xxxx'
    MYSQLDATABASE: 'xxxx'
    USERPOOLID: 'xxxx'
    USERPOOLREGION: 'xxxx'
  # To load environment variables externally
  # rename env.example to env.yml and uncomment
  # the following line. Also, make sure to not
  # commit your env.yml.
  #
  #environment: ${file(env.yml):${self:provider.stage}}
Version: "2012-10-17"

iamRoleStatements:
  - Effect: "Allow"
    Action:
      -cognito-identity:*
      -cognito-sync:*
      -cognito-idp:*
      -lambda:*
    Resource:
      -"*"


functions:
  # Defines an HTTP API endpoint that calls the main function in create.js
  # - path: url path is /notes
  # - method: POST request
  # - cors: enabled CORS (Cross-Origin Resource Sharing) for browser cross
  #     domain api call
  # - authorizer: authenticate using the AWS IAM role

  createUser:
    handler: createUser.main
    events:
      - http:
          path: users/create
          method: post
          cors: true
          authorizer: aws_iam

  getUsers:
    handler: getUsers.main
    events:
      - http:
          path: getUsers
          method: get
          cors: true
          authorizer: aws_iam

Когда я добавил разрешения для DynamodB, они были добавлены в мою лямбда-роль. Но разрешения Cognito не привязываются к роли.

Обработка Serverless Framework, обрабатываетсоздание роли самостоятельно на основе файла yml.Как только роль будет создана, я могу добавить политику через консоль AWS.Но фреймворк не создает их даже после указания.

...