在 Quick Suite 中使用 AWS Secrets Manager 秘密而非資料庫登入資料 - Amazon Quick Suite

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

在 Quick Suite 中使用 AWS Secrets Manager 秘密而非資料庫登入資料

   目標對象:Amazon Quick Suite 管理員和 Amazon Quick Suite 開發人員 

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

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

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

注意

如果您 AWS Secrets Manager 搭配 Quick Suite 使用 ,則會向您收取 AWS Secrets Manager 定價頁面中所述的存取和維護費用。在您的帳單中,成本會在 Secrets Manager 下逐項列出,而不是在 Amazon Quick Suite 下。

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

授予 Amazon 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 中管理 資源的存取權。 AWS

  4. 允許存取和自動探索這些資源中,選擇 AWS Secrets Manager選取機密

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

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

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

  6. 完成時請選擇 Finish (完成)

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

    當 Amazon Quick Suite 使用者從具有秘密的資料來源建立分析或檢視儀表板時,Amazon Quick Suite 會擔任此 Secrets Manager IAM 角色。如需有關密碼許可政策的詳細資訊,請參閱《AWS Secrets Manager 使用指南》中的AWS Secrets Manager的身分驗證與存取控制

    Amazon Quick Suite IAM 角色中指定的秘密可能有拒絕存取的額外資源政策。如需詳細資訊,請參閱《AWS Secrets Manager 使用者指南》中的將許可政策連接至機密

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

    如果您使用客戶受管金鑰來加密秘密,請確定 Amazon Quick Suite IAM 角色aws-quicksight-secretsmanager-role-v0具有 kms:Decrypt 許可。如需詳細資訊,請參閱《AWS Secrets Manager 使用者指南》中的 KMS 金鑰的許可

    如需 AWS Key Management Service 中使用的金鑰類型的詳細資訊,請參閱 Key Management Service 指南AWS 中的客戶金鑰和金鑰。 AWS

使用 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 參考》中的 CreateDataSourceUpdateDataSource

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

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

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

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

機密中有什麼

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

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

Amazon Quick Suite 存取秘密需要 usernamepassword 欄位。所有其他欄位皆為選用,Amazon Quick Suite 會予以忽略。

JSON 格式可能會因資料庫類型而異。如需詳細資訊,請參閱AWS Secrets Manager 《 使用者指南》中的AWS Secrets Manager 資料庫登入資料秘密的 JSON 結構

修改秘密

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