1. บทนำ
ยินดีต้อนรับสู่ขั้นตอนสุดท้ายของการสืบสวนเรื่องสินค้าที่สูญหาย หลังจากติดตามตู้คอนเทนเนอร์ที่ขโมยฟิกเกอร์ Android จากลอนดอนไปจนถึงซิดนีย์ ร่องรอยก็หายไป การปิดใช้ทรานสปอนเดอร์ของตู้คอนเทนเนอร์ทำให้ห้องนิรภัยอัจฉริยะของตู้คอนเทนเนอร์ทริกเกอร์การล็อกดาวน์ฉุกเฉินโดยอัตโนมัติ
ภารกิจของคุณคือค้นหาตำแหน่งสุดท้ายของตู้คอนเทนเนอร์และดึงรหัสผ่านสำหรับการลบล้างด้วยตนเองเพื่อปลดล็อกห้องนิรภัยด้วยตนเอง เพื่อกู้คืนสินค้าที่มีมูลค่าสูงก่อนที่ระบบจะล็อกอย่างถาวร

หากต้องการค้นหาคอนเทนเนอร์ที่หายไปและรักษาความปลอดภัยของสินค้า คุณจะต้องสร้างกราฟพร็อพเพอร์ตี้ BigQuery เพื่อติดตามเส้นทางการจัดส่ง จากนั้นคุณจะสืบค้นเครือข่ายนี้ในภาษาธรรมชาติโดยใช้ Conversational Analytics และปิดท้ายด้วยการค้นหาเชิงความหมายในข้อมูลเมตาของข้อมูลด้วย Knowledge Catalog เพื่อค้นหารหัสการลบล้าง
💡 พลาดLab 1 หรือ Lab 2 ไม่ต้องกังวล ห้องทดลองนี้เป็นแบบครบวงจร ขั้นตอนการตั้งค่าสภาพแวดล้อมจะจัดเตรียมทุกอย่างที่คุณต้องการเพื่อให้คุณเริ่มใช้งานได้ทันทีและดำเนินการให้เสร็จสมบูรณ์ได้ด้วยตนเอง
สิ่งที่คุณต้องทำ
- โคลนที่เก็บและเรียกใช้สคริปต์การตั้งค่าใน Google Cloud Shell
- สร้างกราฟพร็อพเพอร์ตี้ใน BigQuery โดยลิงก์ข้อมูลบริษัท เรือ และใบรับรอง
- ใช้การวิเคราะห์แบบสนทนาเพื่อค้นหากราฟในภาษาธรรมชาติ โดยติดตามเส้นทางการขนส่งสินค้าเพื่อระบุผู้ให้บริการที่รับผิดชอบ
- ค้นหาตารางที่มีรหัสการลบล้างสุดท้ายโดยใช้แคตตาล็อกความรู้
- ใช้การควบคุมการเข้าถึงระดับคอลัมน์ของ BigQuery เพื่อยกเลิกการมาสก์และแสดงรหัสสุดท้าย
สิ่งที่คุณต้องมี
- เว็บเบราว์เซอร์ เช่น Chrome
- โปรเจ็กต์ Google Cloud ที่เปิดใช้การเรียกเก็บเงิน
- สิทธิ์เข้าถึง Google Cloud Shell
Codelab นี้ออกแบบมาสำหรับผู้ปฏิบัติงานด้านข้อมูลทุกระดับ
ทรัพยากรที่สร้างในโค้ดแล็บนี้ควรมีค่าใช้จ่ายน้อยกว่า $5
ระยะเวลาโดยประมาณ: Codelab นี้จะใช้เวลาประมาณ 45 นาที
2. ก่อนเริ่มต้น
สร้างโปรเจ็กต์ Google Cloud
- ในคอนโซล Google Cloud ให้เลือกหรือสร้างโปรเจ็กต์ Google Cloud ในหน้าตัวเลือกโปรเจ็กต์
- ตรวจสอบว่าได้เปิดใช้การเรียกเก็บเงินสำหรับโปรเจ็กต์ที่อยู่ในระบบคลาวด์แล้ว
เริ่มต้น Cloud Shell
คุณจะใช้ Google Cloud Shell เพื่อดาวน์โหลดโค้ด เรียกใช้สคริปต์การตั้งค่า และทำให้แอปพลิเคชันใช้งานได้
- ในแท็บเบราว์เซอร์ใหม่ ให้เปิด Cloud Shell โดยทำดังนี้

- เมื่อเชื่อมต่อแล้ว ให้ตั้งค่ารหัสโปรเจ็กต์และยืนยันสภาพแวดล้อม
gcloud config set project <<YOUR_PROJECT_ID>>
export PROJECT_ID=$(gcloud config get-value project)
export REGION=us-central1
คุณควรเห็นข้อความที่คล้ายกับข้อความต่อไปนี้
Your active configuration is: [cloudshell-####] Updated property [core/project]
เปิดใช้ API ที่จำเป็น
เรียกใช้คำสั่งต่อไปนี้ใน Cloud Shell เพื่อเปิดใช้ API ที่จำเป็น
gcloud services enable \
bigquery.googleapis.com \
aiplatform.googleapis.com \
datacatalog.googleapis.com \
geminidataanalytics.googleapis.com \
cloudaicompanion.googleapis.com
เมื่อดำเนินการสำเร็จ คุณควรเห็นข้อความที่คล้ายกับข้อความต่อไปนี้
Operation "operations/..." finished successfully.
3. ตั้งค่าสภาพแวดล้อม
ในแล็บก่อนหน้าของชุดนี้ เราได้วางรากฐานสำหรับการตรวจสอบแล้ว
1. โคลนที่เก็บ
โคลนที่เก็บ Codelab ไปยังสภาพแวดล้อม Cloud Shell โดยทำดังนี้
cd ~/
git clone --filter=blob:none --no-checkout https://github.com/GoogleCloudPlatform/devrel-demos.git
cd ~/devrel-demos
git sparse-checkout init --cone
git sparse-checkout set codelabs/bigquery-graph-analytics
git checkout main
cd codelabs/bigquery-graph-analytics/
2. ตั้งค่าตารางฐานและแท็กนโยบาย
เรียกใช้สคริปต์การตั้งค่าเพื่อสร้างชุดข้อมูล BigQuery และใช้แท็กการรักษาความปลอดภัยระดับคอลัมน์เพื่อจำกัดข้อมูลที่ละเอียดอ่อน
bash setup_lab.sh
ตรวจสอบว่าเอาต์พุตในเทอร์มินัลแสดงการเริ่มต้นที่สำเร็จ
🚀 Provisioning foundational tables and deploying Policy Tag security bindings... 🎯 Active Project: your-project-id ... 🎉 Success! Foundational tables initialized and Column-Level Policy Tags fully mapped out of the box!
เมื่อตั้งค่าสภาพแวดล้อมเรียบร้อยแล้วและป้อนข้อมูลลอจิสติกส์ลงใน BigQuery คุณก็สร้างกราฟพร็อพเพอร์ตี้เพื่อเชื่อมต่อตารางและติดตามเส้นทางการขนส่งสินค้าได้แล้ว
4. เชื่อมต่อข้อมูลโดยใช้ BigQuery Graph
ในการวิเคราะห์ข้อมูลซัพพลายเชน เราจะกำหนดความสัมพันธ์ระหว่างบริษัท เรือ และใบรับรองสินค้า การสร้างกราฟพร็อพเพอร์ตี้ช่วยให้เราค้นหาการเชื่อมต่อเหล่านี้ได้อย่างง่ายดาย
1. วิธีที่กราฟพร็อพเพอร์ตี้สร้างความสัมพันธ์

กราฟพร็อพเพอร์ตี้ BigQuery จะจำลองเครือข่ายโดยใช้สิ่งต่อไปนี้
- โหนด: เอนทิตีในเครือข่าย ในห้องทดลองนี้ โหนดจะแสดงถึงบริษัท (ซึ่งจัดเก็บรายละเอียดการติดต่อโดยตรง) Manifest และเรือ
- ขอบ: ความสัมพันธ์ที่ลิงก์โหนดเข้าด้วยกัน เช่น
- ขอบเชื่อมต่อ Manifest กับ Vessel (ผ่านความสัมพันธ์ในตาราง
manifests) - ขอบจะเชื่อมต่อเรือกับบริษัท (ผ่านความสัมพันธ์ในตาราง
vessels)
- ขอบเชื่อมต่อ Manifest กับ Vessel (ผ่านความสัมพันธ์ในตาราง
- พร็อพเพอร์ตี้: ข้อมูลเมตาที่จัดเก็บไว้ในโหนดหรือขอบ เช่น โหนดบริษัทมีคอลัมน์อย่าง
company_nameและphone_numberและโหนดไฟล์ Manifest มีseal_integrity_statusและพิกัด (last_ping_lat,last_ping_long) - ป้ายกำกับ: ชื่อแท็กที่กำหนดให้กับโหนด (เช่น
Company,Vessel,Manifest) และขอบ (เช่นCARRIED_BY,OPERATED_BY) เพื่อให้เครื่องมือค้นหาระบุประเภทโหนดและความสัมพันธ์ได้
2. ติดตั้งใช้งานกราฟพร็อพเพอร์ตี้ใน BigQuery
setup_graph.sql ไฟล์มี DDL ของ SQL เพื่อกำหนดและสร้างกราฟพร็อพเพอร์ตี้ แต่ขณะนี้ยังไม่สมบูรณ์ คุณต้องกําหนดป้ายกํากับขอบ (ความสัมพันธ์) ในไฟล์สคีมานี้ก่อนที่จะคอมไพล์และนําไปใช้งาน
- เปิด Cloud Shell Editor

- เปิดไฟล์
setup_graph.sqlใน Cloud Shell Editor

- ค้นหาตัวยึดตำแหน่งสำหรับป้ายกำกับขอบ
- บรรทัดที่ 22: แทนที่
`EDGE_TABLE_PLACEHOLDER`ด้วยแท็กที่มีความหมายซึ่งแสดงถึงความสัมพันธ์ระหว่างไฟล์ Manifest กับเรือ (เช่นCARRIED_BY) - บรรทัดที่ 27: แทนที่
`EDGE_TABLE_PLACEHOLDER`ด้วยแท็กที่แสดงความสัมพันธ์ระหว่างเรือกับบริษัท (เช่นOPERATED_BY)
- บรรทัดที่ 22: แทนที่
- บันทึกไฟล์
ตอนนี้ ให้กลับไปที่เทอร์มินัล Cloud Shell และทําให้กราฟพร็อพเพอร์ตี้ที่อัปเดตใช้งานได้โดยใช้สคริปต์ที่เสร็จสมบูรณ์แล้ว
bq query --use_legacy_sql=false < setup_graph.sql
คุณควรเห็นเอาต์พุตที่ระบุว่างานเสร็จสมบูรณ์แล้ว
Waiting on bqjob_r... ... (0s) Current status: DONE
คุณดูรายละเอียดกราฟพร็อพเพอร์ตี้ได้ใน BigQuery Console โดยทำดังนี้
ค้นหา lost_cargo_dataset แล้วเลือกกราฟ

เมื่อคอมไพล์กราฟพร็อพเพอร์ตี้เรียบร้อยแล้ว เรามาดู BigQuery Studio เพื่อค้นหาและแสดงภาพการเชื่อมต่อกันเลย
5. ค้นหากราฟ
คุณสามารถค้นหาและสำรวจกราฟด้วยภาพโดยใช้ Graph Query Language (GQL) ดั้งเดิมได้โดยตรงภายใน BigQuery Studio
1. ค้นหาเชนคอนเทนเนอร์ -> เรือ -> บริษัท
มาดูคำค้นหา GQL โดยค้นหาผู้ที่ควบคุมเรือบรรทุกสินค้ากัน การค้นหาผู้ให้บริการต้องดำเนินการผ่านโหนดเอนทิตี 3 โหนดที่แยกกันในเครือข่ายโลจิสติกส์ของเรา

- เริ่มที่โหนดคอนเทนเนอร์
Manifest - ติดตามขอบความสัมพันธ์
CARRIED_BYเพื่อค้นหาVessel - ติดตามขอบความสัมพันธ์
OPERATED_BYจากเรือนั้นไปยังCompanyที่รับผิดชอบ แล้วดึงรหัสของเรือ
ก่อนอื่น ให้เรียกใช้การค้นหาเพื่อแสดงภาพเครือข่ายทั้งหมด (โดยไม่มีตัวกรอง) เพื่อดูทั้งกราฟ
- เปิดแท็บใหม่ในตัวแก้ไข SQL ของ BigQuery Studio วางการค้นหา GQL ต่อไปนี้ แล้วคลิกเรียกใช้
SELECT * FROM GRAPH_TABLE( `lost_cargo_dataset.logistics_network` MATCH p = (m:Manifest)-[:CARRIED_BY]->(v:Vessel)-[:OPERATED_BY]->(comp:Company) RETURN TO_JSON(p) AS path ); - เมื่อการค้นหาเสร็จสมบูรณ์ ให้คลิกแท็บกราฟ (อยู่ข้างแท็บตารางผลลัพธ์) ในแผงผลการค้นหาที่ด้านล่าง

- BigQuery จะแสดงผลลัพธ์เป็นภาพกราฟแบบอินเทอร์แอกทีฟ ซูมเข้าเพื่อดูเครือข่ายทั้งหมดของคอนเทนเนอร์ เรือ และผู้ให้บริการที่เชื่อมต่อ
โครงสร้างของการค้นหา GQL
มาดูรายละเอียดการค้นหา GQL ที่เราเพิ่งเรียกใช้กัน
GRAPH_TABLE: สั่งให้ BigQuery เรียกใช้การค้นหากราฟพร็อพเพอร์ตี้กับกราฟlogistics_networkMATCH: ประกาศรูปแบบการข้ามหลายฮอป เราเริ่มต้นที่Manifest(m) จากนั้นจับคู่ความสัมพันธ์ของขอบ:CARRIED_BYที่ชี้ไปยังVessel(v) แล้วจับคู่ความสัมพันธ์ของขอบ:OPERATED_BYที่ชี้ไปยังCompany(comp)- GQL แทนที่ตรรกะการรวมที่ซับซ้อนด้วยลูกศรความสัมพันธ์ในรูปแบบ ASCII ที่ใช้งานง่ายและมนุษย์อ่านได้
()->[]->()ซึ่งช่วยให้การเขียนและเพิ่มประสิทธิภาพการค้นหาแบบหลายขั้นตอนเป็นเรื่องง่าย RETURN: แสดงผลพร็อพเพอร์ตี้หรือเส้นทาง JSON จากองค์ประกอบที่ตรงกัน
2. กรองผลการค้นหาของคำค้นหา GQL
ตอนนี้มากรองคำค้นหาเพื่อให้เราดูเฉพาะเส้นทางของคอนเทนเนอร์ที่ถูกบุกรุกเป้าหมาย MV-CAPYBARA-003
- วางคำค้นหาต่อไปนี้ลงในตัวแก้ไข SQL แล้วคลิกเรียกใช้
SELECT * FROM GRAPH_TABLE( `lost_cargo_dataset.logistics_network` MATCH p = (m:Manifest {shipment_id: 'MV-CAPYBARA-003'})-[:CARRIED_BY]->(v:Vessel)-[:OPERATED_BY]->(comp:Company) RETURN TO_JSON(p) AS path ); - คลิกแท็บกราฟในส่วนผลลัพธ์

- ตอนนี้โปรแกรมดูจะแสดงเฉพาะเส้นทางการสำรวจที่ใช้งานอยู่สำหรับ
MV-CAPYBARA-003ซูมเข้าเพื่อดูโหนดและการเชื่อมต่อ- ดับเบิลคลิกโหนด
Companyเพื่อเปิดแผงคุณสมบัติ ในส่วนพร็อพเพอร์ตี้ คุณจะเห็นผู้ให้บริการcompany_id:103(Davy Jones Shipping) จดรหัสบริษัทนี้ไว้ คุณจะต้องใช้รหัสนี้ในภายหลังเพื่อดึงรหัสผ่านการล้างข้อมูลจากรีจิสทรีความปลอดภัย - ดับเบิลคลิกโหนด
Vesselเพื่อยืนยันว่าเป็นFlying Dutchman
- ดับเบิลคลิกโหนด
6. แชทกับกราฟโดยใช้ Conversational Analytics
ตอนนี้คุณได้ค้นหากราฟด้วยตนเองเพื่อหารหัสบริษัทแล้ว มาใช้การวิเคราะห์เชิงสนทนาเพื่อแชทกับกราฟโดยตรงและระบุตำแหน่งที่คอนเทนเนอร์ของเรากำลังมุ่งหน้าไปกัน
1. เริ่มเซสชัน Conversational Analytics
- ในคอนโซล Google Cloud ให้ไปที่คอนโซล BigQuery แล้วขยายแผงทรัพยากรเพื่อค้นหาชุดข้อมูล (
lost_cargo_dataset) - คลิกทรัพยากรกราฟพร็อพเพอร์ตี้:
logistics_network - ในแถบเครื่องมือของแผงรายละเอียดที่ด้านบน ให้คลิกปุ่มแชท ซึ่งจะเปิดเซสชัน Conversational Analytics ที่โหลดบริบทของกราฟไว้ล่วงหน้า

2. ระบุพอร์ตเชื่อมต่อที่ใกล้ที่สุดสำหรับคอนเทนเนอร์ที่ถูกลักลอบ
เครื่องบินลาดตระเวนทางทะเลเพิ่งพบเรือที่ตรงกับคำอธิบายของเรือบรรทุกสินค้าของเราซึ่งแล่นอยู่นอกเส้นทาง (โดยปิดใช้งานทรานสปอนเดอร์) ที่พิกัด POINT(-122.48 37.55) หากต้องการสกัดกั้นสินค้า เราต้องหาท่าเทียบเรือที่ใกล้ที่สุดซึ่งเป็นที่ตั้งของDavy Jones Shippingกลุ่มเงา
แทนที่จะค้นหาพอร์ตทั่วโลกทั้งหมดด้วยตนเอง เราจะค้นหาเครือข่ายกราฟเพื่อดึงพอร์ตที่เชื่อมต่อกับกองเรือที่ใช้งานอยู่ของกลุ่มและวัดว่าพอร์ตใดอยู่ใกล้กับจุดที่พบมากที่สุด
- ในกล่องแชทของ Conversational Analytics ให้ป้อนพรอมต์ต่อไปนี้
Find all ports associated with Davy Jones Shipping vessels. Which port is closest to coordinate POINT(-122.48 37.55), show the distance in km, and display it on a map.

- โปรดพิจารณาคำตอบอย่างละเอียด เอเจนต์จะสำรวจกราฟและแสดงสิ่งอำนวยความสะดวกในการเทียบท่าที่ใกล้ที่สุดพร้อมระยะทาง
- พอร์ตเชื่อมต่อ:
Mountain View Terminal - ระยะทาง:
39.42 kilometers
- พอร์ตเชื่อมต่อ:
- เนื่องจาก Conversational Analytics ขับเคลื่อนโดย Gemini ที่มีการผสานรวมเชิงพื้นที่ (GIS) แบบเนทีฟ จึงสามารถตีความจุดพิกัดทางภูมิศาสตร์และใช้ความรู้เกี่ยวกับโลกเพื่อยืนยันตำแหน่งได้"เรืออยู่ห่างจากท่าเรือ Mountain View รัฐแคลิฟอร์เนียประมาณ 39.42 กิโลเมตร ซึ่งบ่งชี้ว่ากำลังมุ่งหน้าไปยังท่าเรือเพื่อเทียบท่า"
ซึ่งยืนยันว่าสินค้าของเรากำลังมุ่งหน้าไปยัง Mountain View โดยตรง
เบื้องหลัง: Graph Query Language (GQL) และ GIS ภูมิสารสนเทศ
เบื้องหลังการทำงาน เอเจนต์ข้อมูลวิเคราะห์เชิงสนทนาจะรวบรวมและเรียกใช้คําค้นหาแบบไดนามิกที่รวมการจับคู่เส้นทางกราฟกับการคํานวณระยะทางเชิงพื้นที่ ซึ่งทำได้โดยใช้คําสั่ง GQL COLUMNS ดั้งเดิม โดยคํานวณระยะทางตามแนวเส้นโค้งบนพื้นผิวทรงกลม (Geodesic) ภายในกราฟการจับคู่การสำรวจ
SELECT port_id, port_name, country, latitude, longitude, distance_km
FROM GRAPH_TABLE(
`lost_cargo_dataset.logistics_network`
MATCH (c:Company)<-[]-(v:Vessel)-[]->(p:Port)
WHERE LOWER(c.company_name) = 'davy jones shipping'
COLUMNS (
p.port_id,
p.port_name,
p.country,
p.latitude,
p.longitude,
ROUND(ST_DISTANCE(ST_GEOGPOINT(p.longitude, p.latitude), ST_GEOGPOINT(-122.48, 37.55)) / 1000, 2) AS distance_km
)
)
ORDER BY distance_km ASC;
การรวมฟังก์ชันภูมิสารสนเทศ (GIS) ดั้งเดิม (ST_DISTANCE, ST_GEOGPOINT) เข้ากับการจับคู่กราฟพร็อพเพอร์ตี้ GQL ทำให้ BigQuery แก้ไขร่องรอยการดำเนินงานของกลุ่มบริษัทแบบไดนามิก และคำนวณความใกล้ชิดทางกายภาพในโลกแห่งความเป็นจริงได้ในการค้นหาเดียว
7. ค้นหาข้อมูลที่ขาดหายไปด้วย Knowledge Catalog
กราฟพร็อพเพอร์ตี้แสดงความสัมพันธ์ แต่ไม่ได้มีตารางที่จัดเก็บรหัสการลบล้างจริง
ในสภาพแวดล้อมขององค์กรจริงที่มีชุดข้อมูลและตารางหลายร้อยรายการ การค้นหาข้อมูลนี้อาจเป็นเรื่องยาก เราจะใช้แคตตาล็อกความรู้เพื่อทำการค้นหาเชิงความหมายและค้นหาตารางที่ถูกต้อง
1. การค้นหาเชิงความหมายใน Knowledge Catalog
- ใน คอนโซล Google Cloud ให้ค้นหาและไปที่ Knowledge Catalog ➔ ค้นหา
- ในคอลัมน์ตัวกรองการค้นหาในส่วนระบบ ให้เลือก BigQuery เพื่อจำกัดผลลัพธ์
- ป้อนคำค้นหาต่อไปนี้ในช่องค้นหา
container override codes

- คลิกแหล่งข้อมูลตาราง
maritime_security_registryที่ปรากฏในผลการค้นหา
เมื่อตรวจสอบสคีมาข้อมูลเมตา คุณจะเห็นว่าตารางมีคอลัมน์สำหรับข้อมูลความปลอดภัยของคอนเทนเนอร์ เช่น บริษัทผู้ประสานงาน co_id, โทเค็นผู้ดูแล cust_tok และที่สำคัญที่สุดคือคอลัมน์รหัสผ่านสำหรับการลบล้างคอนเทนเนอร์ที่ปลอดภัย clc_ovr_cd
เราค้นพบทั้งตารางและคอลัมน์ที่ปลอดภัยที่แน่นอนซึ่งเราต้องใช้ในการกู้คืนสินค้าเรียบร้อยแล้ว
🔓 การกำกับดูแลในโลกแห่งความเป็นจริง: ในสภาพแวดล้อมขององค์กรที่ใช้งานจริง ทีมรักษาความปลอดภัยและการกำกับดูแลยังใช้ประโยชน์จากสิ่งต่อไปนี้ด้วย
- เทมเพลตแง่มุมและแท็ก: เพื่อแนบข้อมูลเมตาทางธุรกิจ (เช่น เจ้าของข้อมูล ระยะเวลาการเก็บรักษา หรือการจัดประเภท PII) กับสคีมาตาราง
- แหล่งที่มาของข้อมูล: เพื่อสร้างโฟลว์ชาร์ตแบบภาพโดยอัตโนมัติซึ่งแสดงถึงวิธีที่ระบบปลายทางจะค้นหาและใช้ตาราง เช่น
maritime_security_registry
2. ตรวจสอบการรักษาความปลอดภัยของคอลัมน์ใน BigQuery
- กลับไปที่คอนโซล BigQuery
- ในแท็บExplorer ให้เลือก
lost_cargo_datasetแล้วคลิกตารางmaritime_security_registry - คลิกแท็บสคีมา

- โปรดทราบว่าคอลัมน์
clc_ovr_cdได้รับการรักษาความปลอดภัยด้วยแท็กนโยบายชื่อMaskShippingDetails(แสดงอยู่ในคอลัมน์แท็กนโยบาย) - เปิดแท็บ SQL Editor ใหม่ใน BigQuery แล้วพยายามดูรหัสการลบล้างรีจิสทรีโดยเรียกใช้การค้นหาต่อไปนี้
SELECT * FROM `lost_cargo_dataset.maritime_security_registry` WHERE co_id = 103; - เนื่องจากบัญชีของคุณยังไม่มีสิทธิ์อ่านคอลัมน์ที่ติดแท็กด้วย
MaskShippingDetailsคำค้นหาจึงจะล้มเหลวทันทีพร้อมข้อผิดพลาดด้านความปลอดภัยของฐานข้อมูลปฏิเสธการเข้าถึง

8. การแฮ็กรหัสผ่านเพื่อดึงรหัสผ่าน
หากต้องการอ่านโค้ดลบล้างสุดท้ายในข้อความที่ชัดเจน เราต้องให้สิทธิ์บัญชีผู้ใช้ในการอ่านคอลัมน์ที่ติดแท็กด้วย MaskShippingDetails
1. ให้สิทธิ์แท็กนโยบาย
- ในแผงการนำทางด้านซ้ายของคอนโซล BigQuery ให้ไปที่แท็กนโยบาย
- เลือกการจัดหมวดหมู่ชื่อ
LostCargoSecurity_ - คลิก
MaskShippingDetailsในรายการแท็ก - ในแผงข้อมูลทางด้านขวาของหน้าจอ ให้คลิกเพิ่มผู้รับมอบสิทธิ์ (หากแผงซ่อนอยู่ ให้คลิกแสดงแผงข้อมูลที่ด้านขวาบน)
- ในช่องหลักการใหม่ ให้ป้อนอีเมลผู้ใช้ Google Cloud ที่ใช้งานอยู่
- ในเมนูแบบเลื่อนลงเลือกบทบาท ให้ค้นหาและเลือกผู้อ่านแบบละเอียด แล้วคลิกบันทึก

2. ค้นหารหัสลบล้าง
กลับไปที่โปรแกรมแก้ไขพื้นที่ทํางาน BigQuery เนื่องจากตอนนี้คุณมีสิทธิ์เข้าถึงระดับผู้อ่านแบบละเอียดแล้ว เราจึงควรเรียกใช้การค้นหาอีกครั้งและดูข้อมูลที่ไม่ได้มาสก์ได้
SELECT * FROM `lost_cargo_dataset.maritime_security_registry`
WHERE co_id = 103;
🔓 ผลลัพธ์
การค้นหาจะแสดงรหัสการลบล้างที่ไม่ได้มาสก์
SHIVER-ME-TIMBERS-888

9. ล้างข้อมูล
โปรดล้างข้อมูลทรัพยากรแซนด์บ็อกซ์ที่สร้างขึ้นระหว่างแล็บนี้เพื่อหลีกเลี่ยงการเรียกเก็บเงิน
กลับไปที่เทอร์มินัล Cloud Shell แล้วลบชุดข้อมูล BigQuery ที่มีตารางการขนส่ง
bq rm -r -f -d lost_cargo_dataset
นำไฟล์ที่โคลนจากที่เก็บออก
cd ..
rm -rf data-cloud-roadshow-26
10. ขอแสดงความยินดี
คุณแก้ไขการตรวจสอบและดึงรหัสการลบล้างการล้างข้อมูลเรียบร้อยแล้ว
สิ่งที่คุณได้เรียนรู้
- วิธีสร้างกราฟเชิงคุณสมบัติใน BigQuery เพื่อแสดงถึงเอนทิตีและความสัมพันธ์ที่ซับซ้อน
- วิธีตั้งค่าโหนด Edge พร็อพเพอร์ตี้ และป้ายกำกับเพื่อบันทึกการเชื่อมต่อข้อมูล
- วิธีค้นหากราฟพร็อพเพอร์ตี้โดยใช้ภาษาธรรมชาติด้วย Conversational Analytics ของ BigQuery
- วิธีสร้างนิพจน์ Graph Query Language (GQL) เพื่อข้ามเส้นทางเชิงสัมพันธ์
- วิธีค้นหาชิ้นงานที่ปลอดภัยโดยใช้แคตตาล็อกความรู้และเข้าถึงข้อมูลที่จำกัดระดับคอลัมน์โดยใช้แท็กนโยบาย