การควบคุมการเข้าถึงใน 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) เป็นรหัสภายนอกและอีกแหล่งหนึ่งสำหรับเก็บ User-ID (uid) เป็นรหัสภายนอก
แหล่งที่มาของข้อมูลประจำตัว | พร็อพเพอร์ตี้ผู้ใช้ | รหัสภายนอก |
---|---|---|
id1 | id1_identity | sAMAccountName |
id2 | id2_identity | uid |
สร้างแหล่งที่มาของข้อมูลประจำตัวสำหรับรหัสภายนอกที่ใช้ได้แต่ละรหัส ซึ่งใช้เพื่ออ้างอิงถึงผู้ใช้ในองค์กร
ตารางต่อไปนี้แสดงลักษณะที่ผู้ใช้ที่มีบัญชี Google และรหัสภายนอก 2 รายการ (id1_identity และ id2_identity) และค่าของผู้ใช้จะปรากฏในไดเรกทอรีในระบบคลาวด์
ผู้ใช้ | อีเมล | 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
ของ Ann (SAMAccountName) ID จะเป็น:
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 ID ในไดเรกทอรีระบบคลาวด์ การตรวจสอบว่า Cloud Directory รู้ทั้งรหัส Google และรหัสภายนอกของผู้ใช้มี 3 วิธีดังนี้
- อัปเดตโปรไฟล์ผู้ใช้แต่ละรายการด้วยตนเองผ่านคอนโซลผู้ดูแลระบบ เราแนะนำให้ใช้กระบวนการนี้สำหรับการทดสอบและสร้างต้นแบบโดยใช้โปรไฟล์ผู้ใช้ 2-3 โปรไฟล์เท่านั้น
- แมปรหัสภายนอกกับรหัส Google โดยใช้ Directory API ขอแนะนําให้ใช้วิธีนี้สําหรับผู้ที่ใช้ SDK ของ Identity Connector ไม่ได้
- สร้างเครื่องมือเชื่อมต่อข้อมูลประจำตัวโดยใช้ 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
เดียวกัน กลุ่มใหม่จะไม่ให้สิทธิ์เข้าถึงรายการจนกว่าจะมีการจัดทำดัชนีรายการดังกล่าวอีกครั้ง