如何在 AWS SAM 中为 HTTP ApiGateway 配置 IAM 授权方?
How to configure IAM authorizer for HTTP ApiGateway in AWS SAM?
我们有一个使用 AWS SAM 构建的服务。现在我们要为其添加身份验证。我们有一个 HTTP ApiGateway,我们想向它添加一个 IAM 身份验证器。不幸的是,我找不到任何关于如何做到这一点的示例或文档?我已经尝试过,以下选项:
exampleApi:
Type: AWS::Serverless::HttpApi
Properties:
CorsConfiguration: True
DefinitionBody:
'Fn::Transform':
Name: 'AWS::Include'
Parameters:
Location: 'openapi.yaml'
StageName: v2
Auth:
DefaultAuthorizer: AWS_IAM
和
exampleApi:
Type: AWS::Serverless::HttpApi
Properties:
CorsConfiguration: True
DefinitionBody:
'Fn::Transform':
Name: 'AWS::Include'
Parameters:
Location: 'openapi.yaml'
StageName: v2
fnExample:
Type: AWS::Serverless::Function
Properties:
Handler: index.example
Role: !GetAtt dataLambdaRole.Arn
Events:
getExample:
Type: HttpApi
Properties:
Path: /example
Method: get
ApiId: !Ref exampleApi
Auth:
Authorizer: AWS_IAM
不幸的是,它们都以错误结束。我能否请您分享有关如何在 AWS SAM 模板中为 HTTP ApiGateway 配置 IAM 授权方的示例或说明。
我想我找到了。
不幸的是,目前(2021 年 1 月 21 日)似乎无法使用 SAM 模板为 HTTP API 配置 IAM 安全性。这是我在 AWS 文档中找到的内容:
Mechanisms for controlling access
AWS::Serverless::HttpApi
AWS::Serverless::Api
Lambda authorizers
✓
✓
IAM permissions
✓
Amazon Cognito user pools
✓
✓
API keys
✓
Resource policies
✓
OAuth 2.0/JWT authorizers
✓
可以找到更多详细信息here
AWS 方面正在做一些工作来解决这个问题:
我们有一个使用 AWS SAM 构建的服务。现在我们要为其添加身份验证。我们有一个 HTTP ApiGateway,我们想向它添加一个 IAM 身份验证器。不幸的是,我找不到任何关于如何做到这一点的示例或文档?我已经尝试过,以下选项:
exampleApi:
Type: AWS::Serverless::HttpApi
Properties:
CorsConfiguration: True
DefinitionBody:
'Fn::Transform':
Name: 'AWS::Include'
Parameters:
Location: 'openapi.yaml'
StageName: v2
Auth:
DefaultAuthorizer: AWS_IAM
和
exampleApi:
Type: AWS::Serverless::HttpApi
Properties:
CorsConfiguration: True
DefinitionBody:
'Fn::Transform':
Name: 'AWS::Include'
Parameters:
Location: 'openapi.yaml'
StageName: v2
fnExample:
Type: AWS::Serverless::Function
Properties:
Handler: index.example
Role: !GetAtt dataLambdaRole.Arn
Events:
getExample:
Type: HttpApi
Properties:
Path: /example
Method: get
ApiId: !Ref exampleApi
Auth:
Authorizer: AWS_IAM
不幸的是,它们都以错误结束。我能否请您分享有关如何在 AWS SAM 模板中为 HTTP ApiGateway 配置 IAM 授权方的示例或说明。
我想我找到了。 不幸的是,目前(2021 年 1 月 21 日)似乎无法使用 SAM 模板为 HTTP API 配置 IAM 安全性。这是我在 AWS 文档中找到的内容:
Mechanisms for controlling access | AWS::Serverless::HttpApi | AWS::Serverless::Api |
---|---|---|
Lambda authorizers | ✓ | ✓ |
IAM permissions | ✓ | |
Amazon Cognito user pools | ✓ | ✓ |
API keys | ✓ | |
Resource policies | ✓ | |
OAuth 2.0/JWT authorizers | ✓ |
可以找到更多详细信息here
AWS 方面正在做一些工作来解决这个问题: