0

我正在尝试通过 sam-cli 创建一个具有预先存在的角色的 sam 应用程序。默认情况下,sam clil 使用基本的 lambda 执行策略创建新的用户角色,但是因为我想在我的 sam 应用程序上运行 x-ray,所以我想要应用程序使用现有用户角色创建。

这是我的 template.yml

AWSTemplateFormatVersion : '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Resources:
  POCLambdaExecutionRole:
  Type: 'AWS::IAM::Role'
  SAMLocal:
    Type: AWS::Serverless::Function
    Properties:
      Handler: SAMLocal.lambda_handler
      Runtime: python2.7
    TracingConfig:
      Mode: Active
      Environment:
        Variables:
          dev_table: "MessageQueue"
      Events:
        SAMLocal:
          Type: Api
          Properties:
            Path: /
            Method: GET
  SAMLocal1:
    Type: AWS::Serverless::Function
    Properties:
      Handler: SAMLocal.lambda_handler
      Runtime: python2.7

我怎样才能做到这一点。

发现这篇关于堆栈溢出的文章,但并没有真正帮助我将现有的 IAM 角色与 CloudFormation 中的 EC2 实例相关联

4

2 回答 2

3

您需要将现有角色以 ARN 格式放入 yaml 文件中

角色:arn:aws:iam::XXXXXX:角色/角色

于 2018-12-07T10:16:39.480 回答
0

您可以设置角色或权限。如果您没有为您的功能定义角色,SAM 将为每个功能创建一个角色。默认情况下,它将分别适用于每个函数。

以我在解决方案角色中描述的方式在您的功能之外声明角色:arn:aws:iam::XXXXXX:role/role

检查这个

于 2018-12-07T14:37:33.403 回答