গুগল ক্লাউড সার্চ-এ অ্যাক্সেস নিয়ন্ত্রণ ব্যবহারকারীর গুগল অ্যাকাউন্টের উপর ভিত্তি করে করা হয়। কন্টেন্ট ইন্ডেক্স করার সময়, সমস্ত আইটেম ACL অবশ্যই বৈধ গুগল ব্যবহারকারী বা গ্রুপ আইডি (ইমেল ঠিকানা)-তে রিজলভ হতে হবে।
অনেক ক্ষেত্রে, একটি রিপোজিটরির গুগল অ্যাকাউন্ট সম্পর্কে সরাসরি কোনো ধারণা থাকে না। এর পরিবর্তে, লোকাল অ্যাকাউন্টগুলো ব্যবহারকারীদের প্রতিনিধিত্ব করে, অথবা ব্যবহারকারীরা কোনো আইডেন্টিটি প্রোভাইডারের মাধ্যমে ফেডারেটেড সাইন-ইন ব্যবহার করেন। ইমেল অ্যাড্রেস ছাড়া এই শনাক্তকরণকে এক্সটার্নাল আইডি বলা হয়।
অ্যাডমিন কনসোল ব্যবহার করে তৈরি করা আইডেন্টিটি সোর্সগুলো নিম্নলিখিত উপায়ে আইডেন্টিটি সিস্টেমগুলোর মধ্যেকার ব্যবধান পূরণ করে:
- এক্সটার্নাল আইডি সংরক্ষণের জন্য একটি কাস্টম ইউজার ফিল্ড নির্ধারণ করা হচ্ছে। এই ফিল্ডটি এক্সটার্নাল আইডিগুলোকে একটি গুগল অ্যাকাউন্টে রূপান্তর করে।
- একটি রিপোজিটরি বা আইডেন্টিটি প্রোভাইডার দ্বারা পরিচালিত সিকিউরিটি গ্রুপগুলির জন্য একটি নেমস্পেস নির্ধারণ করা।
পরিচয়ের উৎস ব্যবহার করুন যখন:
- রিপোজিটরিটি গুগল ওয়ার্কস্পেস বা গুগল ক্লাউড ডিরেক্টরিতে থাকা ব্যবহারকারীর প্রাথমিক ইমেল ঠিকানাটি জানে না।
- রিপোজিটরিটি এমন অ্যাক্সেস কন্ট্রোল গ্রুপ নির্ধারণ করে, যা গুগল ওয়ার্কস্পেসের ইমেল-ভিত্তিক গ্রুপগুলোর সাথে সঙ্গতিপূর্ণ নয়।
আইডেন্টিটি সোর্সগুলো আইডেন্টিটি ম্যাপিং থেকে ইনডেক্সিংকে পৃথক করে কার্যকারিতা উন্নত করে। এর ফলে আপনি ACL তৈরি এবং আইটেম ইনডেক্স করার সময় ইউজার লুকআপ স্থগিত রাখতে পারেন।
স্থাপনার উদাহরণ
চিত্র ১-এ এমন একটি প্রতিষ্ঠান দেখানো হয়েছে যা অন-প্রিমিসেস এবং ক্লাউড রিপোজিটরি উভয়ই ব্যবহার করে। প্রতিটি ভিন্ন ধরনের এক্সটার্নাল আইডি ব্যবহার করে।

রিপোজিটরি ১ SAML ব্যবহার করে ইমেল ঠিকানার মাধ্যমে ব্যবহারকারীদের শনাক্ত করে। যেহেতু এটি গুগল ওয়ার্কস্পেস বা ক্লাউড ডিরেক্টরিতে থাকা প্রাথমিক ইমেল ঠিকানাটি জানে, তাই এর কোনো আইডেন্টিটি সোর্সের প্রয়োজন হয় না।
রিপোজিটরি ২ একটি অন-প্রিমিসেস ডিরেক্টরির সাথে সংযুক্ত হয় এবং sAMAccountName দ্বারা ব্যবহারকারীদের শনাক্ত করে। যেহেতু এটি এই অ্যাট্রিবিউটটিকে একটি এক্সটার্নাল আইডি হিসেবে ব্যবহার করে, তাই এর জন্য একটি আইডেন্টিটি সোর্স প্রয়োজন।
একটি পরিচয় উৎস তৈরি করুন
আপনার যদি পরিচয়ের উৎসের প্রয়োজন হয়, তাহলে ক্লাউড সার্চ-এ ব্যবহারকারীর পরিচয় ম্যাপ করুন (Map user identities in Cloud Search ) দেখুন।
কন্টেন্ট কানেক্টর তৈরি করার আগে আইডেন্টিটি সোর্স তৈরি করুন; ACL তৈরি করতে এবং ডেটা ইনডেক্স করতে আপনার এর আইডি প্রয়োজন হবে। আইডেন্টিটি সোর্স তৈরি করলে ক্লাউড ডিরেক্টরিতে এক্সটার্নাল আইডি সংরক্ষণের জন্য একটি কাস্টম ইউজার প্রপার্টিও তৈরি হয়। প্রপার্টির নামটি IDENTITY_SOURCE_ID _identity এই প্রচলিত রীতি অনুসারে ব্যবহৃত হয়।
এই সারণিতে দুটি পরিচয় উৎস দেখানো হয়েছে: একটি SAM অ্যাকাউন্টের নামের জন্য এবং অন্যটি ব্যবহারকারী আইডি (uid)-র জন্য।
| পরিচয় উৎস | ব্যবহারকারীর সম্পত্তি | বাহ্যিক আইডি |
|---|---|---|
id1 | id1_identity | sAMAccountName |
id2 | id2_identity | uid |
আপনার প্রতিষ্ঠানে ব্যবহৃত প্রতিটি ধরনের বাহ্যিক আইডির জন্য একটি পরিচয় উৎস তৈরি করুন।
এই সারণিতে দেখানো হয়েছে, গুগল অ্যাকাউন্ট এবং দুটি এক্সটার্নাল আইডি সহ একজন ব্যবহারকারী ক্লাউড ডিরেক্টরিতে কীভাবে প্রদর্শিত হন:
| ব্যবহারকারী | ইমেল | id1_identity | id2_identity |
|---|---|---|---|
| অ্যান | ann@example.com | example\ann | 1001 |
ইনডেক্সিংয়ের জন্য ACL তৈরি করার সময় আপনি এই আইডিগুলোর যেকোনোটি ব্যবহার করে একই ব্যবহারকারীকে উল্লেখ করতে পারেন।
ব্যবহারকারীর ACL লিখুন
এক্সটার্নাল আইডি ব্যবহার করে প্রিন্সিপাল তৈরি করতে getUserPrincipal() বা getGroupPrincipal() ব্যবহার করুন।
এই উদাহরণটি ফাইল পারমিশন পুনরুদ্ধার করে, যার মধ্যে অ্যাক্সেস থাকা ব্যবহারকারীরাও অন্তর্ভুক্ত থাকে:
এই কোড স্নিপেটটি externalUserName অ্যাট্রিবিউট ব্যবহার করে মালিকদের জন্য প্রিন্সিপাল তৈরি করে:
এই অংশটি পাঠকদের জন্য কিছু মূলনীতি তৈরি করে:
একবার আপনার কাছে রিডার এবং ওনার থাকলে, ACL তৈরি করুন:
REST API-টি identitysources/ IDENTITY_SOURCE_ID /users/ EXTERNAL_ID প্যাটার্নটি ব্যবহার করে। Ann-এর id1_identity identitysources/id1_identity/users/example/ann রিজলভ হয়। এটি হলো ব্যবহারকারীর অন্তর্বর্তী আইডি ।
রিপোজিটরি ACL মডেলিং সম্পর্কে আরও জানতে, ACLs দেখুন।
মানচিত্র গোষ্ঠী
আইডেন্টিটি সোর্সগুলো ACL গ্রুপের জন্য একটি নেমস্পেস হিসেবেও কাজ করে। শুধুমাত্র নিরাপত্তার জন্য অথবা কোনো রিপোজিটরির স্থানীয় গ্রুপ তৈরি ও ম্যাপ করতে এটি ব্যবহার করুন।
গ্রুপ তৈরি করতে এবং সদস্যপদ পরিচালনা করতে ক্লাউড আইডেন্টিটি গ্রুপস এপিআই ব্যবহার করুন। নেমস্পেস হিসেবে আইডেন্টিটি সোর্সের নামটি ব্যবহার করে গ্রুপটিকে একটি আইডেন্টিটি সোর্সের সাথে যুক্ত করুন।
এই কোড অংশটি একটি গ্রুপ তৈরি করে:
একটি গ্রুপ ACL তৈরি করুন
একটি এক্সটার্নাল আইডি দিয়ে গ্রুপ প্রিন্সিপাল তৈরি করতে getGroupPrincipal() ব্যবহার করুন, তারপর ACL তৈরি করুন:
পরিচয় সংযোগকারী
ক্লাউড ডিরেক্টরিতে থাকা গুগল আইডিতে তাদের এক্সটার্নাল আইডিগুলো রিজলভ না হওয়া পর্যন্ত ব্যবহারকারীরা সার্চ রেজাল্টে আইটেম দেখতে পারবেন না। আপনি তিনটি উপায়ে এটি নিশ্চিত করতে পারেন:
- অ্যাডমিন কনসোলে ব্যবহারকারীর প্রোফাইল ম্যানুয়ালি আপডেট করুন (শুধুমাত্র পরীক্ষার জন্য প্রস্তাবিত)।
- ডিরেক্টরি এপিআই ব্যবহার করে আইডিগুলো ম্যাপ করুন।
- আইডেন্টিটি কানেক্টর এসডিকে ব্যবহার করে একটি আইডেন্টিটি কানেক্টর তৈরি করুন ।
আইডেন্টিটি কানেক্টরগুলো এন্টারপ্রাইজ আইডেন্টিটি থেকে এক্সটার্নাল আইডিগুলোকে গুগলের অভ্যন্তরীণ আইডেন্টিটির সাথে সংযুক্ত করে। আপনি যদি একটি আইডেন্টিটি সোর্স তৈরি করেন, তবে আপনাকে অবশ্যই একটি আইডেন্টিটি কানেক্টরও তৈরি করতে হবে।
গুগল ক্লাউড ডিরেক্টরি সিঙ্ক (GCDS) হলো একটি আইডেন্টিটি কানেক্টরের উদাহরণ। এটি অ্যাক্টিভ ডিরেক্টরি থেকে ক্লাউড ডিরেক্টরিতে ব্যবহারকারী এবং গ্রুপের তথ্য ম্যাপ করে।
REST API ব্যবহার করে পরিচয় সিঙ্ক করুন
পরিচয়গুলো সিঙ্ক করতে update পদ্ধতিটি ব্যবহার করুন।
পরিচয়গুলি পুনরায় ম্যাপ করুন
আইডেন্টিটি রিম্যাপ করার পর, পরিবর্তনটি কার্যকর করার জন্য আপনাকে অবশ্যই আইটেমগুলো রিইনডেক্স করতে হবে।
- আপনি যদি কোনো ব্যবহারকারী ম্যাপিং মুছে ফেলেন বা পরিবর্তন করেন, তাহলে রিইনডেক্সিং না হওয়া পর্যন্ত মূল ম্যাপিংটি অপরিবর্তিত থাকে।
- আপনি যদি একটি ম্যাপ করা গ্রুপ মুছে ফেলেন এবং একই
groupKeyব্যবহার করে একটি নতুন গ্রুপ তৈরি করেন, তাহলে পুনরায় ইন্ডেক্স না করা পর্যন্ত অ্যাক্সেস দেওয়া হবে না।