การควบคุมการเข้าถึงใน Google Cloud Search จะอิงตามบัญชี Google ของผู้ใช้ เมื่อจัดทำดัชนีเนื้อหา ACL ทั้งหมดในรายการต้องเปลี่ยนเป็นรหัสผู้ใช้หรือกลุ่ม Google ที่ถูกต้อง (อีเมล)
ในหลายกรณี ที่เก็บไม่มีความรู้โดยตรงเกี่ยวกับบัญชี Google แต่ผู้ใช้อาจแสดงด้วยบัญชีในเครื่องหรือใช้ การลงชื่อเข้าใช้แบบรวมศูนย์กับผู้ให้บริการข้อมูลประจำตัวและรหัสอื่น ที่ไม่ใช่อีเมลของผู้ใช้เพื่อระบุแต่ละบัญชี รหัสนี้เรียกว่ารหัสภายนอก
แหล่งข้อมูลประจำตัวที่สร้างขึ้นโดยใช้คอนโซลผู้ดูแลระบบจะช่วยลดช่องว่างระหว่างระบบข้อมูลประจำตัวโดยทำสิ่งต่อไปนี้
- การกําหนดฟิลด์ผู้ใช้ที่กําหนดเอง เพื่อจัดเก็บรหัสภายนอก ฟิลด์นี้ใช้เพื่อเชื่อมโยงรหัสภายนอกกับบัญชี Google
- กำหนดเนมสเปซสำหรับกลุ่มความปลอดภัย ที่จัดการโดยที่เก็บหรือ ผู้ให้บริการข้อมูลประจำตัว
ใช้แหล่งที่มาของข้อมูลประจำตัวในกรณีต่อไปนี้
- ที่เก็บไม่มีข้อมูลเกี่ยวกับอีเมลหลักของผู้ใช้ใน Google Workspace หรือ Google Cloud Directory
- ที่เก็บจะกำหนดกลุ่มสำหรับการควบคุมการเข้าถึงซึ่งไม่สอดคล้องกับกลุ่มที่อิงตามอีเมลใน Google Workspace
แหล่งที่มาของข้อมูลประจำตัวช่วยปรับปรุงประสิทธิภาพการจัดทำดัชนีโดยการแยกการจัดทำดัชนี จากการจับคู่ข้อมูลประจำตัว การแยกนี้ช่วยให้คุณเลื่อนการค้นหาผู้ใช้ เมื่อสร้าง ACL และจัดทำดัชนีรายการได้
ตัวอย่างการติดตั้งใช้งาน
รูปที่ 1 แสดงตัวอย่างการติดตั้งใช้งานที่องค์กรใช้ทั้งที่เก็บข้อมูลในองค์กรและที่เก็บข้อมูลในระบบคลาวด์ โดยแต่ละที่เก็บจะใช้รหัสภายนอกประเภทต่างๆ เพื่ออ้างอิงถึงผู้ใช้

ที่เก็บ 1 ระบุผู้ใช้โดยใช้อีเมลที่ยืนยันโดยใช้ SAML เนื่องจากที่เก็บ 1 ทราบอีเมลหลักของผู้ใช้ใน Google Workspace หรือ Cloud Directory จึงไม่จำเป็นต้องมีแหล่งข้อมูลประจำตัว
ที่เก็บ 2 ผสานรวมกับไดเรกทอรีในองค์กรโดยตรงและ
ระบุผู้ใช้ตามแอตทริบิวต์ sAMAccountName
เนื่องจากที่เก็บ 2
ใช้แอตทริบิวต์ sAMAccountName
เป็นรหัสภายนอก จึงต้องมีแหล่งข้อมูลระบุตัวตน
สร้างแหล่งที่มาของข้อมูลประจำตัว
หากต้องการแหล่งที่มาของข้อมูลประจำตัว โปรดดูแมปข้อมูลประจำตัวของผู้ใช้ใน Cloud Search
คุณต้องสร้างแหล่งที่มาของข้อมูลประจำตัวก่อนสร้างตัวเชื่อมต่อเนื้อหา เนื่องจาก
คุณจะต้องใช้รหัสแหล่งที่มาของข้อมูลประจำตัวเพื่อสร้าง ACL และจัดทำดัชนีข้อมูล ดังที่ได้กล่าวไว้ก่อนหน้านี้ การสร้างแหล่งที่มาของข้อมูลประจำตัวยังสร้างพร็อพเพอร์ตี้ผู้ใช้ที่กำหนดเองใน Cloud Directory ด้วย ใช้พร็อพเพอร์ตี้นี้เพื่อบันทึกรหัสภายนอกสำหรับผู้ใช้แต่ละรายในที่เก็บ พร็อพเพอร์ตี้จะตั้งชื่อตาม
รูปแบบ IDENTITY_SOURCE_ID_identity
ตารางต่อไปนี้แสดงแหล่งข้อมูลระบุตัวตน 2 แหล่ง โดยแหล่งหนึ่งจะเก็บชื่อบัญชี SAM (sAMAccountName) เป็นรหัสภายนอก และอีกแหล่งหนึ่งจะเก็บรหัสผู้ใช้ (uid) เป็นรหัสภายนอก
แหล่งที่มาของข้อมูลประจำตัว | พร็อพเพอร์ตี้ผู้ใช้ | รหัสภายนอก |
---|---|---|
id1 | id1_identity | sAMAccountName |
id2 | id2_identity | uid |
สร้างแหล่งที่มาของข้อมูลประจำตัวสำหรับรหัสภายนอกที่เป็นไปได้แต่ละรายการที่ใช้เพื่อ อ้างอิงถึงผู้ใช้ในองค์กร
ตารางต่อไปนี้แสดงวิธีที่ผู้ใช้ที่มีบัญชี Google และรหัสภายนอก 2 รายการ (id1_identity และ id2_identity) และค่าของรหัสเหล่านั้นปรากฏใน Cloud Directory
ผู้ใช้ | อีเมล | id1_identity | id2_identity |
---|---|---|---|
Ann | ann@example.com | ตัวอย่าง\ann | 1001 |
คุณอ้างอิงผู้ใช้รายเดียวกันได้โดยใช้รหัส 3 แบบที่แตกต่างกัน (อีเมล Google, sAMAccountName และ uid) เมื่อสร้าง ACL สำหรับการจัดทำดัชนี
เขียน ACL ของผู้ใช้
ใช้วิธี getUserPrincpal() หรือวิธี getGroupPrincipal() เพื่อสร้างหลักการโดยใช้รหัสภายนอกที่ระบุ
ตัวอย่างต่อไปนี้แสดงวิธีเรียกสิทธิ์ในไฟล์ สิทธิ์เหล่านี้รวมถึงชื่อของผู้ใช้แต่ละรายที่มีสิทธิ์เข้าถึงไฟล์
ข้อมูลโค้ดต่อไปนี้แสดงวิธีสร้างผู้รับสิทธิ์ที่เป็นเจ้าของโดยใช้รหัสภายนอก (externalUserName
) ที่จัดเก็บไว้ในแอตทริบิวต์
สุดท้าย ข้อมูลโค้ดต่อไปนี้แสดงวิธีสร้างผู้ใช้หลักที่เป็นผู้อ่านไฟล์
เมื่อมีรายชื่อผู้อ่านและเจ้าของแล้ว คุณจะสร้าง ACL ได้โดยทำดังนี้
REST API ที่อยู่เบื้องหลังใช้รูปแบบ
identitysources/IDENTITY_SOURCE_ID/users/EXTERNAL_ID
สำหรับรหัสเมื่อสร้างหลักการ เมื่อกลับไปดูตารางก่อนหน้า
หากคุณสร้าง ACL ด้วย id1_identity
(SAMAccountName) ของแอน รหัสจะ
เปลี่ยนเป็น
identitysources/id1_identity/users/example/ann
รหัสทั้งหมดนี้เรียกว่ารหัสกลางของผู้ใช้ เนื่องจากเป็นตัวเชื่อมระหว่างรหัสภายนอกกับรหัส Google ที่จัดเก็บ ไว้ใน Cloud Directory
ดูข้อมูลเพิ่มเติมเกี่ยวกับการสร้างแบบจำลอง ACL ที่ใช้สำหรับที่เก็บได้ที่ ACL
แมปกลุ่ม
แหล่งที่มาของข้อมูลระบุตัวตนยังทำหน้าที่เป็นเนมสเปซสำหรับกลุ่มที่ใช้ใน ACL ด้วย คุณสามารถ ใช้ฟีเจอร์เนมสเปซนี้เพื่อสร้างและแมปกลุ่มที่ใช้เพื่อวัตถุประสงค์ด้านความปลอดภัยเท่านั้น หรือเป็นกลุ่มเฉพาะที่ในที่เก็บ
ใช้ Cloud Identity Groups API เพื่อสร้างกลุ่มและจัดการการเป็นสมาชิก หากต้องการเชื่อมโยงกลุ่มกับแหล่งข้อมูลประจำตัว ให้ใช้ชื่อทรัพยากรของแหล่งข้อมูลประจำตัวเป็นเนมสเปซของกลุ่ม
ข้อมูลโค้ดต่อไปนี้แสดงวิธีสร้างกลุ่มโดยใช้ Cloud Identity Groups API
สร้าง ACL ของกลุ่ม
หากต้องการสร้าง ACL ของกลุ่ม ให้ใช้เมธอด getGroupPrincipal() เพื่อสร้างหลักการของกลุ่มโดยใช้รหัสภายนอกที่ระบุ จากนั้นสร้าง ACL โดยใช้คลาส Acl.Builder ดังนี้
เครื่องมือเชื่อมต่อข้อมูลประจำตัว
แม้ว่าคุณจะใช้รหัสภายนอกที่ไม่ใช่ของ Google เพื่อสร้าง ACL และจัดทำดัชนีรายการได้ แต่ผู้ใช้จะดูรายการในการค้นหาไม่ได้จนกว่ารหัสภายนอกจะเปลี่ยนเป็นรหัส Google ใน Cloud Directory มี 3 วิธีในการตรวจสอบว่า Cloud Directory รู้ทั้งรหัส Google และรหัสภายนอกของผู้ใช้
- อัปเดตโปรไฟล์ของผู้ใช้แต่ละรายด้วยตนเองผ่านคอนโซลผู้ดูแลระบบ กระบวนการนี้แนะนำให้ใช้สำหรับการทดสอบและการสร้างต้นแบบโดยใช้โปรไฟล์ของผู้ใช้เพียงไม่กี่รายเท่านั้น
- แมปรหัสภายนอกกับรหัส Google โดยใช้ Directory API เราขอแนะนำให้ผู้ที่ไม่สามารถใช้ SDK ของ Identity Connector ทำตามกระบวนการนี้
- สร้างเครื่องมือเชื่อมต่อข้อมูลระบุตัวตน โดยใช้ SDK เครื่องมือเชื่อมต่อข้อมูลระบุตัวตน SDK นี้ช่วยให้ใช้ Directory API เพื่อแมปรหัสได้ง่ายขึ้น
ตัวเชื่อมต่อข้อมูลประจำตัวคือโปรแกรมที่ใช้ในการเชื่อมโยงรหัสภายนอกจากข้อมูลประจำตัวขององค์กร (ผู้ใช้และกลุ่ม) กับข้อมูลประจำตัวภายในของ Google ที่ Google Cloud Search ใช้ หากต้องสร้างแหล่งที่มาของข้อมูลประจำตัว คุณต้อง สร้างเครื่องมือเชื่อมต่อข้อมูลประจำตัว
Google Cloud Directory Sync (GCDS) เป็นตัวอย่างของตัวเชื่อมต่อข้อมูลประจำตัว ตัวเชื่อมต่อข้อมูลประจำตัวนี้จะแมปข้อมูลผู้ใช้และกลุ่มจาก Active Directory ของ Microsoft ไปยัง Cloud Directory พร้อมกับแอตทริบิวต์ผู้ใช้ที่อาจแสดงถึงข้อมูลประจำตัวในระบบอื่นๆ
ซิงค์ข้อมูลประจำตัวโดยใช้ REST API
ใช้เมธอด update
เพื่อซิงค์ข้อมูลประจำตัวโดยใช้ REST API
การแมปข้อมูลประจำตัวใหม่
หลังจากแมปรหัสของรายการกับรหัสอื่นแล้ว คุณต้องจัดทำดัชนีรายการอีกครั้งเพื่อให้รหัสใหม่มีผล ตัวอย่างเช่น
- หากคุณพยายามนำการแมปออกจากผู้ใช้หรือแมปใหม่ไปยังผู้ใช้รายอื่น ระบบจะยังคงเก็บการแมปเดิมไว้จนกว่าคุณจะจัดทำดัชนีอีกครั้ง
- หากคุณลบกลุ่มที่แมปซึ่งอยู่ใน ACL ของรายการ แล้วสร้างกลุ่มใหม่ที่มี
groupKey
เดียวกัน กลุ่มใหม่จะไม่อนุญาตให้เข้าถึงรายการจนกว่าจะจัดทำดัชนีรายการอีกครั้ง