#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