建立 AWS Secrets Manager 秘密 - AWS Secrets Manager

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

建立 AWS Secrets Manager 秘密

秘密可以是密碼、一組登入資料,例如使用者名稱和密碼、OAuth權杖,或是您在 Secrets Manager 中以加密形式存放的其他秘密資訊。

提示

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

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

若要建立秘密,您需要 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/secretsmanager 以將 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 (編輯許可)。如需詳細資訊,請參閱資源型政策

    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