শুধুমাত্র প্রমাণীকৃত ব্যবহারকারীদের জন্য অনুরোধ সীমাবদ্ধ করুন

আপনি আপনার ফায়ারবেস প্রোজেক্টের জন্য অথেনটিকেটেড-ইউজার মোড প্রয়োগ করতে পারেন। এটি প্রয়োগ করা হলে, ফায়ারবেস এআই লজিকের মাধ্যমে পাঠানো সমস্ত জেমিনি এপিআই অনুরোধ অবশ্যই আপনার অ্যাপের অথেনটিকেটেড ব্যবহারকারীদের কাছ থেকে আসতে হবে। বিশেষত, আপনার অ্যাপ থেকে ফায়ারবেস এআই লজিকে অনুরোধ পাঠানোর আগে, অ্যাপের ব্যবহারকারীকে অবশ্যই Firebase Authentication ব্যবহার করে অথেনটিকেটেড হতে হবে। যদি ব্যবহারকারী অথেনটিকেটেড না হন, তাহলে অনুরোধটি ব্লক করে দেওয়া হয়।

যখন কোনো অনুরোধ ব্লক করা হয়, তখন প্রতিক্রিয়া হিসেবে একটি 401: unauthenticated error) আসবে।

গুরুত্বপূর্ণ বিবেচ্য বিষয়

প্রমাণীকৃত ব্যবহারকারী মোডের জন্য নিম্নলিখিত গুরুত্বপূর্ণ বিষয়গুলো সম্পর্কে সচেতন থাকুন।

যখন প্রমাণীকৃত-ব্যবহারকারী মোড প্রয়োগ করা হয়

যখন প্রমাণীকৃত-ব্যবহারকারী মোড কার্যকর করা হয়, তখন নিম্নলিখিত বিষয়গুলি সম্পর্কে সচেতন থাকুন:

  • এই সেটিংটি Firebase AI Logic- এর জন্য একটি প্রোজেক্ট-ব্যাপী সেটিং।

    • এটি প্রকল্পে নিবন্ধিত সকল অ্যাপের ক্ষেত্রে প্রযোজ্য।
    • এটি শুধুমাত্র সেই প্রকল্পের ক্ষেত্রেই প্রযোজ্য যেখানে এটি বলবৎ করা হয়েছে।
  • এই সেটিংটি Firebase AI Logic-এর মাধ্যমে পাঠানো সেই সমস্ত অনুরোধ ব্লক করে , যেগুলিতে Firebase Authentication ক্রেডেনশিয়াল পাঠানো হয় না

    • Firebase AI Logic- এ অনুরোধ পাঠানোর আগে ব্যবহারকারীকে অবশ্যই Firebase Authentication এর মাধ্যমে প্রমাণীকৃত হতে হবে।
    • এই সেটিংটি Firebase AI Logic-এর মাধ্যমে Gemini Developer API এবং Vertex AI Gemini API উভয়তে করা সমস্ত অনুরোধের ক্ষেত্রে প্রযোজ্য।
    • এই সেটিংটি সার্ভার প্রম্পট টেমপ্লেট ব্যবহারকারী সমস্ত অনুরোধের ক্ষেত্রে প্রযোজ্য।
    • এই সেটিংটি ব্যবহারকারী-ভিত্তিক, এপিআই-ভিত্তিক বা টেমপ্লেট-ভিত্তিক প্রয়োগ করা যাবে না
  • এই সেটিংটি আপনার প্রোজেক্টে Firebase AI Logic-এর মাধ্যমে নয় এমন Gemini API অনুরোধগুলিকে ব্লক করে না

  • আপনি যদি হাইব্রিড / অন-ডিভাইস ব্যবহার করেন:

    • এই সেটিংটি ব্যবহারকারী প্রমাণীকৃত না হলে ক্লাউড-হোস্টেড মডেলে পাঠানো অনুরোধগুলিকে ব্লক করে দেয়
    • ব্যবহারকারীর প্রমাণীকরণ অবস্থা নির্বিশেষে, এই সেটিংটি অন-ডিভাইস মডেলে পাঠানো অনুরোধগুলিকে ব্লক করে না
  • আপনি যদি Gemini Live API ব্যবহার করেন:

    • এই সেটিংটি Firebase AI Logic ব্যবহার করার সময় ওয়েব অ্যাপের জন্য Gemini Live API-এর ব্যবহার ব্লক করে — এমনকি প্রমাণীকৃত ব্যবহারকারীদের জন্যও। এর মধ্যে Firebase JS SDK ব্যবহারকারী ওয়েব অ্যাপ বা Flutter ওয়েব অ্যাপ অন্তর্ভুক্ত।
  • আপনি যদি Firebase AI Logic REST API ব্যবহার করেন:

    • এই সেটিংটি সেইসব ইনফারেন্স রিকোয়েস্ট ব্লক করে যেগুলো Firebase Authentication ক্রেডেনশিয়াল পাঠায় না । এর মধ্যে templateGenerateContent বা templateStreamGenerateContent মতো সার্ভার প্রম্পট টেমপ্লেটের রিকোয়েস্টও অন্তর্ভুক্ত।
    • এই সেটিংটি কন্ট্রোল-প্লেন অনুরোধগুলিকে (যেমন টেমপ্লেট এবং কনফিগারেশন পরিচালনার জন্য) ব্লক করে না, কারণ সেগুলি IAM দ্বারা সুরক্ষিত থাকে।
  • এই সেটিংটি countTokens (কাউন্ট টোকেনস এপিআই)-এর অনুরোধগুলিকে ব্লক করে না

প্রমাণীকৃত-ব্যবহারকারী মোড প্রয়োগ করার আগে

প্রমাণীকৃত-ব্যবহারকারী মোড চালু করার আগে নিম্নলিখিত বিষয়গুলি সম্পর্কে সচেতন থাকুন:

  • আপনার অ্যাপের এমন সংস্করণ যদি থাকে যা Firebase Authentication ব্যবহার করে না :

    • এই সেটিংটি বিদ্যমান অ্যাপ সংস্করণগুলো থেকে Firebase AI Logic-এর মাধ্যমে আসা অনুরোধগুলোকে ব্লক করবে।
    • অথেনটিকেটেড-ইউজার্স মোড প্রয়োগ করার আগে নিশ্চিত করুন যে সমস্ত সক্রিয় ক্লায়েন্টকে Firebase Authentication ব্যবহার করার জন্য আপডেট করা হয়েছে।
  • ফ্লাটার প্লাগইনের পুরোনো সংস্করণগুলোতে রিকোয়েস্টের সাথে Firebase Authentication ক্রেডেনশিয়াল পাঠানোর জন্য বিশেষ ইনস্ট্যানসিয়েশনের প্রয়োজন হয়।

    • যদি আপনার অ্যাপ ফ্লাটার প্লাগইন firebase_ai v3.11.0 বা তার নিম্ন সংস্করণ (BoM v4.12.0 বা তার নিম্ন সংস্করণ) ব্যবহার করে এবং ইনস্ট্যানসিয়েশনের সময় Authentication পাস না করে, তাহলে এই সেটিংটি ফায়ারবেস এআই লজিকের মাধ্যমে আসা রিকোয়েস্ট ব্লক করে দেবে — এমনকি অথেনটিকেটেড ব্যবহারকারীদের ক্ষেত্রেও।
    • অথেনটিকেটেড-ইউজার্স মোড কার্যকর করার আগে নিশ্চিত করুন যে ফ্লাটারের সমস্ত সক্রিয় ক্লায়েন্ট প্লাগইনটির নতুন সংস্করণে আপডেট করা হয়েছে।

Firebase Authentication সেট আপ করুন

Firebase Authentication ডকুমেন্টেশনে সমর্থিত অথেনটিকেশন প্রোভাইডারগুলোর বিবরণ এবং বাস্তবায়নের নির্দেশাবলী দেওয়া আছে, যার মধ্যে পাসওয়ার্ড, ফোন নম্বর, জনপ্রিয় ফেডারেটেড আইডেন্টিটি প্রোভাইডার (যেমন Google, Facebook, এবং GitHub) এবং আরও অনেক কিছুর ব্যবহার অন্তর্ভুক্ত।

আপনার অ্যাপে Firebase Authentication প্রয়োগ করার পর, আপনার অ্যাপটি Firebase AI Logic- এ পাঠানো প্রতিটি অনুরোধে স্বয়ংক্রিয়ভাবে প্রমাণীকৃত ব্যবহারকারীর Firebase Authentication ক্রেডেনশিয়াল পাঠাবে।

কিছু প্রমাণীকরণ প্রদানকারী সম্পর্কে নিম্নলিখিত বিষয়গুলো লক্ষ্য করুন:

  • কাস্টম অথেন্টিকেশন : Firebase AI Logic- এ অনুরোধের সাথে পাঠানোর জন্য আপনাকে একটি স্বাক্ষরিত অথেন্টিকেশন টোকেন সংগ্রহ করতে হবে। বিস্তারিত জানতে, কাস্টম অথেন্টিকেশন দেখুন।

  • বেনামী অথবা ইমেল/পাসওয়ার্ড প্রমাণীকরণ পদ্ধতি: এই ব্যবহারকারীদের প্রমাণীকৃত ব্যবহারকারী হিসেবে গণ্য করা হয়, তাই Firebase AI Logic- এ তাদের অনুরোধ ব্লক করা হয় না

    মনে রাখবেন যে, যদিও অ্যানোনিমাস এবং ইমেল/পাসওয়ার্ড অথেনটিকেশন পদ্ধতিগুলোর জন্য ব্যবহারকারীদের Firebase Authentication ক্রেডেনশিয়াল তৈরি করতে আপনার অ্যাপে আসতে হয়, তবুও এগুলো অথেনটিকেশনের শক্তিশালী মাধ্যম নয় (বিশেষ করে কোনো পেইড রিসোর্স সুরক্ষিত করার জন্য), কারণ এগুলো ডিফল্টভাবে ব্যবহারকারীর পরিচয় যাচাইয়ের প্রয়োজন করে না। যদি আপনার অ্যাপ এই অথেনটিকেশন পদ্ধতিগুলোর ডিফল্ট ইমপ্লিমেন্টেশন ব্যবহার করে, তাহলে অথেনটিকেটেড-ইউজার্স মোড প্রয়োগ করলেও সুরক্ষা কম হতে পারে। নিশ্চিত করুন যে আপনি Firebase App Check প্রয়োগ করেছেন

প্রমাণীকৃত-ব্যবহারকারী মোড সেটিং পরিচালনা করুন

আপনি Firebase কনসোলে অথেনটিকেটেড-ইউজার্স মোডের সেটিংটি পরিচালনা করতে পারেন।

প্রয়োজনীয় IAM অনুমতি এবং ভূমিকা

অথেনটিকেটেড-ইউজার্স মোড সেটিং পরিচালনা করার জন্য firebasevertexai.configs.update পারমিশন প্রয়োজন, যা Owner, Editor, Firebase Admin, এবং Firebase AI Logic Admin-এর মতো IAM রোলগুলিতে ডিফল্টভাবে অন্তর্ভুক্ত থাকে।

প্রমাণীকৃত-ব্যবহারকারী মোড প্রয়োগ করুন

আপনার Firebase প্রোজেক্টে অথেনটিকেটেড-ইউজার মোড চালু করার উপায় নিচে দেওয়া হলো:

  1. যদি আপনি ইতিমধ্যেই তা না করে থাকেন, তাহলে এই নির্দেশিকার আগের অংশে প্রমাণীকৃত-ব্যবহারকারী মোডের জন্য গুরুত্বপূর্ণ বিবেচ্য বিষয়গুলো পর্যালোচনা করুন।

  2. যদি আগে থেকে না করে থাকেন, তাহলে আপনার অ্যাপে Firebase Authentication সেট আপ করুন (এই গাইডের পূর্ববর্তী অংশে যেমন বর্ণনা করা হয়েছে)।

  3. প্রমাণীকৃত-ব্যবহারকারী মোড প্রয়োগ করুন:

    1. Firebase কনসোলে, AI Services > AI Logic > Settings ট্যাবে যান।

    2. অথেনটিকেটেড-ইউজার্স মোডের অধীনে, ‘এনফোর্স অথেনটিকেটেড-ইউজার্স মোড’ এর টগলটি স্লাইড করে ‘এনফোর্সড’ এ সেট করুন।

    3. নিশ্চিতকরণ ডায়ালগটি পর্যালোচনা করুন, এবং তারপর 'নিশ্চিত করুন'-এ ক্লিক করুন।

প্রমাণীকৃত ব্যবহারকারী মোডের প্রয়োগ বন্ধ করুন

আপনি যদি প্রমাণীকৃত-ব্যবহারকারী মোডের প্রয়োগ বন্ধ করেন, তাহলে নিম্নলিখিত বিষয়গুলো সম্পর্কে সচেতন থাকুন:

  • Firebase AI Logic- এর মাধ্যমে করা যেসব অনুরোধে Firebase Authentication ক্রেডেনশিয়াল পাঠানো হয় না , সেগুলো অনুমোদিত হবে।
  • এটি Firebase AI Logic-এর জন্য একটি প্রোজেক্ট-ব্যাপী সেটিং।

আপনার ফায়ারবেস প্রোজেক্টে অথেনটিকেটেড-ইউজার মোডের প্রয়োগ বন্ধ করার উপায় নিচে দেওয়া হলো:

  1. Firebase কনসোলে, AI Services > AI Logic > Settings ট্যাবে যান।

  2. Authenticated-users মোডের অধীনে, Enforce authenticated-users মোড বন্ধ করুন।

  3. নিশ্চিতকরণ ডায়ালগটি পর্যালোচনা করুন, এবং তারপর 'নিশ্চিত করুন'-এ ক্লিক করুন।