অননুমোদিত ক্লায়েন্টদের থেকে APIগুলিকে রক্ষা করতে Firebase অ্যাপ চেক প্রয়োগ করুন

যখন আপনি সরাসরি কোনও মোবাইল বা ওয়েব অ্যাপ থেকে কোনও API কল করেন (উদাহরণস্বরূপ, যে APIগুলি জেনারেটিভ AI মডেলগুলিতে অ্যাক্সেসের অনুমতি দেয়), তখন APIটি অননুমোদিত ক্লায়েন্টদের দ্বারা অপব্যবহারের ঝুঁকিতে থাকে। এই APIগুলিকে সুরক্ষিত রাখতে, আপনি Firebase App Check ব্যবহার করে যাচাই করতে পারেন যে সমস্ত ইনকামিং API কলগুলি আপনার আসল অ্যাপ থেকে আসছে।

Firebase AI Logic একটি প্রক্সি গেটওয়ে প্রদান করে যা আপনাকে Firebase App Check সাথে ইন্টিগ্রেট করতে এবং আপনার মোবাইল এবং ওয়েব অ্যাপ দ্বারা কল করা জেনারেটিভ AI মডেল API গুলিকে সুরক্ষিত করতে দেয়। Firebase AI Logic SDK গুলির সাথে App Check ব্যবহার করা আমাদের সমস্ত কনফিগারেশনকে সমর্থন করে:

  • "Gemini API" প্রদানকারী উভয়কেই সুরক্ষিত করে: Gemini Developer API এবং Vertex AI Gemini API

  • সমস্ত সমর্থিত মডেল, জেমিনি মডেল এবং ইমেজেন মডেল উভয়কেই সুরক্ষিত করে।

App Check কীভাবে কাজ করে তার উচ্চ-স্তরের সারাংশ

App Check মাধ্যমে, আপনার অ্যাপ চালানো ডিভাইসগুলি এমন একটি অ্যাপ বা ডিভাইস প্রত্যয়ন প্রদানকারী ব্যবহার করে যা নিম্নলিখিতগুলির একটি বা উভয়ই যাচাই করে:

  • আপনার খাঁটি অ্যাপ থেকে অনুরোধগুলি আসে
  • অনুরোধগুলি একটি খাঁটি, অ-টেম্পারড ডিভাইস থেকে আসে

এই প্রত্যয়নটি আপনার অ্যাপের Firebase AI Logic SDK ব্যবহার করে করা প্রতিটি অনুরোধের সাথে সংযুক্ত থাকে। আপনি যখন App Check এনফোর্সমেন্ট সক্ষম করবেন, তখন বৈধ প্রত্যয়ন ছাড়া ক্লায়েন্টদের অনুরোধগুলি প্রত্যাখ্যান করা হবে, যেমন আপনার অনুমোদিত নয় এমন কোনও অ্যাপ বা প্ল্যাটফর্ম থেকে আসা যেকোনো অনুরোধ প্রত্যাখ্যান করা হবে।

আমরা সুপারিশ করছি যে যখন আপনি App Check সেট আপ করবেন, তখন আসন্ন উন্নত সুরক্ষার (যা রিপ্লে সুরক্ষা নামে পরিচিত) জন্য প্রস্তুত থাকুন।

App Check সম্পর্কে বিস্তারিত তথ্য আপনি এর ডকুমেন্টেশনে পেতে পারেন, যার মধ্যে এর কোটা এবং সীমাও অন্তর্ভুক্ত রয়েছে।

উপলব্ধ সরবরাহকারী এবং বাস্তবায়ন নির্দেশাবলী

App Check ডকুমেন্টেশনে প্রত্যয়ন প্রদানকারীদের বিবরণের পাশাপাশি বাস্তবায়নের নির্দেশাবলীও প্রদান করা হয়েছে।

  1. একটি ডিফল্ট প্রদানকারী বেছে নিন এবং নিম্নলিখিত লিঙ্কগুলিতে প্রয়োগের নির্দেশাবলী অনুসরণ করুন:

    মনে রাখবেন যে যদি কোনও ডিফল্ট প্রদানকারী আপনার প্রয়োজনের জন্য পর্যাপ্ত না হয়, তাহলে আপনি এমন একটি কাস্টম প্রদানকারী বাস্তবায়ন করতে পারেন যা হয় তৃতীয় পক্ষের প্রত্যয়ন প্রদানকারী অথবা আপনার নিজস্ব প্রত্যয়ন কৌশল ব্যবহার করে।

  2. (প্রস্তাবিত) অ্যাপ চেক (যা রিপ্লে সুরক্ষা নামে পরিচিত) App Check আসন্ন উন্নত সুরক্ষার জন্য প্রস্তুত থাকুন

  3. (প্রয়োজনীয়) প্রকৃত ব্যবহারকারীদের কাছে আপনার অ্যাপটি প্রকাশ করার আগে, App Check প্রয়োগ সক্ষম করুন

ফ্লটারের জন্য বিশেষ ইনস্ট্যান্সিয়েশন প্রয়োজন

এই পৃষ্ঠায় প্রোভাইডার-নির্দিষ্ট কন্টেন্ট এবং কোড দেখতে আপনার জেমিনি API প্রোভাইডারে ক্লিক করুন।

Flutter অ্যাপে Firebase AI Logic দিয়ে App Check ব্যবহার করার সময়, আপনাকে ইনস্ট্যান্সিয়েশনের সময় স্পষ্টভাবে App Check পাস করতে হবে, যেমন:

// ...

final ai = await FirebaseAI.googleAI(
  appCheck: FirebaseAppCheck.instance, // for Flutter, pass in App Check explicitly
);

// ...

আসন্ন উন্নত সুরক্ষার জন্য প্রস্তুত থাকুন

সীমিত-ব্যবহারের টোকেনগুলির ব্যবহার সক্ষম করা অ্যাপল প্ল্যাটফর্ম (v12.2.0+), অ্যান্ড্রয়েড (v17.2.0+, BoM v34.2.0+), ওয়েব (v12.3.0+), এবং ফ্লটার (v3.2.0+, BoM v4.2.0+) এর জন্য সমর্থিত। ইউনিটির জন্য সমর্থন শীঘ্রই আসছে।

ডিফল্টরূপে, App Check সেশন টোকেন ব্যবহার করে যার একটি কনফিগারযোগ্য সময়কাল (TTL) 30 মিনিট থেকে 7 দিনের মধ্যে থাকে। এই সেশন টোকেনগুলি App Check SDK দ্বারা ক্যাশে করা হয় এবং আপনার অ্যাপ থেকে অনুরোধের সাথে পাঠানো হয়।

ভবিষ্যতে, App Check ফায়ারবেস এআই লজিকের জন্য রিপ্লে সুরক্ষা সক্ষম করার বিকল্প যুক্ত করবে (অন্যান্য কিছু সংস্থানের জন্য App Check ইতিমধ্যে যে সহায়তা প্রদান করে তার অনুরূপ)। যখন রিপ্লে সুরক্ষা সক্ষম করা হয়, তখন এটি নিম্নলিখিত উপায়ে সুরক্ষা বৃদ্ধি করে:

  • App Check শুধুমাত্র তখনই অনুরোধগুলিকে অনুমতি দেবে যদি সেগুলির সাথে সীমিত-ব্যবহারের টোকেন নামে একটি বিশেষ ধরণের টোকেন থাকে।

  • সীমিত-ব্যবহারের টোকেন যাচাই করার পরে, টোকেনটি ব্যবহার করা হয় যাতে এটি কেবল একবার ব্যবহার করা যায়, রিপ্লে আক্রমণ প্রতিরোধ করে।

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

আপনার অ্যাপে সীমিত-ব্যবহারের টোকেনের ব্যবহার সক্ষম করলে (যদিও রিপ্লে সুরক্ষা অনুপলব্ধ থাকে) নিম্নলিখিত বিষয়গুলি লক্ষ্য করুন:

  • App Check বৈধ সেশন টোকেনের ব্যবহার ব্লক করে না

  • সেশন টোকেনের মতোই, সীমিত-ব্যবহারের টোকেনগুলি App Check SDK দ্বারা ক্যাশে করা হয় এবং অনুরোধের সাথে পাঠানো হয়। এই সীমিত-ব্যবহারের টোকেনগুলি ডিফল্ট সেশন টোকেনের তুলনায় অল্প পরিমাণে অতিরিক্ত সুরক্ষা প্রদান করে কারণ সীমিত-ব্যবহারের টোকেনগুলিতে সেশন টোকেনের তুলনায় একটি ছোট TTL (মাত্র 5 মিনিট এবং সামঞ্জস্যযোগ্য নয়) থাকে।

  • যদিও সীমিত-ব্যবহারের টোকেনগুলি 5 মিনিটের জন্য বৈধ, তবুও SDK প্রতিটি অনুরোধের জন্য একটি নতুন টোকেন তৈরি করবে। এই প্রক্রিয়াটি আপনার অনুরোধে কিছু বিলম্ব যোগ করতে পারে।

তবে, ভবিষ্যতে যখন Firebase AI Logic-এর জন্য রিপ্লে সুরক্ষা উপলব্ধ হবে (এবং আপনি এটি সক্ষম করবেন), তখন সেশন টোকেন ব্যবহার এবং সীমিত-ব্যবহারের টোকেনগুলির পুনঃব্যবহার সম্ভব হবে না। মনে রাখবেন যে প্রতিটি অনুরোধের জন্য একটি নতুন টোকেন তৈরি করার জন্য অতিরিক্ত ল্যাটেন্সি এখনও ঘটবে।

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

এই পৃষ্ঠায় প্রোভাইডার-নির্দিষ্ট কন্টেন্ট এবং কোড দেখতে আপনার জেমিনি API প্রোভাইডারে ক্লিক করুন।

সীমিত-ব্যবহারের টোকেনের ব্যবহার কীভাবে সক্ষম করবেন তা এখানে দেওয়া হল:

  1. App Check বাস্তবায়ন করুন , এবং নিশ্চিত করুন যে আপনি আপনার অ্যাপের জন্য App Check এনফোর্সমেন্ট সক্ষম করেছেন

  2. আপনার অ্যাপে ইনস্ট্যান্সিয়েশনের সময়, useLimitedUseAppCheckTokens প্যারামিটারটিকে true এ সেট করে সীমিত-ব্যবহারের টোকেনগুলির ব্যবহার সক্ষম করুন:

    সুইফট

    
    // ...
    
    // During instantiation, enable usage of limited-use tokens
    let ai = FirebaseAI.firebaseAI(
      backend: .googleAI(),
      useLimitedUseAppCheckTokens: true
    )
    
    // ...
    
    

    Kotlin

    
    // ...
    
    // During instantiation, enable usage of limited-use tokens
    val ai = Firebase.ai(
      backend = GenerativeBackend.googleAI(),
      useLimitedUseAppCheckTokens = true
    )
    
    // ...
    
    

    Java

    
    // ...
    
    // During instantiation, enable usage of limited-use tokens
    FirebaseAI ai = FirebaseAI.getInstance(
      /* backend: */ GenerativeBackend.googleAI(),
      /* useLimitedUseAppCheckTokens: */ true
    );
    
    // ...
    
    

    Web

    
    // ...
    
    // During instantiation, enable usage of limited-use tokens
    const ai = getAI(firebaseApp, {
      backend: new GoogleAIBackend(),
      useLimitedUseAppCheckTokens: true
    });
    
    // ...
    
    

    Dart

    
    // ...
    
    // During instantiation, enable usage of limited-use tokens
    final ai = await FirebaseAI.googleAI(
      appCheck: FirebaseAppCheck.instance, // for Flutter, pass in App Check explicitly
      useLimitedUseAppCheckTokens: true,
    );
    
    // ...
    
    

    ঐক্য

    ইউনিটি গেমের সাথে সীমিত-ব্যবহারের টোকেন ব্যবহার ভবিষ্যতের রিলিজে সমর্থিত হবে। শীঘ্রই আবার পরীক্ষা করুন!

ফায়ারবেস এআই লজিক কীভাবে App Check সাথে একীভূত হয় তা বুঝুন

Firebase AI Logic SDK ব্যবহার করার জন্য, আপনার Firebase প্রকল্পে Firebase AI Logic API ( firebasevertexai.googleapis.com ) সক্রিয় করতে হবে। এর কারণ হল Firebase AI Logic SDK গুলি দ্বারা করা অনুরোধগুলি প্রথমে Firebase AI Logic সার্ভারে পাঠানো হয়, যা একটি প্রক্সি গেটওয়ে হিসেবে কাজ করে যেখানে Firebase App Check যাচাইকরণ সঞ্চালিত হয় এবং অনুরোধটি আপনার নির্বাচিত " Gemini API " প্রদানকারীর ব্যাকএন্ডে এবং Gemini এবং Imagen মডেলগুলিতে অ্যাক্সেস করার জন্য API গুলিতে এগিয়ে যাওয়ার অনুমতি দেওয়া হয়।