在 Quick Suite 中使用 Amazon Secrets Manager 密钥而不是数据库凭证 - Amazon Quick Suite
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

在 Quick Suite 中使用 Amazon Secrets Manager 密钥而不是数据库凭证

   目标受众:亚马逊 Quick Suite 管理员和亚马逊 Quick Suite 开发者 

Amazon Secrets Manager 是一项密钥存储服务,可用于保护数据库凭据、API 密钥和其他机密信息。使用密钥有助于确保检查您代码的人不会泄露密钥,因为该密钥并不存储在代码中。有关概述,请参阅《Amazon Secrets Manager 用户指南》https://docs.amazonaws.cn/secretsmanager/latest/userguide

Quick Suite 管理员可以向 Amazon Quick Suite 授予对他们在 Secrets Manager 中创建的密钥的 使用 Quick Suite API 创建和编辑数据源时,可以使用这些密钥代替数据库凭据。

Quick Suite 支持使用支持凭据对身份验证的数据源类型的密钥。目前 ServiceNow 不支持 Jira 和。

注意

如果您 Amazon Secrets Manager 与 Quick Suite 一起使用,则需要按定Amazon Secrets Manager 价页面中的说明支付访问和维护费用。在您的账单中,费用在 Secrets Manager 下逐项列出,而不是在 Amazon Quick Suite 下。

使用以下各节中描述的步骤将 Secrets Manager 与 Amazon Quick Suite 集成。

授予亚马逊 Quick Suite 访问 Secrets Manager 和所选密钥的权限

如果您是管理员并且在 Secrets Manager 中拥有密钥,则可以授予 Amazon Quick Suite 对所选密钥的只读访问权限。

授予 Amazon Quick Suite 访问 Secrets Manager 和所选密钥的权限
  1. 在 Amazon Quick Suite 中,选择右上角的用户图标,然后选择 “管理 Quick Suite”。

  2. 选择左侧的安全和权限

  3. Amazon Quick Suite 中选择 “管理” 访问 Amazon 资源

  4. 允许访问和自动发现这些资源中,依次选择 Amazon Secrets Manager选择密钥

    Amazon Secrets Manager 密钥页面打开。

  5. 选择您想要授予 Amazon Quick Suite 只读访问权限的密钥。

    您的 Amazon Quick Suite 注册区域中的密钥会自动显示。要选择您所在区域以外的密钥,请选择其他 Amazon 区域的密钥,然后输入这些密钥的 Amazon 资源名称 (ARNs)。

  6. 完成后,选择 Finish (完成)

    Amazon Quick Suite 会在您的账户aws-quicksight-secretsmanager-role-v0中创建一个名为的 IAM 角色。它向账户中的用户授予对指定密钥的只读访问权限,外观类似于以下内容:

    当 Amazon Quick Suite 用户使用带有机密的数据源创建分析或查看仪表板时,Amazon Quick Suite 将担任这个 Secrets Manager IAM 角色。有关密钥权限策略的更多信息,请参阅《Amazon Secrets Manager 用户指南》中的 Amazon Secrets Manager的身份验证和访问控制

    Amazon Quick Suite IAM 角色中的指定密钥可能还有一个拒绝访问的额外资源策略。有关更多信息,请参阅《Amazon Secrets Manager 用户指南》中的将权限策略附加到密钥

    如果您使用 Amazon 托管密 Amazon KMS 钥来加密您的密钥,Amazon Quick Suite 不需要在 Secrets Manager 中设置任何其他权限。

    如果您使用客户托管密钥来加密您的密钥,请确保 Amazon Quick Suite IAM 角色aws-quicksight-secretsmanager-role-v0拥有kms:Decrypt权限。有关更多信息,请参阅《Amazon Secrets Manager 用户指南》中的 KMS 密钥的权限

    有关密钥管理服务中 Amazon 使用的密钥类型的更多信息,请参阅密钥管理服务指南中的Amazon 客户 Amazon 密钥和密钥

使用 Amazon Quick Suite API 创建或更新带有秘密证书的数据源

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

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

在以下 API 调用示例的权限中指定的用户可以在 Amazon Quick Suite 中删除、查看和编辑指定 MySQL 数据源的数据源。他们还可以查看和更新数据来源的权限。不使用 Amazon Quick Suite 用户名和密码,而是使用机密 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

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

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

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

密钥的内容

Amazon Quick Suite 需要以下 JSON 格式才能访问您的密钥:

{ "username": "username", "password": "password" }

Amazon Quick Suite 需要使用usernamepassword字段才能访问密钥。所有其他字段均为可选字段,Amazon Quick Suite 会忽略这些字段。

JSON 格式可能会因数据库类型而异。有关更多信息,请参阅《Amazon Secrets Manager 用户指南》中的 Amazon Secrets Manager 数据库凭据密钥的 JSON 结构

修改密钥

要修改密钥,您可以使用 Secrets Manager。在您对密钥进行更改后,下次 Amazon Quick Suite 请求访问该密钥时,更新就会变为可用。