AWS announces preview of AWS Interconnect - multicloud
AWS announces AWS Interconnect – multicloud (preview), providing simple, resilient, high-speed private connections to other cloud service providers. AWS Interconnect - multicloud is easy to configure and provides high-speed, resilient connectivity with dedicated bandwidth, enabling customers to interconnect AWS networking services such as AWS Transit Gateway, AWS Cloud WAN, and Amazon VPC to other cloud service providers with ease.
Come posso utilizzare i modelli per configurare l'accesso multi-account in Quick Sight?
Desidero condividere i miei set di dati e la mia dashboard con un altro account AWS in Amazon Quick Sight.
Breve descrizione
Puoi utilizzare i modelli per creare l'accesso multi-account e condividere l'analisi e la dashboard di Quick Sight con altri account AWS e altre Regioni AWS. Puoi anche utilizzare i modelli per creare dashboard o altri modelli.
Completa i seguenti passaggi per fornire l'accesso multi-account in Quick Sight:
- Nell’Account A, crea un nuovo modello da un'analisi esistente.
- Nell'Account B, utilizza 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. Utilizza 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 messaggi di errore quando esegui comandi AWS CLI, consulta Risoluzione degli errori relativi ad AWS CLI. 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
-
Utilizza il comando AWS CLI list-dashboards per elencare le dashboard disponibili nel tuo account:
aws quicksight list-dashboards --aws-account-id account_a_idNota: sostituisci account_a_id con l'ID dell'Account A.
-
Prendi nota dell'ID della dashboard che desideri condividere.
-
Utilizza 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_idNota: 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 defaultNota: 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_idNota: 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.
-
Utilizza 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.jsonEsempio 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).
Utilizza 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 creare lo stesso set di dati nell'account in cui desideri creare la dashboard, ad esempio l’Account B, quindi creare la dashboard sulla base del set di dati appena creato.
-
Utilizza la console Amazon Quick Sight o AWS CLI per creare il set di dati nell'Account B.
Utilizza la console Amazon Quick Sight
Per creare il set di dati utilizzando la console Amazon Quick Sight, consulta Creating datasets (Creazione di set di dati).
Utilizza AWS CLI
Utilizza il comando AWS CLI create-data-set 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.jsonEsempio 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 namespace e user_name con il nome dell'utente Quick Sight. 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_idVerifica 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.jsonNota: 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_idNota: 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.
-
Utilizza il comando AWS CLI update-dashboard-permissions per concedere le autorizzazioni appropriate agli utenti Quick Sight:
aws quicksight update-dashboard-permissions --aws-account-id account_b_id --dashboard-id dashboard_id --grant-permissions file://DashboardPermission.jsonEsempio 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" ] } ]Nell'esempio di file JSON della dashboard precedente, all'utente Quick Sight 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 l'utente o il ruolo IAM abbia le autorizzazioni appropriate. Devi avere le seguenti autorizzazioni per accedere a un modello multi-account in Quick Sight:
{ "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.jsonNota: sostituisci template\ _name con il nome del modello per l’Account B. Per creare un modello in un'altra regione, aggiungi --region target\ _region.
Esempio di file JSON 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_idNota: conferma che la risposta per il comando describe-template contenga lo stato CREATION_SUCCESSFUL.
Informazioni correlate
Migrate Amazon QuickSight across AWS accounts (Migrazione di Amazon Quick Sight tra account AWS)
- Lingua
- Italiano
