New user sign up using AWS Builder ID
New user sign up using AWS Builder ID is currently unavailable on re:Post. To sign up, please use the AWS Management Console instead.
Come posso utilizzare i modelli per configurare l'accesso multi-account in Amazon QuickSight?
Desidero condividere i miei set di dati e la mia dashboard con un altro account AWS in Amazon QuickSight.
Breve descrizione
Puoi utilizzare i modelli per creare accessi tra più account e condividere l'analisi e la dashboard di Amazon QuickSight su altri account AWS e regioni AWS. Puoi anche utilizzare i modelli per creare dashboard o altri modelli.
Completa i seguenti passaggi per fornire l'accesso multi-account in QuickSight:
- Nell’account A, crea un nuovo modello da un'analisi esistente.
- Nell'account B, usa lo stesso schema dell'account A per creare un set di dati.
- Crea una dashboard nell'account B dal modello dell’account A.
(Facoltativo) Crea un modello nell'Account B dal modello esistente nell'Account A. Usa questa opzione se desideri spostare risorse da un account all'altro e rimuovere le risorse dall'account di origine.
Nota: questo articolo descrive i passaggi per l'accesso multi-account utilizzando l'interfaccia della linea di comando AWS (AWS CLI). Se visualizzi dei messaggi di errore quando esegui i comandi dell'interfaccia AWS CLI, consulta la sezione Troubleshoot AWS CLI errors. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.
Risoluzione
Crea un modello nell'account A da un'analisi esistente nello stesso account
-
Usa il comando AWS CLI list-dashboards per elencare le dashboard disponibili nel tuo account:
aws quicksight list-dashboards --aws-account-id account_a_id
Nota: sostituisci account_a_id con l'ID dell'account A.
-
Prendi nota dell'ID della dashboard che desideri condividere.
-
Usa il comando AWS CLI describe-dashboard per ottenere i dettagli dalla dashboard:
aws quicksight describe-dashboard --aws-account-id account_a_id --dashboard-id dashboard_id
Nota: sostituisci dashboard_id con l'ID della tua dashboard.
-
Crea il file JSON del modello e includi gli ARN dell'analisi e del set di dati:
{ "SourceEntity": { "SourceAnalysis": { "Arn": "arn:aws:quicksight:aws_region:account_a_id:analysis/analysis_id", "DataSetReferences": [ { "DataSetPlaceholder": "dataset_name", "DataSetArn": "arn:aws:quicksight:aws_region:account_a_id:dataset/dataset_id" } ] } }, "VersionDescription": "1" }
Nota: sostituisci aws\ _region con la tua regione AWS, analysis\ _id con l'ID della tua analisi, dataset\ _name con il nome del set di dati e dataset\ _id con l'ID del set di dati.
-
Crea un modello nella stessa regione dell'analisi:
aws quicksight create-template --aws-account-id account_a_id --template-id template_name --cli-input-json file://template.json --profile default
Nota: sostituisci template_name con il nome del modello per l’account A.
-
Esegui il comando AWS CLI describe-template per verificare che il modello sia stato creato:
aws quicksight describe-template --aws-account-id account_a_id --template-id template_id
Nota: sostituisci template\ _id con l'ID del tuo modello. Verifica che la risposta per il comando describe-template contenga lo stato CREATION_SUCCESSFUL.
-
Annota l'ARN del modello dall'output da utilizzare in un passaggio successivo.
-
Usa il comando AWS CLI update-template-permissions per concedere l'autorizzazione READ multi-account dal modello nell'account A all'account B:
aws quicksight update-template-permissions --aws-account-id account_a_id --template-id template_id --grant-permissions file://TemplatePermission.json
Esempio di file JSON di autorizzazione:
[ { "Principal": "arn:aws:iam::account_b_id:root", "Actions": [ "quicksight:UpdateTemplatePermissions", "quicksight:DescribeTemplate" ] } ]
Nota: sostituisci l'account\ _b\ _id con l'ID dell'account B. Per condividere il modello con più account, includi la radice di tutti gli account come Principale. Puoi condividere il modello solo con l'account root. L'elemento Principale non supporta i ruoli AWS Identity and Access Management (IAM).
Usa lo stesso schema dell'account A per creare un set di dati nell'account B
Non puoi creare una dashboard direttamente da un set di dati che si trova in un altro account, ad esempio l'account A. Devi invece creare lo stesso set di dati nell'account in cui desideri creare la dashboard, ad esempio l’account B. Quindi, crea la dashboard sulla base del set di dati appena creato.
-
Usa la console Amazon QuickSight o l'interfaccia AWS CLI per creare il set di dati nell'account B.
Usa la console Amazon QuickSight
Per utilizzare la console Amazon QuickSight per creare il set di dati, consulta Creating datasets.
Usa AWS CLI
Usa il comando create-data-set di AWS CLI per creare il set di dati:
aws quicksight create-data-set --aws-account-id account_b_id --dataset-id dataset_name --cli-input-json file://datasetB.json
Esempio di file JSON del set di dati:
{ "Name": "dataset_name", "PhysicalTableMap": { "Physicaltablename": { "RelationalTable": { "DataSourceArn": "arn:aws:quicksight:aws_region:account_b_id:datasource/datasource_id", "Schema": "schema_name", "Name": "table_name", "InputColumns": [ { "Name": "column_name", "Type": "STRING"|"INTEGER"|"DECIMAL"|"DATETIME"|"BIT"|"BOOLEAN"|"JSON" } ] } } }, "LogicalTableMap": { "Logicaltablename": { "Alias": "any_alias", "DataTransforms": [ { "ProjectOperation": { "ProjectedColumns": [ "column_name", "column_name" ] } } ], "Source": { "PhysicalTableId": "Physicaltablename" } } }, "ImportMode": "SPICE", "Permissions": [ { "Principal": "arn:aws:quicksight:aws_region:account_b_id:user/namespace/user_name", "Actions": [ "quicksight:UpdateDataSetPermissions", "quicksight:DescribeDataSet", "quicksight:DescribeDataSetPermissions", "quicksight:PassDataSet", "quicksight:DescribeIngestion", "quicksight:ListIngestions", "quicksight:UpdateDataSet", "quicksight:DeleteDataSet", "quicksight:CreateIngestion", "quicksight:CancelIngestion" ] } ] }
Nota: sostituisci namespace con il tuo spazio dei nomi e user_name con il nome dell'utente QuickSight. L'esempio precedente si riferisce a un set di dati SPICE.
-
Verifica che il set di dati sia stato creato correttamente:
aws quicksight describe-data-set --aws-account-id account_b_id --data-set-id dataset_id
Verifica che la risposta per il comando describe-data-set contenga un codice di stato 201. Il codice di stato 201 indica che il set di dati è stato creato correttamente.
-
Prendi nota dell'ARN del set di dati dall'output per utilizzarlo in un passaggio successivo.
Crea una dashboard nell'account B dal modello nell'account A
-
Esegui il comando seguente e includi l'ARN del modello:
aws quicksight create-dashboard --aws-account-id account_b_id --dashboard-id dashboard_id --name dashboard_name --source-entity file://DashboardFromTemplate.json
Nota: puoi aggiungere il parametro --region target_region per creare la dashboard in una regione diversa. Sostituisci target_region con la regione in cui desideri creare il modello.
Esempio di file JSON della dashboard per l'Account B:
{ "SourceTemplate": { "DataSetReferences": [ { "DataSetPlaceholder": "dataset_name", "DataSetArn": "arn:aws:quicksight:aws_region:account_b_id:dataset/dataset_id" } ], "Arn": "arn:aws:quicksight:aws_region:account_a_id:template/template_id" } }
Nel file JSON della dashboard precedente:
- Per DataSetPlaceholder, è necessario utilizzare lo stesso nome del set di dati del modello dell'Account A.
- Per DataSetArn, puoi utilizzare l'ARN del set di dati creato nell'Account B.
- In Arn, puoi utilizzare l'ARN del modello che hai creato nell'account A.
-
Verifica che la dashboard sia stata creata correttamente:
aws quicksight describe-dashboard --aws-account-id account_b_id --dashboard-id dashboard_id
Nota: verifica che la risposta per il comando describe-dashboard contenga il codice di stato 200. Il codice di stato 200 indica che la dashboard esiste.
-
Usa il comando AWS CLI update-dashboard-permissions per concedere le autorizzazioni appropriate agli utenti di QuickSight:
aws quicksight update-dashboard-permissions --aws-account-id account_b_id --dashboard-id dashboard_id --grant-permissions file://DashboardPermission.json
Esempio di file JSON della dashboard:
[ { "Principal": "arn:aws:quicksight:aws_region:account_b_id:user/namespace/quicksight_user_name", "Actions": [ "quicksight:DescribeDashboard", "quicksight:ListDashboardVersions", "quicksight:UpdateDashboardPermissions", "quicksight:QueryDashboard", "quicksight:UpdateDashboard", "quicksight:DeleteDashboard", "quicksight:DescribeDashboardPermissions", "quicksight:UpdateDashboardPublishedVersion" ] } ]
nel file JSON della dashboard di esempio precedente, all'utente QuickSight viene concesso l'accesso come comproprietario. Per fornire l'accesso in sola lettura agli utenti, specifica le seguenti autorizzazioni:
"quicksight:DescribeDashboard", "quicksight:ListDashboardVersions", "quicksight:QueryDashboard"
(Facoltativo) Crea un modello nell'account B dal modello esistente nell'account A
-
Verifica che il tuo utente o ruolo IAM disponga delle autorizzazioni appropriate. È necessario disporre delle seguenti autorizzazioni per accedere a un modello multi-account in QuickSight:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Resource": "arn:aws:quicksight:aws_region:account_a_id:template/template_id", "Action": "quicksight:DescribeTemplate" }, { "Effect": "Allow", "Resource": "*", "Action": "quicksight:CreateTemplate" } ] }
-
Crea un nuovo modello nell'account B dal modello nell'account A:
aws quicksight create-template --aws-account-id account_b_id --template-id template_name --source-entity file://templateB.json
Nota: sostituisci template\ _name con il nome del modello per l’Account B. Per creare un modello in un'altra regione, aggiungi --region target\ _region.
File JSON di esempio per l'account B:
{ "SourceTemplate": { "Arn": "arn:aws:quicksight:region:account_a_id:template/template_id" } }
-
Verifica che il modello sia stato creato:
aws quicksight describe-template --aws-account-id account_b_id --template-id template_id
Nota: conferma che la risposta per il comando describe-template contenga lo stato CREATION_SUCCESSFUL.
Informazioni correlate
Esegui la migrazione di Amazon QuickSight tra gli account AWS

Contenuto pertinente
- AWS UFFICIALEAggiornata 3 anni fa
- AWS UFFICIALEAggiornata 2 anni fa
- AWS UFFICIALEAggiornata un anno fa