โดยค่าเริ่มต้น Google Cloud Search จะจดจำเฉพาะข้อมูลประจำตัวของ Google ที่จัดเก็บไว้ใน Google Cloud Directory (ผู้ใช้และกลุ่ม) เครื่องมือเชื่อมต่อข้อมูลประจำตัวใช้เพื่อ ซิงค์ข้อมูลประจำตัวขององค์กรกับข้อมูลประจำตัวของ Google ที่ Google Cloud Search ใช้
Google มอบตัวเลือกต่อไปนี้สำหรับการพัฒนาเครื่องมือเชื่อมต่อข้อมูลประจำตัว
Identity Connector SDK ตัวเลือกนี้มีไว้สำหรับนักพัฒนาซอฟต์แวร์ที่กำลังเขียนโปรแกรม ในภาษาโปรแกรม Java Identity Connector SDK คือ Wrapper เกี่ยวกับ REST API ซึ่งจะช่วยให้คุณสร้างเครื่องมือเชื่อมต่อได้อย่างรวดเร็ว วิธีสร้าง เครื่องมือเชื่อมต่อข้อมูลประจำตัวที่ใช้ SDK, สร้างเครื่องมือเชื่อมต่อข้อมูลประจำตัวโดยใช้ Identity Connector SDK
REST API และไลบรารี API ระดับต่ำ ตัวเลือกเหล่านี้มีไว้สำหรับนักพัฒนาแอปที่ อาจไม่ได้กำลังเขียนโปรแกรมใน Java หรือโค้ดเบสรองรับ REST API หรือไลบรารี หากต้องการสร้างเครื่องมือเชื่อมต่อข้อมูลประจำตัวโดยใช้ REST API โปรดดู ถึง Directory API: บัญชีผู้ใช้ สำหรับ เกี่ยวกับการแมปผู้ใช้และ เอกสารประกอบของ Cloud Identity สำหรับ ข้อมูลเกี่ยวกับกลุ่มการแมป
สร้างเครื่องมือเชื่อมต่อข้อมูลประจำตัวโดยใช้ Identity Connector SDK
เครื่องมือเชื่อมต่อข้อมูลประจำตัวโดยทั่วไปจะทำงานต่อไปนี้
- กำหนดค่าเครื่องมือเชื่อมต่อ
- เรียกข้อมูลผู้ใช้ทั้งหมดจากระบบข้อมูลประจำตัวขององค์กร แล้วส่งให้กับผู้ใช้ Google สำหรับการซิงค์กับข้อมูลประจำตัวของ Google
- ดึงข้อมูลกลุ่มทั้งหมดจากระบบข้อมูลประจำตัวขององค์กรแล้วส่งไปยัง Google สำหรับการซิงค์กับข้อมูลประจำตัวของ Google
ตั้งค่าทรัพยากร Dependency
คุณต้องรวมทรัพยากร Dependency บางอย่างในไฟล์บิลด์เพื่อใช้ SDK คลิก บนแท็บด้านล่างเพื่อดูทรัพยากร 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 มีให้ พารามิเตอร์ที่เครื่องมือเชื่อมต่อทั้งหมดใช้ คุณต้องประกาศสิ่งต่อไปนี้ พารามิเตอร์ที่ Google มีให้ในไฟล์การกำหนดค่า
- สำหรับเครื่องมือเชื่อมต่อเนื้อหา คุณต้องประกาศ
api.sourceId
และapi.serviceAccountPrivateKeyFile
เป็นพารามิเตอร์เหล่านี้เพื่อระบุตำแหน่ง ของที่เก็บและคีย์ส่วนตัวที่จำเป็นต่อการเข้าถึงที่เก็บ
- สำหรับเครื่องมือเชื่อมต่อข้อมูลประจำตัว คุณต้องประกาศ
api.identitySourceId
เป็นรายการนี้ จะระบุตำแหน่งของแหล่งที่มาของข้อมูลประจำตัวภายนอก หากคุณ ที่ซิงค์ผู้ใช้ คุณต้องประกาศapi.customerId
เป็นรหัสที่ไม่ซ้ำกันสำหรับ บัญชี Google Workspace ขององค์กร
ยกเว้นกรณีที่คุณต้องการลบล้างค่าเริ่มต้นของผลิตภัณฑ์อื่นๆ ที่ Google ให้บริการ คุณไม่จำเป็นต้องประกาศพารามิเตอร์เหล่านั้นในไฟล์การกำหนดค่า สำหรับข้อมูลเพิ่มเติมเกี่ยวกับพารามิเตอร์การกำหนดค่าที่ Google มีให้ เช่น เกี่ยวกับวิธีสร้างรหัสและคีย์บางรายการ โปรดดู พารามิเตอร์การกำหนดค่าที่ Google มีให้
นอกจากนี้ คุณยังกำหนดพารามิเตอร์เฉพาะที่เก็บของคุณเองเพื่อใช้ใน ใหม่
ส่งไฟล์การกำหนดค่าไปยังเครื่องมือเชื่อมต่อ
ตั้งค่าพร็อพเพอร์ตี้ของระบบ config
เพื่อส่งไฟล์การกำหนดค่าไปยัง
เครื่องมือเชื่อมต่อ คุณสามารถตั้งค่าพร็อพเพอร์ตี้ได้โดยใช้อาร์กิวเมนต์ -D
เมื่อเริ่มต้น
เครื่องมือเชื่อมต่อ เช่น คำสั่งต่อไปนี้จะเริ่มต้นเครื่องมือเชื่อมต่อ
ด้วยไฟล์การกำหนดค่า MyConfig.properties
:
java -classpath myconnector.jar;... -Dconfig=MyConfig.properties MyConnector
หากไม่มีอาร์กิวเมนต์นี้ SDK จะพยายามเข้าถึงการกำหนดค่าเริ่มต้น
ไฟล์ชื่อ connector-config.properties
สร้างเครื่องมือเชื่อมต่อข้อมูลประจำตัวสำหรับการซิงค์แบบเต็มโดยใช้คลาสเทมเพลต
Identity Connector SDK มีคลาสเทมเพลต FullSyncIdentityConnector
คุณสามารถใช้เพื่อซิงค์ผู้ใช้และกลุ่มทั้งหมดจากข้อมูลระบุตัวตน
ที่มีข้อมูลประจำตัวของ Google ส่วนนี้จะอธิบายวิธีใช้
เทมเพลตของ FullSyncIdentityConnector
สำหรับการซิงค์ผู้ใช้และกลุ่มจากข้อมูลประจำตัวที่ไม่ใช่ของ Google โดยสมบูรณ์
ที่เก็บได้
เอกสารส่วนนี้หมายถึงข้อมูลโค้ดจาก
ตัวอย่าง IdentityConnecorSample.java
รายการ ตัวอย่างนี้อ่านผู้ใช้และกลุ่ม
ข้อมูลประจำตัวจากไฟล์ CSV สองไฟล์และซิงค์กับข้อมูลประจำตัวของ Google
ใช้งานจุดแรกเข้าของเครื่องมือเชื่อมต่อ
จุดแรกเข้าของเครื่องมือเชื่อมต่อคือ
main()
วิธี งานหลักของวิธีนี้คือการสร้างอินสแตนซ์ของ
Application
และเรียกใช้
start()
เพื่อเรียกใช้เครื่องมือเชื่อมต่อ
ก่อนโทร
application.start()
ให้ใช้
IdentityApplication.Builder
เพื่อสร้างอินสแตนซ์
FullSyncIdentityConnector
เทมเพลต FullSyncIdentityConnector
ยอมรับ
Repository
ที่จะนำเมธอดไปใช้
ข้อมูลโค้ดต่อไปนี้แสดงวิธีนำเมธอด main()
ไปใช้
ในเบื้องหลัง SDK เรียก
initConfig()
หลังจากเรียกเมธอด main()
ของเครื่องมือเชื่อมต่อ
Application.build
เมธอด initConfig()
จะทํางานต่อไปนี้
- เรียกใช้
Configuation.isInitialized()
เพื่อให้มั่นใจว่าConfiguration
ยังไม่ได้เริ่มต้น - เริ่มต้นออบเจ็กต์
Configuration
ด้วยคีย์-ค่าที่ Google จัดหา คู่ คู่คีย์-ค่าแต่ละคู่จะจัดเก็บไว้ในแท็กConfigValue
ภายในออบเจ็กต์Configuration
ใช้อินเทอร์เฟซ Repository
วัตถุประสงค์เพียงอย่างเดียวของออบเจ็กต์ Repository
คือเพื่อดำเนินการ
การซิงค์ข้อมูลประจำตัวของที่เก็บกับข้อมูลประจำตัวของ Google เมื่อใช้
เทมเพลต คุณเพียงลบล้างเมธอดบางอย่างภายในแท็ก
Repository
สำหรับสร้างเครื่องมือเชื่อมต่อข้อมูลประจำตัว สำหรับ
FullTraversalConnector
ก็จะเป็นการแทนที่เมธอดต่อไปนี้:
init()
หากต้องการดำเนินการตั้งค่าและเริ่มต้นที่เก็บข้อมูลประจำตัว ให้ลบล้าง เมธอด "init()"listUsers()
หากต้องการซิงค์ผู้ใช้ทั้งหมดในที่เก็บข้อมูลประจำตัวกับผู้ใช้ Google ให้ลบล้าง เมธอดlistUsers()
listGroups()
หากต้องการซิงค์กลุ่มทั้งหมดในที่เก็บข้อมูลประจำตัวกับ Google Groups ให้ทำดังนี้ ลบล้างเมธอดlistGroups()
(ไม่บังคับ)
close()
หากต้องการล้างข้อมูลที่เก็บ ให้ลบล้างclose()
ระบบจะเรียกวิธีนี้เพียงครั้งเดียวระหว่างการปิดเครื่องเชื่อมต่อ
รับพารามิเตอร์การกำหนดค่าที่กำหนดเอง
ในการจัดการการกำหนดค่าของเครื่องมือเชื่อมต่อ คุณจะต้อง
พารามิเตอร์ที่กำหนดเองจาก
Configuration
ออบเจ็กต์ งานนี้มักจะดำเนินการใน
Repository
ของชั้นเรียน
init()
คลาส Configuration
มีวิธีรับข้อมูลประเภทต่างๆ หลายวิธี
จากการกำหนดค่า แต่ละเมธอดจะแสดงผล
ConfigValue
ออบเจ็กต์ จากนั้นใช้ออบเจ็กต์ ConfigValue
get()
เพื่อดึงค่าจริงขึ้นมา
ข้อมูลโค้ดต่อไปนี้แสดงวิธีเรียกข้อมูล userMappingCsvPath
และ
ค่า groupMappingCsvPath
จากออบเจ็กต์ Configuration
:
หากต้องการรับและแยกวิเคราะห์พารามิเตอร์ที่มีหลายค่า ให้ใช้
โปรแกรมแยกวิเคราะห์ประเภทชั้นเรียนของ Configuration
เพื่อแยกวิเคราะห์ข้อมูลเป็นส่วนย่อยที่แยกจากกัน
ข้อมูลโค้ดจากเครื่องมือเชื่อมต่อบทแนะนำต่อไปนี้ใช้
getMultiValue
เพื่อรับรายการชื่อที่เก็บ GitHub ดังนี้
รับการแมปสําหรับผู้ใช้ทุกคน
ลบล้าง
listUsers()
เพื่อดึงข้อมูลการแมปสำหรับผู้ใช้ทั้งหมดจากที่เก็บข้อมูลประจำตัว
เมธอด listUsers()
จะยอมรับจุดเช็คพอยท์ที่แสดงถึงข้อมูลระบุตัวตนสุดท้าย
ซิงค์แล้ว คุณใช้จุดตรวจสอบเพื่อดำเนินการซิงค์ต่อได้ในกรณีที่กระบวนการ
ถูกขัดจังหวะ สำหรับผู้ใช้แต่ละรายในที่เก็บ คุณจะดำเนินการตามขั้นตอนเหล่านี้ใน
เมธอด listUsers()
:
- รับการแมปที่ประกอบด้วยข้อมูลประจำตัว Google และข้อมูลภายนอกที่เกี่ยวข้อง ตัวตน
- สร้างแพ็กเกจคู่ลงในตัววนซ้ำที่ส่งคืนโดยเมธอด
listUsers()
รับการแมปผู้ใช้
ข้อมูลโค้ดต่อไปนี้แสดงวิธีดึงข้อมูลการจับคู่ข้อมูลประจำตัว ที่จัดเก็บในไฟล์ CSV
สร้างแพ็กเกจที่ผู้ใช้แมปลงในตัววนซ้ำ
listUsers()
จะแสดงผล Iterator
โดยเฉพาะ
CheckpointCloseableIterable
จาก
IdentityUser
ออบเจ็กต์ คุณสามารถใช้
CheckpointClosableIterableImpl.Builder
เพื่อสร้างและแสดงผลตัววนซ้ำ ข้อมูลโค้ดต่อไปนี้จะแสดงวิธีการ
เพื่อจัดแพ็กเกจการแมปแต่ละรายการลงในรายการ ให้สร้างตัววนซ้ำ
รายการ:
รับกลุ่ม
ลบล้าง
listGroups()
เพื่อดึงข้อมูลกลุ่มและสมาชิกของกลุ่มทั้งหมดจากข้อมูลประจำตัวของคุณ
ที่เก็บได้ เมธอด listGroups()
จะยอมรับจุดเช็คพอยท์ที่แสดงถึง
ที่จะซิงค์ คุณสามารถใช้จุดตรวจสอบเพื่อดำเนินการซิงค์ต่อได้ หาก
อาจหยุดชะงัก คุณจะดำเนินการต่อไปนี้สำหรับผู้ใช้แต่ละคนในที่เก็บ
ขั้นตอนในเมธอด listGroups()
:
- รับกลุ่มและสมาชิกในกลุ่ม
- จัดกลุ่มและสมาชิกแต่ละกลุ่มไว้ในตัววนซ้ำที่ส่งคืนโดย
listGroups()
วิธี
รับข้อมูลประจำตัวของกลุ่ม
ข้อมูลโค้ดต่อไปนี้แสดงวิธีเรียกข้อมูลกลุ่มและสมาชิก ที่จัดเก็บในไฟล์ CSV
จัดกลุ่มและสมาชิกให้เป็นแบบทำซ้ำ
listGroups()
จะแสดงผล Iterator
โดยเฉพาะ
CheckpointCloseableIterable
จาก
IdentityGroup
ออบเจ็กต์
คุณสามารถใช้
CheckpointClosableIterableImpl.Builder
เพื่อสร้างและแสดงผลตัววนซ้ำ ข้อมูลโค้ดต่อไปนี้จะแสดงวิธีการ
เพื่อรวมกลุ่มและสมาชิกแต่ละกลุ่มให้เป็นรายการ และสร้างตัวทำซ้ำจาก
รายการ:
ขั้นตอนถัดไป
ขั้นตอนถัดไปที่คุณทำได้มีดังนี้
- (ไม่บังคับ) ติดตั้ง close() ปล่อยทรัพยากรก่อนปิดเครื่อง
- (ไม่บังคับ) สร้างเครื่องมือเชื่อมต่อเนื้อหา โดยใช้ Content Connector SDK