โดยค่าเริ่มต้น Google Cloud Search จะรู้จักเฉพาะข้อมูลประจำตัวของ Google ใน Google Cloud Directory ใช้ตัวเชื่อมต่อข้อมูลประจำตัวเพื่อซิงค์ข้อมูลประจำตัวขององค์กร กับข้อมูลประจำตัวของ Google ที่ Cloud Search ใช้
Google มีตัวเลือกต่อไปนี้สำหรับการพัฒนาตัวเชื่อมต่อข้อมูลประจำตัว
SDK ของ Identity Connector: เหมาะที่สุดสำหรับโปรแกรมเมอร์ Java SDK เป็น Wrapper รอบ REST API ที่ช่วยให้คุณสร้างตัวเชื่อมต่อได้อย่างรวดเร็ว หากต้องการใช้ SDK โปรดดูสร้างโปรแกรมเชื่อมต่อข้อมูลประจำตัวโดยใช้ Identity Connector SDK
REST API และไลบรารี API ระดับต่ำ: เหมาะที่สุดสำหรับโปรแกรมเมอร์ที่ไม่ใช่ Java หากต้องการสร้างเครื่องมือเชื่อมต่อข้อมูลประจำตัวโดยใช้ REST API โปรดดู Directory API: บัญชีผู้ใช้ สำหรับการแมปผู้ใช้ และ เอกสารประกอบของ Google Cloud Identity สำหรับการแมปกลุ่ม
สร้างเครื่องมือเชื่อมต่อข้อมูลประจำตัวโดยใช้ SDK ของเครื่องมือเชื่อมต่อข้อมูลประจำตัว
โดยทั่วไปแล้ว โปรแกรมเชื่อมต่อข้อมูลประจำตัวจะทำงานต่อไปนี้
- กำหนดค่าเครื่องมือเชื่อมต่อ
- ดึงข้อมูลผู้ใช้จากระบบข้อมูลประจำตัวและส่งไปยัง Google
- ดึงข้อมูลกลุ่มจากระบบข้อมูลประจำตัวและส่งไปยัง Google
ตั้งค่าทรัพยากร Dependency
รวมทรัพยากร Dependency เหล่านี้ไว้ในไฟล์บิลด์
Maven
<dependency>
<groupId>com.google.enterprise.cloudsearch</groupId>
<artifactId>google-cloudsearch-identity-connector-sdk</artifactId>
<version>v1-0.0.3</version>
</dependency>
Gradle
compile group: 'com.google.enterprise.cloudsearch',
name: 'google-cloudsearch-identity-connector-sdk',
version: 'v1-0.0.3'
สร้างการกำหนดค่าเครื่องมือเชื่อมต่อ
ตัวเชื่อมต่อทุกตัวใช้ไฟล์การกำหนดค่าสำหรับพารามิเตอร์ต่างๆ เช่น รหัสที่เก็บ
กำหนดพารามิเตอร์เป็นคู่คีย์-ค่า เช่น
api.sourceId=1234567890abcdef
Google Cloud Search SDK มีพารามิเตอร์ที่ Google จัดหาให้สำหรับเครื่องมือเชื่อมต่อทั้งหมด คุณต้องประกาศสิ่งต่อไปนี้ในไฟล์การกำหนดค่า
- โปรแกรมเชื่อมต่อเนื้อหา: ประกาศ
api.sourceIdและapi.serviceAccountPrivateKeyFileซึ่งจะระบุที่เก็บและ คีย์ส่วนตัวที่จำเป็นสำหรับการเข้าถึง
- โปรแกรมเชื่อมต่อข้อมูลประจำตัว: ประกาศ
api.identitySourceIdเพื่อระบุแหล่งที่มาของข้อมูลประจำตัวภายนอก สำหรับการซิงค์ผู้ใช้ ให้ประกาศapi.customerId(รหัสที่ไม่ซ้ำสำหรับบัญชี Google Workspace) ด้วย
ประกาศพารามิเตอร์อื่นๆ ที่ Google จัดหาให้เมื่อต้องการลบล้างค่าเริ่มต้นเท่านั้น โปรดดูรายละเอียดเกี่ยวกับการสร้างรหัสและคีย์ที่ พารามิเตอร์ที่ Google จัดหาให้
นอกจากนี้ คุณยังกำหนดพารามิเตอร์เฉพาะที่เก็บในไฟล์กำหนดค่าได้ด้วย
ส่งไฟล์การกำหนดค่าไปยังตัวเชื่อมต่อ
ตั้งค่าพร็อพเพอร์ตี้ระบบ config เพื่อส่งไฟล์การกำหนดค่า ใช้-D
อาร์กิวเมนต์เมื่อเริ่มตัวเชื่อมต่อ เช่น
java -classpath myconnector.jar -Dconfig=MyConfig.properties MyConnector
หากไม่ระบุอาร์กิวเมนต์นี้ SDK จะพยายามใช้ไฟล์ชื่อ
connector-config.properties ในไดเรกทอรีภายใน
สร้างโปรแกรมเชื่อมต่อข้อมูลประจำตัวแบบซิงค์เต็มโดยใช้คลาสเทมเพลต
SDK มีเทมเพลต FullSyncIdentityConnector สำหรับซิงค์ผู้ใช้และกลุ่มทั้งหมดจากที่เก็บ ส่วนนี้จะอธิบายวิธีการใช้งาน
ส่วนนี้อ้างอิงถึงโค้ดจากIdentityConnectorSample.javaตัวอย่าง
ซึ่งอ่านข้อมูลประจำตัวจากไฟล์ CSV
ใช้จุดแรกเข้าของเครื่องมือเชื่อมต่อ
จุดแรกเข้าคือเมธอด main() โดยจะสร้างอินสแตนซ์ Application
และเรียกใช้ start()
เพื่อเรียกใช้เครื่องมือเชื่อมต่อ
ก่อนที่จะเรียกใช้ application.start() ให้ใช้
IdentityApplication.Builder
เพื่อสร้างอินสแตนซ์ของเทมเพลต FullSyncIdentityConnector
SDK จะเรียกใช้ initConfig() หลังจากที่เมธอด main() เรียกใช้
Application.build() initConfig() วิธี
- ตรวจสอบว่า
Configurationยังไม่ได้เริ่มต้น - เริ่มต้นออบเจ็กต์
Configurationด้วยคู่คีย์-ค่าที่ Google จัดหาให้
ใช้การติดตั้งใช้งานอินเทอร์เฟซที่เก็บ
Repository จะซิงค์ข้อมูลประจำตัวของที่เก็บกับข้อมูลประจำตัวของ Google เมื่อ
ใช้เทมเพลต คุณจะต้องลบล้างเมธอดบางอย่างเท่านั้น สำหรับ
FullSyncIdentityConnector ให้ลบล้างวิธีการต่อไปนี้
init()สำหรับการตั้งค่าและการเริ่มต้นlistUsers(): หากต้องการซิงค์ผู้ใช้ทั้งหมดlistGroups(): หากต้องการซิงค์กลุ่มทั้งหมด- (ไม่บังคับ)
close(): สำหรับการล้างข้อมูลระหว่างการปิดระบบ
รับพารามิเตอร์การกำหนดค่าที่กำหนดเอง
เรียกพารามิเตอร์ที่กำหนดเองจากออบเจ็กต์ Configuration ซึ่งโดยปกติจะอยู่ในเมธอด init() ข้อมูลโค้ดต่อไปนี้แสดงวิธีดึงเส้นทาง CSV
หากต้องการรับและแยกวิเคราะห์พารามิเตอร์ที่มีหลายค่า ให้ใช้เครื่องมือแยกวิเคราะห์ประเภทของคลาส Configuration เพื่อแยกวิเคราะห์ข้อมูลเป็นกลุ่มๆ
ข้อมูลโค้ดต่อไปนี้จากตัวเชื่อมต่อบทแนะนำใช้เมธอด
getMultiValue
เพื่อรับรายการชื่อที่เก็บ GitHub
รับการแมปสำหรับผู้ใช้ทั้งหมด
ลบล้าง listUsers() เพื่อดึงข้อมูลการจับคู่ผู้ใช้ เมธอดนี้ยอมรับ
จุดตรวจสอบเพื่อซิงค์ต่อหากถูกขัดจังหวะ สำหรับผู้ใช้แต่ละราย
- รับการแมประหว่างข้อมูลประจำตัวของ Google กับข้อมูลประจำตัวภายนอก
- แพ็กคู่ลงในตัววนซ้ำที่
listUsers()ส่งคืน
รับการจับคู่ผู้ใช้
ข้อมูลโค้ดนี้แสดงการดึงข้อมูลการจับคู่ข้อมูลประจำตัวจากไฟล์ CSV
จัดแพ็กเกจการแมปผู้ใช้ลงในตัววนซ้ำ
เมธอด listUsers() จะแสดงผล
CheckpointCloseableIterable
ของออบเจ็กต์
IdentityUser
รับกลุ่ม
แทนที่ listGroups() เพื่อดึงข้อมูลกลุ่มและสมาชิกของกลุ่ม เมธอดนี้
ยอมรับจุดตรวจ สำหรับแต่ละกลุ่ม
- รับกลุ่มและสมาชิกของกลุ่ม
- รวมไว้ในตัววนซ้ำที่
listGroups()แสดงผล
รับข้อมูลประจำตัวของกลุ่ม
ข้อมูลโค้ดนี้แสดงการดึงข้อมูลกลุ่มและสมาชิกจากไฟล์ CSV
จัดกลุ่มและสมาชิกเป็นตัววนซ้ำ
เมธอด listGroups() จะแสดงผล CheckpointCloseableIterable ของออบเจ็กต์
IdentityGroup
ขั้นตอนถัดไป
- (ไม่บังคับ) ใช้
close()เพื่อปล่อยทรัพยากร - (ไม่บังคับ) สร้างเครื่องมือเชื่อมต่อเนื้อหา