建立 AWS Secrets Manager 秘密 - AWS Secrets Manager

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

建立 AWS Secrets Manager 秘密

秘密可以是以加密形式存放在 Secrets Manager 中的一個密碼、一組憑證,例如使用者名稱和密碼、OAuth 字符或其他秘密資訊。

提示

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

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

若要建立秘密,您需要 SecretsManagerReadWrite 受管政策授予的許可。

建立機密時,Secrets Manager 會產生 CloudTrail 日誌項目。如需詳細資訊,請參閱使用 記錄 AWS Secrets Manager 事件 AWS CloudTrail

若要建立秘密 (主控台)
  1. 前往以下位置開啟機密管理員控制台:https://console.aws.amazon.com/secretsmanager/

  2. 選擇 Store a new secret (存放新機密)。

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

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

      • 若要存放資料庫登入資料,請選擇要存放的資料庫登入資料類型。然後選擇資料庫,然後輸入登入資料。

      • 若要存放 API 金鑰、存取權杖、非資料庫的登入資料,請選擇其他類型的秘密

        鍵值對中,您可以在 JSON 鍵值對中輸入秘密,也可以先選擇純文字索引標籤,再以任何格式輸入秘密。秘密當中最多可以存放 65536 個位元組。一些範例:

        API key

        輸入 做為鍵/值對:

        ClientIDmy_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 –---
      • 若要儲存 Secrets Manager 合作夥伴的受管外部秘密,請選擇合作夥伴秘密。然後選擇合作夥伴,並提供識別合作夥伴秘密的詳細資訊。如需詳細資訊,請參閱使用 AWS Secrets Manager 受管外部秘密來管理第三方秘密

    2. 針對加密金鑰,選擇 AWS KMS key Secrets Manager 用來加密秘密值的 。如需詳細資訊,請參閱秘密加密和解密

      • 在大多數情況下,選擇 aws/secretsmanager 以使用 AWS 受管金鑰 Secrets Manager 的 。使用此金鑰無需任何成本。

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

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

    3. 選擇下一步

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

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

    2. (選用) 如果您已建立外部秘密,請輸入持有秘密的 Secrets Manager 合作夥伴所需的中繼資料。

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

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

    5. (選用) 在複寫秘密中,若要將秘密複寫至另一個秘密 AWS 區域,請選擇複寫秘密。您可以立即複寫秘密,也可以稍後返回複寫。如需詳細資訊,請參閱多區域複寫

    6. 選擇下一步

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

  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"}'
範例建立秘密

下列create-secret範例會建立具有兩個標籤的秘密。

aws secretsmanager create-secret \ --name MyTestSecret \ --description "My test secret created with the CLI." \ --secret-string '{"user":"diegor","password":"EXAMPLE-PASSWORD"}' \ --tags '[{"Key": "FirstTag", "Value": "FirstValue"}, {"Key": "SecondTag", "Value": "SecondValue"}]'

AWS 開發套件

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