AWS Fargate (Amazon ECS のみ) サポートの前提条件 - Amazon GuardDuty

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

AWS Fargate (Amazon ECS のみ) サポートの前提条件

このセクションでは、Fargate-Amazon ECS リソースのランタイム動作をモニタリングするための前提条件について説明します。これらの前提条件が満たされた後、「GuardDuty Runtime Monitoring の有効化」を参照してください。

アーキテクチャ要件の検証

使用するプラットフォームは、Amazon ECS クラスターからランタイムイベントを受信する際に GuardDuty セキュリティエージェントが GuardDuty をサポートする方法に影響を与える可能性があります。検証済みのプラットフォームのいずれかを使用していることを検証する必要があります。

最初の検討事項:

Amazon ECS クラスターの AWS Fargate プラットフォームは Linux である必要があります。対応するプラットフォームバージョンは少なくとも 1.4.0 または LATEST である必要があります。有効なプラットフォームバージョンの詳細については、「Amazon Elastic Container Service デベロッパーガイド」の「Linux プラットフォームのバージョン」を参照してください。

Windows プラットフォームバージョンはまだサポートされていません。

検証済みプラットフォーム

OS ディストリビューションと CPU アーキテクチャは、GuardDuty セキュリティエージェントが提供するサポートに影響します。次の表は、GuardDuty セキュリティエージェントをデプロイし、Runtime Monitoring を設定するための検証済み設定を示しています。

OS ディストリビューション1 カーネルサポート CPU アーキテクチャ x64 (AMD64) CPU アーキテクチャ Graviton (ARM64)
リナックス eBPF、Tracepoints、Kprobe サポート サポート

1さまざまなオペレーティングシステムのサポート - GuardDuty は、前の表に示す運用ディストリビューションの Runtime Monitoring サポートを検証しました。GuardDuty セキュリティエージェントは、前の表に記載されていないオペレーティングシステムで実行される可能性がありますが、GuardDuty チームは予想されるセキュリティ値を保証できません。

コンテナイメージアクセスの前提条件

以下の前提条件は、Amazon ECR リポジトリから GuardDuty サイドカーコンテナイメージにアクセスするのに役立ちます。

アクセス許可の要件

タスク実行ロールには、GuardDuty セキュリティエージェントコンテナイメージをダウンロードするための特定の Amazon Elastic Container Registry (Amazon ECR) アクセス許可が必要です。

... "ecr:GetAuthorizationToken", "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage", ...

Amazon ECR アクセス許可をさらに制限するには、GuardDuty セキュリティエージェントをホストする Amazon ECR リポジトリ URI を追加します AWS Fargate (Amazon ECS のみ)。詳細については、「Amazon ECR リポジトリホスティング GuardDuty エージェント」を参照してください。

AmazonECSTaskExecutionRolePolicy 管理ポリシーを使用するか、TaskExecutionRoleポリシーに上記のアクセス許可を追加できます。

タスク定義の設定

Amazon ECS サービスを作成または更新するときは、タスク定義でサブネット情報を提供する必要があります。

[Amazon Elastic Container Service API リファレンス] の [CreateService] API と [UpdateService] API を実行するには、サブネット情報を渡す必要があります。詳細については、「Amazon Elastic Container Service デベロッパーガイド」の「Amazon ECS のタスク定義」を参照してください。

ネットワーク接続要件

Amazon ECR から GuardDuty コンテナイメージをダウンロードするには、ネットワーク接続を確認する必要があります。この要件は、Amazon ECR を使用してセキュリティエージェントをホストするため、GuardDuty に固有のものです。ネットワーク設定に応じて、次のいずれかのオプションを実装する必要があります。

オプション 1 - パブリックネットワークアクセスの使用 (利用可能な場合)

Fargate タスクがアウトバウンドインターネットアクセスを持つサブネットで実行されている場合、追加のネットワーク設定は必要ありません。

オプション 2 - Amazon VPC エンドポイントの使用 (プライベートサブネット用)

Fargate タスクがインターネットアクセスのないプライベートサブネットで実行されている場合は、GuardDuty セキュリティエージェントをホストする ECR リポジトリ URI がネットワークにアクセスできるように ECR の VPC エンドポイントを設定する必要があります。これらのエンドポイントがないと、プライベートサブネットのタスクは GuardDuty コンテナイメージをダウンロードできません。

VPC エンドポイントの設定手順については、「Amazon Elastic Container Registry User Guide」の「Create the VPC endpoints for Amazon ECR」を参照してください。

Fargate で GuardDuty コンテナをダウンロードできるようにする方法については、「Amazon Elastic Container Registry ユーザーガイド」の「Using Amazon ECR images with Amazon ECS」を参照してください。

セキュリティグループの構成

GuardDuty コンテナイメージは Amazon ECR にあり、Amazon S3 アクセスが必要です。この要件は、Amazon ECR からのコンテナイメージのダウンロードに固有です。ネットワークアクセスが制限されたタスクの場合は、S3 へのアクセスを許可するようにセキュリティグループを設定する必要があります。

セキュリティグループに、ポート 443 の S3 マネージドプレフィックスリスト (pl-xxxxxxxx) へのトラフィックを許可するアウトバウンドルールを追加します。アウトバウンドルールを追加するには、「Amazon VPC ユーザーガイド」の「セキュリティグループルールの設定」を参照してください。

AWSマネージドプレフィックスリストをコンソールで表示したり、 AWS Command Line Interface (AWS CLI) を使用して説明したりするには、「Amazon VPC ユーザーガイド」のAWS「 マネージドプレフィックスリスト」を参照してください。

マルチアカウント環境での組織サービスコントロールポリシーの検証

このセクションでは、サービスコントロールポリシー (SCP) の設定を検証して、組織全体で Runtime Monitoring が期待どおりに動作することを確認する方法について説明します。

組織内のアクセス許可を管理するために 1 つ以上のサービスコントロールポリシーを設定している場合は、guardduty:SendSecurityTelemetryアクションを拒否しないことを検証する必要があります。SCPsAWS Organizations 「 ユーザーガイド」の「SCP 評価」を参照してください。

メンバーアカウントの場合は、関連する委任管理者に接続します。組織の SCPsAWS Organizations 「 ユーザーガイド」の「サービスコントロールポリシー (SCPs」を参照してください。

マルチアカウント環境で設定したすべての SCPs に対して次の手順を実行します。

SCP で検証guardduty:SendSecurityTelemetryが拒否されない
  1. https://console.aws.amazon.com/organizations/ で Organizations コンソールにサインインします。IAM ロールとしてサインインするか、組織の管理アカウントのルートユーザー (非推奨) としてサインインする必要があります。

  2. 左のナビゲーションペインで [ポリシー] を選択します。次に、サポートされているポリシータイプで、サービスコントロールポリシーを選択します。

  3. サービスコントロールポリシーページで、検証するポリシーの名前を選択します。

  4. ポリシーの詳細ページで、このポリシーのコンテンツを表示します。guardduty:SendSecurityTelemetry アクションを拒否しないことを確認してください。

    次の SCP ポリシーは、 guardduty:SendSecurityTelemetryアクションを拒否しない例です。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ ..., ..., "guardduty:SendSecurityTelemetry" ], "Resource": "*" } ] }

    ポリシーがこのアクションを拒否する場合は、ポリシーを更新する必要があります。詳細については、「AWS Organizations ユーザーガイド」の「Update a service control policy (SCP)」を参照してください。

ロールのアクセス許可とポリシーのアクセス許可の境界の検証

次のステップを使用して、ロールとそのポリシーに関連付けられたアクセス許可の境界が制限guardduty:SendSecurityTelemetryアクションではないことを確認します。

ロールとそのポリシーのアクセス許可の境界を表示するには
  1. にサインイン AWS Management Console し、https://console.aws.amazon.com/iam/ で IAM コンソールを開きます。

  2. 左のナビゲーションペインの [アクセス管理] で、[ロール] を選択します。

  3. ロールページで、作成したTaskExecutionRoleロールを選択します。

  4. 選択したロールのページで、アクセス許可タブで、このロールに関連付けられたポリシー名を展開します。次に、このポリシーが を制限していないことを確認しますguardduty:SendSecurityTelemetry

  5. アクセス許可の境界が設定されている場合は、このセクションを展開します。次に、各ポリシーを展開して、guardduty:SendSecurityTelemetryアクションが制限されていないことを確認します。ポリシーはこの のようになりますExample SCP policy

    必要に応じて、次のいずれかのアクションを実行します。

    • ポリシーを変更するには、編集を選択します。このポリシーのアクセス許可の変更ページで、ポリシーエディタでポリシーを更新します。JSON スキーマが有効であることを確認してください。[次へ] を選択します。その後、変更を確認して保存できます。

    • このアクセス許可の境界を変更して別の境界を選択するには、境界の変更を選択します。

    • このアクセス許可の境界を削除するには、境界の削除を選択します。

    ポリシーの管理の詳細については、IAM ユーザーガイドの「 のポリシーとアクセス許可 AWS Identity and Access Management」を参照してください。

CPU とメモリの制限

Fargate タスク定義では、CPU 値とメモリの値をタスクレベルで指定する必要があります。次の表は、タスクレベルの CPU 値とメモリの値の有効な組み合わせ、および、対応する GuardDuty コンテナの最大メモリ制限を示しています。

CPU の値 メモリの値 GuardDuty エージェントの最大メモリ制限

256 (.25 vCPU)

512 MiB、1 GB、2 GB

128 MB

512 (.5 vCPU)

1 GB、2 GB、3 GB、4 GB

1,024 (1 vCPU)

2 GB、3 GB、4 GB

5 GB、6 GB、7 GB、8 GB

2,048 (2 vCPU)

4 GB ~ 16 GB (1 GB のインクリメント)

4,096 (4 vCPU)

8 GB ~ 20 GB (1 GB のインクリメント)

8192 (8 vCPU)

16 GB~28 GB (4 GB のインクリメント)

256 MB

32 GB~60 GB (4 GB のインクリメント)

512 MB

16384 (16 vCPU)

32 GB~120 GB (8 GB のインクリメント)

1 GB

Runtime Monitoring を有効にして、クラスターのカバレッジステータスが [正常] と評価されると、コンテナインサイトメトリクスを設定および表示できます。詳細については、「Amazon ECS クラスターでの監視設定」。

次のステップでは、Runtime Monitoring を設定し、セキュリティエージェントも設定します。