AWS Thai Blog

เสริมความแข็งแกร่งด้าน Security บน AWS ด้วย Amazon Q Developer (Part 2)

หลังจากที่ได้ติดตั้งและสร้าง configuration ต่างๆ เพื่อเตรียมให้ Amazon Q Developer CLI เข้าไปดูรายละเอียดด้าน Security ใน AWS Account ของเรา จากบทความ เสริมความแข็งแกร่งด้าน Security บน AWS ด้วย Amazon Q Developer (Part 1) เสร็จเรียบร้อยแล้วเราจะมาเริ่มสั่งงาน Amazon Q Developer CLI กัน

ให้สร้าง Folder/Directory ในเครื่องคอมพิวเตอร์ของคุณสำหรับเตรียมให้ Amazon Q Developer CLI สร้าง Report โดยในตัวอย่าง ผมจะสร้างโฟลเดอร์ ชื่อว่า “SPIP” โดยจะใช้พื้นที่ในโฟลเดอร์นี้จัดเก็บข้อมูลทั้งหมด

จากนั้น ให้ดาวน์โหลดไฟล์ “spip_template.csv” แล้ว save ไว้ในโฟลเดอร์ SPIP ที่สร้างไว้ก่อนหน้านี้ โดยไฟล์ spip_template.csv จะเป็น template ที่จะใช้ในการที่จะให้ Amazon Q Developer เข้าไปดูรายละเอียดแล้วจัดทำรูปแบบรายงานตามหัวข้อที่กำหนดจากไฟล์นี้นั่นเอง ซึ่งจะมีทั้งหมด 6 โดเมนด้วยกันได้แก่

  1. PH1: Identity Protection
  2. PH2: Data Protection
  3. PH3: Infrastructure Protection and Visibility
  4. PH4: Detection & Incident Response
  5. PH5: AppSec & DevSecOps
  6. PH6: Centralization

โดยในแต่ละโดเมน ก็จะมีหัวข้อย่อยๆ ที่เกี่ยวข้องกับโดเมนนั้นๆ

จากนั้นให้ดาวน์โหลด spip_prompt.txt แล้วsave ไว้ในโฟลเดอร์ SPIP ที่สร้างไว้ก่อนหน้านี้เช่นเดียวกัน โดยในไฟล์นี้จะเป็น Prompt ที่เราจะใช้สั่ง Amazon Q Developer CLI ให้เข้าไปดูรายละเอียดแล้วจัดทำรูปแบบรายงานตาม template “spip_template.csv” กันนั่นเองครับ โดย Prompt จะมีดังนี้

You are a AWS Security Expert with 10+ years of experience in AWS Security and Compliance. Your task is to conduct an enterprise-grade Security Posture Improvement Review (SPIP) following AWS Well-Architected Framework Security Pillar best practices.

PRIMARY OBJECTIVE:
Perform a comprehensive security assessment and provide actionable recommendations aligned with AWS security best practices and compliance frameworks.

ASSESSMENT FRAMEWORK:
1. Security Pillars Analysis (Based on AWS Well-Architected Framework)
- PH1: Identity Protection (IAM, Authentication, Authorization)
- PH2: Data Protection (Encryption, Classification, Lifecycle)
- PH3: Infrastructure Protection and Visibility (Network Security, Resource Configuration)
- PH4: Detection & Incident Response (CloudWatch, GuardDuty, Security Hub)
- PH5: AppSec & DevSecOps (CI/CD Security, Code Analysis)
- PH6: Centralization (Unified Security Controls, Centralized Logging)

2. Assessment Methodology:
- Source Data: spip_template.csv (31 security controls)
- AWS Profile: ab3demo-test-account
- Reference: AWS Well-Architected Security Pillar (https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/welcome.html)

3. Technical Evaluation:
For each security control:
- Execute AWS API calls for configuration assessment
- Compare against AWS Security Best Practices
- Evaluate against compliance requirements (ISO 27001, CIS, NIST, PDPA)
- Determine maturity status:
  * Completed: Fully compliant with AWS best practices
  * In Progress: Partial implementation
  * Not Started: No implementation
  * Not Applicable: Control not relevant
- Assign risk-based criticality level

4. Deliverable Requirements:
Generate a comprehensive HTML report including:

Executive Dashboard:
- Security posture executive summary
- Compliance status visualization (pie chart with percentages)
- Overall security maturity score
- Risk assessment summary

Detailed Assessment Table:
- Pillar classification
- Control ID and name
- Detailed control description
- Implementation status
- Risk-based criticality
- Remediation recommendations with AWS documentation references
- Target implementation timeline

Implementation Roadmap:
- Prioritized remediation timeline
- Grouped by implementation month
- Risk-based prioritization

Technical Specifications:
- Format: Single HTML file
- Location: <path-to-folder>/spip-report/
- Interactive sorting capabilities (Pillar, ID, Status, Criticality, Timeline)
- Follow spip-report.html template structure

SECURITY COMPLIANCE:
Ensure all recommendations align with:
- AWS Well-Architected Framework
- CIS AWS Foundations Benchmark
- ISO 27001/27017/27018
- NIST Cybersecurity Framework

Please execute this enterprise security assessment and generate a comprehensive report following these specifications.
Use AWS CLI with "<your-aws-cli-profile>" profile for execution. Your permission is read only.

ตอนนี้จะมีไฟล์ที่ดาวน์โหลดมาไว้ในเครื่องเรียบร้อย ตามนี้ครับ

*** สังเกตใน Prompt บรรทัดสุดท้าย ตรง  "<your-aws-cli-profile>"ให้เปลี่ยนเป็น AWS CLI Profile ที่เราได้ตั้งไว้ก่อนหน้านี้ครับ ซึ่งจะเป็นการระบุว่าให้ Amazon Q Developer ใช้ Profile ตัวไหนในการ Execution นั่นเอง

ในตัวอย่าง ผมจะใช้ AWS CLI Profile ชื่อ

จากนั้นเปิด Command Line โดยจะใช้ผ่าน IDE Tools หรือ Command Line โดยตรงก็ได้ครับ โดยในตัวอย่างผมจะใช้ Terminal บน MacOS ครับ

โดยให้เราเปิด Terminal แล้วเข้าไปที่โฟลเดอร์ SPIP ที่ได้สร้างไว้ในขั้นตอนก่อนหน้านี้

จากนั้น ใช้คำสั่ง q chat จาก path ที่เข้ามาจาก Terminal

จากนั้น Copy Prompt ที่ได้ดาวน์โหลด พร้อมระบุ AWS CLI profile มารันใน Amazon Q CLI จาก terminal ที่เปิดไว้เมื่อสักครู่นี้ได้เลยครับ โดยผมจะใช้ AWS CLI Profile “aws-q-cli” ในการให้ Amazon Q Developer เข้าไปดูรายละเอียดต่างๆ ซึ่งจะเป็น Permission แบบ ReadOnly ครับ ทั้งนี้ใน Prompt ที่ให้ download จะมีสั่งไม่ได้ Amazon Q Developer change configuration ใดๆ ไว้ด้วยครับ

เมื่อใช้ Prompt สั่งให้ Amazon Q Developer CLI ทำงานแล้ว ก็ปล่อยให้ทำงานไปจนเสร็จ ระหว่างนี้ จะมี Prompt ขึ้นมาถามบ้างในบางครั้งว่า อนุญาตให้ Amazon Q Developer access ไปยังไฟล์ในเครื่องเราหรือไม่ เช่นในกรณีนี้ Amazon Q จะขอ permission เข้าไปเขียนไฟล์ report .html ใน folder SPIP รวมถึงข้อมูลต่างๆ ที่เกี่ยวข้องในกระบวนการนี้ ลงไปในเครื่องของเรานั่นเอง โดยจะมี 3 ตัวเลือกได้แก่ t, y, n โดยแต่ละตัวย่อมาจาก
t = trust

y = yes

n = no

โดยใน production workload แนะนำให้เลือก y เท่านั้นนะครับ ซึ่งจะเป็นการอนุญาตให้เขียนไฟล์ลงในเครื่องเรานั่นเองครับ

เมื่อจากนั้นก็รอจนกว่า Amazon Q Developer จะทำงานเสร็จ

เมื่อขั้นตอนเสร็จสิ้น Amazon Q Developer จะเขียนสรุปผลมาให้ พร้อมระบุว่าไฟล์ report จะถูก save ไว้ในรูปแบบ html format นั่นเอง เท่านั้นก็สิ้นสุดการทำงานของ Amazon Q Developer แล้ว เราสามารถเข้าไปดูไฟล์ spip-report.html เพื่อดูผลรายงาน security ต่อได้เลยครับ

โดยใน SPIP Report จะมีการสรุปเนื้อหาโดยรวมเป็น Executive Summary ให้นะครับ ว่า Security Posture เรามีอะไรที่จะต้องปรับปรุงบ้าง ตาม 6 โดเมนใน template พร้อมให้คำแนะนำ action ที่ควรไปทำเพิ่ม พร้อมสรุปเป็น Overall score ให้ด้วย

ในส่วนของ Security Posture Overview จะบอกภาพรวมว่าระดับความเสี่ยงของ Securite ใน AWS Account เรามีความเสี่ยงในระดับไหนบ้าง ตั้งแต่ Low ที่เป็นต่ำสุด ไปจนถึง Critical ที่มีความเสี่ยงสูงสุด ซึ่งก็แนะนำว่า ตั้งแต่ระดับ Medium, High และ Critical ก็ควรจะดำเนินการแก้ไขทั้งหมดนะครับ โดยเริ่มจาก Critical ก่อน แล้วไล่ระดับต่ำลงมาในลำดับถัดไปนั่นเองครับ

ในส่วนของ Detailed Security Assessment จะสามารถเข้าไปดูรายละเอียดเพิ่มเติมแต่ละโดเมนได้ว่าเราจะต้องปรับปรุงแก้ไขในส่วนไหนบ้างนั่นเองครับ ซึ่งจะมีคำแนะนำคอยบอกอยู่ในแต่ละโดเมนย่อยๆ เราต้องแก้ไข อย่างไรบ้าง นั่นเองครับ

ในส่วนสุดท้าย จะมีคำแนะนำตัวอย่าง Implementation Roadmap เป็น guideline ให้ด้วย ทั้งนี้การดำเนินการขึ้นอยู่กับ policy และบริบทของแต่ละองค์กรในการนำไปปรับใช้งานนะครับ ส่วนนี้จะเป็นตัวอย่างให้เห็นภาพในการวาง roadmap ในการ improve security นั่นเองครับ

สุดท้ายนี้ ทีมงานหวังว่าบทความนี้จะช่วยให้คุณสามารถประเมินความปลอดภัยของระบบบน AWS ได้ง่ายและรวดเร็วขึ้น โดยไม่ต้องติดตั้ง Agent ใดๆ เพิ่มเติม เพียงไม่กี่นาทีคุณก็จะได้รายงานสรุปด้าน Security ที่ครอบคลุม พร้อมคำแนะนำที่จะช่วยพัฒนาระบบของคุณให้แข็งแกร่งยิ่งขึ้น

หวังว่าจะได้เห็นทุกองค์กรใช้ประโยชน์จาก Amazon Q Developer ในการยกระดับความปลอดภัยของระบบกันนะครับ