Help us improve the AWS re:Post Knowledge Center by sharing your feedback in a brief survey. Your input can influence how we create and update our content to better support your AWS journey.
¿Cómo uso plantillas para configurar el acceso entre cuentas en Amazon QuickSight?
Quiero compartir mis conjuntos de datos y mi panel con otra cuenta de AWS en Amazon QuickSight.
Descripción corta
Puedes utilizar plantillas para crear un acceso entre cuentas y compartir tu panel y análisis de QuickSight en otras cuentas y regiones de AWS. También puedes utilizar las plantillas para crear paneles u otras plantillas.
Sigue estos pasos para proporcionar acceso entre cuentas en QuickSight:
- En la cuenta A, crea una plantilla nueva a partir de un análisis existente.
- En la cuenta B, usa el mismo esquema en la cuenta A para crear un conjunto de datos.
- Crea un panel en la cuenta B a partir de la plantilla de la cuenta A.
(Opcional) Crea una plantilla en la cuenta B a partir de la plantilla existente de la cuenta A. Utiliza esta opción si quieres mover recursos de una cuenta a otra y eliminar los recursos de la cuenta de origen.
Nota: En este artículo se usa la Interfaz de la línea de comandos de AWS (AWS CLI) con los pasos de acceso entre cuentas. Si se muestran errores al ejecutar comandos de la AWS CLI, consulta Solución de problemas de AWS CLI. Además, asegúrate de utilizar la versión más reciente de la AWS CLI.
Resolución
Crear una plantilla en la cuenta A a partir de un análisis existente en la misma cuenta
-
Utiliza el comando list-dashboards de la AWS CLI para mostrar los paneles que están disponibles en tu cuenta:
aws quicksight list-dashboards --aws-account-id account_a_idNota: Reemplazaaccount_a_id por el ID de la cuenta A.
-
Anota el ID del panel que quieres compartir.
-
Utiliza el comando describe-dashboard de la AWS CLI para obtener detalles del panel:
aws quicksight describe-dashboard --aws-account-id account_a_id --dashboard-id dashboard_idNota: Reemplaza dashboard_id por el ID de tu panel.
-
Crea el archivo JSON de la plantilla e incluye los ARN del análisis y conjunto de datos:
{ "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: Sustituye aws_region por tu región de AWS, analysis_id por el ID de tu análisis, dataset_name por el nombre del conjunto de datos y dataset_id por el ID de tu conjunto de datos.
-
Crea una plantilla en la misma región que el análisis:
aws quicksight create-template --aws-account-id account_a_id --template-id template_name --cli-input-json file://template.json --profile defaultNota: Reemplaza template_name por el nombre de la plantilla de la cuenta A.
-
Ejecuta el comando describe-template de la AWS CLI para confirmar que se creó la plantilla:
aws quicksight describe-template --aws-account-id account_a_id --template-id template_idNota: Reemplaza template_id por el ID de la plantilla. Confirma que la respuesta del comando describe-template contenga el estado CREATION_SUCCESSFUL.
-
Anota el ARN de la plantilla de la salida para usarlo más adelante.
-
Utiliza el comando de la AWS CLI update-template-permissions para conceder el permiso READ (de lectura) entre cuentas desde la plantilla de la cuenta A a la cuenta B:
aws quicksight update-template-permissions --aws-account-id account_a_id --template-id template_id --grant-permissions file://TemplatePermission.jsonEjemplo de archivo JSON de permisos:
[ { "Principal": "arn:aws:iam::account_b_id:root", "Actions": [ "quicksight:UpdateTemplatePermissions", "quicksight:DescribeTemplate" ] } ]Nota: Reemplaza account_b_id por el ID de la cuenta B. Para compartir la plantilla con varias cuentas, incluye la raíz de todas las cuentas como Entidad principal. Puedes compartir la plantilla solo con la cuenta raíz. La Entidad principal no admite los roles de AWS Identity and Access Management (IAM).
Usa el mismo esquema que la cuenta A para crear un conjunto de datos en la cuenta B
No puedes crear un panel directamente a partir de un conjunto de datos que esté en otra cuenta, como la cuenta A. En su lugar, debes crear el mismo conjunto de datos en la cuenta en la que deseas crear el panel, como la cuenta B. A continuación, crea el panel a partir del conjunto de datos recién creado.
-
Utiliza la consola Amazon QuickSight o la AWS CLI para crear el conjunto de datos en la cuenta B.
Uso de la consola de Amazon QuickSight
Para usar la consola de Amazon QuickSight para crear el conjunto de datos, consulta Creating datasets (Creación de conjuntos de datos).
Uso de AWS CLI
Utiliza el comando create-data-set de la AWS CLI para crear el conjunto de datos:
aws quicksight create-data-set --aws-account-id account_b_id --dataset-id dataset_name --cli-input-json file://datasetB.jsonEjemplo de archivo JSON de conjunto de datos:
{ "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: Sustituye namespace por tu espacio de nombres y user_name por el nombre del usuario de QuickSight. El ejemplo anterior hace referencia a un conjunto de datos SPICE.
-
Confirma que el conjunto de datos se haya creado correctamente:
aws quicksight describe-data-set --aws-account-id account_b_id --data-set-id dataset_idConfirma que la respuesta del comando describe-data-set contenga el código de estado 201. El código de estado 201 significa que el conjunto de datos se ha creado correctamente.
-
Anota el ARN del conjunto de datos de la salida para usarlo más adelante.
Crear un panel en la cuenta B a partir de la plantilla de la cuenta A
-
Ejecuta el siguiente comando e incluye el ARN de la plantilla:
aws quicksight create-dashboard --aws-account-id account_b_id --dashboard-id dashboard_id --name dashboard_name --source-entity file://DashboardFromTemplate.jsonNota: Para crear el panel en una región diferente, puedes agregar el parámetro --region target_region. Sustituye target_region por la región en la que quieras crear la plantilla.
Ejemplo de archivo JSON del panel para la cuenta 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" } }En este archivo JSON del panel:
- Para DataSetPlaceholder, debes usar el mismo nombre de conjunto de datos de la plantilla de la cuenta A.
- Para DataSetARN, el usuario puede usar el ARN del conjunto de datos que has creado en la cuenta B.
- Para Arn, puedes usar el ARN de la plantilla que has creado en la cuenta A.
-
Confirma que el panel se haya creado correctamente:
aws quicksight describe-dashboard --aws-account-id account_b_id --dashboard-id dashboard_idNota: Confirma que la respuesta del comando describe-dashboard contenga el código de estado 200. El código de estado 200 significa que el panel existe.
-
Utiliza el comando update-dashboard-permissions de la AWS CLI para conceder los permisos adecuados a los usuarios de QuickSight:
aws quicksight update-dashboard-permissions --aws-account-id account_b_id --dashboard-id dashboard_id --grant-permissions file://DashboardPermission.jsonEjemplo de archivo JSON del panel:
[ { "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" ] } ]En el archivo JSON del panel del ejemplo anterior, se concede al usuario de QuickSight el acceso de copropietario. Para proporcionar acceso de solo lectura a los usuarios, especifica los siguientes permisos:
"quicksight:DescribeDashboard", "quicksight:ListDashboardVersions", "quicksight:QueryDashboard"
(Opcional) Creación de una plantilla en la cuenta B a partir de la plantilla existente en la cuenta A
-
Confirma que tu usuario o rol de IAM tenga los permisos adecuados. Debes tener los siguientes permisos para acceder a una plantilla entre cuentas en 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 una plantilla nueva en la cuenta B a partir de la plantilla de la cuenta A:
aws quicksight create-template --aws-account-id account_b_id --template-id template_name --source-entity file://templateB.jsonNota: Reemplaza template_name por el nombre de la plantilla de la cuenta B. Para crear una plantilla en una región diferente, agrega --region target_region.
Ejemplo de archivo JSON para la cuenta B:
{ "SourceTemplate": { "Arn": "arn:aws:quicksight:region:account_a_id:template/template_id" } } -
Confirma que se haya creado la plantilla:
aws quicksight describe-template --aws-account-id account_b_id --template-id template_idNota: Confirma que la respuesta del comando describe-template contenga el estado CREATION_SUCCESSFUL.
Información relacionada
Migrate Amazon Quick Sight across AWS accounts (Migración de Amazon QuickSight entre cuentas de AWS)
- Etiquetas
- Amazon Quick Sight
- Idioma
- Español

Contenido relevante
- preguntada hace 6 meses
- preguntada hace 7 meses
- preguntada hace un año
- preguntada hace 6 meses
- Respuesta aceptadapreguntada hace un año