LoginSignup
1
0

TerraformでGuardDutyのAWS Fargate のRuntime脅威検知を有効化する

Last updated at Posted at 2023-12-21

AWS re:Invent 2023で発表されたこちらの機能をTerraformで有効可する方法です。

TerraformのGitHubの数日に一回くらいIssue検索しながら緩く待っていたのですが、Issueに上がってこないということはドキュメントに無いだけで設定できるのではということでやってみました。

APIに渡すFeature Nameはこちらの公式から RUNTIME_MONITORING.additionalConfiguration.ECS_FARGATE_AGENT_MANAGEMENT だということがわかりました。

ということで、そのままTerraformに埋め込んでみました。ECS Fargateだけ対象としたい場合は以下の通りです。

resource "aws_guardduty_detector" "this" {
  enable = true
}

resource "aws_guardduty_detector_feature" "ecs_fargate_agent_runtime" {
  detector_id = aws_guardduty_detector.this.id
  name        = "RUNTIME_MONITORING"
  status      = "ENABLED"
  additional_configuration {
    name   = "EKS_ADDON_MANAGEMENT"
    status = "DISABLED"
  }
  additional_configuration {
    name   = "ECS_FARGATE_AGENT_MANAGEMENT"
    status = "ENABLED"
  }
}

これでGuardDuty側は有効化できました。

image.png

上記に追加で対応したのは以下の3点です。

  1. GuardDutyのVPC Endpoint(com.amazonaws.ap-northeast-1.guardduty-data)作成
  2. SubnetやSecurity Groupの確認
  3. IAM権限の確認( AmazonECSTaskExecutionRolePolicy 使っていれば問題無し)

特に1は恐らく画面から操作すれば自動で作成されるらしいですが、Terraformから作成した場合は自分で作成する必要がありそうでした。また、ここまでやっても以下のエラーが出ていてUnhealtyの状態でした。

Unidentified issue, for tasks in TaskDefinition - 'TASK_DEFINITION'

権限もVPCEndPointへの疎通確認しても問題無さそうだしということで諦めて一晩寝て起きて見てみたらHealtyになっていました。時間かかるのかもしれません。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0