การอ่านใบเสร็จของ AWS

การใช้ AWS Security สำหรับนักพัฒนา

Rahul Singh

Technical Product Manager

สิ่งที่บันทึกหนึ่งรายการมี

CloudTrail: หนึ่งการเรียก API หนึ่งบันทึก

  1. เรียกอะไร: eventName
  2. เมื่อไร (เวลา UTC): eventTime
  3. ใครเป็นผู้เรียก: userIdentity
  4. บนทรัพยากรใด: requestParameters

การ์ดบันทึกที่แสดงฟิลด์ 5 รายการพร้อมหมายเลขกำกับ แต่ละรายการมีตัวอย่างค่ากำกับไว้ ได้แก่ eventName, eventTime, userIdentity, requestParameters และ errorCode เครื่องหมายที่ห้าเป็นสีส้มและมีค่าเป็น AccessDenied

การใช้ AWS Security สำหรับนักพัฒนา

สิ่งที่บันทึกหนึ่งรายการมี

CloudTrail: หนึ่งการเรียก API หนึ่งบันทึก

  1. เรียกอะไร: eventName
  2. เมื่อไร (เวลา UTC): eventTime
  3. ใครเป็นผู้เรียก: userIdentity
  4. บนทรัพยากรใด: requestParameters
  5. ถูกปฏิเสธหรือไม่ และเพราะอะไร: errorCode

การ์ดบันทึกที่แสดงฟิลด์ 5 รายการพร้อมหมายเลขกำกับ แต่ละรายการมีตัวอย่างค่ากำกับไว้ ได้แก่ eventName, eventTime, userIdentity, requestParameters และ errorCode เครื่องหมายที่ห้าเป็นสีส้มและมีค่าเป็น AccessDenied

การใช้ AWS Security สำหรับนักพัฒนา

บันทึกระบุ Principal

สองฟิลด์ หนึ่งตัวตน

  • Session: ผู้เรียก อยู่ในฟิลด์ arn ที่ขึ้นต้นด้วย arn:aws:sts:
  • Role: สิทธิ์ของผู้เรียก อยู่ในฟิลด์ sessionIssuer ที่ขึ้นต้นด้วย arn:aws:iam:

โซนซ้อนกันสองโซน โซนบนมีหัวข้อ Principal แสดง ARN ของเซสชัน assumed-role/ReportsRole/deploy-42 พร้อมลูกศรชี้ลงไปยัง ARN ของบทบาท role/ReportsRole ที่ออกให้ ทั้งสองเส้นเป็นเส้นทึบ โซนล่างมีหัวข้อ Actor แสดงกล่องเส้นประสามกล่องสำหรับ session name, sourceIPAddress และ userAgent ทั้งหมดชี้ลงไปยังกล่องเส้นประที่เขียนว่า Inferred

การใช้ AWS Security สำหรับนักพัฒนา

บันทึกระบุ Principal

สองฟิลด์ หนึ่งตัวตน

  • Session: ผู้เรียก อยู่ในฟิลด์ arn ที่ขึ้นต้นด้วย arn:aws:sts:
  • Role: สิทธิ์ของผู้เรียก อยู่ในฟิลด์ sessionIssuer ที่ขึ้นต้นด้วย arn:aws:iam:

Actor ไม่ใช่ฟิลด์

  • อนุมานได้จาก: session name, sourceIPAddress

โซนซ้อนกันสองโซน โซนบนมีหัวข้อ Principal แสดง ARN ของเซสชัน assumed-role/ReportsRole/deploy-42 พร้อมลูกศรชี้ลงไปยัง ARN ของบทบาท role/ReportsRole ที่ออกให้ ทั้งสองเส้นเป็นเส้นทึบ โซนล่างมีหัวข้อ Actor แสดงกล่องเส้นประสามกล่องสำหรับ session name, sourceIPAddress และ userAgent ทั้งหมดชี้ลงไปยังกล่องเส้นประที่เขียนว่า Inferred

การใช้ AWS Security สำหรับนักพัฒนา

เก็บแค่สี่ฟิลด์ ไม่ใช่สี่สิบ

สี่สิบฟิลด์ ที่สำคัญมีแค่สี่

  • Actor: ผู้ที่เป็นต้นเหตุ
  • Principal: ตัวตนที่ AWS ตรวจสอบ
  • Action: สิ่งที่ถูกเรียก
  • Resource: สิ่งที่ถูกเข้าถึง

บันทึกเหตุการณ์ที่มีแถบฟิลด์สีเทาจำนวนมาก โดยมีสี่แถบถูกเน้นด้วยสีฟ้า พร้อมลูกศรชี้ลงไปยังการ์ดขนาดกะทัดรัดที่มีสี่บรรทัดกำกับหมายเลข ได้แก่ actor, principal, action และ resource

การใช้ AWS Security สำหรับนักพัฒนา

เก็บแค่สี่ฟิลด์ ไม่ใช่สี่สิบ

สี่สิบฟิลด์ ที่สำคัญมีแค่สี่

  • Actor: ผู้ที่เป็นต้นเหตุ
  • Principal: ตัวตนที่ AWS ตรวจสอบ
  • Action: สิ่งที่ถูกเรียก
  • Resource: สิ่งที่ถูกเข้าถึง

ที่มาของแต่ละฟิลด์

  • Action มาจาก eventName, resource มาจาก requestParameters
  • Principal มาจาก userIdentity, ส่วน actor ได้จากการอนุมาน

บันทึกเหตุการณ์ที่มีแถบฟิลด์สีเทาจำนวนมาก โดยมีสี่แถบถูกเน้นด้วยสีฟ้า พร้อมลูกศรชี้ลงไปยังการ์ดขนาดกะทัดรัดที่มีสี่บรรทัดกำกับหมายเลข ได้แก่ actor, principal, action และ resource

การใช้ AWS Security สำหรับนักพัฒนา

เปิดหรือปิดโดยค่าเริ่มต้น

Management events

  • การเรียกใช้งานระดับ control plane
  • รวมการเรียก KMS ทุกรายการ ดังนั้น Decrypt จะอยู่ในกลุ่มนี้
  • Event history: มุมมองคอนโซลฟรี 90 วัน

 

กล่องแสดงชื่อการเรียกระดับ control plane สามรายการ พร้อมลูกศรทึบชี้ไปยังกล่องที่เขียนว่า Recorded by default

 

การใช้ AWS Security สำหรับนักพัฒนา

เปิดหรือปิดโดยค่าเริ่มต้น

Management events

  • การเรียกใช้งานระดับ control plane
  • รวมการเรียก KMS ทุกรายการ ดังนั้น Decrypt จะอยู่ในกลุ่มนี้
  • Event history: มุมมองคอนโซลฟรี 90 วัน

Data events

  • การอ่านอ็อบเจกต์ การเรียกใช้ฟังก์ชัน การเขียนรายการ
  • Trail: ส่งข้อมูลต่อเนื่อง คิดค่าใช้จ่ายแยกต่างหาก
  • selector ระบุประเภททรัพยากร และระบุว่าจะบันทึกการอ่าน การเขียน หรือทั้งสองอย่าง

กล่องแสดงชื่อการเรียกระดับ control plane สามรายการ พร้อมลูกศรทึบชี้ไปยังกล่องที่เขียนว่า Recorded by default

กล่องแสดงชื่อการเรียกระดับ data plane สามรายการ พร้อมลูกศรเส้นประชี้ไปยังกล่องเส้นประที่เขียนว่า Not recorded until you ask

การใช้ AWS Security สำหรับนักพัฒนา

ไม่มีใครบันทึกสิ่งนั้นไว้

ไทม์ไลน์ที่มีสามจุด ได้แก่ การเลือกสิ่งที่จะบันทึก การดาวน์โหลดไฟล์ และการเปิด CloudTrail เส้นประลากจากจุดแรกไปยังจุดสุดท้าย ซึ่งแยกออกเป็นกล่อง event found และกล่อง nothing there

ตัดสินใจไว้ก่อน อ่านทีหลัง

การใช้ AWS Security สำหรับนักพัฒนา

ไม่มีใครบันทึกสิ่งนั้นไว้

ไทม์ไลน์ที่มีสามจุด ได้แก่ การเลือกสิ่งที่จะบันทึก การดาวน์โหลดไฟล์ และการเปิด CloudTrail เส้นประลากจากจุดแรกไปยังจุดสุดท้าย ซึ่งแยกออกเป็นกล่อง event found และกล่อง nothing there

ตัดสินใจไว้ก่อน อ่านทีหลัง

  • เปิด data events สำหรับข้อมูลลูกค้า
  • ปิดสำหรับส่วนที่เหลือ
การใช้ AWS Security สำหรับนักพัฒนา

หลักฐานที่ชี้ไปข้างหน้า

IAM Access Analyzer

  • Policy validation: ตรวจสอบ policy ที่เขียนไว้

สามขั้นตอนซ้อนกัน กล่องเหตุการณ์แสดงบทบาทที่ใช้ ได้แก่ GetObject, ListBucket และ Decrypt ไหลเข้าสู่ IAM Access Analyzer แล้วไหลต่อไปยัง policy ที่สร้างขึ้นซึ่งมี IAM actions แบบมีเนมสเปซ ได้แก่ s3:GetObject, s3:ListBucket และ kms:Decrypt

การใช้ AWS Security สำหรับนักพัฒนา

หลักฐานที่ชี้ไปข้างหน้า

IAM Access Analyzer

  • Policy validation: ตรวจสอบ policy ที่เขียนไว้
  • Policy generation: ใช้ข้อมูลจาก trail ย้อนหลังได้สูงสุด 90 วัน
  • ต้องมี trail ไม่ใช่แค่ Event history

สามขั้นตอนซ้อนกัน กล่องเหตุการณ์แสดงบทบาทที่ใช้ ได้แก่ GetObject, ListBucket และ Decrypt ไหลเข้าสู่ IAM Access Analyzer แล้วไหลต่อไปยัง policy ที่สร้างขึ้นซึ่งมี IAM actions แบบมีเนมสเปซ ได้แก่ s3:GetObject, s3:ListBucket และ kms:Decrypt

การใช้ AWS Security สำหรับนักพัฒนา

ได้รับสิทธิ์ แต่ไม่เคยใช้

แถบสองแถบ แถบบนแสดง action ที่ได้รับอนุญาต 42 รายการ แถบล่างแบ่งเป็นส่วนสีเขียวแคบๆ 3 action และส่วนเส้นประกว้างอีก 39 action ที่ไม่ได้ใช้งาน

Unused access findings

  • role, key และ action ที่ไม่เคยถูกเรียกใช้
การใช้ AWS Security สำหรับนักพัฒนา

ได้รับสิทธิ์ แต่ไม่เคยใช้

แถบสองแถบ แถบบนแสดง action ที่ได้รับอนุญาต 42 รายการ แถบล่างแบ่งเป็นส่วนสีเขียวแคบๆ 3 action และส่วนเส้นประกว้างอีก 39 action ที่ไม่ได้ใช้งาน

Unused access findings

  • role, key และ action ที่ไม่เคยถูกเรียกใช้

ใช้งานแล้ว ไม่ได้แปลว่าจำเป็น

การใช้ AWS Security สำหรับนักพัฒนา

ได้รับสิทธิ์ แต่ไม่เคยใช้

แถบสองแถบ แถบบนแสดง action ที่ได้รับอนุญาต 42 รายการ แถบล่างแบ่งเป็นส่วนสีเขียวแคบๆ 3 action และส่วนเส้นประกว้างอีก 39 action ที่ไม่ได้ใช้งาน

Unused access findings

  • role, key และ action ที่ไม่เคยถูกเรียกใช้

ใช้งานแล้ว ไม่ได้แปลว่าจำเป็น

Least privilege ที่วัดผลได้

  • ป้อนหลักฐานเข้า ได้ policy ที่รัดกุมขึ้นออกมา
การใช้ AWS Security สำหรับนักพัฒนา

มาฝึกกันเถอะ!

การใช้ AWS Security สำหรับนักพัฒนา

Preparing Video For Download...