[Cross-posted on blog.niwpopkorn.com]
องค์กรที่มีการใช้งาน public cloud นั้น เพราะเห็นข้อดีหลายๆ อย่างของ cloud ทั้งความยืดหยุ่นในการใช้ทรัพยากร การคิดค่าใช้จ่ายตามการใช้งานจริง และไม่ต้องปวดหัวจัดการเรื่องโครงสร้างพื้นฐานเองทั้งหมด
ในแง่ของความปลอดภัยนั้น การเข้าถึงทรัพยากรต่างๆ บน public cloud จะต้องเข้าถึงด้วยสิทธิ์ที่อนุญาตไว้ด้วย Identity Access Management (IAM) ดังนั้น ความปลอดภัยของข้อมูล จะถูกกำหนดจากการตั้งค่า IAM เป็นพื้นฐาน
ด้วยความเป็น public cloud ที่สามารถเข้าถึงได้จากที่ไหนก็ได้ องค์กรขนาดใหญ่หลายที่จึงมีข้อกำหนดการใช้งานเพิ่มเติม โดยต้องการจำกัดการเข้าถึงทรัพยากรบน cloud จาก network ขององค์กรเท่านั้น นั่นคือ นอกจากจะได้สิทธิ์บน IAM แล้ว การเข้าใช้งานต้องมาจาก IP address ที่กำหนดไว้ล่วงหน้าด้วย ซึ่งเป็นเงื่อนไขที่ช่วยเพิ่มความปลอดภัยอีกชั้น กรณีที่ผู้ไม่หวังดี สามารถเข้าถึง account ที่ได้สิทธิ์ ก็จำเป็นต้องหาทางเข้าถึง network ขององค์กรด้วย เป็นการป้องกันอีกชั้นหนึ่ง
หากเป็น service ในกลุ่ม Infrastructure ที่เป็นเครื่อง Virtual Machine (VM) เราสามารถตั้ง firewall เพื่อระบุ IP address ที่สามารถเข้าถึง VM ได้ แต่หาก service ที่เราต้องการจำกัดการเข้าถึง เป็น managed service ที่พร้อมใช้งาน ที่ไม่สามารถนำไปผูกกับ firewall ได้ เราจะใช้ VPC Service Control มาช่วยทำหน้าที่นี้แทน โดยรายชื่อ service ของ GCP ที่นำมาใช้ร่วมกับ VPC Service Control สามารถตรวจสอบได้จาก link นี้คับ หนึ่งในนั้นจะมี Cloud Storage อยู่ด้วย
ลองใช้งาน VPC Service Control
เรามาดูการตั้งค่า VPC Service Control และการทำงานของมันกันครับ
![]() |
เริ่มกันที่ service ที่เราต้องการป้องกันการเข้าถึง ในที่นี้เป็น Cloud Storage บน project ชื่อ niw-google-dev |
![]() |
ตั้งชื่อของ Access level และเลือกใส่เงื่อนไขที่ต้องการ โดย IP address เป็นหนึ่งในเงื่อนไขที่เราตั้งได้ |
![]() |
สามารถกำหนดเงื่อนไขของ endpoint ที่จะเข้าถึงได้ด้วย ว่าต้องมี polices อะไรบ้าง เช่นระบุ version ขึ้นต่ำของ OS เป็นต้น |
![]() |
ที่หน้า wizard ในการตั้ง VPC Service Perimeter ไล่กดไปตามข้อได้เลย เริ่มจากการตั้งชื่อ perimeter กันก่อน |
![]() |
service มันเยอะมาก ไม่ควรรูดหา ใช้พิมพ์เอาเร็วกว่า ในที่นี้เลือกให้ดู 2 service คือ Cloud Storage กับ Vision API |
![]() |
ข้ามมาข้อสุดท้าย ที่ Acces Levels ก็เลือกจากที่เราเตรียมไว้ในเมนู Access Context Manager เสร็จแล้วกด CREATE PERIMETER |
หลังจากตั้งค่า VPC Service Controls เรียบร้อยแล้ว หากมีการเข้าถึง service บน project ที่กำหนดไว้ จาก IP address นอก range ที่อนุญาต ผู้ใช้ก็จะไม่สามารถเข้าถึงได้ แม้ว่าจะได้สิทธิ์บน IAM ก็ตาม หากเข้าถึงจากหน้า browser ก็จะเจอกับ error ตามภาพด้านล่าง

สำหรับองค์กรที่มีการใช้ services บน GCP อยู่ และอยากเพิ่มความปลอดภัยในการเข้าถึง GCP services อีกชั้นหนึ่ง ก็สามารถนำ VPC Service Controls มาปรับใช้งานกันดูได้ครับ