ডিফল্টরূপে, Google ক্লাউড অনুসন্ধান শুধুমাত্র Google ক্লাউড ডিরেক্টরিতে (ব্যবহারকারী এবং গোষ্ঠী) সংরক্ষিত Google পরিচয়গুলিকে স্বীকৃতি দেয়৷ আইডেন্টিটি কানেক্টরগুলি আপনার এন্টারপ্রাইজের পরিচয়গুলিকে Google ক্লাউড অনুসন্ধান দ্বারা ব্যবহৃত Google পরিচয়গুলির সাথে সিঙ্ক করতে ব্যবহৃত হয়৷
Google পরিচয় সংযোগকারীর বিকাশের জন্য নিম্নলিখিত বিকল্পগুলি প্রদান করে:
আইডেন্টিটি কানেক্টর SDK। এই বিকল্পটি এমন ডেভেলপারদের জন্য যারা জাভা প্রোগ্রামিং ভাষায় প্রোগ্রামিং করছেন। আইডেন্টিটি কানেক্টর SDK হল REST API এর চারপাশে একটি মোড়ক যা আপনাকে দ্রুত সংযোগকারী তৈরি করতে দেয়। SDK ব্যবহার করে একটি পরিচয় সংযোগকারী তৈরি করতে, পরিচয় সংযোগকারী SDK ব্যবহার করে একটি পরিচয় সংযোগকারী তৈরি করুন দেখুন।
একটি নিম্ন-স্তরের REST API এবং API লাইব্রেরি। এই বিকল্পগুলি এমন ডেভেলপারদের জন্য যারা জাভাতে প্রোগ্রামিং করতে পারে না বা যাদের কোডবেস একটি REST API বা একটি লাইব্রেরিকে আরও ভালভাবে মিটমাট করে। REST API ব্যবহার করে একটি পরিচয় সংযোগকারী তৈরি করতে, ডিরেক্টরি API দেখুন: ম্যাপিং ব্যবহারকারীদের তথ্যের জন্য ব্যবহারকারী অ্যাকাউন্ট এবং ম্যাপিং গোষ্ঠীর তথ্যের জন্য ক্লাউড আইডেন্টিটি ডকুমেন্টেশন ।
আইডেন্টিটি কানেক্টর SDK ব্যবহার করে একটি আইডেন্টিটি কানেক্টর তৈরি করুন
একটি সাধারণ পরিচয় সংযোগকারী নিম্নলিখিত কাজগুলি সম্পাদন করে:
- সংযোগকারী কনফিগার করুন।
- আপনার এন্টারপ্রাইজ আইডেন্টিটি সিস্টেম থেকে সমস্ত ব্যবহারকারীকে পুনরুদ্ধার করুন এবং Google পরিচয়ের সাথে সিঙ্ক করার জন্য তাদের Google-এ পাঠান৷
- আপনার এন্টারপ্রাইজ আইডেন্টিটি সিস্টেম থেকে সমস্ত গ্রুপ পুনরুদ্ধার করুন এবং Google পরিচয়ের সাথে সিঙ্ক করার জন্য তাদের Google-এ পাঠান।
নির্ভরতা সেট আপ করুন
SDK ব্যবহার করার জন্য আপনাকে অবশ্যই আপনার বিল্ড ফাইলে কিছু নির্ভরতা অন্তর্ভুক্ত করতে হবে। আপনার বিল্ড পরিবেশের জন্য নির্ভরতা দেখতে নীচের একটি ট্যাবে ক্লিক করুন:
মাভেন
<dependency>
<groupId>com.google.enterprise.cloudsearch</groupId>
<artifactId>google-cloudsearch-identity-connector-sdk</artifactId>
<version>v1-0.0.3</version>
</dependency>
গ্রেডল
compile group: 'com.google.enterprise.cloudsearch',
name: 'google-cloudsearch-identity-connector-sdk',
version: 'v1-0.0.3'
আপনার সংযোগকারী কনফিগারেশন তৈরি করুন
প্রতিটি সংযোগকারীর একটি কনফিগারেশন ফাইল থাকে যাতে সংযোগকারীর দ্বারা ব্যবহৃত পরামিতি থাকে, যেমন আপনার সংগ্রহস্থলের জন্য আইডি। পরামিতিগুলিকে কী-মানের জোড়া হিসাবে সংজ্ঞায়িত করা হয়, যেমন api.sourceId= 1234567890abcdef ।
Google ক্লাউড অনুসন্ধান SDK-এ সমস্ত সংযোগকারীর দ্বারা ব্যবহৃত 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 নামে একটি ডিফল্ট কনফিগারেশন ফাইল অ্যাক্সেস করার চেষ্টা করে।
একটি টেমপ্লেট ক্লাস ব্যবহার করে একটি সম্পূর্ণ সিঙ্ক পরিচয় সংযোগকারী তৈরি করুন
Identity Connector SDK-এ একটি FullSyncIdentityConnector টেমপ্লেট ক্লাস রয়েছে যা আপনি Google পরিচয়ের সাথে পরিচয় সংগ্রহস্থল থেকে সমস্ত ব্যবহারকারী এবং গোষ্ঠীকে সিঙ্ক করতে ব্যবহার করতে পারেন৷ এই বিভাগটি ব্যাখ্যা করে যে কীভাবে একটি নন-Google আইডেন্টিটি রিপোজিটরি থেকে ব্যবহারকারী এবং গোষ্ঠীগুলির সম্পূর্ণ সিঙ্ক করতে FullSyncIdentityConnector টেমপ্লেট ব্যবহার করতে হয়।
ডক্সের এই বিভাগটি IdentityConnecorSample.java নমুনা থেকে কোড স্নিপেটগুলিকে নির্দেশ করে৷ এই নমুনা দুটি CSV ফাইল থেকে ব্যবহারকারী এবং গোষ্ঠীর পরিচয় পড়ে এবং সেগুলিকে Google পরিচয়ের সাথে সিঙ্ক করে৷
সংযোগকারীর এন্ট্রি পয়েন্ট প্রয়োগ করুন
একটি সংযোগকারীর এন্ট্রি পয়েন্ট হল main() পদ্ধতি। এই পদ্ধতির প্রাথমিক কাজ হল Application ক্লাসের একটি উদাহরণ তৈরি করা এবং সংযোগকারী চালানোর জন্য এর start() পদ্ধতি চালু করা।
application.start() কল করার আগে, FullSyncIdentityConnector টেমপ্লেটটি চালু করতে IdentityApplication.Builder ক্লাসটি ব্যবহার করুন। FullSyncIdentityConnector একটি Repository বস্তু গ্রহণ করে যার পদ্ধতিগুলি আপনি প্রয়োগ করবেন। নিম্নলিখিত কোড স্নিপেট দেখায় কিভাবে main() পদ্ধতি বাস্তবায়ন করতে হয়:
পর্দার আড়ালে, SDK আপনার সংযোগকারীর main() পদ্ধতি Application.build কল করার পরে initConfig() পদ্ধতিতে কল করে। initConfig() পদ্ধতি নিম্নলিখিত কাজগুলি সম্পাদন করে:
-
Configurationআরম্ভ করা হয়নি তা নিশ্চিত করতেConfiguation.isInitialized()পদ্ধতিতে কল করে। - Google-প্রদত্ত কী-মান জোড়া দিয়ে একটি
Configurationঅবজেক্ট শুরু করে। প্রতিটি কী-মান জোড়াConfigurationঅবজেক্টের মধ্যে একটিConfigValueঅবজেক্টে সংরক্ষণ করা হয়।
Repository ইন্টারফেস বাস্তবায়ন
Repository অবজেক্টের একমাত্র উদ্দেশ্য হল গুগুল আইডেন্টিটির সাথে রিপোজিটরি আইডেন্টিটি সিঙ্ক করা। একটি টেমপ্লেট ব্যবহার করার সময়, আপনাকে একটি পরিচয় সংযোগকারী তৈরি করতে Repository ইন্টারফেসের মধ্যে শুধুমাত্র কিছু পদ্ধতি ওভাররাইড করতে হবে। FullTraversalConnector এর জন্য, আপনি সম্ভবত নিম্নলিখিত পদ্ধতিগুলিকে ওভাররাইড করবেন:
init()পদ্ধতি। কোনো পরিচয় সংগ্রহস্থল সেট-আপ এবং আরম্ভ করার জন্য, `init() পদ্ধতি ওভাররাইড করুন।listUsers()পদ্ধতি। আইডেন্টিটি রিপোজিটরিতে থাকা সমস্ত ব্যবহারকারীকে Google ব্যবহারকারীদের সাথে সিঙ্ক করতে,listUsers()পদ্ধতিটি ওভাররাইড করুন।listGroups()পদ্ধতি। আইডেন্টিটি রিপোজিটরিতে থাকা সমস্ত গ্রুপকে Google গ্রুপের সাথে সিঙ্ক করতে,listGroups()পদ্ধতিটি ওভাররাইড করুন।(ঐচ্ছিক)
close()পদ্ধতি। আপনি যদি সংগ্রহস্থল পরিষ্কার করতে চান,close()পদ্ধতিটি ওভাররাইড করুন। সংযোগকারী বন্ধ করার সময় এই পদ্ধতিটি একবার বলা হয়।
কাস্টম কনফিগারেশন পরামিতি পান
আপনার সংযোগকারীর কনফিগারেশন পরিচালনার অংশ হিসাবে, আপনাকে Configuration অবজেক্ট থেকে যেকোনো কাস্টম প্যারামিটার পেতে হবে। এই কাজটি সাধারণত Repository ক্লাসের init() পদ্ধতিতে করা হয়।
Configuration ক্লাসে একটি কনফিগারেশন থেকে বিভিন্ন ধরনের ডেটা পাওয়ার জন্য বিভিন্ন পদ্ধতি রয়েছে। প্রতিটি পদ্ধতি একটি ConfigValue অবজেক্ট প্রদান করে। তারপরে আপনি প্রকৃত মান পুনরুদ্ধার করতে ConfigValue অবজেক্টের get() পদ্ধতি ব্যবহার করবেন। নিম্নলিখিত স্নিপেট দেখায় কিভাবে একটি Configuration বস্তু থেকে userMappingCsvPath এবং groupMappingCsvPath মান পুনরুদ্ধার করতে হয়:
বিভিন্ন মান সম্বলিত একটি প্যারামিটার পেতে এবং পার্স করতে, Configuration ক্লাসের টাইপ পার্সারগুলির মধ্যে একটি ব্যবহার করে ডেটাকে পৃথক খণ্ডে পার্স করুন। টিউটোরিয়াল সংযোগকারী থেকে নিম্নলিখিত স্নিপেটটি GitHub সংগ্রহস্থলের নামের তালিকা পেতে getMultiValue পদ্ধতি ব্যবহার করে:
সমস্ত ব্যবহারকারীর জন্য ম্যাপিং পান
আপনার পরিচয় সংগ্রহস্থল থেকে সমস্ত ব্যবহারকারীর জন্য ম্যাপিং পুনরুদ্ধার করতে listUsers() ওভাররাইড করুন। listUsers() পদ্ধতি একটি চেকপয়েন্ট গ্রহণ করে যা সিঙ্ক করার শেষ পরিচয়টি উপস্থাপন করে। প্রক্রিয়াটি বাধাগ্রস্ত হলে সিঙ্কিং পুনরায় শুরু করতে চেকপয়েন্ট ব্যবহার করা যেতে পারে। আপনার সংগ্রহস্থলের প্রতিটি ব্যবহারকারীর জন্য, আপনি listUsers() পদ্ধতিতে এই পদক্ষেপগুলি সম্পাদন করবেন:
- Google পরিচয় এবং সংশ্লিষ্ট বাহ্যিক পরিচয় সমন্বিত একটি ম্যাপিং পান।
-
listUsers()পদ্ধতি দ্বারা ফিরে আসা একটি পুনরাবৃত্তিকারীতে জোড়া প্যাকেজ করুন।
একটি ব্যবহারকারী ম্যাপিং পান
নিম্নলিখিত কোড স্নিপেট দেখায় কিভাবে একটি CSV ফাইলে সংরক্ষিত পরিচয় ম্যাপিংগুলি পুনরুদ্ধার করতে হয়:
একটি পুনরাবৃত্তিকারীর মধ্যে একটি ব্যবহারকারী ম্যাপিং প্যাকেজ
listUsers() পদ্ধতি IdentityUser অবজেক্টের একটি Iterator , বিশেষ করে একটি CheckpointCloseableIterable প্রদান করে। আপনি একটি পুনরাবৃত্তিকারী তৈরি করতে এবং ফেরত দিতে CheckpointClosableIterableImpl.Builder ক্লাস ব্যবহার করতে পারেন। নিম্নলিখিত কোড স্নিপেট দেখায় কিভাবে প্রতিটি ম্যাপিংকে তালিকায় প্যাকেজ করতে হয় সেই তালিকা থেকে পুনরাবৃত্তিকারী তৈরি করুন:
একটি দল পান
আপনার পরিচয় সংগ্রহস্থল থেকে সমস্ত গ্রুপ এবং তাদের সদস্যদের পুনরুদ্ধার করতে listGroups() ওভাররাইড করুন। listGroups() পদ্ধতিটি একটি চেকপয়েন্ট গ্রহণ করে যা সিঙ্ক করার শেষ পরিচয়টি উপস্থাপন করে। প্রক্রিয়াটি বাধাগ্রস্ত হলে সিঙ্কিং পুনরায় শুরু করতে চেকপয়েন্ট ব্যবহার করা যেতে পারে। আপনার সংগ্রহস্থলের প্রতিটি ব্যবহারকারীর জন্য, আপনি listGroups() পদ্ধতিতে এই পদক্ষেপগুলি সম্পাদন করবেন:
- গ্রুপ এবং এর সদস্যদের পান।
-
listGroups()পদ্ধতি দ্বারা ফিরে আসা একটি পুনরাবৃত্তিকারীতে প্রতিটি গ্রুপ এবং সদস্যদের প্যাকেজ করুন।
দলের পরিচয় পান
নিম্নলিখিত কোড স্নিপেট দেখায় কিভাবে একটি CSV ফাইলে সংরক্ষিত গোষ্ঠী এবং সদস্যদের পুনরুদ্ধার করতে হয়:
গ্রুপ এবং সদস্যদের একটি পুনরাবৃত্তিকারীতে প্যাকেজ করুন
listGroups() পদ্ধতি IdentityGroup অবজেক্টের একটি Iterator , বিশেষ করে একটি CheckpointCloseableIterable প্রদান করে। আপনি একটি পুনরাবৃত্তিকারী তৈরি করতে এবং ফেরত দিতে CheckpointClosableIterableImpl.Builder ক্লাস ব্যবহার করতে পারেন। নিম্নলিখিত কোড স্নিপেট দেখায় কিভাবে প্রতিটি গ্রুপ এবং সদস্যদের একটি তালিকায় প্যাকেজ করতে হয় এবং সেই তালিকা থেকে পুনরাবৃত্তিকারী তৈরি করতে হয়:
পরবর্তী পদক্ষেপ
এখানে কয়েকটি পরবর্তী পদক্ষেপ রয়েছে যা আপনি নিতে পারেন:
- (ঐচ্ছিক) শাটডাউন করার আগে কোনো সংস্থান প্রকাশ করতে close() পদ্ধতি প্রয়োগ করুন।
- (ঐচ্ছিক) সামগ্রী সংযোগকারী SDK ব্যবহার করে একটি সামগ্রী সংযোগকারী তৈরি করুন ৷