Security เป็นเรื่องสำคัญพื้นฐานขององค์กรที่ต้องมีการกำกับดูแลให้เป็นไปตามนโยบายของแต่ละแห่ง รวมถึงต้องสอดคล้องกับ PDPA ในปัจจุบันด้วย เมื่อพูดถึงเรื่อง security แต่เดิมอาจฟังดูเหมือนเป็นเรื่องของ application หรือ infrastructure เพียงอย่างเดียว แต่ปัจจุบันนั้น data กลับมีค่าและสำคัญยิ่งกว่า จึงจำเป็นต้องมี security มากำกับดูแลไม่ต่างกัน
ดังนั้นเราต้องสามารถปรับใช้ security ของเราให้ครอบคลุมกับ data ซึ่งเป็นส่วนหนึ่งของธรรมาภิบาลข้อมูลหรือที่เราเรียกว่า Data Governance และวันนี้จะพาทุกท่านไปรู้จักกับการจำกัดสิทธิ์การเข้าถึง service บน Google Cloud ที่มีความเกี่ยวข้องกับ data เช่น BigQuery และ Cloud Storage กัน
การจำกัดสิทธิ์การเข้าถึงข้อมูลมีแบบไหนอย่างไรบ้าง?
ความจริงแล้วการจำกัดสิทธิ์การเข้าถึงของผู้ใช้ทำได้หลากหลายวิธี อาจจะเป็นการทำ data masking เพื่อให้ผู้ใช้เห็นข้อมูลไม่ครบทั้งหมดเหมือนตอนเลือกบัตรเครดิตที่จะชำระเงินหรือเลขบัตรประชาชนของเรา ที่มักแสดงเป็น * คั่นอยู่ตรงกลางโดยจะมีเครื่องมือที่เกี่ยวข้องอย่าง Cloud Data Loss Prevention หรือกำหนดสิทธิ์แต่ละ service โดยใช้ Cloud IAM หรือจะเป็นการจำกัดการเข้าถึงบาง column ที่มี sensitive data บน BigQuery ด้วย Data Catalog ซึ่งทางทีม Tangerine ได้เขียน blog ที่อธิบายอย่างละเอียดไว้แล้ว ท่านผู้อ่านสามารถติดตามได้ที่ blog ของเรา
ประเด็นมันอยู่ที่ว่าหากเราใช้ Cloud IAM ให้สิทธิ์ data analyst หรือ engineer ของเรา บน Cloud Storage หรือ BigQuery ด้วยสถานการณ์ตอนนี้จึงมีการ WFH ซึ่งใครก็สามารถ access จากที่ใดก็ได้และอาจทำให้เกิด Data Breach ได้ เพื่อเป็นการป้องกันเราจึงจำเป็นต้องจำกัดการเข้าถึงให้มีเพียง network ไม่กี่วงที่สามารถใช้ service ของเราได้เท่านั้น เช่น วง network ขององค์กรที่เราต้อง VPN เข้าไปก่อน หรือวง network ที่บ้านที่ต้องได้รับการอนุมัติให้เข้าถึงเท่านั้น ดังนั้นแค่ Cloud IAM อาจไม่เพียงพอที่จะควบคุมเรื่องของ network วันนี้เราจึงมาแนะนำอีกหนึ่ง service ให้รู้จักกัน นั่นคือ VPC Service Controls
VPC Service Controls คืออะไร?
VPC Service Control เป็น managed networking service บน Google Cloud ที่ช่วยอำนวยความสะดวกในการ control network ของแต่ละ service บน Google Cloud เช่น BigQuery, Data Catalog, Cloud SQL และอื่นๆ ซึ่งเราจะใช้ VPC Service Control ในการจำกัดวง IP, ประเทศ หรือ device ก็ได้
Ref: https://cloud.google.com/vpc-service-controls
มาเริ่มใช้ VPC Service Control บน GCP กันเลย!
เพื่อให้เราเข้าใจบทความนี้และเรียนรู้ได้เร็วขึ้น ง่ายที่สุดคือการดูวีดีโอทาง Google ได้ทำคลิปพาเราไปรู้จัก service นี้ได้ค่อนข้างดีเลย โดยใน use case นี้จะเป็นการจำกัดการเข้าถึง Cloud Storage
จากคลิปข้างต้นเราจะสังเกตว่า cloud storage ใน project ดังกล่าวจะไม่สามารถเข้าถึงได้ แม้แต่หน้า Console, Cloud SDK หรือ APIs แต่ยังไม่ได้พูดถึงการ allow whitelist ให้กับ network ดังนั้นในตัวอย่างต่อจากนี้ จะแสดง step ในการเพิ่มเรื่องของ network เข้าไป โดยลองเปลี่ยน service เป็น BigQuery กันบ้าง มาเริ่มกันเลย!
Step 1 ตรวจดู BigQuery Service ของเราก่อนทำ VPC Service Control ว่ายังเข้าได้ปกติหรือไม่
dataset ชุดนี้เป็น public dataset ซึ่งเป็นตัวอย่างข้อมูลของ airbnb จะสังเกตได้ว่าตอนนี้เราสามารถเข้าถึง service BigQuery ได้ทั้งผ่านหน้า console รวมถึงใช้ Cloud SDK ด้วย
Step 2 สร้าง Service Perimeter ใน VPC Service Controls
ไปเมนูทางซ้ายบนสุดของ Console > Security > VPC Service Controls
เลือก + NEW PERIMETER
ตั้งชื่อสำหรับ perimeter ตัวนี้
โดยตัวอย่างคือ restricted_bigquery จากนั้นกดไปที่ Projects ทางซ้ายมือ
เลือก Project ที่ต้องการ
Add BigQuery API เข้าไป
จากนั้น กด save ได้เลย
Step 3 ตรวจดูว่า Service Perimeter ของเราทำงานแล้ว
หลังจาก service perimeter ทำงาน เราจะพบว่าไม่สามารถใช้ BigQuery ผ่านหน้า Console หรือ Cloud SDK ได้เลย ถัดไปเราจะมาดูวิธีการ allow ให้แค่ network ของเราสามารถเข้าถึง BigQuery ได้
Step 4 สร้าง Access Level บน Access Context Manager เพื่อเป็น Whitelist
ไปเมนูทางซ้ายบนสุดของ Console > Security > Access Context Manager
สร้าง access level ใหม่
ใส่ชื่อ whitelist_access
และรายละเอียด IP ของเรา
หรือวง network ลงไป
ผลลัพธ์ของ access level
ที่สร้างเสร็จแล้ว
Step 5 ใช้ Access Level กับ Service Perimeter
ไปที่ Perimeter restricted_bigquery
แล้วกด Edit Perimeter
ไปที่ Access Level
เลือก whitelist_access
จากนั้น save เป็นอันเสร็จสิ้น
ขั้นตอนการ Allow Whitelist
Step 6 เช็คเพื่อความชัวร์อีกครั้งว่า network วงที่เรา allow ไว้สามารถใช้งานได้
เมื่อเราเข้าผ่าน IP ที่ allow ไว้ ก็สามารถใช้งาน BigQuery ได้ปกติ แต่ใครที่ไม่ได้ถูก allow ก็จะติด error เหมือน step 3
Conclusion
เป็นอย่างไรบ้างกับการควบคุมสิทธิ์ระดับ network แบบนี้ ไม่ยากเลยใช่ไหม เพราะเราสามารถกำหนดสิทธิ์ผ่าน GUI เพียงแค่คลิกๆ บน Google Cloud และไม่ใช่เพียงแค่ BigQuery เพียงเท่านั้น แต่ทุกๆ service เราสามารถใช้ step ข้างต้นปรับใช้ได้เช่นเดียวกัน ง่ายแล้วยังได้ในเรื่องของ security ในองค์กรอีกด้วย เพราะงั้นการ apply policy ของเราให้ตรงตามหลัก Data Governance ก็ไม่ใช่เรื่องยากอีกต่อไป
สำหรับใครที่สนใจในเรื่องของ Google Cloud Platform หรือ Service อื่นๆ
ด้าน Data Analytics, AI/Machine Learning อาทิ Vision AI, OCR, Text to Speech
Tangerine มีผู้เชี่ยวชาญคอยให้คำปรึกษา สามารถติดต่อได้ที่อีเมล marketing@tangerine.co.th หรือโทร 094-999-4263 ได้ทันที