HttpApiFunctionAuth - AWS Serverless Application Model (original) (raw)
Configures authorization at the event level.
Configure Auth for a specific API + Path + Method
Syntax
To declare this entity in your AWS Serverless Application Model (AWS SAM) template, use the following syntax.
YAML
AuthorizationScopes: List
Authorizer: String
Properties
The authorization scopes to apply to this API, path, and method.
Scopes listed here will override any scopes applied by the DefaultAuthorizer
if one exists.
Type: List
Required: No
AWS CloudFormation compatibility: This property is unique to AWS SAM and doesn't have an AWS CloudFormation equivalent.
Authorizer
The Authorizer
for a specific Function. To use IAM authorization, specify AWS_IAM
and specify true
for EnableIamAuthorizer
in the Globals
section of your template.
If you have specified a Global Authorizer on the API and want to make a specific Function public, override by setting Authorizer
to NONE
.
Type: String
Required: No
AWS CloudFormation compatibility: This property is unique to AWS SAM and doesn't have an AWS CloudFormation equivalent.
Examples
Function-Auth
Specifing Authorization at Function level
YAML
Auth:
Authorizer: OpenIdAuth
AuthorizationScopes:
- scope1
- scope2
IAM authorization
Specifies IAM authorization at the event level. To use AWS_IAM
authorization at the event level, you must also specify true
for EnableIamAuthorizer
in the Globals
section of your template. For more information, see Globals section of the AWS SAM template.
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