使用 QuickSight API 创建或更新具有密钥凭证的数据来源
在 QuickSight 管理员授予 QuickSight 对 Secrets Manager 的只读权限后,您可以使用管理员选择作为凭证的密钥在 API 中创建和更新数据来源。
以下是在 QuickSight 中创建数据来源的 API 调用示例。此示例使用 create-data-source
API 操作。还可以使用 update-data-source
操作。有关更多信息,请参阅《Amazon QuickSight API Reference》中的 CreateDataSource 和 UpdateDataSource。
在以下 API 调用示例的权限中指定的用户可以在 QuickSight 中删除、查看和编辑指定 MySQL 数据来源的数据来源。他们还可以查看和更新数据来源的权限。不使用 QuickSight 用户名和密码,而是使用密钥 ARN 作为数据来源的凭证。
aws quicksight create-data-source --aws-account-id
AWSACCOUNTID
\ --data-source-idDATASOURCEID
\ --nameNAME
\ --typeMYSQL
\ --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
"}' \ --regionus-west-2
在本次调用中,QuickSight 根据 API 调用者的 IAM policy(而不是 IAM 服务角色的策略)来授权 secretsmanager:GetSecretValue
访问密钥。IAM 服务角色作用于账户级别,在用户查看分析或控制面板时使用。当用户创建或更新数据来源时,它不能用于授权密钥访问。
在 QuickSight 用户界面中编辑数据来源时,用户可以查看将 AWS Secrets Manager 用作凭证类型的数据来源的密钥 ARN。但是,他们无法编辑密钥,也无法选择其他密钥。如果需要进行更改,例如更改数据库服务器或端口,用户首先需要选择凭证对,并输入他们的 QuickSight 账户用户名和密码。
在用户界面中更改数据来源时,密钥会自动从数据来源中删除。要将密钥恢复到数据来源,请使用 update-data-source
API 操作。