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