AWS Control Tower是一个可帮助组织轻松设置多个AWS帐户和服务的服务。在这些设置中,日志记录是一个非常重要的方面,可以帮助组织监视和审查其环境以及遵守合规性规定。本文将介绍如何通过AWS Control Tower最佳实践来记录CloudWatch日志以帮助组织管理其AWS环境。
CloudWatch日志服务是一种用于监视、分析和存储应用程序、系统和AWS资源的日志数据的AWS服务。要在AWS Control Tower中记录日志,需要执行以下步骤:
aws logs create-log-group --log-group-name /aws/controltower/Logs
aws configservice put-config-rule --config-rule '{"source": {"owner": "AWS", "sourceIdentifier": "AWS_CONTROL_TOWER"} }' --config-rule-name my-Control-Tower-rules --scope '{"complianceResourceTypes":["AWS::ControlTower::StackSet","AWS::Config::ResourceCompliance"]}'
import boto3
import json
def lambda_handler(event, context):
# Process AWS Config event
config_item=event.get('invokingEvent')
# Define log group and client
log_group_name = "your-log-group-name"
client = boto3.client("logs")
# Define log stream
log_stream_name = config_item.get("resourceType") + "/" + config_item.get("resourceId")
# Define log message
log_message = json.dumps(config_item, default=str)
# Send message to CloudWatch Logs
response = client.create_log_stream(logGroupName=log_group_name, logStreamName=log_stream_name)
response = client.put_log_events(logGroupName=log_group_name, logStreamName=log_stream_name,