AWS Organizations changes should be monitored

This page is not yet available in Spanish. We are working on its translation.
If you have any questions or feedback about our current translation project, feel free to reach out to us!

Description

Real-time monitoring of API calls can be achieved by directing CloudTrail logs to CloudWatch logs and establishing corresponding metric filters and alarms. It is recommended to set up a metric filter and alarm for AWS organization changes made in the master AWS Account. This helps prevent any unwanted modifications that may lead to unauthorized access or other security breaches, ensuring that unexpected changes can be investigated and rolled back.

Remediation

For instructions on setting up CloudWatch metric filters and alarms for AWS organization changes, refer to the AWS CloudWatch Alarms for CloudTrail User Guide.

aws logs put-metric-filter --log-group-name <cloudtrail_log_group_name> \
--filter-name <organizations_changes> --metric-transformations \
metricName=<organizations_changes>,metricNamespace='CISBenchmark',metricValue=1 \
--filter-pattern '{ ($.eventSource = organizations.amazonaws.com) && (($.eventName = "AcceptHandshake") || \
($.eventName = "AttachPolicy") || ($.eventName = "CreateAccount") || ($.eventName = "CreateOrganizationalUnit") || \
($.eventName = "CreatePolicy") || ($.eventName = "DeclineHandshake") || ($.eventName = "DeleteOrganization") || \
($.eventName = "DeleteOrganizationalUnit") || ($.eventName = "DeletePolicy") || ($.eventName = "DetachPolicy") || \
($.eventName = "DisablePolicyType") || ($.eventName = "EnablePolicyType") || ($.eventName = "InviteAccountToOrganization") || \
($.eventName = "LeaveOrganization") || ($.eventName = "MoveAccount") || ($.eventName = "RemoveAccountFromOrganization") || \
($.eventName = "UpdatePolicy") || ($.eventName = "UpdateOrganizationalUnit")) }'

You can choose your own metricName and metricNamespace strings. Use the same metricNamespace for all Foundations Benchmark metrics to group them together.