Propiedad x-amazon-apigateway-authtype - Amazon API Gateway

Propiedad x-amazon-apigateway-authtype

Para las API REST, esta extensión se puede utilizar a fin definir un tipo personalizado de un autorizador de Lambda. En este caso, el valor es de forma libre. Por ejemplo, una API puede tener varios autorizadores de Lambda que utilizan diferentes esquemas internos. Puede utilizar esta extensión para identificar el esquema interno de un autorizador de Lambda.

Más comúnmente, en API HTTP y API REST, también se puede usar como una forma de definir la autorización de IAM en varias operaciones que comparten el mismo esquema de seguridad. En este caso, el término awsSigv4 es un término reservado, junto con cualquier término prefijado por aws.

Esta extensión se aplica al esquema de seguridad de tipo apiKey en OpenAPI 2 y OpenAPI 3.

Ejemplo de x-amazon-apigateway-authtype

El siguiente ejemplo de OpenAPI 3 define la autorización de IAM en varios recursos en una API REST o API HTTP:

{ "openapi" : "3.0.1", "info" : { "title" : "openapi3", "version" : "1.0" }, "paths" : { "/operation1" : { "get" : { "responses" : { "default" : { "description" : "Default response" } }, "security" : [ { "sigv4Reference" : [ ] } ] } }, "/operation2" : { "get" : { "responses" : { "default" : { "description" : "Default response" } }, "security" : [ { "sigv4Reference" : [ ] } ] } } }, "components" : { "securitySchemes" : { "sigv4Reference" : { "type" : "apiKey", "name" : "Authorization", "in" : "header", "x-amazon-apigateway-authtype": "awsSigv4" } } } }

El siguiente ejemplo de OpenAPI 3 define un autorizador de Lambda con un esquema personalizado para una API REST:

{ "openapi" : "3.0.1", "info" : { "title" : "openapi3 for REST API", "version" : "1.0" }, "paths" : { "/protected-by-lambda-authorizer" : { "get" : { "responses" : { "200" : { "description" : "Default response" } }, "security" : [ { "myAuthorizer" : [ ] } ] } } }, "components" : { "securitySchemes" : { "myAuthorizer" : { "type" : "apiKey", "name" : "Authorization", "in" : "header", "x-amazon-apigateway-authorizer" : { "identitySource" : "method.request.header.Authorization", "authorizerUri" : "arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:account-id:function:function-name/invocations", "authorizerResultTtlInSeconds" : 300, "type" : "request", "enableSimpleResponses" : false }, "x-amazon-apigateway-authtype": "Custom scheme with corporate claims" } } }, "x-amazon-apigateway-importexport-version" : "1.0" }

Véase también

authorizer.authType