Créez un autorisateur Amazon Cognito pour une API REST à l'aide de AWS CloudFormation - APIPasserelle Amazon

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.

Créez un autorisateur Amazon Cognito pour une API REST à l'aide de AWS CloudFormation

Vous pouvez l'utiliser AWS CloudFormation pour créer un groupe d'utilisateurs Amazon Cognito et un autorisateur Amazon Cognito. L'exemple de AWS CloudFormation modèle effectue les opérations suivantes :

  • Créez un groupe d’utilisateurs Amazon Cognito. Un client doit d’abord connecter l’utilisateur à un groupe d’utilisateurs et obtenir un jeton d’identité ou d’accès. Si vous utilisez des jetons d'accès pour autoriser des appels de méthode d'API, assurez-vous de configurer l'intégration de l'application avec le groupe d'utilisateurs pour configurer les règles personnalisées de votre choix sur un serveur de ressources donné.

  • Il crée une API API Gateway avec une méthode GET.

  • Crée un mécanisme d’autorisation Amazon Cognito qui utilise l’en-tête Authorization comme source du jeton.

AWSTemplateFormatVersion: 2010-09-09 Resources: UserPool: Type: AWS::Cognito::UserPool Properties: AccountRecoverySetting: RecoveryMechanisms: - Name: verified_phone_number Priority: 1 - Name: verified_email Priority: 2 AdminCreateUserConfig: AllowAdminCreateUserOnly: true EmailVerificationMessage: The verification code to your new account is {####} EmailVerificationSubject: Verify your new account SmsVerificationMessage: The verification code to your new account is {####} VerificationMessageTemplate: DefaultEmailOption: CONFIRM_WITH_CODE EmailMessage: The verification code to your new account is {####} EmailSubject: Verify your new account SmsMessage: The verification code to your new account is {####} UpdateReplacePolicy: Retain DeletionPolicy: Retain CogAuthorizer: Type: AWS::ApiGateway::Authorizer Properties: Name: CognitoAuthorizer RestApiId: Ref: Api Type: COGNITO_USER_POOLS IdentitySource: method.request.header.Authorization ProviderARNs: - Fn::GetAtt: - UserPool - Arn Api: Type: AWS::ApiGateway::RestApi Properties: Name: MyCogAuthApi ApiDeployment: Type: AWS::ApiGateway::Deployment Properties: RestApiId: Ref: Api DependsOn: - CogAuthorizer - ApiGET ApiDeploymentStageprod: Type: AWS::ApiGateway::Stage Properties: RestApiId: Ref: Api DeploymentId: Ref: ApiDeployment StageName: prod ApiGET: Type: AWS::ApiGateway::Method Properties: HttpMethod: GET ResourceId: Fn::GetAtt: - Api - RootResourceId RestApiId: Ref: Api AuthorizationType: COGNITO_USER_POOLS AuthorizerId: Ref: CogAuthorizer Integration: IntegrationHttpMethod: GET Type: HTTP_PROXY Uri: http://petstore-demo-endpoint.execute-api.com/petstore/pets Outputs: ApiEndpoint: Value: Fn::Join: - "" - - https:// - Ref: Api - .execute-api. - Ref: AWS::Region - "." - Ref: AWS::URLSuffix - / - Ref: ApiDeploymentStageprod - /