創建一個 AWS Secrets Manager 秘密 - AWS Secrets Manager

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

創建一個 AWS Secrets Manager 秘密

碼可以是密碼、一組認證 (例如使用者名稱和密碼)、OAuth權杖或您在 Secrets Manager 中以加密形式儲存的其他秘密資訊。

提示

對於 Amazon RDS 和 Amazon Redshift 管理員使用者登入資料,我們建議您使用受管機密。您可以透過管理 servce 建立受管理的密碼,然後您可以使用受管理的輪換

當您使用主控台儲存複製到其他區域之來源資料庫的資料庫證明資料時,密碼會包含來源資料庫的連線資訊。如果隨後複製機密,則複本是來源機密的副本,並包含相同的連線資訊。您可以將其他金鑰/值對新增到區域連線資訊的機密。

若要建立密碼,您需要受SecretsManagerReadWrite 管理原則所授與的權限。

Secrets Manager 會在您建立密碼時產生 CloudTrail 記錄項目。如需詳細資訊,請參閱記錄 AWS Secrets Manager 事件 AWS CloudTrail

若要建立秘密 (主控台)
  1. 開啟 Secrets Manager 主控台,位於https://console.aws.amazon.com/secretsmanager/

  2. 選擇儲存新機密

  3. Choose secret type (選擇秘密類型) 頁面上,執行下列動作:

    1. 針對 Secret Type (秘密類型),執行下列其中一項操作:

      • 若要儲存資料庫證明資料,請選擇要儲存的資料庫證明資料類型。然後選擇數據庫,然後輸入據。

      • 若要儲存API金鑰、存取權杖、不適用於資料庫的認證,請選擇 [其他類型的密碼]。

        在「金鑰/值」配對中,以「JSON金鑰/值」配對輸入密碼,或選擇「純文字」標籤,然後以任何格式輸入密碼。秘密當中最多可以存放 65536 個位元組。一些範例:

        API key

        輸入為鍵/值對:

        ClientID : my_client_id

        ClientSecret : wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

        OAuth token

        輸入為純文本:

        AKIAI44QH8DHBEXAMPLE

        Digital certificate

        輸入為純文本:

        -----BEGIN CERTIFICATE----- EXAMPLE -----END CERTIFICATE-----
        Private key

        輸入為純文本:

        –--- BEGIN PRIVATE KEY ---- EXAMPLE ––-- END PRIVATE KEY –---
    2. 對於「加密金鑰」,請選擇 AWS KMS key Secrets Manager 用來加密密碼值。如需詳細資訊,請參閱秘密加密和解密

      • 在大多數情況下,請選擇 aws/秘密管理器來使用 AWS 受管金鑰 對於 Secrets Manager。使用此金鑰無需任何成本。

      • 如果您需要從另一個訪問秘密 AWS 帳戶,或者,如果您想要使用自己的KMS金鑰以便輪換金鑰或套用金鑰政策,請從清單中選擇客戶管理的金鑰,或選擇 [新增金鑰] 建立金鑰。如需有關使用客戶受管金鑰的成本的資訊,請參閱 定價

        您必須擁有KMS金鑰的權限。如需跨帳户存取權的詳細資訊,請參閱存取 AWS Secrets Manager 來自不同帳戶的秘密

    3. 選擇 Next (下一步)

  4. Configure secret (設定秘密) 頁面上,執行下列動作:

    1. 輸入描述性的 Secret name (機密名稱) 和 Description (描述)。密碼名稱可以包含 1-512 個英數字元和 /_+ =.@-字元。

    2. (選用) 在 Tags (標籤) 區段,將標籤新增到秘密。如需標記策略,請參閱 標籤 AWS Secrets Manager 秘密。請勿在標籤中存放敏感資訊,因為標籤並未加密。

    3. (選用) 若要將資源政策新增至秘密,請在 Resource permissions (資源使用權限) 中選擇 Edit permissions (編輯許可)。如需詳細資訊,請參閱將許可政策連接至 AWS Secrets Manager 秘密

    4. (可選)在複製秘密中,將您的秘密複製到另一個 AWS 區域,選擇 [複製密碼]。您可以立即複寫秘密,也可以稍後返回複寫。如需詳細資訊,請參閱跨區域複寫密碼

    5. 選擇 Next (下一步)

  5. (選用) 在 Configure rotation (設定輪換) 頁面上,可開啟自動輪換。您也可以暫時關閉輪換,稍後再將其開啟。如需詳細資訊,請參閱輪換 秘密。選擇 Next (下一步)

  6. Review (檢閱) 頁面上,檢閱機密詳細資訊,然後選擇 Store (存放)。

    Secrets Manager 會傳回秘密清單。如果您的新秘密沒有顯示,請選擇重新整理按鈕。

AWS CLI

在命令 shell 中輸入命令時,存在命令歷史記錄被存取或公用程式存取命令參數的風險。請參閱 降低使用 AWS CLI 來存放 AWS Secrets Manager 秘密的風險

範例 從JSON檔案中的資料庫認證建立密碼

下列 create-secret 範例會透過檔案中的憑證建立機密。如需詳細資訊,請參閱載入 AWS CLI 中的檔案中的參數 AWS CLI 使用者指南。

為了讓 Secrets Manager 能夠旋轉密碼,您必須確定JSON與JSON一個秘密的結構.

aws secretsmanager create-secret \ --name MyTestSecret \ --secret-string file://mycreds.json

mycreds.json 的內容:

{ "engine": "mysql", "username": "saanvis", "password": "EXAMPLE-PASSWORD", "host": "my-database-endpoint.us-west-2.rds.amazonaws.com", "dbname": "myDatabase", "port": "3306" }
範例 建立秘密

下列 create-secret 範例會建立具有兩個金鑰值對的機密。

aws secretsmanager create-secret \ --name MyTestSecret \ --description "My test secret created with the CLI." \ --secret-string "{\"user\":\"diegor\",\"password\":\"EXAMPLE-PASSWORD\"}"

AWS SDK

若要使用其中一個來建立密碼 AWS SDKs,使用動CreateSecret作。如需詳細資訊,請參閱AWS SDKs