【发布时间】:2019-10-01 16:05:21
【问题描述】:
我想向 AWS lambda 日志添加 cloudwatch 订阅,从而使我的 AWS lambda 由 cloudwatch 日志触发。我应该向 lambda 用于启用此功能的角色添加哪些权限?
【问题讨论】:
标签: amazon-web-services aws-lambda amazon-iam amazon-cloudwatch
我想向 AWS lambda 日志添加 cloudwatch 订阅,从而使我的 AWS lambda 由 cloudwatch 日志触发。我应该向 lambda 用于启用此功能的角色添加哪些权限?
【问题讨论】:
标签: amazon-web-services aws-lambda amazon-iam amazon-cloudwatch
默认情况下,您的 Lambda 将有权访问 CloudWatch 以写入日志(使用默认 AWSLambdaBasicExecutionRole),但是如果您想手动添加它,这是具有所需权限的策略:
{
"document": {
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Resource": "*"
}
]
},
"name": "AWSLambdaBasicExecutionRole",
"id": "xxxxx",
"type": "managed",
"arn": "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
}
Lambda 上 CloudWatch 事件触发器的 Lambda 函数策略:
{
"Version": "2012-10-17",
"Id": "default",
"Statement": [
{
"Sid": "uuid",
"Effect": "Allow",
"Principal": {
"Service": "events.amazonaws.com"
},
"Action": "lambda:invokeFunction",
"Resource": "arn:aws:lambda:us-east-x:xxxxxxxxxxxx:function:LambdaFunction",
"Condition": {
"ArnLike": {
"AWS:SourceArn": "arn:aws:events:us-east-x:xxxxxxxxxxxx:rule/CloudWatchRule"
}
}
}
]
}
【讨论】: