Как установить полный доступ к Cloudformation из бессерверного клика

У меня есть программный доступ к учетной записи aws, и когда я пытаюсь развернуть базовую функцию, я получаю:

Пользователь: arn: aws: iam :: xxxx: user / myname не авторизован для выполнения: cloudformation: DescribeStacks на ресурсе: arn: aws: cloudformation: eu-west-1: xxxxxx: stack / hello-world-dev / *

Я проверил свои ключи, и они верны, я предполагаю, что у моего пользователя нет доступа к облачной информации.

Мой вопрос: можно ли установить разрешения для моего пользователя в файле yaml? Например, полный доступ к облачной информации, полный доступ лямбда-выражения и т. Д.

Вы можете найти мои функции и файл yaml ниже:

handler.js

module.exports.helloWorld = (event, context, callback) => {
  const response = {
    statusCode: 200,
    headers: {
      'Access-Control-Allow-Origin': '*', // Required for CORS support to work
    },
    body: JSON.stringify({
      message: 'Go Serverless v1.0! Your function executed successfully!',
      input: event,
    }),
  };

  callback(null, response);
};

serverless.yaml

service: hello-world

provider:
  name: aws
  runtime: nodejs8.10
  region: eu-west-1
  # iamRoleStatements:
  #   - Effect: "Allow"
  #     Action:
  #      - cloudformation: CreateStack
  #      - cloudformation: DescribeStacks
  #      - cloudformation: CreateChangeSet
  #      - cloudformation: ListStacks
  #      - cloudformation: UpdateStack
  #      - cloudformation: DescribeChangeSet
  #      - cloudformation: ExecuteChangeSet
  #      - iam: GetRole
  #      - lambda: UpdateFunctionCode
  #      - lambda: UpdateFunctionConfig
  #      - lambda: GetFunctionConfiguration
  #      - lambda: AddPermission
  #      - s3: GetObject
  #     Resource: "*"

# The `functions` block defines what code to deploy
functions:
  helloWorld:
    handler: handler.helloWorld
    # The `events` block defines how to trigger the handler.helloWorld code
    events:
      - http:
          path: hello-world
          method: get
          cors: true

person squeekyDave    schedule 17.09.2018    source источник


Ответы (1)


Итак, проблема в том, что вашим ключам ~ / .aws / credentials по умолчанию не назначены правильные разрешения.

Вы не можете назначать разрешения в файле yaml для своего пользователя, вам нужно перейти в консоль и назначить, вы можете создавать пользователей в разделе ресурсов, но это будет интуитивно понятно - я не совсем уверен, что ваши знания уровень таков, что если вам нужна дополнительная помощь, прокомментируйте, и я конкретизирую свой ответ.

Ваша роль / разрешения развертывания должны иметь полный доступ к Lambda, IAM, Cloudformation и APIG.

person Mrk Fldig    schedule 17.09.2018