Firebase AI Logic ব্যবহারের জন্য নিরাপত্তা চেকলিস্ট

আপনি যখন Gemini API সরাসরি আপনার মোবাইল ও ওয়েব অ্যাপ থেকে কল করেন, তখন আপনার ব্যাকএন্ড ইনফ্রাস্ট্রাকচার, কোটা ও মালিকানাধীন প্রম্পট সুরক্ষিত করার জন্য বহু-স্তরযুক্ত ডিফেন্স-ইন-ডেপথ পদ্ধতির প্রয়োজন হয়। Firebase AI Logic-এর জন্য সাজেস্ট করা নিরাপত্তা সংক্রান্ত পেশাদার পদ্ধতি প্রয়োগ করতে এই চেকলিস্ট পর্যালোচনা করুন।

এটি অত্যন্ত গুরুত্বপূর্ণ।

অ্যাপ, ডিভাইস ও ব্যবহারকারী যাচাইকরণ

যাচাই করুন যে আপনার অ্যাপের প্রকৃত ডিভাইস থেকে আসা বৈধ, অপরিবর্তিত ইনস্ট্যান্স থেকে এবং প্রকৃত ব্যবহারকারীদের থেকে ইনকামিং অনুরোধ আসছে কিনা।

এনফোর্স করুন Firebase App Check

আপনার অ্যাপ থেকে সরাসরি কল করা হলে, Gemini API-কে অপব্যবহার থেকে রক্ষা করতে এনফোর্স করুন Firebase App Check। App Check এনফোর্স করা হলে, এটি যাচাই করে যে ইনকামিং অনুরোধ আপনার আসল অ্যাপ এবং/অথবা কোনও অপরিবর্তিত ডিভাইস থেকে এসেছে।

App Check Apple প্ল্যাটফর্ম (DeviceCheck, App Attest বা reCAPTCHA Enterprise), Android (Play Integrity বা reCAPTCHA Enterprise) এবং ওয়েবের (reCAPTCHA Enterprise) জন্য অ্যাটেস্টেশন প্রদানকারীকে সহায়তা করে। এটি Flutter এবং Unity অ্যাপের জন্যও এইসব প্রদানকারীকে সহায়তা করে।

জুলাই ২০২৬-এর শুরু থেকে, Firebase Firebase কনসোলে নির্দেশিত সেট-আপের সময় অটোমেটিক App Check এনফোর্স করে। Firebase AI Logic আপনি যদি আগে সেট-আপ Firebase AI Logic করে থাকেন, তাহলে স্পষ্টভাবে App Check এনফোর্স করতে ভুলবেন না। লোকাল ডেভেলপমেন্টের জন্য, আপনি App Check ডিবাগ প্রোভাইডার সেট-আপ করতে পারেন, এবং তারপরে এন্ড-ইউজারদের কাছে রিলিজ করার আগে প্রোডাকশন অ্যাটেস্টেশন প্রোভাইডারের সাথে আপনার অ্যাপ রেজিস্টার করুন।

সীমিত-ব্যবহারের টোকেনের মাধ্যমে রিপ্লে সুরক্ষা চালু করা

App Check সেট-আপ করার অংশ হিসেবে, এনফোর্স করা রিপ্লে প্রোটেকশন বিবেচনা করুন যাতে App Check টোকেন একবারই ব্যবহার করা যায়। এই বিকল্পটি বেসলাইন সুরক্ষার বাইরে উন্নত সুরক্ষা প্রদান করে এবং আপনার অ্যাপ ও ব্যবহারের ক্ষেত্রে সুরক্ষার উপযুক্ত লেভেল সেট করতে দেয়।

আপনার Firebase API কী-এর জন্য বিধিনিষেধ সেট-আপ করা

অনুরোধ করার সময় Firebase API কী আপনার Firebase প্রোজেক্ট ও অ্যাপ শনাক্ত করে। আপনার API কী অননুমোদিত ব্যবহার হওয়া আটকাতে:

  • Google Cloud কনসোলে "অ্যাপ্লিকেশন বিধিনিষেধ" সেট করুন যাতে আপনার অ্যাপের নির্দিষ্ট বান্ডেল আইডি (Apple), প্যাকেজের নাম ও SHA-1 ফিঙ্গারপ্রিন্ট (Android) অথবা HTTP রেফারার (ওয়েব) থেকে আসা অনুরোধের ক্ষেত্রে কী ব্যবহার সীমিত করা যায়।

  • প্রতিটি কীয়ের "API বিধিনিষেধ" শ্বেতলিস্ট পর্যালোচনা করুন:

    • নিশ্চিত করুন যে Firebase AI Logic API (firebasevertexai.googleapis.com) শ্বেতলিস্টিং করা আছে।
    • নিশ্চিত করুন যে আপনার অ্যাপের জন্য প্রয়োজনীয় নির্দিষ্ট Firebase পরিষেবা ছাড়া অন্য কোনও API যেন অনুমোদিত তালিকায় না থাকে। সীমাবদ্ধ Firebase কী-এর জন্য প্রয়োজনীয় API-এর তালিকা দেখুন।

মনে রাখবেন, Firebase-সম্পর্কিত API, Firebase প্রোজেক্ট বা অ্যাপ শনাক্ত করতে শুধুমাত্র API কী ব্যবহার করে, API কল করার জন্য অনুমোদনের জন্য নয়।

শুধুমাত্র যাচাই করা ব্যবহারকারীদের অনুরোধ সীমাবদ্ধ করুন

অনুমোদিত-ব্যবহারকারী মোড প্রয়োগ করার কথা বিবেচনা করুন, যাতে Firebase AI Logic-এর মাধ্যমে করা সব অনুরোধে অবশ্যই Firebase Authentication থেকে বৈধ ক্রেডেনশিয়াল অন্তর্ভুক্ত থাকে। অননুমোদিত প্রান্ত ব্যবহারকারীর থেকে অনুরোধ পেলে, 401: unauthenticated সমস্যার মেসেজ সহ অনুরোধটি বাতিল করা হয়।

প্রম্পট সুরক্ষা ও অনুরোধ আরও কঠিন করা

আপনার প্রম্পট ডিজাইন যাতে প্রকাশ না হয়ে যায় সেই জন্য ক্লায়েন্ট ডিকম্পাইলেশন প্রতিরোধ করুন এবং আপনার ব্যাকএন্ড লক করুন যাতে ক্ষতিকর ব্যবহারকারীরা কোনও প্রম্পট নির্বিচারে এক্সিকিউট করতে না পারে।

সার্ভার প্রম্পট টেমপ্লেট ব্যবহার করুন

প্রম্পট, সিস্টেম নির্দেশাবলী ও মডেল কনফিগারেশন ক্লাউডে নিরাপদে রাখতে, সার্ভার প্রম্পট টেমপ্লেট ব্যবহার করুন। এগুলি ক্লায়েন্ট অ্যাপ কোডে হার্ড কোড করবেন না, কারণ সেক্ষেত্রে বাইনারি ডিকম্পাইলেশন ব্যবহার করে এগুলি এক্সট্র্যাক্ট করা যেতে পারে।

আপনার অ্যাপ শুধুমাত্র টেমপ্লেট আইডি রেফার করে এবং ডায়নামিক ইনপুট ভেরিয়েবল পাস করে। এছাড়াও, সার্ভার প্রম্পট টেমপ্লেট আপনাকে প্রম্পট আপডেট করতে বা আপনার অ্যাপের নতুন ভার্সন রিলিজ না করেই চাহিদা অনুযায়ী মডেল পরিবর্তন করতে দেয়।

ক্লায়েন্টের দেওয়া টেমপ্লেট ভেরিয়েবল যাচাই ও পরিষ্কার করা

সার্ভার প্রম্পট টেমপ্লেট আপনার প্রম্পট ডিজাইন সুরক্ষিত রাখে, কিন্তু ডাইনামিক ভেরিয়েবল গ্রহণ করে এমন টেমপ্লেট প্রম্পট ইনজেকশনের জন্য এখনও সংবেদনশীল হতে পারে। কারণ, টেমপ্লেট, ব্যবহারকারীর ইনপুট ভেরিয়েবলকে ফাইনাল প্রম্পটে কনক্যাটেনেট করে, তাই এগুলি করতে ভুলবেন না:

  • কোনও টেমপ্লেটে (যেমন, অক্ষরের সীমা ও প্রত্যাশিত ফর্ম্যাট প্রয়োগ করা) ভেরিয়েবল পাস করার আগে ক্লায়েন্টে ব্যবহারকারীর দেওয়া সব ইনপুট যাচাই ও পরিষ্কার করুন।
  • আপনার টেমপ্লেটে স্পষ্ট সিস্টেম নির্দেশাবলী যোগ করুন যা ব্যবহারকারীর ইনপুট কীভাবে প্রসেস করা হয় তার জন্য গার্ডরেল নির্ধারণ করে।

শুধুমাত্র টেমপ্লেট মোড প্রয়োগ করা

আপনার অ্যাপের সব ফিচার সার্ভার প্রম্পট টেমপ্লেট ব্যবহার করা শুরু করলে, এনফোর্সিং শুধুমাত্র-টেমপ্লেট মোড বিবেচনা করুন। এনফোর্স করা হলে, Firebase AI Logic Gemini API-এ (403: unauthorized) সমস্ত ডাইরেক্ট, আন-টেমপ্লেটেড অনুরোধ ব্লক করে দেয়, যার ফলে ক্ষতিকারক অ্যাক্টররা যথেচ্ছ প্রম্পট পাঠাতে বা আপনার কোটা অপব্যবহার করতে পারে না।

মনিটরিং, সীমা ও বিলিং

ইনকামিং ট্রাফিক ও নিরাপত্তা সংক্রান্ত অস্বাভাবিকতা সম্পর্কে দৃশ্যমানতা পান এবং অপ্রত্যাশিত ব্যবহার বৃদ্ধি বা অতিরিক্ত খরচ থেকে আপনার প্রোজেক্টকে সুরক্ষিত রাখুন।

Firebase কনসোলে AI মনিটরিং সেট-আপ করা

Firebase কনসোলে AI মনিটরিং সেট-আপ করুন যাতে অনুরোধের সংখ্যা, লেটেন্সি, টোকেন ব্যবহার, এবং সমস্যার হার (401 অনুমোদন না হওয়া এবং 403 শুধুমাত্র টেমপ্লেট ব্লক করা সহ) ইত্যাদি মূল মেট্রিক সম্পর্কে দৃশ্যমানতা পাওয়া যায়। এছাড়াও, আপনি Google Cloud কনসোলে আলাদা আলাদা ট্রেস পরিদর্শন করতে পারবেন।

রেট লিমিট সেট করা ও কোটা ম্যানেজ করা

অপ্রত্যাশিত ব্যবহার বৃদ্ধি ও ডেনিয়াল-অফ-ওয়ালেট অ্যাটাক থেকে আপনার প্রোজেক্টকে সুরক্ষিত রাখা:

সতর্কতা ও খরচের সীমা সেট করার মাধ্যমে অপ্রত্যাশিত বিল এড়ানো

আপনার Firebase প্রোজেক্টে পে-অ্যাজ-ইউ-গো Blaze প্রাইসিং প্ল্যান থাকলে:

পরবর্তী ধাপ