لا يتعرّف Google Cloud Search تلقائيًا إلا على هويات Google في Google Cloud Directory. استخدِم موصّلات الهوية لمزامنة هويات المؤسسة مع هويات Google التي يستخدمها Cloud Search.
تقدّم Google الخيارات التالية لتطوير موصّلات الهوية:
حزمة تطوير البرامج (SDK) لموصّل الهوية: هي الخيار الأفضل لمبرمجي Java. تتضمّن حزمة تطوير البرامج (SDK) برنامجًا تضمينيًا حول واجهة برمجة التطبيقات REST، ما يتيح لك إنشاء الموصّلات بسرعة. لاستخدام حزمة تطوير البرامج (SDK)، يُرجى الاطّلاع على مقالة إنشاء موصّل هوية باستخدام حزمة تطوير البرامج (SDK) لموصّل الهوية.
واجهة برمجة تطبيقات REST منخفضة المستوى ومكتبات واجهة برمجة التطبيقات: هي الخيار الأفضل للمبرمجين الذين لا يستخدمون Java. لإنشاء موصّل هوية باستخدام واجهة برمجة التطبيقات REST، يُرجى الاطّلاع على مستندات Directory API: User Accounts لربط المستخدمين و مستندات Google Cloud Identity لربط المجموعات.
إنشاء موصّل هوية باستخدام حزمة تطوير البرامج (SDK) لموصّل الهوية
ينفّذ موصّل الهوية العادي المهام التالية:
- ضبط الموصّل
- استرداد المستخدمين من نظام الهوية وإرسالهم إلى Google
- استرداد المجموعات من نظام الهوية وإرسالها إلى Google
إعداد التبعيات
أدرِج هذه التبعيات في ملف الإصدار.
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
تتضمّن حزمة تطوير البرامج (SDK) في Google Cloud Search مَعلمات مقدَّمة من 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
يزامن عنصر 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()لتحرير الموارد. - (اختياري) أنشئ موصّل محتوى.