本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
HttpApiFunctionAuth
在事件级别配置授权。
为特定 API + 路径 + 方法配置身份验证
语法
要在您的中声明此实体Amazon Serverless Application Model(Amazon SAM)模板,请使用以下语法。
YAML
AuthorizationScopes:ListAuthorizer:String
属性
-
AuthorizationScopes -
要应用于此 API、路径和方法的授权范围。
此处列出的作用域将覆盖
DefaultAuthorizer如果存在。类型:列表
必需:否
Amazon CloudFormation兼容性:此属性对是唯一的Amazon SAM而且没有Amazon CloudFormation等效项。
-
Authorizer -
这些区域有:
Authorizer对于特定函数。要使用 IAM 授权,请指定AWS_IAM然后指定true为了EnableIamAuthorizer中的Globals模板的部分。如果您已在 API 上指定了全局授权者并希望公开特定的函数,请通过设置
Authorizer到NONE.类型:字符串
必需:否
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