IAM プロファイルがEC2インスタンスに関連付けられていることを確認する - AWS 規範ガイダンス

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

IAM プロファイルがEC2インスタンスに関連付けられていることを確認する

作成者: Mansi Suratwala (AWS)

環境:本稼働

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

AWS サービス: Amazon EC2、AWSIdentity and Access Management、Amazon CloudWatch、AWSLambda、Amazon SNS

[概要]

このパターンは、Amazon Elastic Compute Cloud (Amazon IAM) EC2インスタンスで AWS Identity and Access Management () プロファイル違反が発生したときに自動通知を設定するAWS CloudFormation セキュリティコントロールテンプレートを提供します。 

インスタンスプロファイルは、IAMインスタンスの起動時にロール情報をEC2インスタンスに渡すために使用できるロールのコンテナです。

Amazon CloudWatch Events は、 が RunInstances、、および ReplaceIamInstanceProfileAssociationアクションに基づいて Amazon EC2APIコールをAWS CloudTrail ログに記録するとAssociateIamInstanceProfile、このチェックを開始します。トリガーは AWS Lambda 関数を呼び出します。Lambda 関数は、Amazon CloudWatch Events イベントを使用してIAMプロファイルをチェックします。

IAM プロファイルが存在しない場合、Lambda 関数は、Amazon Web Services (SNS) アカウント ID とAWSリージョンを含む Amazon Simple Notification Service (Amazon AWS) の E メール通知を開始します。 

IAM プロファイルが存在する場合、Lambda 関数はポリシードキュメント内のワイルドカードエントリをチェックします。ワイルドカードエントリが存在する場合、 は Amazon SNS違反通知を開始し、セキュリティの強化を実装するのに役立ちます。通知には、IAMプロファイルの名前、イベント、EC2インスタンス ID、管理ポリシーの名前、違反、アカウント ID、リージョンが含まれます。

前提条件と制限

前提条件 

  • アクティブ アカウント

  • Lambda コードの .zip ファイルの Amazon Simple Storage Service (Amazon S3) バケット

機能制限

  • AWS CloudFormation テンプレートは、RunInstances、、AssociateIamInstanceProfileおよび ReplaceIamInstanceProfileAssociationアクションに対してのみデプロイする必要があります。

  • セキュリティコントロールはIAMプロファイルのデタッチをモニタリングしません。

  • セキュリティコントロールは、EC2インスタンスIAMプロファイルにアタッチされているIAMポリシーの変更をチェックしません。

  • セキュリティコントロールは、"Resource":* の使用が必要な「適用されないリソースレベルの許可」について考慮しません。

アーキテクチャ

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

  • Amazon EC2

  • AWS CloudTrail

  • Amazon CloudWatch

  • AWS Lambda

  • Amazon S3

  • Amazon SNS

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

EC2 起動、IAMプロファイル違反、 CloudTrail、 CloudWatch イベント、Lambda 呼び出し、通知が送信されました。

自動化とスケール

AWS CloudFormation テンプレートは、さまざまなAWSリージョンとアカウントで複数回使用できます。テンプレートは、アカウントまたはリージョンごとに 1 回だけ起動する必要があります。

ツール

ツール

  • Amazon EC2 – Amazon EC2は、AWSクラウドでスケーラブルなコンピューティング容量 (仮想サーバー) を提供します。 

  • AWS CloudTrail – AWSアカウントのガバナンス、コンプライアンス、運用およびリスク監査を有効にするAWS CloudTrail のに役立ちます。ユーザー、ロール、またはAWSサービスによって実行されたアクションは、イベントとして に記録されます CloudTrail。 

  • Amazon CloudWatch Events – Amazon CloudWatch Events は、AWSリソースの変更を記述するシステムイベントのほぼリアルタイムのストリームを提供します。 

  • AWS Lambda – AWS Lambda は、サーバーのプロビジョニングや管理を行わずにコードを実行するために使用できるコンピューティングサービスです。Lambda は必要に応じてコードを実行し、1 日あたり数個のリクエストから 1 秒あたり数千のリクエストまで自動的にスケールします。 

  • Amazon S3」 — Amazon S3 は、ウェブサイト、モバイルアプリケーション、バックアップ、データレイクなど、幅広いストレージソリューションに使用できる拡張性の高いオブジェクトストレージを提供します。

  • Amazon SNS – Amazon SNSは、アプリケーションとデバイスがクラウドから通知を送受信できるようにします。 

コード

  • プロジェクトの .zip ファイルは添付ファイルとして入手できます。

エピック

タスク説明必要なスキル

S3 バケットを定義します。

Lambda コードの .zip ファイルをホストするには、先頭にスラッシュを含まない一意の名前で S3 バケットを選択または作成します。S3 バケット名はグローバルに一意であり、名前空間はすべてのAWSアカウントで共有されます。S3 バケットは、評価対象のEC2インスタンスと同じリージョンにある必要があります。

クラウドアーキテクト
タスク説明必要なスキル

S3 バケットに Lambda コードをアップロードします。

添付ファイルセクションで提供されている Lambda コードを S3 バケットにアップロードします。S3 バケットは、評価対象のEC2インスタンスと同じリージョンにある必要があります。

クラウドアーキテクト
タスク説明必要なスキル

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

このパターンの添付ファイルとして提供されるAWS CloudFormation テンプレートをデプロイします。次のエピックでは、パラメータの値を指定します。

クラウドアーキテクト
タスク説明必要なスキル

S3 バケットに名前を付けます。

最初のエピックで作成した S3 バケットの名前を入力します。

クラウドアーキテクト

S3 キーを指定します。

S3 バケットの Lambda コードの .zip ファイルの場所を、先頭にスラッシュを付けずに指定します (例: <directory>/<file-name>.zip)。

クラウドアーキテクト

メールアドレスを入力します。

Amazon SNS通知を受信するアクティブな E メールアドレスを指定します。

クラウドアーキテクト

ログ記録のレベルを定義します。

Lambda 関数のロギングレベルと頻度を定義します。 Info アプリケーションの進行状況に関する詳細な情報メッセージを指定します。 Error それでもアプリケーションの実行を継続できるエラーイベントを指定します。 Warning 潜在的に有害な状況を示します。

クラウドアーキテクト
タスク説明必要なスキル

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

テンプレートが正常にデプロイされると、指定したメールアドレスに購読メールメッセージが送信されます。違反通知を受信するには、このメールサブスクリプションを確認する必要があります。

クラウドアーキテクト

関連リソース

添付ファイル

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