Политика доступа к функциям AWS lambda устанавливается программно

#amazon-web-services #aws-lambda #lambda-authorizer #aws-policies

#amazon-веб-сервисы #aws-lambda #лямбда-авторизатор #aws-политики

Вопрос:

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

 resource = "arn:aws:region:*:*:function:orderinputapi-alpha-writeMe";
  

когда я использую:

 resource="*"
  

это работает отлично (пользователь имеет полный доступ ко всем лямбда-функциям), но когда я пытаюсь ограничить доступ, разрешив только одну лямбда-функцию, я получаю «пользователь не авторизован для доступа к ресурсу» при попытке получить к нему доступ. Я подтвердил, что функция является точным названием лямбда-выражения.

Полное заявление о политике, создаваемое моим кодом, является:

 { Action: 'execute-api:Invoke',
Effect: 'Allow',
Resource:'arn:aws:region:*:*:function:orderinputapi-alpha-writeMe' }
  

Ответ №1:

С вашим ARN произошла ошибка: вместо arn:aws:region:*:*:function:orderinputapi-alpha-writeMe оно должно быть arn:aws:lambda:*:*:function:orderinputapi-alpha-writeMe

Кроме того, если вы устанавливаете разрешения для того же региона и учетной записи, вы можете просто удалить * , чтобы ARN был:

arn:aws:lambda:::function:orderinputapi-alpha-writeMe