HttpApiFunctionAuth - Amazon Serverless Application Model
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

HttpApiFunctionAuth

在事件级别配置授权。

为特定 API + 路径 + 方法配置身份验证

语法

要在您的中声明此实体Amazon Serverless Application Model(Amazon SAM)模板,请使用以下语法。

YAML

AuthorizationScopes: List Authorizer: String

属性

AuthorizationScopes

要应用于此 API、路径和方法的授权范围。

此处列出的作用域将覆盖DefaultAuthorizer如果存在。

类型:列表

必需:否

Amazon CloudFormation兼容性:此属性对是唯一的Amazon SAM而且没有Amazon CloudFormation等效项。

Authorizer

这些区域有:Authorizer对于特定函数。要使用 IAM 授权,请指定AWS_IAM然后指定true为了EnableIamAuthorizer中的Globals模板的部分。

如果您已在 API 上指定了全局授权者并希望公开特定的函数,请通过设置AuthorizerNONE.

类型:字符串

必需:否

Amazon CloudFormation兼容性:此属性对是唯一的Amazon SAM而且没有Amazon CloudFormation等效项。

示例

函数身份验证

在函数级别指定授权

YAML

Auth: Authorizer: OpenIdAuth AuthorizationScopes: - scope1 - scope2

IAM 授权

指定事件级别的 IAM 授权。使用AWS_IAM在活动级别授权,您还必须指定true为了EnableIamAuthorizer中的Globals模板的部分。有关更多信息,请参阅 Amazon SAM模板的全局变量部分

YAML

Globals: HttpApi: Auth: EnableIamAuthorizer: true Resources: HttpApiFunctionWithIamAuth: Type: AWS::Serverless::Function Properties: Events: ApiEvent: Type: HttpApi Properties: Path: /iam-auth Method: GET Auth: Authorizer: AWS_IAM Handler: index.handler InlineCode: | def handler(event, context): return {'body': 'HttpApiFunctionWithIamAuth', 'statusCode': 200} Runtime: python3.9