在SAM模板中配置IAM授权者

时间:2018-09-11 06:09:33

标签: amazon-web-services aws-lambda aws-api-gateway aws-sam-cli

我想用iam权限控制对我的api网关前端lambda的访问:https://docs.aws.amazon.com/apigateway/latest/developerguide/permissions.html

我没有看到任何有关如何在sam模板中进行配置的示例。将authorizationType属性设置为AWS_IAM的sam模板是什么样的?

我想我在某处读到Sam不直接支持此功能,但是您可以大张旗鼓地做到吗?我可以用招摇来解决这个限制吗?我还没有找到一个简单的例子。

2 个答案:

答案 0 :(得分:0)

AWS::Serverless::Api的SAM模板不提供授权类型。您可以在SAM模板中使用AWS::ApiGateway::Method,但这意味着您必须使用CloudFormation资源类型而不是SAM来定义API网关。

答案 1 :(得分:0)

您可以使用 DefaultAuthorizer: AWS_IAM 下的 Auth:

示例:

Resources:
  MyApi:
    Type: AWS::Serverless::Api
    Properties:
      StageName: Prod
      Auth:
        DefaultAuthorizer: AWS_IAM

更多:IAM permission example