AWS KMS でカスタマーマネージドキーを手動でローテーションするにはどうすればよいですか?

所要時間2分
0

AWS Key Management Service (AWS KMS) は、AWS KMS キーのローテーションを毎年 1 回自動的に実行します。毎年 1 回のローテーションが自動的に実行される前に、AWS KMS キーを手動でローテーションするにはどうすればよいですか?

解決方法

手動キーローテーションを使用して、現在のキーと交換する新しい AWS KMS キーを作成します。

この例は、交換用の新しい AWS KMS キーを使用して、現在のキーをローテーションする方法を示しています。

注意: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、AWS CLI の最新バージョンを使用していることを確認してください

1.    application-current という名前のエイリアスを作成してから、それを既存の AWS KMS キーにアタッチします。

acbc32cf8f6f:~ $$ aws kms create-alias --alias-name alias/application-current --target-key-id 0987dcba-09fe-87dc-65ba-ab0987654321
acbc32cf8f6f:~ $$ aws kms list-aliases --output text | grep application
ALIASES    arn:aws:kms:eu-west-1:123456789012:alias/application-current    alias/application-current    0987dcba-09fe-87dc-65ba-ab0987654321

2.    ローテーションされる AWS KMS キーの名前の一部としてローテーション日が含まれている「application-20180606」という名前の新しいエイリアスを作成します。以下の例では、ローテーション日は 2018-06-06 です。AWS KMS キーには 2 つのエイリアスがあります。

acbc32cf8f6f:~ $$ aws kms create-alias --alias-name alias/application-20180606 --target-key-id 0987dcba-09fe-87dc-65ba-ab0987654321
acbc32cf8f6f:~ $$ aws kms list-aliases --output text | grep application
ALIASES    arn:aws:kms:eu-west-1:123456789012:alias/application-20180606    alias/application-20180606    0987dcba-09fe-87dc-65ba-ab0987654321
ALIASES    arn:aws:kms:eu-west-1:123456789012:alias/application-current     alias/application-current     0987dcba-09fe-87dc-65ba-ab0987654321

3.    以下のような新しい AWS KMS キーを作成します。

acbc32cf8f6f:~ $$ aws kms create-key
{
    "KeyMetadata": {
        "Origin": "AWS_KMS",
        "KeyId": "9bf76697-5b41-4caf-9fe1-e23bbe20f858",
        "Description": "",
        "KeyManager": "CUSTOMER",
        "Enabled": true,
        "KeyUsage": "ENCRYPT_DECRYPT",
        "KeyState": "Enabled",
        "CreationDate": 1528289057.531,
        "Arn": "arn:aws:kms:eu-west-1:123456789012:key/9bf76697-5b41-4caf-9fe1-e23bbe20f858",
        "AWSAccountId": "123456789012"
    }
}

4.    application-current エイリアスを新しい AWS KMS キーに関連付けます。NEW_KMS_KEY_ID をステップ 3 で作成した新しく作成したキー ID に置き換えてください。

$$ aws kms update-alias --alias-name alias/application-current --target-key-id NEW_KMS_KEY_ID

5.    AWS KMS キーは、新しいキーと現在のキーの両方があります。application-current キーを使用して、データを暗号化します。AWS KMS は、データを復号化するときに、AWS KMS キーを自動的に解決します。

acbc32cf8f6f:~ $$ aws kms list-aliases --output text | grep application
ALIASES    arn:aws:kms:eu-west-1:123456789012:alias/application-20180606    alias/application-20180606    0987dcba-09fe-87dc-65ba-ab0987654321
ALIASES    arn:aws:kms:eu-west-1:123456789012:alias/application-current     alias/application-current     9b5d79d7-f04c-4b30-baf1-deed52a7cc97

重要: キーローテーションがいつ行われたかを追跡する、または変更をロールバックするために、現在の AWS KMS キーをバックアップとして保存しておいてください。

注意: 既存のキーがあるユーザーは、そのポリシーを application-current キーにコピーする必要があります。

6.    AWS KMS コンソール にサインインし、カスタマーの管理下にあるキーを選択します。

7.    エイリアスで、現在のキーを選択します。

8.    [Key policy] (キーポリシー) で、[Switch to policy view] (ポリシービューへの切り替え) をクリックします。

9.    現在のポリシーをコピーし、続いてカスタマーの管理下にあるキーを選択します。

10.    エイリアスで、 アプリケーションの現在 を選択します。

11.    キー ポリシーで 、編集を選択し、アプリケーションの現在のポリシーを削除し、現在のポリシーを貼り付けて、変更の保存を選択します。


関連情報

AWS Key Management Service にキーをインポートするにはどうすればよいでしょうか。