AWS re:Postを使用することにより、以下に同意したことになります AWS re:Post 利用規約

AWS KMS を使用して CloudWatch Logs のログデータを暗号化する方法を教えてください。

所要時間2分
0

AWS Key Management Service (AWS KMS) を使用して Amazon CloudWatch Logs のログデータを暗号化したいと考えています。

簡単な説明

デフォルトでは、CloudWatch Logs はサーバー側の暗号化キーを使用してロググループデータを暗号化します。ログデータの暗号化を制御したり、セキュリティポリシーに準拠させたりするために、AWS KMS のカスタマーマネージドキーを使用することもできます。

注: AWS KMS 暗号化を使用すると、コストが増加する場合があります。

解決策

ロググループのログデータ暗号化に既存のカスタマーマネージドキーを使用するには、次の手順を実行します。

注: カスタマーマネージドキーがない場合は、始める前にキーを作成してください。CloudWatch ログは対称的な AWS KMS キーのみをサポートします。

AWS KMS キーにアクセスするために必要なアクセス許可を CloudWatch ログに付与する

CloudWatch Logs に AWS KMS キーにアクセスするためのアクセス許可を付与するには、次のステートメントを含むようにキーポリシーを変更します。他のロググループがこのキーを使用できるようにするには、[条件] セクションのロググループ ARN を arn:aws:logs:<region>:<account-id>:log-group:* に置き換えます。

ステートメントの例:

注: お使いのものでそれぞれ、example-region を AWS リージョンに、example-account-id を AWS アカウント ID に、example-log-group をロググループ名に置き換えます。

{
    "Effect": "Allow",
    "Principal": {
        "Service": "logs.<region>.amazonaws.com"
    },
    "Action": [
        "kms:Encrypt*",
        "kms:Decrypt*",
        "kms:ReEncrypt*",
        "kms:GenerateDataKey*",
        "kms:Describe*"
    ],
    "Resource": "*",
    "Condition": {
        "ArnEquals": {
            "kms:EncryptionContext:aws:logs:arn": "arn:aws:logs:example-region:example-account-id:log-group:example-log-group"
        }
    }
}

AWS KMS キーをロググループに関連付ける

AWS KMS キーは、作成時または作成後に関連付けることができます。暗号化時に、キーが関連付けられるまでに最大 5 分かかることがあります。

注: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、「AWS CLI エラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。

作成時に AWS KMS キーを関連付ける

キーを作成するときに AWS KMS キーを関連付けるには、次の手順を実行します。

  1. CloudWatch コンソールを開きます。
  2. ナビゲーションペインで、[ロググループ] を選択します。
  3. [ロググループを作成] を選択します。
  4. ロググループの名前と AWS KMS キー ARN を入力し、[作成] を選択します。または、次の create-log-group コマンドを実行します。
    注: example-log-group をロググループ名に、example-key-arn を AWS KMS キー ID に置き換えます。
    aws logs create-log-group --log-group-name example-log-group --kms-key-id example-key-arn

作成後に AWS KMS キーを関連付ける

注: CloudWatch コンソールを使用して AWS KMS キーを既存のロググループに関連付けることはできません。

作成後に AWS KMS キーを関連付けるには、次の associate-kms-key コマンドを実行します。

注: example-log-group をロググループ名に、example-key-arn を AWS KMS キー ID に置き換えます。

aws logs associate-kms-key --log-group-name example-log-group --kms-key-id example-key-arn

ロググループから、AWS KMS キーの関連付けを解除できます。AWS KMS キーの関連付けを解除するかキーを変更すると、CloudWatch Logs はログデータを復号化して返すことができます。ただし、AWS KMS キーを無効にすると、CloudWatch Logs はキーで暗号化されたログを読み取ることができなくなります。

関連情報

AWS Key Management Service を使用して CloudWatch ログのログデータを暗号化する

Amazon CloudWatch Logs におけるデータ保護