ตรวจสอบและจัดการข้อมูลบน Google Cloud Platform ง่ายๆ ด้วย Data Catalog

[Cross posted on blog.niwpopkorn.com] การนำระบบงานขึ้นไปใช้งานบน cloud มีข้อดีหลายๆ อย่าง ทั้งค่าใช้จ่ายที่ยืดหยุ่นกว่า เพราะจ่ายตามการใช้งานจริง ความรวดเร็วในการพัฒนาระบบ เนื่องจากมีบริการต่างๆ พร้อมให้เลือกมาใช้งานได้ทันที รวมถึงความปลอดภัยในการใช้งาน ที่ผู้ให้บริการมีมาตรฐานในการดูแลระบบ ในบริการแต่ละตัว เราสามารถกำหนดการเข้าถึงบริการ รวมถึงข้อมูลที่อยู่ในบริการนั้นๆ ได้ผ่าน Identity And Access Management ซึ่งเชื่อถือได้ แต่หากเรามีข้อมูลกระจายอยู่ในหลายๆ บริการ เช่น ข้อมูลลูกค้าในระบบวิเคราะห์ข้อมูล ที่จะต้องเก็บไว้ตามขั้นตอนการทำงานกับข้อมูล ทั้งบน Cloud Storage, CloudSQL, PubSub หรือ BigQuery การจัดการข้อมูลข้อมูลในภาพรวม ก็จะซับซ้อนมากขึ้น เช่น หากเราต้องการดูข้อมูลของแผนกดูแลลูกค้า ที่กระจายอยู่ในทุกๆ service เพื่อจะได้ตรวจสอบได้ครบถ้วน การไล่ดูข้อมูลทีละจุดคงไม่สะดวกนัก Data Catalog เป็นระบบที่ช่วยให้เราจัดการข้อมูลได้ง่ายขึ้น ผ่านการกำหนด metadata ให้กับข้อมูลในแต่ละจุด การเรียกดูข้อมูล สามารถระบุ metadata ที่เราสนใจ Data … Continue reading ตรวจสอบและจัดการข้อมูลบน Google Cloud Platform ง่ายๆ ด้วย Data Catalog

กำหนดสิทธิ์ราย column บน BigQuery ด้วย BigQuery column-level security

[Cross-posted on blog.niwpopkorn.com] BigQuery เป็นบริการคลังข้อมูลที่รองรับการเก็บและประมวลผลข้อมูลขนาดใหญ่ได้ ในเวลารวดเร็วและราคาคุ้มค่า การที่ข้อมูลจะถูกนำมาใช้ให้เกิดประโยชน์ก็จะต้องมีการเปิดสิทธิ์ให้ผู้ใช้จากแต่ละส่วนให้สามารถเข้าถึงข้อมูลที่ต้องการได้ การกำหนดสิทธิ์เบื้องต้นนั้น สามารถทำได้ในระดับ project, dataset, table หรือ view แต่ถ้าหากข้อมูลที่เราเก็บลง table มีแค่บาง column ที่เป็นข้อมูลความลับ และไม่อยากแยกเก็บข้อมูลลง table ใหม่ จะสามารถทำอย่างไรได้บ้าง BigQuery สามารถกำหนดสิทธิ์ที่ระดับ column ได้ โดยการทำงานร่วมกับ Data Catalog มีรายละเอียดดังนี้ สร้าง policy tag ด้วย Data Catalog 1.เริ่มจากการเข้าไปตั้ง Taxonomies ใน Data Catalog และกด +CREATE 2. กำหนดชื่อ taxonomy เลือก project และกดหนด Policy tags (สามารถกำหนด policy เป็นลำดับชั้นซ้อนกันได้) และ Locations … Continue reading กำหนดสิทธิ์ราย column บน BigQuery ด้วย BigQuery column-level security

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

[Cross-posted on blog.niwpopkorn.com] องค์กรที่มีการใช้งาน public cloud นั้น เพราะเห็นข้อดีหลายๆ อย่างของ cloud ทั้งความยืดหยุ่นในการใช้ทรัพยากร การคิดค่าใช้จ่ายตามการใช้งานจริง และไม่ต้องปวดหัวจัดการเรื่องโครงสร้างพื้นฐานเองทั้งหมด     ในแง่ของความปลอดภัยนั้น การเข้าถึงทรัพยากรต่างๆ บน public cloud จะต้องเข้าถึงด้วยสิทธิ์ที่อนุญาตไว้ด้วย Identity Access Management (IAM) ดังนั้น ความปลอดภัยของข้อมูล จะถูกกำหนดจากการตั้งค่า IAM เป็นพื้นฐาน IAM ใช้ในการกำหนดสิทธิ์ว่าใครสามารถเข้าถึง resource อะไรได้บ้าง     ด้วยความเป็น public cloud ที่สามารถเข้าถึงได้จากที่ไหนก็ได้ องค์กรขนาดใหญ่หลายที่จึงมีข้อกำหนดการใช้งานเพิ่มเติม โดยต้องการจำกัดการเข้าถึงทรัพยากรบน cloud จาก network ขององค์กรเท่านั้น นั่นคือ นอกจากจะได้สิทธิ์บน IAM แล้ว การเข้าใช้งานต้องมาจาก IP address ที่กำหนดไว้ล่วงหน้าด้วย ซึ่งเป็นเงื่อนไขที่ช่วยเพิ่มความปลอดภัยอีกชั้น กรณีที่ผู้ไม่หวังดี สามารถเข้าถึง … Continue reading จำกัดการเข้าถึง cloud storage จาก IP address ด้วย VPC Service Control

ทำ dashboard บน Data Studio ให้ผู้ใช้ เห็นข้อมูลบน BigQuery เฉพาะส่วนของตัวเอง

[Cross-posted on blog.niwpopkorn.com] หลายๆ องค์กร มีการใช้งาน BigQuery เป็น data warehouse ที่เก็บข้อมูลส่วนกลางขนาดใหญ่ การออกแบบ data warehouse ให้รองรับการใช้งานจากผู้ใช้หลายกลุ่ม สามารถทำได้หลายวิธี เช่นการกำหนดสิทธิ์ที่ระดับ dataset หรือการสร้าง view เพื่อให้ผู้ใช้ เห็นเฉพาะผลลัพธ์ของ view นั้นๆ โดยไม่สามารถเข้าถึงข้อมูลทั้ง table ได้อีกกรณีหนึ่งก็คือ การทำ dashboard ให้ผู้ใช้แต่ละคนเข้ามาใช้งาน dashboard เดียวกัน แต่ข้อมูลที่แสดงนั้น จะถูกดึงตามผู้ใช้งานที่กำลังเปิด dashboard อยู่ คือเห็นเฉพาะข้อมูลที่เกี่ยวข้องกับตัวเองเท่านั้น วิธีนี้มีข้อดีคือ เราจะสร้างและดูแล dashboard แค่ตัวเดียว โดยที่ผู้ใช้ก็จะเห็นข้อมูลของตัวเองเท่านั้น ไม่เห็นข้อมูลของผู้อื่น ไม่ต้องทำ dashboard แยกสำหรับผู้ใช้แต่ละกลุ่ม หรือแต่ละคนการ implement ในลักษณะนี้ อธิบายได้ด้วยแผนภาพนี้ครับ ในตัวอย่าง เรามีข้อมูลอยู่ 2 table คือ data_by_region (d) เป็นตัวอย่างข้อมูลที่แสดงเคสผู้ป่วย … Continue reading ทำ dashboard บน Data Studio ให้ผู้ใช้ เห็นข้อมูลบน BigQuery เฉพาะส่วนของตัวเอง

การย้ายข้อมูลจาก Google Drive ไป Cloud Storage

[Cross-posted on blog.niwpopkorn.com] Google Drive เป็นพื้นที่เก็บข้อมูลใน cloud ที่ผู้ใช้ทั่วไปสามารถเข้าไป สร้างเอกสาร, upload และแชร์เอกสารให้เพื่อนได้ โดยสะดวก ด้วยความง่าย และมี feature ครอบคลุมการใช้งานทั่วๆ ไป แค่สมัคร account แล้วก็เริ่มใช้งานได้เลย มันจึงเหมาะกับการเป็นที่รับ-ส่ง ไฟล์ แบบเร็วๆ Google Cloud Storage เป็นบริการเก็บข้อมูลบน cloud อีกตัวหนึ่งจาก Google อยู่ในกลุ่มบริการของ Google Cloud Platform ที่มีออกแบบมาสำหรับงานระบบหรือ application ในการใช้งาน Google Cloud Storage นอกจากการสมัคร account แล้ว จะต้องตั้ง project สร้าง bucket ซึ่งต้องตั้งชื่อ เลือก location ของข้อมูล เลือก class ของ storage … Continue reading การย้ายข้อมูลจาก Google Drive ไป Cloud Storage

ตั้งค่าแจ้งเตือนเมื่อข้อมูล Cloud Storage ถูกตั้งค่าเป็นสาธารณะ ด้วย Cloud Monitoring

[Cross-posted on blog.niwpopkorn.com] การใช้งาน Cloud นั้น เป็นการใช้พลังประมวลผล และพื้นที่เก็บข้อมูลอันมหาศาลของผู้ให้บริการ เช่น Google, AWS หรือ Azure โดยมีข้อดีคือ เราสามารถเข้าถึงทรัพยากรเหล่านั้นได้ทันที ไม่ต้องสร้างโครงสร้างพื้นฐานต่างๆ เองทั้งหมด ส่วนเรื่องความปลอดภัยนั้น ผู้ให้บริการแต่ละรายก็มีมาตรฐานสากล และมีการตรวจสอบจากผู้ตรวจสอบภายนอก เพื่อแสดงให้เห็นถึงความปลอดภัยทั้งจากการดำเนินงานของผู้ให้บริการ และมาตรการความปลอดภัยในทุกๆ ขั้นตอนของบริการนั้นๆสิ่งหนึ่งที่ยังเป็นจริงอยู่ก็คือ แม้ว่าบริการนั้นจะปลอดภัยแค่ไหน แต่ถ้าเราเผลอเรอ ตั้งค่าการเข้าถึงไว้หละหลวม ก็มีสิทธิ์ที่ข้อมูลจะรั่วไหลได้เช่นกัน เช่นข่าวนี้ การป้องกันสามารถทำได้โดยการกำหนดสิทธิ์ของผู้ที่เข้าถึงตามความจำเป็น และจำกัดขอบเขต แต่ถึงอย่างนั้น ความผิดพลาดจากการตั้งค่าก็ยังคงเกิดได้อยู่นอกจากแนวทางการระวังไม่ให้เกิดความผิดพลาดขึ้น และการตรวจสอบความผิดปกติจาก log แล้ว การรู้ตัวอย่างรวดเร็วเมื่อเกิดปัญหา ทำให้ปัญหาถูกแก้ไขอย่างรวดเร็ว และจำกัดขอบเขตความเสียหายได้ เป็นอีกแนวทางหนึ่งที่ช่วยให้ผู้ดูแลระบบสามารถรับมือกับปัญหานั้นได้ดียิ่งขึ้นบทความนี้จะยกตัวอย่างการตั้งค่าบน Google Cloud Platform เพื่อแจ้งเตือนทันทีที่มีการ "เปิด" ถังข้อมูลออกสู่สาธารณะ ไม่ว่าจะโดยตั้งใจหรือไม่ ก็ตาม (หากในอนาคตมีระบบที่วัดระดับความตั้งใจของคนได้ ก็เป็นไปได้ที่จะกำหนดเงื่อนไขให้แจ้งเตือนแค่กรณีเผลอเรอด้วยความสะเพร่า)สิ่งที่เราใช้เป็นตัวอย่างเพื่อตรวจสอบ คือ Google Cloud Storage และเหตุการณ์ที่เราจะเฝ้าระวังคือ การเปิดให้ทุกคนเข้าถึงได้ หากตั้งค่าแบบนี้ ก็เท่ากับเปิดให้ทุกคนเข้าถึงข้อมูลบน … Continue reading ตั้งค่าแจ้งเตือนเมื่อข้อมูล Cloud Storage ถูกตั้งค่าเป็นสาธารณะ ด้วย Cloud Monitoring

การทดสอบ SMTP connection กับ G Suite SMTP relay service

[Cross-posted on blog.niwpopkorn.com] ลูกค้า G Suite นอกจากจะได้อีเมลให้ผู้ใช้ในองค์กรแล้ว หากต้องการส่งอีเมลออกจากระบบอื่นๆ เช่น เครื่อง printer หรือ app ภายใน สามารถตั้งค่าให้ส่งผ่าน G Suite SMTP relay service ได้ด้วย โดยไม่ต้องเสีย license user แต่อย่างใดโควต้าที่ Google ให้ลูกค้า G Suite ใช่ส่งอีเมลผ่าน SMTP relay นั้น คือ 130 เท่าของจำนวน G Suite license โดยโควต้านี้จะนับในช่วงเวลา 24 ชม. ตัวอย่างเช่น หากองค์กรของเรามี G Suite user 100 license ก็จะสามารถส่งอีเมลผ่าน SMTP relay ได้ 13,000 ฉบับ … Continue reading การทดสอบ SMTP connection กับ G Suite SMTP relay service

ตั้ง Active Directory แบบไม่ต้องดูแล server เอง ด้วย Managed Service for Microsoft Active Directory

[Cross-posted on blog.niwpopkorn.com] Microsoft Active Directory (MS AD) เป็นบริการจัดเก็บข้อมูลทั้ง user, group, computer และอื่นๆ ที่มีการใช้งานอย่างแพร่หลายในองค์กรขนาดกลางและขนาดใหญ่ ประโยชน์ที่ได้รับคือ องค์กรสามารถจัดการ directory ส่วนกลาง ว่าตอนนี้มีใครได้สิทธิ์อะไรบ้าง รวมถึง policy ต่างๆ ที่จะถูกกระจายไปที่เครื่องปลายทาง เมื่อมีการ join domain เข้ามา ช่วยให้องค์กรสามารถควบคุม policy บนเครื่องผู้ใช้งานได้ ทั้งในแง่ความปลอดภัย (เช่น การสั่งปิดการถ่ายโอนข้อมูลลง usb drive) ความสะดวกและความเป็นมาตรฐานในการใช้งาน (เช่น การสั่งติดตั้ง software พื้นฐานในการทำงาน ให้แต่ละแผนก) และยังสามารถใช้เป็นศูนย์กลาง เพื่อให้ app ต่างๆ ในองค์กร เข้ามาใช้ยืนยันตัวตนผู้ใช้งานได้อีกด้วย     การตั้ง AD server เพื่อใช้งานบน Google Cloud สามารถติดตั้งบน … Continue reading ตั้ง Active Directory แบบไม่ต้องดูแล server เอง ด้วย Managed Service for Microsoft Active Directory

ถ้ามั่นใจว่าใช้ยาว ก็ลดไปเลย 50% ด้วย Committed use discounts

[Cross-posted on blog.niwpopkorn.com] หากองค์กรของเรา มีการใช้งาน Google Cloud Platform ในกลุ่ม Compute Engine อย่างสม่ำเสมอ และคิดว่าจะมี workload อยู่นานเกิน 1 ปีหรือ 3 ปี เราสามารถลดค่าใช้จ่ายที่เกิดขึ้นได้ด้วย Committed use discount resource ที่สามารถลดราคาได้ด้วย Committed use discount มีดังนี้ครับ vCPUs memory GPUs SSDs VMs ใน service ที่จะได้ประโยชน์จาก Committed use discount  จะมี Google Kubernetes Engine Dataproc Compute Engine. หมายความว่า ถ้าเราซื้อ Committed use discount ไว้ใน project หรือ billing account … Continue reading ถ้ามั่นใจว่าใช้ยาว ก็ลดไปเลย 50% ด้วย Committed use discounts

ตรวจสอบการเข้าถึงข้อมูลบน GCP ด้วย Data Access audit log

[Crossed-posted on blog.niwpopkorn.com] การใช้งาน Google Cloud Platform นั้น หากเราต้องการตรวจสอบว่ามีใครเข้ามาทำอะไรกับระบบ หรือเข้ามาทำอะไรกับข้อมูลในระบบบ้าง สามารถตรวจสอบได้จาก Cloud Audit Logs ซึ่งมีข้อมูล log 3 แบบ และระยะเวลาการเก็บ log ดังตารางด้านล่าง Admin Activity เป็น log แสดงการเรียก API หรือการกระทำ ที่เกี่ยวข้องกับการดูแล GCP ที่แก้ไขค่า config หรือ metadata ของ resource ต่างๆ Data Access เป็น log แสดงการอ่านค่า config หรือ metadata ของ resource ต่างๆ รวมถึง การเรียก API ของผู้ใช้ในการ สร้าง แก้ไข อ่าน ข้อมูลที่ผู้ใช้ใส่เข้ามาในระบบ, log ประเภทนี้จะถูกปิดเป็นค่าเริ่มต้น (ยกเว้น … Continue reading ตรวจสอบการเข้าถึงข้อมูลบน GCP ด้วย Data Access audit log