Tutorial sugli strumenti di analisi integrati

con Amazon QuickSight

Modulo 6: Configurazione dell'utente e del dominio QuickSight

In questo modulo registreremo un utente dimostrativo, creeremo un gruppo di lettori integrato e aggiungeremo l'utente dimostrativo a questo gruppo.

Introduzione

In questo modulo, creeremo e registreremo un utente dimostrativo, creeremo un gruppo di lettori integrato e aggiungeremo l'utente dimostrativo a questo gruppo, in modo che possa accedere a pannelli di controllo o a sessioni integrati

Avrai modo di approfondire i seguenti aspetti

  • Creazione ed esecuzione di Initial Setup Lambda per l'integrazione del pannello di controllo, per creare utenti, gruppi e autorizzazioni QuickSight.
  • Creazione ed esecuzione di Initial Setup Lambda per l'integrazione della sessione, per creare utenti, gruppi e autorizzazioni QuickSight.
  • Inserimento del dominio nella whitelist, per consentire l'integrazione di pagine QuickSight.

 Tempo richiesto per il completamento

15 minuti

 Servizi utilizzati

Implementazione

  • Creazione ed esecuzione di Initial Setup Lambda (per l'integrazione del pannello di controllo)

    Passa alla sezione successiva se stai provando l'integrazione della sessione
    Creeremo una funzione Lambda per eseguire alcune chiamate API per la configurazione iniziale in QuickSight. Queste chiamate API registreranno DemoUser in QuickSight, creeranno un gruppo EmbeddedReader, aggiungeranno DemoUser a questo gruppo e forniranno al gruppo l'accesso di visualizzazione per un pannello di controllo.

    Assicurati che QSInitialSetupTempPolicy sia collegato a QSLambdaBasicExecutionRole.

    1. Avvia Lambda e fai clic sul pulsante Crea funzione.

    139

    2. Effettua le seguenti selezioni.
    Seleziona Crea da zero
    Nome funzione: QSEmbedSetup
    Runtime: Python 3.8
    Ruolo di esecuzione: Utilizza un ruolo esistenteSeleziona QSLambdaBasicExecutionRole dall'elenco a discesa.Fai clic su Crea funzione

    140
    141

    3. Copia il seguente codice Python nella funzione Lambda e fai clic su Salva.

     

    def lambda_handler(event, context):
        import json,re,boto3,os,botocore
        AAI = os.environ["AwsAccountId"]
        email = os.environ["Email"]
        dashboardId = os.environ["DashboardId"]
        roleArn = os.environ["RoleArn"]
        identityRegion = os.environ["QuickSightIdentityRegion"]
        dashboardRegion = os.environ["DashboardRegion"]
        group = 'EmbeddedReaderGrp'
        groupArn='arn:aws:quicksight:'+identityRegion+':'+AAI+':group/default/'+group
    
        qs = boto3.client('quicksight',region_name=identityRegion)
        qsd = boto3.client('quicksight',region_name=dashboardRegion)
    
        try:
            res = qs.create_group(GroupName=group,AwsAccountId=AAI,Namespace='default')
        except Exception as e:
            if (str(type(e)) == "<class 'botocore.errorfactory.ResourceExistsException'>"):
                print('GroupExists')
            else:
                raise e
    
        try:
            res = qs.register_user(IdentityType='IAM',Email=email,UserRole='READER',IamArn=roleArn,SessionName='DemoUser',Namespace='default',AwsAccountId=AAI)
        except Exception as e:
            if (str(type(e)) == "<class 'botocore.errorfactory.ResourceExistsException'>"):
                print('UserExists')
            else:
                raise e
    
        res = qs.create_group_membership(MemberName='QSER/DemoUser',GroupName=group,AwsAccountId=AAI,Namespace='default')
        res = qsd.update_dashboard_permissions(AwsAccountId=AAI,DashboardId=dashboardId,GrantPermissions=[{'Principal':groupArn,'Actions':['quicksight:DescribeDashboard','quicksight:ListDashboardVersions','quicksight:QueryDashboard']}])
    142

    4. Scorri verso il basso fino alla sezione Variabili di ambiente e fai clic su Gestisci variabili di ambiente.

    143

    5. Aggiungi le seguenti variabili di ambiente.
    AwsAccountId
    E-mail
    DashboardId - DashboardId
    salvato nel blocco note (o dall'URL del pannello di controllo).
    RoleArn - ARN ruolo QSER salvato nel blocco note.
    QuickSightIdentityRegion - Regione in cui sono configurate le identità QuickSight.
    DashboardRegion - DashboardRegion salvata nel blocco note (o dall'URL del pannello di controllo).
    Fai clic sul pulsante Salva.

    144

    6. Scorri verso il basso fino a Impostazioni di base e fai clic sul pulsante Modifica.

    145

    7. Aumenta il valore Timeout a 2 minuti e fai clic sul pulsante Salva

    146

    8. Nell'elenco a discesa Seleziona eventi di test seleziona Configura eventi di test.

    147

    9. Immetti il nome dell'evento come Test e fai clic sul pulsante Crea.

    148

    10. Fai clic sul pulsante Test.

    149

    11. Avvia IAM, fai clic sui ruoli nel pannello a sinistra, cerca QSLambdaBasicExecutionRole ed elimina la policy temporanea.

    Per ora ignora questo passaggio e quello successivo. Ricorda di aggiungere nuovamente questa policy al ruolo prima di eseguire la configurazione della funzione Lambda se ora stai provando l'integrazione del pannello di controllo e in seguito vuoi provare l'integrazione della sessione.

    150

    12. Fai clic sul pulsante Scollega.

    151
  • Initial Setup Lambda (per l'integrazione della sessione)

    Passa alla sezione successiva se stai provando l'integrazione del pannello di controllo
    Creeremo una funzione Lambda per eseguire alcune chiamate API per la configurazione iniziale in QuickSight. Queste chiamate API registrano DemoUser in QuickSight come Autore. Assicurati che QSInitialSetupTempPolicy sia collegato a QSLambdaBasicExecutionRole.

    1. Avvia Lambda e fai clic sul pulsante Crea funzione.

    155

    2. Effettua le seguenti selezioni.
    Seleziona Crea da zero
    Nome funzione: QSEmbedSetup
    Runtime: Python 3.8
    Ruolo di esecuzione: Utilizza un ruolo esistente Seleziona QSLambdaBasicExecutionRole dall'elenco a discesa. Fai clic su Crea funzione

    156
    157

    3. Copia il seguente codice Python nella funzione Lambda e fai clic su Salva.
     

    def lambda_handler(event, context):
        import json,re,boto3,os,botocore
        AAI = os.environ["AwsAccountId"]
        email = os.environ["Email"]
        roleArn = os.environ["RoleArn"]
        identityRegion = os.environ["QuickSightIdentityRegion"]
    
        qs = boto3.client('quicksight',region_name=identityRegion)
    
        try:
            res = qs.register_user(IdentityType='IAM',Email=email,UserRole='AUTHOR',IamArn=roleArn,SessionName='DemoUser',Namespace='default',AwsAccountId=AAI)
        except Exception as e:
            if (str(type(e)) == "<class 'botocore.errorfactory.ResourceExistsException'>"):
                print('UserExists')
                res = qs.describe_user(Namespace='default',AwsAccountId=AAI, UserName='QSER/DemoUser')
                if (res['User']['Role'] == 'READER'):
                    print('Upgrading user')
                    qs.update_user(Namespace='default',AwsAccountId=AAI, UserName='QSER/DemoUser', Email=email, Role='AUTHOR')
            else:
                raise e
    158

    4. Scorri verso il basso fino alla sezione Variabili di ambiente e fai clic su Gestisci variabili di ambiente.

    159

    5. Aggiungi le seguenti variabili di ambiente.
    AwsAccountId
    E-mail
    RoleArn - ARN ruolo QSER salvato nel blocco note.
    QuickSightIdentityRegion - Regione in cui sono configurate le identità QuickSight.
    Fai clic sul pulsante Salva.

    160

    6. Scorri verso il basso fino a Impostazioni di base e fai clic sul pulsante Modifica.

    161

    7. Aumenta il valore Timeout a 2 minuti e fai clic sul pulsante Salva

    162

    8. Nell'elenco a discesa Seleziona eventi di test seleziona Configura eventi di test.

    163

    9. Immetti il nome dell'evento come Test e fai clic sul pulsante Crea.

    164

    10. Scorri verso l'alto e fai clic sul pulsante Test.

    165

    11. Avvia IAM, fai clic sui ruoli nel pannello a sinistra, cerca QSLambdaBasicExecutionRole ed elimina la policy temporanea.

    Per ora ignora questo passaggio e quello successivo. Ricorda di aggiungere nuovamente questa policy al ruolo prima di eseguire la configurazione della funzione Lambda se ora stai provando l'integrazione del pannello di controllo e in seguito vuoi provare l'integrazione della sessione o viceversa.

    166

    12. Fai clic sul pulsante Scollega.

    167
  • Inserisci il dominio nella whitelist

    Nel passaggio finale, inseriremo nella whitelist il dominio CloudFront in QuickSight

    1. Avvia QuickSight e cambia la regione in cui si trova il pannello di controllo.

    171

    2. Fai clic sull'icona della persona nella parte superiore destra e su Gestisci QuickSight dall'elenco a discesa.

    172

    3. Fai clic su Domini e integrazione nel pannello a sinistra.

    173

    4. Immetti https://Nome dominio CloudFront in Dominio e fai clic sul pulsante Aggiungi.

    174

Conclusione

Hai completato correttamente il Modulo 6. Successivamente, avvieremo l'applicazione nel Modulo 7.

Questo modulo è stato utile?

Avvio dell'applicazione