Quản lý các AWS Config Rule tùy chỉnh với Remediation bằng AWS Config Conformance Pack

Tác giả: Eswar Sesha Sai Kamineni, Ravindra Kori, Samrat Lamichhane và Prathik Chintha| Ngày đăng: 06/05/2025 | Danh mục: AWS Command Line Interface, AWS Config, Centralized operations management, Configuration, compliance, and auditing, Management Tools

Giới thiệu

Các tổ chức thường phải đối mặt với những yêu cầu tuân thủ (compliance) riêng biệt trên nhiều tài nguyên và tài khoản AWS khác nhau. Mặc dù AWS Config cung cấp các managed rule, nhưng nhiều tổ chức vẫn cần đến các custom rule và khả năng remediation tự động có thể mở rộng trên toàn bộ AWS Organization.

Bài viết này trình bày cách sử dụng AWS Config custom conformance pack để triển khai và quản lý các custom rule kèm remediation action trên phạm vi toàn tổ chức, đồng thời vẫn duy trì khả năng quản trị tập trung.

Tổng quan giải pháp

Giải pháp này triển khai một framework tuân thủ tập trung dựa trên các thành phần sau:

  • AWS Config custom rules với remediation tự động
  • Conformance packs để triển khai trên toàn tổ chức
  • AWS Lambda functions cho việc đánh giá (evaluation)
  • AWS Systems Manager cho remediation

Hình 1: Kiến trúc

  1. AWS Config custom rule được cấu hình trong các member account sẽ gọi Lambda function dùng để đánh giá (evaluation), Lambda này nằm trong delegated administrator account.
  2. Lambda function đánh giá trong delegated admin account sẽ kiểm tra các tài nguyên mục tiêu (ví dụ: AWS EC2 Security Group) dựa trên tiêu chí tuân thủ đã định nghĩa, sau đó cập nhật kết quả đánh giá là “Compliant” hoặc “Non-Compliant” trong AWS Config của member account.
  3. Khi phát hiện tài nguyên không tuân thủ trong member account, AWS Config rule sẽ tự động kích hoạt workflow remediation thông qua AWS Systems Manager Automation document.
  4. AWS Systems Manager Automation document sẽ gọi một Lambda function (được duy trì trong delegated admin account) để thực thi các hành động cần thiết nhằm đưa tài nguyên về trạng thái tuân thủ.

Các thành phần chính

Giải pháp bao gồm hai thành phần chính: delegated admin account và member account.

  • Delegated admin account lưu trữ và quản lý:
    • Lambda functions cho đánh giá rule và remediation
    • Logic của AWS Config custom rule
    • Systems Manager Automation runbooks
  • Member account: vận hành với AWS Config được bật và cấp quyền cross-account để quản lý tập trung:
    • AWS Config được bật
    • Quyền cross-account phục vụ quản lý tập trung

Trong bài viết này, chúng tôi minh họa giải pháp bằng cách triển khai một kiểm soát tuân thủ nhằm kiểm tra inbound rule của AWS EC2 Security Group. Rule này sẽ xác định và remediation các security group cho phép truy cập từ CIDR block lớn hơn /16 (ví dụ: 10.0.0.0/10 hoặc 10.0.0.0/1).

Hướng dẫn triển khai

Điều kiện tiên quyết

  • Xác minh quyền truy cập vào delegated admin account và các member account.
  • Bật AWS Config trong delegated admin account và member account thông qua AWS CLI hoặc AWS Management Console.
  • Ghi lại AWS Delegated admin account ID. Tham khảo các bước này để tìm account ID.

Bước 1: Triển khai tài nguyên trong delegated admin account

  1. Tải CloudFormation template từ link này.
  2. Đăng nhập vào AWS Management Console và truy cập dịch vụ CloudFormation.
  3. Chọn Create stack > With new resources (standard).
  4. Trong phần Specify template, chọn Upload a template file.
  5. Chọn template đã tải về và bấm Next.

CloudFormation stack sẽ tạo ra nhiều thành phần liên kết với nhau để hỗ trợ giải pháp tuân thủ:

Đầu tiên, stack triển khai hai Lambda function quan trọng:

  • ConformancePackSecurityGroup: đóng vai trò evaluator, kiểm tra rule của security group dựa trên yêu cầu đã định nghĩa.
  • AutomationSecurityGroupConformance: xử lý remediation, tự động khắc phục các cấu hình tài nguyên không tuân thủ.

Để hỗ trợ các function này, stack tạo ra ba IAM role với các quyền cụ thể:

  • ConformancePackSecurityGroupLambdaRole: cho phép đánh giá security group
  • AutomationSecurityGroupConformanceLambdaRole: cho phép chỉnh sửa security group
  • SSMDocumentRole: phục vụ việc thực thi Systems Manager automation

Cuối cùng, stack tạo SecurityGroupAutomation SSMDocument trong Systems Manager, định nghĩa các workflow remediation tự động.

Bước 2: Triển khai IAM role cross-account bằng CloudFormation StackSets

Ở bước này, chúng ta triển khai các IAM role trên toàn bộ member account bằng AWS CloudFormation StackSets:

Bước 3: Cấu hình quyền Lambda

Để đảm bảo quyền cross-account hoạt động chính xác sau khi triển khai StackSet, bạn cần cấu hình quyền gọi Lambda cho từng member account trong AWS Organization. Chúng tôi khuyến nghị chạy lệnh AWS CLI sau thông qua một script tự động để quản lý hiệu quả nhiều account ID:

aws lambda add-permission \

  --function-name "ConformancePackSecurityGroupFunction" \

  --statement-id "AllowConfigCrossAccount" \

  --action "lambda:InvokeFunction" \

  --principal "config.amazonaws.com" \

  --source-account ${MEMBER_ACCOUNT_ID}

Bash

Bước 4: Chia sẻ AWS Systems Manager Automation Runbook cho member account

Chạy lệnh AWS CLI sau để chia sẻ AWS Systems Manager document cho tất cả member account:

aws ssm modify-document-permission \

--name "SecurityGroupAutomationSSMDocument" \

--permission-type Share \

--account-ids-to-add "111111111111" "222222222222" "333333333333"

Bash

Bước 5: Triển khai Conformance Pack

  • Tải AWS Config Conformance Pack về máy local và lưu với tên SecurityGroupConformancePack.yaml.
  • Triển khai conformance pack trên các member account trong AWS Organization bằng lệnh AWS CLI sau (thay management account ID bằng delegated admin account ID của bạn):
aws configservice put-organization-conformance-pack \

    --organization-conformance-pack-name "SecurityGroupConformancePack" \

    --template-body file://SecurityGroupConformancePack.yaml \

    --delivery-s3-bucket YOUR-S3-BUCKET-NAME \

    --conformance-pack-input-parameters \

        ParameterName=ManagementAccountId,ParameterValue=YOUR-Management-ACCOUNT-ID

Bash
  • Xác minh việc triển khai trên các member account. Để biết thêm chi tiết về lệnh put-organization-conformance-pack, vui lòng tham khảo tại đây.

Kiểm thử giải pháp

Để xác minh AWS Config Conformance Pack có thể phát hiện và remediation security group rule, chúng ta sẽ tạo một security group không tuân thủ và quan sát quá trình remediation tự động.

Trước tiên, tạo một security group thử nghiệm trong member account:

  1. Truy cập EC2 console và tạo một security group mới.
  2. Thêm inbound rule cho phép SSH (port 22) từ 10.0.0.0/8.
  3. Gắn tag cho security group để dễ nhận diện.

Hình 2: Inbound rule của Security Group không tuân thủ

Sau vài phút kể từ khi tạo, AWS Config sẽ đánh giá security group này. Để theo dõi quá trình đánh giá và remediation:

  1. Trong member account:
    • Kiểm tra AWS Config console.
    • Quan sát trạng thái security group chuyển từ “Compliant” sang “Non-compliant”.
    • Xác minh inbound rule của security group đã được tự động xóa.
  2. Trong delegated admin account:
    • Kiểm tra CloudWatch Logs của cả hai Lambda function.
    • Xác nhận quá trình evaluation đã phát hiện CIDR không tuân thủ.
    • Xác minh remediation action đã hoàn thành thành công.

Hình 3: Conformance pack xác định tài nguyên không tuân thủ

Giải pháp sẽ tự động phát hiện và loại bỏ CIDR range (10.0.0.0/8), chỉ giữ lại các rule tuân thủ (CIDR /16 hoặc nhỏ hơn).

Dọn dẹp tài nguyên

Để tránh phát sinh chi phí và xóa toàn bộ tài nguyên được tạo trong giải pháp này, hãy thực hiện các bước sau:

  1. Xóa conformance pack khỏi AWS Organization.
  2. Xóa CloudFormation Stack trong administrator account.
  3. Làm trống và xóa S3 bucket được sử dụng để phân phối conformance pack (nếu không còn cần thiết).

Kết luận

Trong bài viết này, chúng tôi đã trình bày một giải pháp triển khai tuân thủ trên toàn tổ chức bằng AWS Config conformance packs. Bằng cách kết hợp AWS Config, Lambda, Systems Manager và AWS Organizations, chúng ta đã xây dựng một framework có khả năng mở rộng, tự động phát hiện và remediation các cấu hình security group sai lệch trên nhiều tài khoản AWS. Giải pháp cho thấy cách quản lý tập trung các custom compliance rule trong khi vẫn duy trì workflow remediation tự động từ delegated admin account.

TAGS: AWS CloudFormation, AWS Config, AWS Organizations, AWS Systems Manager, Cloud Operations, Management and Governance

Tác giả


Eswar Sesha Sai Kamineni là Solutions Architect tại Amazon Web Services. Anh hỗ trợ khách hàng chuyển đổi và hiện đại hóa doanh nghiệp thông qua việc thiết kế các giải pháp cloud và cung cấp tư vấn kỹ thuật. Eswar tốt nghiệp Đại học George Mason với bằng Data Analytics Engineering. Anh có niềm đam mê sâu sắc với AI và Machine Learning, đồng thời yêu thích đọc về các tiến bộ công nghệ mới và đi bộ đường dài.

Ravindra Kori là Sr. Solutions Architect và GenAI ambassador tại AWS, làm việc tại Arlington, chuyên sâu về Cloud Operations và Serverless. Anh làm việc rộng khắp với cả khách hàng Enterprise và Startup, thiết kế kiến trúc giải pháp và hỗ trợ quá trình hiện đại hóa cũng như migration lên AWS. Ngoài công việc, Ravindra yêu thích chơi trống và dành thời gian cho gia đình.


Samrat là Sr. Solutions Architect giàu kinh nghiệm với hơn 6 năm làm việc tại AWS. Anh có bề dày thành tích trong việc hỗ trợ nhiều nhóm khách hàng khác nhau, từ startup đến enterprise, thiết kế kiến trúc giải pháp và migration lên AWS. Chuyên môn của Samrat tập trung vào Serverless, Storage, và các thực hành Configuration, Compliance và Auditing trong AWS.

Prathik là Cloud Support Engineer trong bộ phận AWS Support Engineering, chuyên về CI/CD services, CloudFormation và DevOps automation. Với vai trò AWS Certified CloudFormation Subject Matter Expert, anh hỗ trợ khách hàng thiết kế các CI/CD pipeline có khả năng mở rộng, xử lý các sự cố triển khai phức tạp và áp dụng best practice cho cả infrastructure as code (IaC) lẫn CI/CD. Ngoài công việc, Prathik thích xem thể thao và dành thời gian cho thú cưng của mình.

Leave a comment