【问题标题】:Granting CloudWatch access to a lambda function deployed using the Serverless framework授予 CloudWatch 访问使用无服务器框架部署的 lambda 函数的权限
【发布时间】:2017-12-15 04:42:46
【问题描述】:

我的问题

我正在使用Serverless framework 编写一个 Lambda 函数。

该函数由 HTTP 请求调用。 它解析请求参数,从 CloudWatch 组中获取一些日志并根据参数进行流式传输,并以日志摘要进行回复。

我想使用无服务器配置文件授予 CloudWatch 对 Lambda 函数的读取权限。

代码

函数定义(serverless.yml)非常基本:

service: adam-test-sls
provider:
  name: aws
  runtime: nodejs6.10
  region: eu-central-1
functions:
  hello:
    handler: handler.hello
    events:
      - http:
          path: hello
          method: get

我尝试了什么

  • 搜索无服务器框架论坛
  • 谷歌福
  • AWS CloudFormation 文档(无服务器框架根据其 YAML 配置创建 CloudFormation 文件)

我的问题

如何授予读取(和/或写入)权限以使该 Lambda 函数能够访问特定 CloudWatch 日志?

【问题讨论】:

    标签: aws-lambda amazon-cloudformation amazon-iam amazon-cloudwatch serverless-framework


    【解决方案1】:

    无服务器允许您为所有函数定义默认 IAM 角色(默认情况下应具有 CloudWatch 访问权限)

    此外,默认情况下,您的 Lambda 函数有权创建和写入 CloudWatch 日志。

    您还可以微调所有函数的 IAM 角色,甚至使用 role 属性为每个函数提供细粒度的权限。

    The reference is here

    【讨论】:

    • 所以我可以使用现有角色或在文件中定义一个角色。对于后一种情况,假设我想要的不仅仅是 CloudWatch 日志 - 我在哪里可以找到有关 serverless.yaml 和 CloudFormation 之间映射的适当文档?
    • 没有魔法。 serverless.yaml 文件的角色定义语法与 IAM (docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/…) 的 CloudFormation YAML 语法完全相同。无服务器框架不执行任何转换。
    • 完美。谢谢!
    猜你喜欢
    • 2019-05-08
    • 2021-10-07
    • 2019-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-29
    • 2019-03-02
    相关资源
    最近更新 更多