x-amazon-apigateway-authtype propriété - Amazon API Gateway

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

x-amazon-apigateway-authtype propriété

Pour les API REST, cette extension peut être utilisée pour définir un type personnalisé de mécanisme d'autorisation Lambda. Dans ce cas, la valeur est de forme libre. Par exemple, une API peut avoir plusieurs mécanismes d'autorisation Lambda qui utilisent différents schémas internes. Cette extension vous permet d'identifier le schéma interne d'un mécanisme d'autorisation Lambda.

Plus souvent, dans les API HTTP et les API REST, il peut également être utilisé pour définir l'autorisation IAM sur plusieurs opérations qui partagent le même schéma de sécurité. Dans ce cas, le terme awsSigv4 est un terme réservé, ainsi que tout terme doté du préfixeaws.

Cette extension s'applique au schéma de sécurité de type apiKey dans OpenAPI 2 et OpenAPI 3.

x-amazon-apigateway-authtype exemple

L'exemple OpenAPI 3 suivant définit l'autorisation IAM sur plusieurs ressources dans une API REST ou une 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" } } } }

L'exemple OpenAPI 3 suivant définit un mécanisme d'autorisation Lambda avec un schéma personnalisé pour une 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" }

Voir aussi

authorizer.authType