使用 QuickSight API 创建或更新具有密钥凭证的数据来源 - Amazon QuickSight
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 QuickSight API 创建或更新具有密钥凭证的数据来源

QuickSight 管理员授予 Secrets Manager QuickSight 只读权限后,您可以使用管理员选择作为凭证的密钥在 API 中创建和更新数据来源。

以下是用于在中创建数据来源的 API 调用示例 QuickSight。此示例使用 create-data-source API 操作。还可以使用 update-data-source 操作。有关更多信息,请参阅 Amazon QuickSight API 参考UpdateDataSource中的CreateDataSource和。

在以下 API 调用示例的权限中指定的用户可以在中删除、查看和编辑指定 MySQL 数据来源的数据来源 QuickSight。他们还可以查看和更新数据来源的权限。不使用 QuickSight 用户名和密码,而是使用密钥 ARN 作为数据来源的凭证。

aws quicksight create-data-source --aws-account-id AWSACCOUNTID \ --data-source-id DATASOURCEID \ --name NAME \ --type MYSQL \ --permissions '[{"Principal": "arn:aws:quicksight:region:accountID:user/namespace/username", "Actions": ["quicksight:DeleteDataSource", "quicksight:DescribeDataSource", "quicksight:DescribeDataSourcePermissions", "quicksight:PassDataSource", "quicksight:UpdateDataSource", "quicksight:UpdateDataSourcePermissions"]}]' \ --data-source-parameters='{"MySQLParameters":{"Database": "database", "Host":"hostURL", "Port":"port"}}' \ --credentials='{"SecretArn":"arn:aws:secretsmanager:region:accountID:secret:secretname"}' \ --region us-west-2

在本次调用中,根据 API 调用者的 IAM policy(而不是 IAM 服务角色的策略)来 QuickSight 授予对密钥的secretsmanager:GetSecretValue访问权限。IAM 服务角色作用于账户级别,在用户查看分析或控制面板时使用。当用户创建或更新数据来源时,它不能用于授权密钥访问。

在用户 QuickSight 界面中编辑数据来源时,用户可以查看将 Amazon Secrets Manager 用作凭证类型的数据来源的密钥 ARN。但是,他们无法编辑密钥,也无法选择其他密钥。如果需要进行更改,例如更改数据库服务器或端口,用户首先需要选择凭证对,并输入 QuickSight 账户用户名和密码。

在用户界面中更改数据来源时,密钥会自动从数据来源中删除。要将密钥恢复到数据来源,请使用 update-data-source API 操作。