允许从不同的 AWS 账户访问 QuickSight 模板

Allow access to QuickSight templates from a different AWS account

我已经在我的 AWS 账户中创建了一个模板,并且一直在尝试更新模板权限以允许从另一个账户进行访问。我找不到任何关于哪些操作适用于 QuickSight 模板的相关文档。

谁能分享一下这方面的见解?我不知道如何离开这里。

在更新模板权限以提供对模板的跨账户访问时,您需要使用主体中账户根的 IAM ARN,而不是单个用户。

请尝试使用以下 CLI 和访问策略,并根据观察结果提出建议:

aws quicksight update-template-permissions --aws-account-id <aws account ID> --template-id <Template Id> --grant-permissions file://TemplatePermission.json --profile default

Templatepermission.json内容如下:

[
{
"Principal": "arn:aws:iam::<aws account ID>:root",
"Actions": ["quicksight:UpdateTemplatePermissions","quicksight:DescribeTemplate"]
}

与其他帐户共享模板后,您将能够使用以下步骤使用该模板创建仪表板。

要使用帐户 A 或 B 中的模板在帐户 B 中创建仪表板,请使用 create-dashboard CLI。

aws quicksight create-dashboard --aws-account-id <Account ID> --dashboard-id <any ID> --name <any dashboard name> --source-entity file://DashboardFromTemplate.json

DashboardFromTemplate.json文件内容如下:

{
"SourceTemplate": {
"DataSetReferences": [
{
"DataSetPlaceholder": "placeholder", 
"DataSetArn": "arn:aws:quicksight:us-east-1:<Account A ID>:dataset/<Dataset ID>"
}
],
"Arn": "arn:aws:quicksight:us-east-1:<Account ID>:template/<Template ID>"
}
}

请注意,'DataSetPlaceholder' 值需要与用于创建模板的数据集占位符相匹配。这可以通过在创建模板的帐户中执行它来找到。

aws quicksight describe-template --aws-account-id <Account ID where the template is created> --template-id <Template ID>