Amazon Data Firehose リソースがAWSKMSキーで暗号化されていない場合に識別して警告する - AWS 規範ガイダンス

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

Amazon Data Firehose リソースがAWSKMSキーで暗号化されていない場合に識別して警告する

作成者: Ram Kandaswamy (AWS)

環境:本稼働

テクノロジー: 管理とガバナンス、分析、ビッグデータ CloudNative、インフラストラクチャ、セキュリティ、アイデンティティ、コンプライアンス

AWS サービス: AWS CloudTrail、Amazon CloudWatch、AWSアイデンティティとアクセス管理、Amazon Kinesis 、AWSLambda、Amazon SNS

[概要]

コンプライアンスのために、一部の組織では Amazon Data Firehose などのデータ配信リソースで暗号化が有効になっている必要があります。このパターンは、リソースがコンプライアンス違反になったときに監視、検出、通知する方法を示しています。

暗号化要件を維持するために、このパターンを Amazon Web Services (AWS) で使用して、AWSキー管理サービス (AWS KMS) キーで暗号化されていない Firehose 配信リソースの自動モニタリングと検出を提供できます。このソリューションはアラート通知を送信し、拡張して自動修復を実行することもできます。このソリューションは、ランAWSディングゾーンや AWS Control Tower を使用する環境など、個々のアカウントまたはマルチアカウント環境に適用できます。

前提条件と制限

前提条件

  • Firehose 配信ストリーム

  • このインフラストラクチャオートメーションAWS CloudFormationで使用される に十分なアクセス許可と慣れていること

機能制限

検出にAWS CloudTrail イベントを使用するため、ソリューションはリアルタイムではありません。暗号化されていないリソースが作成されてから通知が送信されるまでに遅延が発生します。

アーキテクチャ

ターゲットテクノロジースタック

このソリューションはサーバーレステクノロジーと以下のサービスを使用します。

  • AWS CloudTrail

  • Amazon CloudWatch

  • AWS コマンドラインインターフェイス (AWS CLI)

  • AWS Identity and Access Management (IAM)

  • Amazon Data Firehose

  • AWS Lambda

  • Amazon Simple Notification Service (Amazon SNS)

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

プロセスの 5 つのステップを示す図。
  1. ユーザーは Firehose を作成または変更します。

  2. CloudTrail イベントが検出され、一致します。

  3. AWS Lambda が呼び出されます。

  4. 非準拠のリソースが特定されます。

  5. メールが送信されます。

自動化とスケール

を使用するとAWS CloudFormation StackSets、このソリューションを 1 つのコマンドで複数のAWSリージョンまたはアカウントに適用できます。

ツール

  • AWS CloudTrail – AWS CloudTrail は、AWSアカウントのガバナンス、コンプライアンス、運用およびリスク監査を有効にするのに役立つAWSサービスです。ユーザー、ロール、またはAWSサービスによって実行されたアクションは、イベントとして に記録されます CloudTrail。イベントには、AWSマネジメントコンソール、AWSコマンドラインインターフェイス、AWSSDKsおよび APIオペレーションで実行されたアクションが含まれます。

  • Amazon CloudWatch Events – Amazon CloudWatch Events は、 near-real-timeAWSリソースの変更を記述するシステムイベントのストリームを提供します。

  • AWS CLI AWS — コマンドラインインターフェイス (AWS CLI) は、コマンドラインシェル内のコマンドを使用して AWS サービスとやり取りできるオープンソースツールです。 

  • IAM – AWS Identity and Access Management (IAM) は、AWSリソースへのアクセスを安全に制御するのに役立つウェブサービスです。を使用してIAM、誰を認証 (サインイン) し、誰にリソースの使用を認可 (アクセス許可あり) するかを制御します。 

  • Amazon Data Firehose – Amazon Data Firehose は、リアルタイムのストリーミングデータを配信するためのフルマネージドサービスです。Firehose では、アプリケーションを記述したり、リソースを管理したりする必要はありません。データプロデューサーは Firehose にデータを送信するように設定し、指定した送信先にデータを自動的に配信します。

  • AWS Lambda – AWS Lambda は、サーバーのプロビジョニングや管理を行わずにコードの実行をサポートするコンピューティングサービスです。Lambda は必要に応じてコードを実行し、1 日あたり数個のリクエストから 1 秒あたり数千のリクエストまで自動的にスケールします。課金は実際に消費したコンピューティング時間に対してのみ発生します。コードが実行されていない場合、料金は発生しません。 

  • Amazon SNS – Amazon Simple Notification Service (Amazon SNS) は、パブリッシャーからサブスクライバー (プロデューサーおよびコンシューマーとも呼ばれます) にメッセージ配信を提供するマネージドサービスです。

エピック

タスク説明必要なスキル

をデプロイしますAWS CloudFormation StackSets。

でAWSCLI、firehose-encryption-checker.yamlテンプレート (添付) を使用して、次のコマンドを実行してスタックセットを作成します。 パラメータに有効な Amazon SNSトピックの Amazon リソースネーム (ARN) を指定します。デプロイでは、テンプレートで説明されているように、 CloudWatch イベントルール、Lambda 関数、および必要なアクセス許可を持つIAMロールが正常に作成されている必要があります。

aws cloudformation create-stack-set    --stack-set-name my-stack-set   --template-body file://firehose-encryption-checker.yaml 

クラウドアーキテクト、システム管理者

がスタックインスタンスを作成する。

スタックは、選択したAWSリージョンと 1 つ以上のアカウントで作成する必要があります。 スタックインスタンスを作成するには、スタック名の値、アカウント番号、リージョンを独自に設定した内容に置き換えて、次のコマンドを実行します。

aws cloudformation create-stack-instances     --stack-set-name my-stack-set    --accounts 123456789012 223456789012   --regions us-east-1 us-east-2 us-west-1 us-west-2     --operation-preferences FailureToleranceCount=1 

クラウドアーキテクト、システム管理者

関連リソース

追加情報

AWS Config は Firehose 配信ストリームリソースタイプをサポートしていないため、Config AWS ルールをソリューションで使用することはできません。

添付ファイル

このドキュメントに関連する追加コンテンツにアクセスするには、次のファイルを解凍してください。「attachment.zip