

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

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


|  | 
| --- |
|    目标受众：Amazon Quick 管理员和 Amazon Quick 开发者  | 

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

快速管理员可以授予 Amazon Quick 对他们在 Secrets Manager 中创建的密钥的只读访问权限。使用 Quick API 创建和编辑数据源时，可以使用这些密钥代替数据库凭据。

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

**注意**  
如果您 Amazon Secrets Manager 与 Quick 一起使用，则需要按定[Amazon Secrets Manager 价页面](https://www.amazonaws.cn/secrets-manager/pricing)中所述支付访问和维护费用。在您的账单中，费用列在 Secrets Manager 下，而不是在 Amazon Quick 下。

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

**Topics**
+ [

## 授予亚马逊快速访问 Secrets Manager 和所选密钥的权限
](#secrets-manager-integration-select-secrets)
+ [

## 使用 Amazon Quick API 创建或更新带有秘密凭证的数据源
](#secrets-manager-integration-api)
+ [

## 密钥的内容
](#secrets-manager-integration-whats-in-secret)
+ [

## 修改密钥
](#secrets-manager-integration-modifying)

## 授予亚马逊快速访问 Secrets Manager 和所选密钥的权限
授予亚马逊快速访问 Secrets Manager 的权限

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

**授予亚马逊快速访问 Secrets Manager 和所选密钥的权限**

1. 在 Amazon Quick 中，选择右上角的用户图标，然后选择 “**快速管理**”。

1. 选择左侧的**安全和权限**。

1. 在 **Amazon 中选择 “**管理**” 快速访问 Amazon 资源**。

1. 在**允许访问和自动发现这些资源**中，依次选择 **Amazon Secrets Manager** 和**选择密钥**。

   **Amazon Secrets Manager 密钥**页面打开。

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

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

1. 完成后，选择 **Finish (完成)**。

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

   当 Amazon Quick 用户使用带有机密的数据源创建分析或查看控制面板时，Amazon Quick 将担任这个 Secrets Manager IAM 角色。有关密钥权限策略的更多信息，请参阅《Amazon Secrets Manager 用户指南》**中的 [Amazon Secrets Manager的身份验证和访问控制](https://docs.amazonaws.cn/secretsmanager/latest/userguide/auth-and-access.html)。

   Amazon Quick IAM 角色中的指定密钥可能还有一个拒绝访问的额外资源策略。有关更多信息，请参阅《Amazon Secrets Manager 用户指南》**中的[将权限策略附加到密钥](https://docs.amazonaws.cn/secretsmanager/latest/userguide/auth-and-access_resource-policies.html)。

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

   如果您使用客户托管密钥来加密您的密钥，请确保 Amazon Quick IAM 角色`aws-quicksight-secretsmanager-role-v0`拥有`kms:Decrypt`权限。有关更多信息，请参阅《Amazon Secrets Manager 用户指南》**中的 [KMS 密钥的权限](https://docs.amazonaws.cn/secretsmanager/latest/userguide/security-encryption.html#security-encryption-authz)。

   有关密钥管理服务中 Amazon 使用的密钥类型的更多信息，请参阅[密钥*管理服务指南*中的Amazon 客户 Amazon 密钥和密钥](https://docs.amazonaws.cn/kms/latest/developerguide/concepts.html#key-mgmt)。

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


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

以下是在 Amazon Quick 中创建数据源的 API 调用示例。此示例使用 `create-data-source` API 操作。还可以使用 `update-data-source` 操作。有关更多信息，请参阅 *Amazon Quick API 参考[UpdateDataSource](https://docs.amazonaws.cn/quicksight/latest/APIReference/API_UpdateDataSource.html)*中的[CreateDataSource](https://docs.amazonaws.cn/quicksight/latest/APIReference/API_CreateDataSource.html)和。

在以下 API 调用示例的权限中指定的用户可以在 Amazon Quick 中删除、查看和编辑指定 MySQL 数据源的数据源。他们还可以查看和更新数据来源的权限。不使用 Amazon Quick 用户名和密码，而是使用机密 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 根据 API 调用者的 IAM 策略，而不是 IAM 服务角色的策略来授权`secretsmanager:GetSecretValue`访问密钥。IAM 服务角色作用于账户级别，在用户查看分析或控制面板时使用。当用户创建或更新数据来源时，它不能用于授权密钥访问。

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

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

## 密钥的内容


Amazon Quick 需要使用以下 JSON 格式才能访问您的密钥：

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

要让 Amazon Quick 访问密钥，必须填`password`写`username`和字段。所有其他字段均为可选字段，Amazon Quick 会忽略这些字段。

JSON 格式可能会因数据库类型而异。有关更多信息，请参阅《*Amazon Secrets Manager 用户指南*[》中的 Amazon Secrets Manager 数据库凭据密钥的 JSON 结构](https://docs.amazonaws.cn/secretsmanager/latest/userguide/reference_secret_json_structure.html)。

## 修改密钥


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