Répondre

0

Il n'est actuellement pas possible d'exporter des pools d'utilisateurs existants à partir de Cognito. Vous pouvez toutefois créer de nouveaux pools d'utilisateurs dans AWS CloudFormation, puis gérer ces pools à partir de CloudFormation en utilisant le type de ressource AWS::Cognito::UserPool.

3

Il n'est pas possible d'exporter. Vous auriez besoin des 6 ressources ci-dessous pour automatiser le processus.

  1. Cognito assermentée rôle
  2. Cognito rôle UNAUTHENTICATED
  3. pool d'utilisateurs
  4. utilisateur Piscine client
  5. Identité Piscine
  6. Identité piscine attachement rôle

Vous auriez besoin de 3 sorties qui vous devrez peut-être utiliser dans votre code. Voici le code pour créer ces

AWSTemplateFormatVersion: 2010-09-09 
Parameters: 
    envParameter: 
    Type: String 
    Default: dev 
    AllowedValues: [ dev, test, qa, prod ] 
    Description: Suffix to be added for names. 
Resources: 
    myApiUserPool: 
    Type: "AWS::Cognito::UserPool" 
    Properties: 
     UserPoolName: !Sub myApiUserPool${envParameter} 
    myApiUserPoolClient: 
    Type: "AWS::Cognito::UserPoolClient" 
    Properties: 
     ClientName: !Sub myApiUserPoolClient${envParameter}, 
     GenerateSecret: False 
     RefreshTokenValidity: 30 
     UserPoolId: !Ref myApiUserPool 
    myApiIdentityPool: 
    Type: "AWS::Cognito::IdentityPool" 
    Properties: 
     IdentityPoolName: !Sub myApiIdentityPool${envParameter} 
     AllowUnauthenticatedIdentities: False 
     CognitoIdentityProviders: 
     - ClientId: !Ref myApiUserPoolClient 
      ProviderName: !GetAtt myApiUserPool.ProviderName 
    cognitoUnauthRole: 
    Type: 'AWS::IAM::Role' 
    Properties: 
     RoleName: !Sub Cognito_${myApiIdentityPool.Name}_Unauth_Role 
     AssumeRolePolicyDocument: 
     Version: 2012-10-17 
     Statement: 
      - Effect: Allow 
      Principal: 
       Federated: cognito-identity.amazonaws.com 
      Action: [ 'sts:AssumeRole' ] 
     Policies: 
     - PolicyName: cognitounauth 
      PolicyDocument: 
      Version: '2012-10-17' 
      Statement: 
       - Effect: Allow 
       Action: 
       - mobileanalytics:PutEvents 
       - cognito-sync:* 
       Resource: 
       - "*" 
    cognitoAuthRole: 
    Type: 'AWS::IAM::Role' 
    Properties: 
     RoleName: !Sub Cognito_${myApiIdentityPool.Name}_Auth_Role 
     AssumeRolePolicyDocument: 
     Version: 2012-10-17 
     Statement: 
      - Effect: Allow 
      Principal: 
       Federated: cognito-identity.amazonaws.com 
      Action: [ 'sts:AssumeRole' ] 
     Policies: 
     - PolicyName: cognitoauth 
      PolicyDocument: 
      Version: '2012-10-17' 
      Statement: 
       - Effect: Allow 
       Action: 
       - mobileanalytics:PutEvents 
       - cognito-sync:* 
       - execute-api:* 
       Resource: 
       - "*" 
    myApiIdentityPoolRoleAttachment: 
    DependsOn: [ myApiIdentityPool, cognitoUnauthRole, cognitoAuthRole ] 
    Type: "AWS::Cognito::IdentityPoolRoleAttachment" 
    Properties: 
     IdentityPoolId: !Ref myApiIdentityPool 
     Roles: 
     authenticated: !GetAtt cognitoAuthRole.Arn 
     unauthenticated: !GetAtt cognitoUnauthRole.Arn 
Outputs: 
userPool: 
    Description: "User pool ID" 
    Value: !Ref myApiUserPool 
identityPool: 
    Description: "Identity pool ID" 
    Value: !Ref myApiIdentityPool 
ClientId: 
    Description: "Client id for the user pool appclient" 
    Value: !Ref myApiUserPoolClient