

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 在 Quick 中使用 AWS Secrets Manager 秘密而非資料庫登入資料
<a name="secrets-manager-integration"></a>


|  | 
| --- |
|    目標對象：Amazon Quick Administrators 和 Amazon Quick Developer  | 

AWS Secrets Manager 是一項秘密儲存服務，可用來保護資料庫登入資料、API 金鑰和其他秘密資訊。使用金鑰有助於確保不讓某人研究您的程式碼而盜用密碼，因為機密並不存放於程式碼中。如需概觀，若要取得概述，請參閱《[AWS Secrets Manager 使用指南](https://docs.aws.amazon.com/secretsmanager/latest/userguide)》。

快速管理員可以授予 Amazon Quick 唯讀存取權，以存取他們在 Secrets Manager 中建立的秘密。使用 Quick API 建立和編輯資料來源時，可以使用這些秘密來取代資料庫登入資料。

快速支援將秘密與支援登入資料對身分驗證的資料來源類型搭配使用。Jira 和 ServiceNow 目前不支援。

**注意**  
如果您 AWS Secrets Manager 搭配 Quick 使用 ，您需要支付 [AWS Secrets Manager 定價頁面](https://aws.amazon.com/secrets-manager/pricing)中所述的存取和維護費用。在您的帳單中，成本會在 Secrets Manager 下逐項列出，而不是在 Amazon Quick 下。

使用下列各節所述的程序，將 Secrets Manager 與 Amazon Quick 整合。

**Topics**
+ [授予 Amazon Quick 存取權給 Secrets Manager 和選取的秘密](#secrets-manager-integration-select-secrets)
+ [使用 Amazon Quick API 建立或更新具有秘密登入資料的資料來源](#secrets-manager-integration-api)
+ [機密中有什麼](#secrets-manager-integration-whats-in-secret)
+ [修改秘密](#secrets-manager-integration-modifying)

## 授予 Amazon Quick 存取權給 Secrets Manager 和選取的秘密
<a name="secrets-manager-integration-select-secrets"></a>

如果您是管理員，而且您在 Secrets Manager 中有秘密，您可以授予 Amazon Quick 唯讀存取所選秘密的權限。

**授予 Amazon Quick 存取 Secrets Manager 和所選秘密的權限**

1. 在 Amazon Quick 中，選擇右上角的使用者圖示，然後選擇**管理快速**。

1. 選擇左側的**安全和許可**。

1. 選擇在 Amazon Quick 中**管理** 資源的存取權。 ** AWS **

1. 在**允許存取和自動探索這些資源**中，選擇 **AWS Secrets Manager**，**選取機密**。

   **AWS Secrets Manager 機密**頁面隨即開啟。

1. 選取您要授予 Amazon Quick 唯讀存取權的秘密。

   Amazon Quick 註冊區域中的秘密會自動顯示。若要選取您本地區域以外的機密，請選擇**其他 AWS 區域中的機密**，然後輸入這些機密的 Amazon Resource Name (ARN)。

1. 完成時請選擇 **Finish (完成)**。

   Amazon Quick 會在您的帳戶`aws-quicksight-secretsmanager-role-v0`中建立名為 的 IAM 角色。其會授予帳戶中的使用者對指定密碼的唯讀存取權，看起來類似以下內容：

   當 Amazon Quick 使用者從具有秘密的資料來源建立分析或檢視儀表板時，Amazon Quick 會擔任此 Secrets Manager IAM 角色。如需有關密碼許可政策的詳細資訊，請參閱《AWS Secrets Manager 使用指南》中的[AWS Secrets Manager的身分驗證與存取控制](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html)。**

   Amazon Quick IAM 角色中指定的秘密可能具有拒絕存取的額外資源政策。如需詳細資訊，請參閱《AWS Secrets Manager 使用者指南》中的[將許可政策連接至機密](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_resource-policies.html)。**

   如果您使用 AWS 受管 AWS KMS 金鑰來加密秘密，Amazon Quick 不需要在 Secrets Manager 中設定任何其他許可。

   如果您使用客戶受管金鑰來加密秘密，請確定 Amazon Quick IAM 角色`aws-quicksight-secretsmanager-role-v0`具有 `kms:Decrypt` 許可。如需詳細資訊，請參閱《AWS Secrets Manager 使用者指南》中的 [KMS 金鑰的許可](https://docs.aws.amazon.com/secretsmanager/latest/userguide/security-encryption.html#security-encryption-authz)。**

   如需 AWS Key Management Service 中使用的金鑰類型的詳細資訊，請參閱 Key Management Service 指南[AWS 中的客戶金鑰和](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-mgmt)金鑰。 *AWS *

## 使用 Amazon Quick API 建立或更新具有秘密登入資料的資料來源
<a name="secrets-manager-integration-api"></a>

Amazon Quick 管理員授予 Amazon Quick 唯讀存取權給 Secrets Manager 之後，您可以使用管理員選取做為登入資料的秘密，在 API 中建立和更新資料來源。

以下是在 Amazon Quick 中建立資料來源的範例 API 呼叫。此範例使用 `create-data-source` API 操作。您也可以使用 `update-data-source` 操作。如需詳細資訊，請參閱《*Amazon Quick API 參考*》中的 [CreateDataSource](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_CreateDataSource.html) 和 [UpdateDataSource](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_UpdateDataSource.html)。

下列 API 呼叫範例中許可中指定的使用者可以刪除、檢視和編輯 Amazon Quick 中指定 MySQL 資料來源的資料來源。他們也可以檢視和更新資料來源許可。秘密 ARN 不是 Amazon Quick 使用者名稱和密碼，而是做為資料來源的登入資料。

```
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 政策授權`secretsmanager:GetSecretValue`存取秘密，而非 IAM 服務角色的政策。IAM 服務角色可在帳戶層級採取動作，並在使用者檢視分析或儀表板時使用。當使用者建立或更新資料來源時，它無法用於授權機密存取。

在 Amazon Quick UI 中編輯資料來源時，使用者可以檢視使用 AWS Secrets Manager 做為登入資料類型的資料來源的秘密 ARN。但是，他們無法編輯機密，也無法選取其他機密。如果使用者需要變更資料庫伺服器或連接埠，使用者必須先選擇**登入資料對**，然後輸入其 Amazon Quick 帳戶使用者名稱和密碼。

在 UI 中變更資料來源時，會自動從資料來源中移除機密。若要將機密還原至資料來源，請使用 `update-data-source` API 操作。

## 機密中有什麼
<a name="secrets-manager-integration-whats-in-secret"></a>

Amazon Quick 需要下列 JSON 格式才能存取您的秘密：

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

Amazon Quick 存取秘密需要 `username`和 `password` 欄位。所有其他欄位皆為選用，Amazon Quick 會予以忽略。

JSON 格式可能會因資料庫類型而異。如需詳細資訊，請參閱*AWS Secrets Manager 《 使用者指南*》中的[AWS Secrets Manager 資料庫登入資料秘密的 JSON 結構](https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_secret_json_structure.html)。

## 修改秘密
<a name="secrets-manager-integration-modifying"></a>

若要修改機密，請使用 Secrets Manager。對秘密進行變更後，下次 Amazon Quick 請求存取秘密時，就會提供更新。