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