AWS KMS キーのキーの状態が変更されたときに Amazon SNS 通知を受け取る - AWS 規範ガイダンス

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

AWS KMS キーのキーの状態が変更されたときに Amazon SNS 通知を受け取る

作成者:シュバム・ハルソラ (AWS)、アロマル・ラージ・ジャヤラジャン (AWS)、ナヴディープ・パリーク (AWS)

コードリポジトリ: aws-kms-deletion-notification

環境:PoC またはパイロット

テクノロジー: インフラストラクチャ、クラウドネイティブ DevOps、セキュリティ、アイデンティティ、コンプライアンス

ワークロード:その他すべてのワークロード

AWS サービス: Amazon EventBridge、AWS KMS、Amazon SNS

[概要]

AWS Key Management Service (AWS KMS) キーに関連付けられているデータとメタデータは、キーが削除されると失われます。削除は元に戻せず、失われたデータ (暗号化されたデータを含む) を回復することはできません。AWS KMS キーの「キーステータス」の変更を通知する通知システムを設定することで、データ損失を防ぐことができます。

このパターンは、Amazon EventBridge および Amazon Simple Notification Service (Amazon SNS ) を使用して AWS KMS キーのステータス変更をモニタリングし、AWS KMS キーのキーステータスが Disabledまたは に変わるたびに自動通知を発行する方法を示していますPendingDeletion。たとえば、ユーザーが AWS KMS キーを無効化または削除しようとすると、試行されたステータス変更の詳細が記載されたメール通知が届きます。このパターンを使用して、AWS KMS キーの削除をスケジュールすることもできます。

前提条件と制限

前提条件

  • AWS Identity and Access Management (IAM) ユーザーがいるアクティブな AWS アカウント

  • AWS KMS key

アーキテクチャ

テクノロジースタック

  • Amazon EventBridge

  • AWS Key Management Service (AWS KMS)

  • Amazon Simple Notification Service (Amazon SNS)

ターゲットアーキテクチャ

次の図は、AWS KMS キーの状態の変化を検出するための自動モニタリングおよび通知プロセスを構築するためのアーキテクチャを示しています。

モニタリングと通知の自動化プロセスを構築するためのアーキテクチャ

この図表は、次のワークフローを示しています:

  1. ユーザーが AWS KMS キーの削除を無効化またはスケジュールします。

  2. EventBridge ルールは、スケジュールされた Disabledまたは PendingDeletionイベントを評価します。

  3. この EventBridge ルールは Amazon SNS トピックを呼び出します。

  4. Amazon SNS はユーザーに E メール通知メッセージを送信します。

注: E メールメッセージを組織のニーズに合わせてカスタマイズできます。AWS KMS キーが使用されているエンティティに関する情報を含めることをお勧めします。これにより、ユーザーは AWS KMS キーを削除した場合の影響を理解できます。AWS KMS キーが削除される 1 日または 2 日前に送信されるリマインダーメール通知をスケジュールすることもできます。

自動化とスケール

AWS CloudFormation スタックは、このパターンが機能するために必要なすべてのリソースとサービスをデプロイします。このパターンは、1 つのアカウントに個別に実装することも、AWS CloudFormation StackSets Organizations の複数の独立したアカウントまたは組織単位に AWS を使用することもできます。 AWS Organizations

ツール

  • AWS CloudFormation は、AWS リソースのセットアップ、迅速かつ一貫したプロビジョニング、AWS アカウントと AWS リージョン全体のライフサイクル全体の管理に役立ちます。このパターンの CloudFormation テンプレートは、必要なすべての AWS リソースを記述し、それらのリソースを CloudFormation プロビジョニングして設定します。

  • Amazon EventBridge は、アプリケーションをさまざまなソースからのリアルタイムデータに接続するためのサーバーレスイベントバスサービスです。 は、独自のアプリケーションと AWS のサービスからリアルタイムデータのストリーム EventBridge を配信し、そのデータを AWS Lambda などのターゲットにルーティングします。イベント駆動型アーキテクチャを構築するプロセス EventBridge を簡素化します。

  • AWS Key Management Service (AWS KMS) は、データの保護に役立つ暗号キーを作成および管理する上で役立ちます。

  • Amazon Simple Notification Service (Amazon SNS)」は、ウェブサーバーやメールアドレスなど、パブリッシャーとクライアント間のメッセージの交換を調整および管理するのに役立ちます。

Code

このパターンのコードは、 GitHub 「AWS KMS キーの無効化とスケジュールされた削除」リポジトリにあります。

エピック

タスク説明必要なスキル

リポジトリをクローン作成します。

GitHub Monitor AWS KMS キーのクローンを作成するには、次のコマンドを実行して、ローカルマシンに およびスケジュールされた削除リポジトリを無効にします。

git clone https://github.com/aws-samples/aws-kms-deletion-notification

AWS 管理者、クラウドアーキテクト

テンプレートのパラメータを更新します。

コードエディタで、リポジトリからクローンしたAlerting-KMS-Events.yaml CloudFormation テンプレートを開き、次のパラメータを更新します。

  • DestinationEmailAddress には、SNS 通知の受信に使用する予定のアクティブなメールアドレスを入力します。

  • SNSTopicName には、SNS トピックの名前を入力します。

AWS 管理者、クラウドアーキテクト

CloudFormation テンプレートをデプロイします。

  1. AWS マネジメントコンソールにサインインし、CloudFormation コンソールを開きます。

  2. ナビゲーションペインで [スタックの作成] を選択し、[新しいリソース (標準) を使用] を選択します。

  3. リソースの識別」ページで「次へ」を選択します。

  4. テンプレートの指定」ページの「テンプレートソース」で、 テンプレートファイルのアップロード」を選択します。

  5. ファイルの選択を選択し、クローンされた GitHub リポジトリからAlerting-KMS-Events.yamlファイルを選択し、次へを選択します。

  6. スタック名に対して、スタック名を入力します。

  7. [送信] を選択します。

AWS 管理者、クラウドアーキテクト
タスク説明必要なスキル

サブスクリプションメールを確認します。

CloudFormation テンプレートが正常にデプロイされると、Amazon SNS は CloudFormation テンプレートで指定した E メールアドレスにサブスクリプションの確認メッセージを送信します。

通知を受信するには、このメールのサブスクリプションを確認する必要があります。詳細については、Amazon SNS 開発者ガイドの「サブスクリプションの確認」を参照してください。

AWS 管理者、クラウドアーキテクト
タスク説明必要なスキル

AWS KMS キーを無効にします。

  1. AWS マネジメントコンソールにサインインし、「AWS KMS コンソール」を開きます。

  2. リージョンを変更するには、現在表示されているリージョン名を選択してから、切り替えたいリージョンを選択します。

  3. ナビゲーションペインで、[カスタマーマネージドキー] を選択します。

  4. 有効または無効にする AWS KMS キーのチェックボックスを選択します。

  5. AWS KMS キーを無効にするには、[キーアクション]、[無効] の順に選択します。

AWS 管理者

サブスクリプションを検証します。

Amazon SNS の通知メールが届いたことを確認します。

AWS 管理者
タスク説明必要なスキル

CloudFormation スタックを削除します。

  1. AWS マネジメントコンソールにサインインし、CloudFormation コンソールを開きます。

  2. ナビゲーションペインで、[Stacks] を選択します。

  3. 以前に作成したスタックを選択し、[削除] を選択します。

AWS 管理者

関連リソース

追加情報

Amazon SQS は、デフォルトで送信中の暗号化を提供します。キュリティのベストプラクティスに合わせて、AWS KMS カスタマーマネージドキーを使用して Amazon SNS のサーバー側の暗号化を有効にすることもできます。