BLOGS

Data Governance กับการควบคุมสิทธิ์เน็ตเวิร์คภายนอกองค์กรในการเข้าถึง BigQuery

Thakorn.T • 20/10/2021
Google Cloud Solutions Specialist

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 ก็ได้

การทำงานของ VPC Service Controls

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

Set Data Governance with Google Cloud Platform

เลือก + 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 ได้ทันที

สอบถามข้อมูลเพิ่มเติม
Blog Form (#23)

ทั้งนี้ ข้าพเจ้าได้อ่านและศึกษารายละเอียด นโยบายการคุ้มครองข้อมูลส่วนบุคคลของบริษัท แทนเจอรีน จำกัด ที่ให้ไว้ที่ Tangerine Privacy Center โดยตลอดอย่างดีแล้ว