У меня очень простая AWS лямбда-функция - просто перечисление всех моих событий CloudWatch:
import boto3
def lambda_handler(event, context):
client = boto3.client("events")
return client.list_rules()
Однако, когда я пытаюсь запустить его (с пустым тестовым событием: {}
), Я получаю следующее исключение разрешений:
An error occurred (AccessDeniedException) when calling the ListRules operation:
User: arn:aws:sts::123321123321:assumed-role/lambda+basicEvents/lambdaName
is not authorized to perform: events:ListRules
on resource: arn:aws:events:eu-west-1:123321123321:rule/*
У меня действительно есть эта политика, связанная с ролью выполнения лямбда (и я вижу действия, перечисленные на вкладке разрешений лямбды):
{
"document": {
"Version": "2012-10-17",
"Statement": [
{
"Sid": "BasicCloudWatchEventsManager",
"Effect": "Allow",
"Action": [
"events:DescribeRule",
"events:EnableRule",
"events:PutRule",
"events:ListRules",
"events:DisableRule"
],
"Resource": "arn:aws:events:*:*:rule/[*/]*"
}
]
},
"name": "BasicCloudWatchEventsManager",
"id": "SOME7LONG7ID",
"type": "managed",
"arn": "arn:aws:iam::123321123321:policy/BasicCloudWatchEventsManager"
}
Я создал политику с помощью предоставляемого ими визуального редактора, просто вручную изменил sid
.
Есть какие-нибудь подсказки, что может отсутствовать?