تتعرّف خدمة Google Cloud Search تلقائيًا على هويات Google المخزَّنة في "دليل Google Cloud" (المستخدمون والمجموعات). يتم استخدام موصِّلات الهوية لمزامنة هويات مؤسستك مع هويات Google التي تستخدمها Google Cloud Search.
توفّر Google الخيارات التالية لتطوير موصلات الهوية:
حزمة تطوير البرامج لموصّل الهوية. هذا الخيار مخصص للمطورين الذين يبرمجون بلغة برمجة Java. تُعد حزمة تطوير البرامج (SDK) لموصِّل الهوية برنامج تضمين حول واجهة برمجة تطبيقات REST تسمح لك بإنشاء الموصلات بسرعة. لإنشاء موصِّل هوية باستخدام حزمة تطوير البرامج (SDK)، يُرجى الاطّلاع على مقالة إنشاء موصِّل هويات باستخدام حزمة تطوير البرامج (SDK) لموصِّل الهوية.
واجهة برمجة تطبيقات REST ومكتبات واجهة برمجة تطبيقات منخفضة المستوى هذه الخيارات مصممة للمطورين الذين قد لا يبرمجون بلغة Java أو الذين تتوافق قاعدة رموزهم مع REST API أو مكتبة بشكل أفضل. لإنشاء موصِّل هويات باستخدام REST API، يُرجى الرجوع إلى Directory API: حسابات المستخدمين للحصول على معلومات حول ربط المستخدمين ومستندات Cloud Identity للحصول على معلومات عن مجموعات الربط.
إنشاء موصِّل هويات باستخدام حزمة تطوير البرامج (SDK) لموصّل الهوية
ينفِّذ موصِّل الهوية النموذجي المهام التالية:
- اضبط الموصل.
- يمكنك استرداد جميع المستخدمين من نظام هوية المؤسسة وإرساله إلى Google لمزامنته مع هويات Google.
- يمكنك استرداد جميع المجموعات من نظام هوية المؤسسة وإرسالها إلى Google لمزامنتها مع هويات Google.
إعداد التبعيات
يجب تضمين تبعيات معيّنة في ملف الإصدار لاستخدام حزمة تطوير البرامج (SDK). انقر فوق علامة تبويب أدناه لعرض الاعتماديات لبيئة التصميم:
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 وتستخدمها جميع الموصِّلات. عليك الإفصاح عن المعلَمات التالية التي توفّرها 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
.
إنشاء موصل هوية مزامنة كاملة باستخدام فئة نموذج
تحتوي حزمة تطوير البرامج لموصّل الهوية على فئة نماذج 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"، يجب إلغاء طريقةlistGroups()
.(اختيارية) الطريقة
close()
. إذا كنت بحاجة إلى تنظيف المستودع، عليك إلغاء الطريقةclose()
. ويتم استدعاء هذه الطريقة مرة واحدة أثناء إيقاف تشغيل الموصل.
الحصول على مَعلمات ضبط مخصَّصة
كجزء من معالجة إعدادات الموصِّل، يجب الحصول على أي
معلَمات مخصّصة من
كائن Configuration
. يتم تنفيذ هذه المهمة عادةً بطريقة
init()
الخاصة بفئة Repository
.
تتضمن الفئة Configuration
عدة طرق للحصول على أنواع بيانات مختلفة من الإعدادات. تؤدي كل طريقة إلى عرض كائن
ConfigValue
. يمكنك بعد ذلك استخدام طريقة
get()
الخاصة بكائن ConfigValue
لاسترداد القيمة الفعلية.
يوضّح المقتطف التالي كيفية استرداد قيمة 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
لإنشاء مكرّر وإرجاعه. يوضح مقتطف الرمز التالي كيفية تجميع كل مجموعة وعضو في قائمة وإنشاء المكرر من تلك القائمة:
الخطوات التالية
في ما يلي بعض الخطوات التي يمكنك اتّخاذها:
- (اختياري) نفِّذ الطريقة delete() لتحرير أي موارد قبل الإيقاف.
- (اختياري) أنشئ موصِّل محتوى باستخدام حزمة تطوير البرامج (SDK) لـ Content Connector.