3 ขั้นตอนง่ายๆ เพื่อกำหนดการเข้าถึงข้อมูลระดับ Column บน Google BigQuery

3 ขั้นตอนง่ายๆ เพื่อกำหนดการเข้าถึงข้อมูลระดับ Column บน Google BigQuery
เคยมีปัญหากับการต้องใช้งาน Table บน BigQuery ร่วมกับคนอื่นมั้ย? ถ้าใครไม่มี อยากให้ลองจินตนาการดูง่ายๆ ว่าถ้าเรามี Table ที่มี user หลากหลายกลุ่มมาใช้งานร่วมกัน แต่ต้องการให้บางคนเข้าถึงข้อมูลแค่บาง Column(s) เท่านั้น วันนี้จะพาทุกคนมารู้จัก “Policy tag” ที่จะมาช่วยแก้ปัญหานี้กัน!

เลือกอ่านตามหัวข้อที่สนใจ

ทำความรู้จัก Policy Tags กันก่อน Policy Tags เป็นฟีเจอร์นึงบน  Data Catalog ที่จะให้คุณสร้าง tag ที่เหมาะสมตามการจัดหมวดหมู่ของข้อมูลสำหรับธุรกิจของคุณ โดยหลักการ คือ ติด tag เพื่อจำกัดสิทธิ์ และกำหนดว่าใครสามารถเข้าถึงข้อมูลใน tag นั้นๆ ได้

ตัวอย่างข้อมูล

Table “employees” นี้เก็บข้อมูลพนักงานของบริษัทแห่งหนึ่ง ซึ่งประกอบด้วย employee_id (รหัสพนักงาน), first_name (ชื่อ), last_name (นามสกุล), email (อีเมล), salary (เงินเดือน) , working_year (ปีที่ทำงาน), level (ระดับขั้นพนักงาน)

Employees Table stored in BigQuery

Fictional Demo Case ของเราในวันนี้

มีตำแหน่งงาน 2 ระดับที่เกี่ยวข้องกัน คือ Junior HR และ Senior HR โดยที่เราจะให้ Junior HR ไม่สามารถเข้าถึง Column ที่เป็นความลับสุดๆ ทั้ง 3 Columns ได้แก่ salary, working_year และ level บน Employees table ได้ แต่ Senior HR สามารถเข้าถึง ได้ทุก Columns

ปัญหานี้จะแก้ได้ด้วย Policy Tags  ซึ่งทำง่ายมากเพียง 3 Steps เท่านั้น ก็สามารถจำกัดการเข้าถึงของ User ที่ไม่ต้องการใน Columns ลับเฉพาะกลุ่มได้แล้ว ขั้นตอนมีตามนี้

Step 1 สร้าง Policy tag taxonomy

เข้าไปที่ Data Catalog บน GCP Console เพื่อทำการสร้าง “Policy tag taxonomies” หรือ การกำหนด Policy level ให้กับลำดับชั้นความสำคัญของ Tag ข้อมูล

→  เลือกเมนู Policy tags และกด Create Taxonomy

→  ตั้งชื่อให้กับ Taxonomy ตามที่ต้องการ จากตัวอย่างด้านล่าง จะเป็นการตั้งชื่อ “HR Business Criticality” ให้เข้าใจง่ายว่า เป็น Tag ที่เกี่ยวกับการลำดับชั้นของข้อมูลสำหรับฝ่ายบุคคล

→ จากนั้นกำหนด Policy tag หรือ ชื่อลำดับชั้นหลัก ซึ่งสามารถกำหนดเป็น High/Medium/Low และอื่นๆ ตามความต้องการ หรือ ตามการกำหนดความสำคัญของข้อมูลได้

ใน Demo นี้ จะกำหนด Policy tag เป็น “High” สำหรับข้อมูลที่ความสำคัญมาก ไม่อนุญาตให้ Junior HR ดูได้ และกำหนด subtag เป็น “employment” เพื่อเจาะจงว่าข้อมูลที่มีความสำคัญมากของเราเนี่ย เป็นข้อมูลเกี่ยวกับการจ้างงาน

หลังกด Create ก็จะปรากฏ Policy tag taxonomy “HR Business Criticality” ขึ้นมาตามนี้เลย

เราต้องทำการ enable เพื่อจำกัดการเข้าถึงข้อมูลของ column ที่เราจะนำ Policy tag ไปแปะบน BigQuery ได้ โดยกดเลื่อนปุ่ม Enforce access control

Step 2 กำหนดสิทธิ์ให้กับคนที่เข้าถึงข้อมูลที่สำคัญมาก

สิทธิ์ที่ต้องมีเพื่อใช้งาน Policy tag สำหรับ user คนสำคัญของเรา หรือ พูดง่ายๆ คนที่เราต้องการให้เข้าถึง High-employment Policy Tag ที่เราสร้างไว้ คือ “Fine-Grained Reader”

โดยที่จะ Grant สิทธิ์นี้ผ่าน IAM & Admin จากด้านล่างจะเห็นได้ว่า มีการกำหนดสิทธิ์ “Fine-Grained Reader” ให้กับ Senior HR มโน ของเรา 3 members 

Granting Fine-Grained Reader Role

Granted members with Fine-Grained Reader Role appeared on IAM Page

Step 3  แปะ Policy tag ให้กับ Columns บน BigQuery

มาถึงขั้นตอนสุดท้ายกันแล้ว เข้าไปที่ BigQuery Table กด edit schema จากนั้นเลือก Column ที่ต้องการ ติ้กรัว ๆ 3 Columns ที่ต้องการกำหนดสิทธิ์ (salary, working_year และ level) แล้วกด Add policy tag

เลือก Policy Tag ที่ต้องการ ซึ่งในที่นี้เราจะเลือก (HR Business Criticality > high) ที่เราทำไปด้านบน กด select เลย

ลองมาเทส สมรรถภาพ Policy tag ของเราด้วยการ Query บน BigQuery กัน

Test Case 1 : ให้ Senior HR มโนของเราลอง Select * ข้อมูลบน Table ดู

จะเห็นว่า Senior HR มโน ของเราเนี่ยสามารถเห็นข้อมูลทุก Column เลย รวมถึง Column ที่แปะ Policy tag ด้วย

Test Case 2 :  ให้ Junior HR มโนของเราลอง Select * ข้อมูลบน Table ดู

Error!! Access Denied เนื่องจากไม่มีสิทธิ์การเข้าถึงทุกๆ Column นั่นเอง

Test Case 3 : ให้ Junior HR มโนของเราลอง Select เฉพาะ column ที่ไม่ได้แปะ Policy tag ผลลัพธ์คือ Junior HR มโน ของเราสามารถ Query column อื่นๆ ได้ปกติ

Sum up สั้นๆ ส่งท้ายกันนิดนึง :

3-Step Miracle เพื่อกำหนด Column-level security บน BigQuery จะเกี่ยวข้องกับ 3 Services บน GCP Console นั่นก็คือ Data Catalog ซึ่งใช้เพื่อกำหนด Policy tag taxonomy, IAM & Admin เพื่อ apply Policy tag ให้กับ user หรือ member และสุดท้าย BigQuery เพื่อ apply Policy tag ให้กับข้อมูล หรือ Column ที่ต้องการ

ปล. สำหรับ user/member ที่ไม่ได้ apply policy tag จะลำบากชีวิตนิดนึง Select * ไม่ได้ แต่ชีวิตไม่ยากขนาดนั้น เราเลือก column ที่ต้องการด้วยการ กด Ctrl+ Spacebar หรือ Click ชื่อ Field name (หรือ column) ที่ต้องการผ่านหน้า console ได้เลย

หากท่านใดสนใจข้อมูลเพิ่มในเรื่องของ Google Workspace, Google Cloud Platform หรือ Service อื่นๆ
ด้าน AI/Machine Learning อาทิ AI Platform, Computer Vision, Speech Recognition
ทาง Tangerine มีผู้เชี่ยวชาญคอยให้คำปรึกษาสามารถ
ติดต่อได้ที่อีเมล google.sales@tangerine.co.th หรือโทร 08-6788-4690 ได้ทันที

Share on social media

Tangerine Expertise

Related Solution

Expand Interests

All and More

  • All
  • Apigee
  • Application Development
  • Business Transformation
  • Cisco
  • Converged Infrastructure
  • Dell EMC
  • Dialogflow (Chatbot)
  • Event
  • G Suite
  • Google Cloud
  • Google Cloud Platform
  • Google Maps Platform
  • Google Workspace
  • Highlight
  • Huawei
  • Hybrid Cloud & Multi Cloud
  • Knowledge
  • Networking
  • Productivity & Work Transformation
  • Security
  • Smart Business Analytics & AI
  • Storage & Data Protection
  • Success Story
  • VMware
All
  • All
  • Apigee
  • Application Development
  • Business Transformation
  • Cisco
  • Converged Infrastructure
  • Dell EMC
  • Dialogflow (Chatbot)
  • Event
  • G Suite
  • Google Cloud
  • Google Cloud Platform
  • Google Maps Platform
  • Google Workspace
  • Highlight
  • Huawei
  • Hybrid Cloud & Multi Cloud
  • Knowledge
  • Networking
  • Productivity & Work Transformation
  • Security
  • Smart Business Analytics & AI
  • Storage & Data Protection
  • Success Story
  • VMware
Google CloudGoogle Maps Platform

Coding ยังไงให้ตอบโจทย์? Locator Plus จาก Google Maps Platform มีคำตอบ

สวัสดีผู้ใช้งาน Google Maps Platform ทุกท่าน ถ้าพูดถึงวิธีการเรียกใช้งาน API Service ต่างๆ ของ Google Maps Platform ในการพัฒนาแอปพลิเคชัน เพื่อเรียกความสามารถของ Google Maps ไปใส่ในแอปพลิเคชันที่พัฒนาขึ้นมา ผู้พัฒนาโปรแกรม(Developer) ทุกท่านคงทราบกันดีว่า วิธีการเรียกใช้ คือการ Coding ด้วยภาษา ไม่ว่าจะเป็น JavaScript API หรือ SDK ต่างๆ ซึ่งทุกท่านมีความเชี่ยวชาญในการทำงานตรงส่วนนี้อยู่แล้ว

G SuiteGoogle CloudGoogle Workspace

กำหนดการบังคับเปลี่ยนแปลง Package G Suite เป็น Google Workspace

เมื่อวันที่ 6 ตุลาคม 2563 Google ได้เปิดตัว Google Workspace ใหม่ มาแทนที่ G Suite ระบบเดิม ขณะนี้ Google ได้มีแผนการที่จะปรับ Package ของลูกค้าปัจจุบันที่ใช้งาน G Suite ให้เป็น Google Workspace โดยอัตโนมัติ มีช่วงเวลาตามตารางดังต่อไปนี้

Security

OWASP Top 10 : Update 10 อันดับการโจมตี Web Application ปี 2021

OWASP หรือ Open Web Application Security Project คือ มาตราฐานความปลอดภัยของเว็บแอปพลิเคชัน ได้ทำการจัดอันดับช่องโหว่ที่มีความรุนแรง และพบเจอได้บ่อยในเว็บแอปพลิเคชัน 10 อันดับขึ้นมา และได้รับการตอบรับเป็นอย่างดีจากนักพัฒนาเว็บแอปพลิเคชันทั่วโลก ได้รับการยึดถือเป็นมาตรฐานการตรวจสอบช่องโหว่เว็บแอปพลิเคชัน ที่อธิบายรายละเอียดของช่องโหว่ที่พบได้บ่อยและมีความรุนแรง 10 อันดับแรกขึ้นมา เชิญอัปเดตรายละเอียดแต่ละช่องโหว่ ได้ดังนี้

CiscoSecurity

Slido is Now Integrated with Webex Meeting

ด้วยรูปแบบการทำงานที่เปลี่ยนไปเป็นแบบ Hybrid Work การประชุมแบบ Virtual Meeting ถือเป็นส่วนหนึ่งของการทำงานในปัจจุบัน Webex จึงได้นำเอา Feature ของ Slido ซึ่งเป็น Interactive Platform มาเพิ่มเติมลงบน Webex Meeting เพื่อเพิ่ม User experiences ในการประชุมให้ดียิ่งขึ้น และลดช่องว่างในการสื่อสารระหว่างผู้พูดและผู้ฟัง ทำให้ผู้ใช้งานสามารถทำ Polls, Quizzes หรือ Q&A ได้โดยที่ไม่ต้องเปลี่ยนหน้าจอ หรือสลับเครื่องมือในการทำงาน และยังช่วยให้ผู้ฟังสามารถแสดงความคิดเห็นผ่านทางเครื่องมือต่างๆ ได้ง่ายดายมากยิ่งขึ้น

Dell EMCHighlight

PowerStore All-Flash : Make It Simpler and More Intelligent

เดลล์เทคโนโลยี ได้ออกผลิตภัณฑ์ Dell EMC PowerStore แบบ All-Flash รุ่นใหม่เพื่อตอบสนองความต้องการภายในศูนย์ดาต้าเซนเตอร์ ให้รองรับ Workloads ระบบงาน Virtualize และ Container ได้มากขึ้น

Scroll to Top

ติดต่อ tangerine

Tel: +66 2 2855511   |   Email: info@tangerine.co.th




This website uses cookies to ensure you get the best experience on our website. View Privacy Policy