Переменная в роли AWS IAM для предоставления разрешений функции Lambda.
Я пытаюсь выяснить, возможно ли разработать роль AWS IAM, которая динамически предоставляла бы разрешение ресурсу на основе имени вызывающего ресурса. Например, в настоящее время у меня есть роль, которая предоставляет функции Lambda разрешение на создание и запись журналов CloudWatch, которые выглядят следующим образом:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "CWLog",
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Resource": "arn:aws:logs:*:*:log-group:/aws/lambda/MyLambdaFunction*"
}
}
Мне интересно, есть ли способ заменить строку MyLambdaFunction на имя вызывающей функции Lambda, используя некоторую переменную ${aws:NameOfTheLambdaFunction} , чтобы я мог иметь общую политику, позволяющую функциям записывать только в свои определенные группы журналов CW которые я могу прикрепить к разным ролям Lambda - с выражением ресурса, выглядящим так:"Resource": "arn:aws:logs:*:*:log-group:/aws/lambda/${aws:NameOfTheLambdaFunction}*"
Возможно ли что-то подобное?
1 ответ
Вы имеете в виду переменную политики IAM , которая предоставляет вам имя вызывающей функции Lambda.
К сожалению, эта переменная политики в настоящее время не существует , поэтому это невозможно.