允许从不同的 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>
我已经在我的 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>