AWS Secrets Manager シークレットの暗号化キーを変更する - AWS Secrets Manager

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS Secrets Manager シークレットの暗号化キーを変更する

Secrets Manager は AWS KMS 、キーとデータキーによるエンベロープ暗号化を使用して、各シークレット値を保護します。シークレットごとに、使用するKMSキーを選択できます。 AWS マネージドキー aws/secretsmanager を使用するか、カスタマーマネージドキーを使用できます。ほとんどのケースでは、aws/secretsmanager の使用をお勧めします。利用料金は発生しません。別の からシークレットにアクセスする必要がある場合 AWS アカウント、または独自のKMSキーを使用してローテーションしたり、キーポリシーを適用したりする場合は、 を使用します カスタマー管理キー。必要なもの: KMS キーのアクセス許可 カスタマーマネージドキーの使用料金の詳細については、「料金」を参照してください。

シークレットの暗号化キーを変更できます。例えば、別のアカウント からシークレットにアクセスし、そのシークレットが現在 AWS マネージドキー を使用して暗号化されている場合aws/secretsmanager、 に切り替えることができます カスタマー管理キー。

ヒント

をローテーションする場合は カスタマー管理キー、 AWS KMS 自動キーローテーションを使用することをお勧めします。詳細については、AWS KMS 「キーのローテーション」を参照してください。

暗号化キーを変更すると、Secrets Manager は AWSCURRENTAWSPENDING、および AWSPREVIOUSのバージョンを新しいキーで再暗号化します。シークレットからロックアウトされないように、Secrets Manager は既存のすべてのバージョンを以前のキーで暗号化します。つまりAWSCURRENT、前のキーまたは新しいキーを使用して、AWSPENDING、、および AWSPREVIOUSバージョンを復号できます。前のキーに対するkms:Decryptアクセス許可がない場合、暗号化キーを変更すると、Secrets Manager はシークレットバージョンを復号して再暗号化することはできません。この場合、既存のバージョンは再暗号化されません。

新しい暗号化キーAWSCURRENTでのみ復号できるようにするには、新しいキーを使用してシークレットの新しいバージョンを作成します。次に、AWSCURRENTシークレットバージョンを復号するには、新しいキーに対するアクセス許可が必要です。

以前の暗号化キーを非アクティブ化すると、AWSCURRENTAWSPENDINGAWSPREVIOUS 以外のシークレットバージョンを復号できなくなります。アクセスを保持する必要のある他のラベル付きシークレットバージョンがある場合、AWS CLI を使用して新しい暗号化キーでそのバージョンを再作成する必要があります。

シークレットの暗号化キーを変更するには (コンソール)
  1. で Secrets Manager コンソールを開きますhttps://console.aws.amazon.com/secretsmanager/

  2. シークレットのリストから、自分のシークレットを選択します。

  3. シークレットの詳細ページの [シークレットの詳細] セクションで、[アクション] を選択して [暗号化キーの編集] を選択します。

AWS CLI

シークレットの暗号化キーを変更した後で以前の暗号化キーを非アクティブ化すると、AWSCURRENTAWSPENDINGAWSPREVIOUS 以外のシークレットバージョンを復号できなくなります。アクセスを保持する必要のある他のラベル付きシークレットバージョンがある場合、AWS CLI を使用して新しい暗号化キーでそのバージョンを再作成する必要があります。

シークレットの暗号化キーを変更するには (AWS CLI)
  1. 次のupdate-secret例では、シークレット値の暗号化に使用される KMSキーを更新します。KMS キーはシークレットと同じリージョンに存在する必要があります。

    aws secretsmanager update-secret \ --secret-id MyTestSecret \ --kms-key-id arn:aws:kms:us-west-2:123456789012:key/EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE
  2. (オプション) カスタムラベルの付いたシークレットバージョンがある場合、新しいキーを使用してそれらを再暗号化するには、そのバージョンを再作成する必要があります。

    コマンドシェルにコマンドを入力すると、コマンド履歴がアクセスされたり、ユーティリティからコマンドパラメータにアクセスされたりするリスクがあります。AWS CLI を使用して AWS Secrets Manager のシークレットを保存する際のリスクを軽減する を参照してください。

    1. シークレットバージョンの値を取得します。

      aws secretsmanager get-secret-value \ --secret-id MyTestSecret \ --version-stage MyCustomLabel

      シークレット値を書き留めておきます。

    2. その値で新しいバージョンを作成します。

      aws secretsmanager put-secret-value \ --secret-id testDescriptionUpdate \ --secret-string "SecretValue" \ --version-stages "MyCustomLabel"