설명
AWS Organizations에서는 계정 초대, 정책 연결, 조직 단위 생성, 계정 이동 같은 민감한 관리 작업이 일어납니다. 이런 이벤트를 CloudTrail 로그에서 골라 CloudWatch 경보로 연결하지 않으면 조직 구조나 권한 체계의 변경을 늦게 발견할 수 있습니다.
특히 여러 계정과 조직 단위를 함께 운영하는 환경에서는 Organizations 변경이 권한 범위에 영향을 줄 수 있습니다. 필요한 변경 이벤트를 모니터링하고 담당 팀에 전달하세요.
잠재적 영향
- 조직 정책 변경이나 계정 이동 같은 중요한 관리 작업을 늦게 발견할 수 있습니다.
- 계정 구조 변경 이후 영향 범위를 파악하는 데 시간이 오래 걸릴 수 있습니다.
- 권한 오남용이나 설정 실수에 대한 초기 대응이 지연될 수 있습니다.
해결 방법
- 필요한 Organizations 이벤트가 CloudTrail에서 CloudWatch Logs로 전달되도록 구성하고 로그 메트릭 필터를 설정하세요.
- 생성되는 메트릭의 이름과 네임스페이스를 알람에 연결하고 평가 기간과 임계값을 정하세요. SNS 등 실제 운영 채널과 수신 구독도 구성하세요.
- 알람 조건을 충족하는 테스트 이벤트로 메트릭 생성과 알림 수신을 확인하세요. 로그 전달과 알람 평가에는 지연이 있을 수 있습니다.
예시
참조하는 로그 그룹과 SNS 주제, CloudTrail 로그 전달 권한 및 알림 구독은 별도로 구성해야 합니다. 아래 필터는 일부 Organizations 이벤트를 예시로 포함하므로 조직의 감시 범위에 맞게 보완하세요.
변경 전
hcl
resource "aws_cloudwatch_log_metric_filter" "organizations_changes" {
name = "organizations-changes"
log_group_name = aws_cloudwatch_log_group.cloudtrail.name
pattern = "{ ($.eventSource = \"ec2.amazonaws.com\") }"
metric_transformation {
name = "organizations-changes"
namespace = "Security"
value = "1"
}
}
변경 후
hcl
resource "aws_cloudwatch_log_metric_filter" "organizations_changes" {
name = "organizations-changes"
log_group_name = aws_cloudwatch_log_group.cloudtrail.name
pattern = "{ ($.eventSource = \"organizations.amazonaws.com\") && (($.eventName = AcceptHandshake) || ($.eventName = AttachPolicy) || ($.eventName = CreateAccount) || ($.eventName = MoveAccount) || ($.eventName = RemoveAccountFromOrganization)) }"
metric_transformation {
name = "organizations-changes"
namespace = "Security"
value = "1"
}
}
resource "aws_cloudwatch_metric_alarm" "organizations_changes" {
alarm_name = "organizations-changes"
comparison_operator = "GreaterThanOrEqualToThreshold"
evaluation_periods = 1
metric_name = "organizations-changes"
namespace = "Security"
period = 300
statistic = "Sum"
threshold = 1
alarm_actions = [aws_sns_topic.security_alerts.arn]
}
설명:
- 변경 전: EC2 이벤트를 대상으로 하며 Organizations 알람도 연결하지 않습니다.
- 변경 후: 선택한 Organizations 이벤트를 메트릭으로 만들고 5분 합계가 1 이상이면 알람을 활성화하도록 구성합니다. 실제 알림은 로그 전달, 알람 상태 및 SNS 수신 경로에 달려 있습니다.