บทแนะนำเบื้องต้นสำหรับการควบคุมบริการ VPC 1

1. บทนำ

การควบคุมบริการ VPC (VPC-SC) คือการควบคุมความปลอดภัยระดับองค์กรใน Google Cloud ที่ช่วยให้ลูกค้าองค์กรสามารถลดความเสี่ยงในการขโมยข้อมูล การควบคุมบริการ VPC มอบการเข้าถึงบริการแบบ Zero Trust ในรูปแบบ Zero Trust โดยการเปิดโอกาสให้ไคลเอ็นต์จำกัดการเข้าถึง IP, บริบทของไคลเอ็นต์ และพารามิเตอร์อุปกรณ์ที่ได้รับอนุญาต ขณะที่เชื่อมต่อกับบริการแบบกลุ่มผู้ใช้จำนวนมากจากอินเทอร์เน็ตและบริการอื่นๆ เพื่อลดการสูญเสียทั้งโดยตั้งใจและไม่ได้ตั้งใจ คุณสามารถใช้การควบคุมบริการ VPC เพื่อสร้างขอบเขตที่ปกป้องทรัพยากรและข้อมูลของบริการที่คุณระบุอย่างชัดเจนได้

เป้าหมายของบทแนะนำนี้คือ

  • ทำความเข้าใจพื้นฐานของการควบคุมบริการ VPC
  • สร้างขอบเขตบริการ VPC
  • ปกป้องโปรเจ็กต์ด้วยการควบคุมบริการ VPC
  • แก้ปัญหาการละเมิดข้อมูลขาเข้าของการควบคุมบริการ VPC

2. การตั้งค่าและข้อกำหนด

สำหรับบทแนะนำนี้ เราจำเป็นต้องมีข้อกำหนดล่วงหน้าต่อไปนี้

  • องค์กร GCP
  • โฟลเดอร์ภายใต้องค์กร
  • โปรเจ็กต์ GCP 2 รายการภายในองค์กรเดียวกันซึ่งอยู่ภายใต้โฟลเดอร์
  • สิทธิ์ที่จำเป็นในระดับองค์กร
  • บัญชีสำหรับการเรียกเก็บเงินของทั้ง 2 โปรเจ็กต์

1a62ebea85d6d4fc.png

การตั้งค่าทรัพยากร

  1. ใน Google Cloud Console ให้สร้างโฟลเดอร์ในส่วนองค์กร และโปรเจ็กต์ใหม่ 2 โปรเจ็กต์ (คุณนำโปรเจ็กต์ที่มีอยู่กลับมาใช้ใหม่ได้)

(หากยังไม่มีบัญชี Google Workspace/Cloud Identity คุณจะต้องสร้างบัญชีใหม่ เนื่องจากคุณจะต้องมีองค์กรสำหรับบทแนะนำนี้)

  1. ตรวจสอบว่าคุณมีสิทธิ์ที่ถูกต้องสำหรับบทแนะนำนี้ในระดับองค์กร
  1. ตรวจสอบว่าทั้ง 2 โปรเจ็กต์อยู่ภายใต้โฟลเดอร์เนื่องจากเราต้องสร้างนโยบายที่กำหนดขอบเขตในระดับโฟลเดอร์ ดูข้อมูลเกี่ยวกับการย้ายโปรเจ็กต์ไปยังโฟลเดอร์

f7c75ab82028cb15.png

ค่าใช้จ่าย

คุณต้องเปิดใช้การเรียกเก็บเงินใน Cloud Console เพื่อใช้ทรัพยากร/API ของระบบคลาวด์ การใช้งาน Codelab นี้จะไม่มีค่าใช้จ่ายใดๆ หากมี หากต้องการปิดทรัพยากรเพื่อหลีกเลี่ยงการเรียกเก็บเงินที่นอกเหนือจากบทแนะนำนี้ คุณสามารถลบทรัพยากรที่คุณสร้างหรือลบโปรเจ็กต์ได้ ผู้ใช้ Google Cloud ใหม่มีสิทธิ์เข้าร่วมโปรแกรมช่วงทดลองใช้ฟรีมูลค่า $300 USD

ทรัพยากรเดียวที่จะทำให้มีค่าใช้จ่ายคืออินสแตนซ์ VM คุณดูค่าใช้จ่ายโดยประมาณได้ในเครื่องคำนวณราคา

3. สร้างขอบเขต

ในห้องทดลองนี้ เราจะดําเนินการตามขั้นตอนต่อไปนี้

  1. ใน Google Console ให้เลือกองค์กรของคุณและ เข้าถึงการควบคุมบริการ VPC โปรดตรวจสอบว่าคุณอยู่ในระดับองค์กร

43d5af2d5f084bb4.png

  1. คลิก "จัดการนโยบาย" เพื่อสร้างนโยบายการเข้าถึงใหม่ที่กำหนดขอบเขตไว้เป็น "Codelab" โฟลเดอร์

9f75d949ca9992c4.png

  1. สร้างขอบเขตใหม่ในโหมดบังคับใช้ ตั้งชื่อว่า "SuperProtection" สำหรับบทแนะนำนี้
  • เมื่อสร้างขอบเขต ให้เลือกโปรเจ็กต์ที่จะบังคับใช้เป็น Project Z
  • เลือกประเภทขอบเขตเป็น "ปกติ"
  • ในกล่องโต้ตอบระบุบริการเพื่อจำกัด ให้เลือกบริการที่จะจำกัดเป็น "Compute Engine"

การตั้งค่าขอบเขตควรมีลักษณะดังนี้

914d603103cb21.png

4. ตรวจสอบว่าบังคับใช้ขอบเขตแล้ว

  1. เข้าถึง ProjectX และยืนยันว่าคุณสามารถเข้าถึง Compute Engine API ได้โดยไปที่หน้าแรกของอินสแตนซ์ VM คุณควรทำได้เนื่องจาก Project X ไม่ได้รับการปกป้องโดยขอบเขต VPC SC ที่สร้างขึ้น
  2. เข้าถึง ProjectZ และยืนยันว่าคุณสามารถเข้าถึง Compute Engine ได้หรือไม่ คุณจะเห็นได้ว่าการควบคุมบริการ VPC ไม่อนุญาตคําขอดังกล่าวเนื่องจาก SuperProtection ของขอบเขตบริการปกป้อง ProjectZ และ Compute Engine API

d5073543f783e9c7.png

5. การแก้ปัญหาการปฏิเสธ

ก่อนอื่นเราต้องระบุว่าปัญหาคืออะไร เพื่อกำหนดวิธีแก้ปัญหา

  1. บันทึกการควบคุมบริการ VPC ประกอบด้วยรายละเอียดเกี่ยวกับคำขอไปยังทรัพยากรที่มีการป้องกันและเหตุผลที่การควบคุมบริการ VPC ปฏิเสธคำขอ หารหัสที่ไม่ซ้ำกันสำหรับการควบคุมบริการ VPC ในบันทึกการตรวจสอบของ ProjectZ โดยใช้การค้นหาต่อไปนี้ใน Logging Explorer
resource.type="audited_resource"
protoPayload.metadata."@type"="type.googleapis.com/google.cloud.audit.VpcServiceControlAuditMetadata"

ซึ่งจะแสดงบันทึกการตรวจสอบการควบคุมบริการ VPC ทั้งหมด เราจะมองหาบันทึกข้อผิดพลาดรายการสุดท้าย

  1. คลิกส่วนหัว VPC Service Controls แล้วเลือก "แก้ปัญหาการปฏิเสธ" ซึ่งจะเปิดเครื่องมือแก้ปัญหาการควบคุมบริการ VPC

API นี้จะแสดงเหตุผลการละเมิดใน UI ที่ใช้งานง่าย และแจ้งว่าเป็นการละเมิดขาเข้าหรือขาออกหรือไม่ รวมถึงสิ่งอื่นๆ ที่มีประโยชน์

ในแบบฝึกหัดนี้ เราจะมองหาข้อมูลต่อไปนี้

"principalEmail": "user@domain"
"callerIp": "PUBLIC_IP_ADDRESS"
"serviceName": "compute.googleapis.com"
"servicePerimeterName":
"accessPolicies/[POLICY_NUMBER]/servicePerimeters/SuperProtection
"ingressViolations": [
        {
"targetResource": "projects/[PROJECT_NUMBER]",
"servicePerimeter": "accessPolicies/[POLICY_NUMBER]/servicePerimeters/SuperProtection"
        }
      ],
"violationReason": "NO_MATCHING_ACCESS_LEVEL",
"resourceNames": "[PROJECT_ID]"

เรามี 2 ตัวเลือกในการแก้ไขการปฏิเสธนี้ใน Project Z

  • สร้างระดับการเข้าถึงเพื่ออนุญาตการเข้าถึงโปรเจ็กต์ภายในขอบเขตโดยการให้สิทธิ์เข้าถึง IP ของระบบ
  • การสร้างกฎขาเข้าเพื่ออนุญาตการเข้าถึงโดยไคลเอ็นต์ API จากภายนอกขอบเขตบริการไปยังทรัพยากรภายในขอบเขตบริการ

ในบทแนะนำนี้ เราจะแก้ปัญหาด้วยการสร้างระดับการเข้าถึง

  1. ไปที่เครื่องมือจัดการสิทธิ์เข้าถึงตามบริบทที่ขอบเขตของโฟลเดอร์ (Codelab) แล้วสร้างระดับการเข้าถึงใหม่
  2. ใช้ "โหมดพื้นฐาน" และเราจะอนุญาตให้เข้าถึงได้เมื่อมีเครือข่ายย่อยของ IP และตำแหน่งทางภูมิศาสตร์

678f0f9d7bac921d.png

  1. ไปที่การควบคุมบริการ VPC ที่ขอบเขตองค์กร เลือกนโยบายการเข้าถึงสำหรับ Codelab นี้และแก้ไขขอบเขตที่เราสร้างไว้ก่อนหน้านี้
  2. เพิ่มระดับการเข้าถึงที่สร้างในขอบเขตของโฟลเดอร์แล้วบันทึก

c0af5691dfe9dd75.png

6. ผลการทดสอบ

ยืนยันว่าเรามีสิทธิ์เข้าถึง Compute Engine และสร้างอินสแตนซ์ VM ได้ ในตอนนี้เราได้สร้างระดับการเข้าถึงแล้ว เราจะมาลองเข้าถึง Compute Engine ใน ProjectZ และสร้างอินสแตนซ์ VM กัน

  1. ไปที่ Compute Engine แล้วคลิกสร้างอินสแตนซ์

c1206aaf18497ec1.png

  1. ปล่อยทุกอย่างไว้เป็นค่าเริ่มต้น แล้วลองสร้างอินสแตนซ์ VM ที่มีต้นทุนต่ำ

หลังจากผ่านไปประมาณ 1 นาที คุณควรเห็นอินสแตนซ์ VM สร้างขึ้นและยืนยันได้ว่าคุณมีสิทธิ์เข้าถึง Compute Engine ที่มีการป้องกันภายในขอบเขตโดยสมบูรณ์ได้

5b2ded02f669b2ef.png

7. ล้างข้อมูล

แม้ว่าจะไม่มีการเรียกเก็บเงินแยกต่างหากสำหรับการใช้การควบคุมบริการ VPC เมื่อไม่ได้ใช้งานบริการ แต่แนวทางปฏิบัติแนะนำคือล้างการตั้งค่าที่ใช้ในห้องทดลองนี้ นอกจากนี้ คุณยังลบอินสแตนซ์ VM และ/หรือโปรเจ็กต์ที่อยู่ในระบบคลาวด์เพื่อหลีกเลี่ยงการเรียกเก็บเงินได้ด้วย การลบโปรเจ็กต์ที่อยู่ในระบบคลาวด์จะหยุดการเรียกเก็บเงินสำหรับทรัพยากรทั้งหมดที่ใช้ในโปรเจ็กต์นั้น

  1. หากต้องการลบอินสแตนซ์ VM ให้เลือกช่องทำเครื่องหมายทางด้านซ้ายของชื่ออินสแตนซ์ VM แล้วคลิกลบ

da0abf0894fe03cd.png

  1. หากต้องการลบขอบเขต ให้ทำตามขั้นตอนต่อไปนี้
  • ในคอนโซล Google Cloud ให้คลิกความปลอดภัย แล้วคลิกการควบคุมบริการ VPC ที่ขอบเขตขององค์กร
  • ในหน้าการควบคุมบริการ VPC ให้คลิก "ลบไอคอน" ในแถวของตารางที่ตรงกับขอบเขตที่ต้องการลบ
  1. หากต้องการลบระดับการเข้าถึง ให้ทำตามขั้นตอนต่อไปนี้
  1. หากต้องการปิดโปรเจ็กต์ ให้ทำตามขั้นตอนต่อไปนี้
  • ในคอนโซล Google Cloud ให้ไปที่ IAM & การตั้งค่าผู้ดูแลระบบของโปรเจ็กต์ที่ต้องการลบ
  • เกี่ยวกับ IAM และ คลิก ปิดการทำงาน ในหน้าการตั้งค่าของผู้ดูแลระบบ
  • ป้อนรหัสโปรเจ็กต์ แล้วคลิกปิดเครื่อง

8. ยินดีด้วย

ใน Codelab นี้ คุณได้สร้างขอบเขตการควบคุมบริการ VPC บังคับใช้ และแก้ปัญหาแล้ว

ดูข้อมูลเพิ่มเติม

ใบอนุญาต

ผลงานนี้ได้รับอนุญาตภายใต้ใบอนุญาตทั่วไปครีเอทีฟคอมมอนส์แบบระบุแหล่งที่มา 2.0