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