จำกัดการเข้าถึง cloud storage จาก IP address ด้วย VPC Service Control

    องค์กรที่มีการใช้งาน public cloud นั้น เพราะเห็นข้อดีหลายๆ อย่างของ cloud ทั้งความยืดหยุ่นในการใช้ทรัพยากร การคิดค่าใช้จ่ายตามการใช้งานจริง และไม่ต้องปวดหัวจัดการเรื่องโครงสร้างพื้นฐานเองทั้งหมด

    ในแง่ของความปลอดภัยนั้น การเข้าถึงทรัพยากรต่างๆ บน public cloud จะต้องเข้าถึงด้วยสิทธิ์ที่อนุญาตไว้ด้วย Identity Access Management (IAM) ดังนั้น ความปลอดภัยของข้อมูล จะถูกกำหนดจากการตั้งค่า IAM เป็นพื้นฐาน

IAM ใช้ในการกำหนดสิทธิ์ว่าใครสามารถเข้าถึง resource อะไรได้บ้าง


    ด้วยความเป็น public cloud ที่สามารถเข้าถึงได้จากที่ไหนก็ได้ องค์กรขนาดใหญ่หลายที่จึงมีข้อกำหนดการใช้งานเพิ่มเติม โดยต้องการจำกัดการเข้าถึงทรัพยากรบน cloud จาก network ขององค์กรเท่านั้น นั่นคือ นอกจากจะได้สิทธิ์บน IAM แล้ว การเข้าใช้งานต้องมาจาก IP address ที่กำหนดไว้ล่วงหน้าด้วย ซึ่งเป็นเงื่อนไขที่ช่วยเพิ่มความปลอดภัยอีกชั้น กรณีที่ผู้ไม่หวังดี สามารถเข้าถึง account ที่ได้สิทธิ์ ก็จำเป็นต้องหาทางเข้าถึง network ขององค์กรด้วย เป็นการป้องกันอีกชั้นหนึ่ง

ตัวอย่างการควบคุมการเข้าถึง VM ด้วย firewall


    
หากเป็น 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

ไปที่ Security > Access Context Manager หรือ ACM
เนื่องจาก ACM ต้องตั้งค่าที่ระดับ org ให้สลับจาก projct ไปที่ org ก่อน และกดที่ NEW
ตั้งชื่อของ Access level และเลือกใส่เงื่อนไขที่ต้องการ โดย IP address เป็นหนึ่งในเงื่อนไขที่เราตั้งได้
ลองมาส่องดูเงื่อนไขอื่นๆ มีให้เลือก regions ตามประเทศได้ด้วย scope ก็จะกว้างกว่าระบุ IP address
สามารถกำหนดเงื่อนไขของ endpoint ที่จะเข้าถึงได้ด้วย ว่าต้องมี polices อะไรบ้าง เช่นระบุ version ขึ้นต่ำของ OS เป็นต้น
โดยสรุป จากตัวอย่างเราจำกำหนดเงื่อนไขเดียวคือระบุ IP address นะคับ เสร็จแล้วกด SAVE
ได้ ACM มาเรียบร้อย ไปตั้งค่ากันต่อที่ VPC Service Control
ไปที่เมนูข้างๆ กันเลย คือ Security > VPC Service Controls
กด +NEW PERIMETER
ที่หน้า wizard ในการตั้ง VPC Service Perimeter ไล่กดไปตามข้อได้เลย เริ่มจากการตั้งชื่อ perimeter กันก่อน
มาต่อที่การเลือก project ที่ต้องการคุมการเข้าถึง
ใครมี project เยอะ ไม่ต้องรูดหานะคับ พิมพ์เอาเร็วกว่า เสร็จแล้วกด ADD
มาต่อกันที่ service ที่ต้องการจำกัดการเข้าถึง
service มันเยอะมาก ไม่ควรรูดหา ใช้พิมพ์เอาเร็วกว่า ในที่นี้เลือกให้ดู 2 service คือ Cloud Storage กับ Vision API
ข้ามมาข้อสุดท้าย ที่ Acces Levels ก็เลือกจากที่เราเตรียมไว้ในเมนู Access Context Manager เสร็จแล้วกด CREATE PERIMETER
หน้าสรุปรายละเอียดของ perimeter ที่เราเพิ่งสร้างเสร็จ


หลังจากตั้งค่า VPC Service Controls เรียบร้อยแล้ว หากมีการเข้าถึง service บน project ที่กำหนดไว้ จาก IP address นอก range ที่อนุญาต ผู้ใช้ก็จะไม่สามารถเข้าถึงได้ แม้ว่าจะได้สิทธิ์บน IAM ก็ตาม หากเข้าถึงจากหน้า browser ก็จะเจอกับ error ตามภาพด้านล่าง


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



ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

การเรียกใช้งาน Google Apps Script

ลดเวลาการเรียก API ใน Apps Script ด้วย fecthAll

ออกแบบระบบให้คุยข้าม module กันได้ ด้วย Pub/Sub