আপনার Firebase ML Apple অ্যাপের ক্লাউড শংসাপত্রগুলি সুরক্ষিত করুন৷

যদি আপনার Apple অ্যাপ Firebase ML-এর ক্লাউড এপিআইগুলির একটি ব্যবহার করে, তাহলে আপনি আপনার অ্যাপটি প্রোডাকশনে লঞ্চ করার আগে, অননুমোদিত API অ্যাক্সেস রোধ করতে আপনাকে কিছু অতিরিক্ত পদক্ষেপ নিতে হবে।

1. বিদ্যমান API কীগুলির সুযোগ হ্রাস করুন৷

প্রথমে, ক্লাউড ভিশন API-এ অ্যাক্সেসের অনুমতি না দেওয়ার জন্য আপনার বিদ্যমান API কীগুলি কনফিগার করুন:

  1. খুলুন শংসাপত্রের Google ক্লাউড কনসোলে এর পাতা। অনুরোধ করা হলে, আপনার প্রকল্প নির্বাচন করুন.

  2. তালিকায় বিদ্যমান প্রতিটি API কী-এর জন্য, সম্পাদনা দৃশ্য খুলুন।

  3. এপিআই বিধিনিষেধ বিভাগে, সীমাবদ্ধ কী নির্বাচন করুন, তারপর সব API গুলি যার প্রতি তুমি API কী এক্সেস আছে করতে চান তার লিস্টে যোগ করুন। নিশ্চিত করুন ক্লাউড ভিশন এপিআই অন্তর্ভুক্ত না করতে।

    যখন আপনি কোনো API কী এর API- বিধিনিষেধ কনফিগার আপনি স্পষ্টভাবে API গুলি যা চাবিকাঠি অ্যাক্সেস আছে প্রকাশক করছে। ডিফল্ট, যখন এপিআই বিধিনিষেধ অধ্যায় না বাধানিষেধযুক্ত কী নির্বাচিত, একটি API কী কোনো API যা প্রকল্পের জন্য সক্রিয় করা হয় অ্যাক্সেস করতে ব্যবহার করা যাবে দ্বারা।

এখন, আপনার বিদ্যমান API কীগুলির মেঘ এমএল পরিষেবাগুলিতে অ্যাক্সেস মঞ্জুর করবে না, কিন্তু প্রত্যেক কী কোনো API গুলি যে আপনি তার এপিআই বিধিনিষেধ তালিকায় যোগ কাজ চলতে থাকবে।

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

2. Firebase ML-এর সাথে ব্যবহারের জন্য একটি নতুন API কী তৈরি করুন৷

এর পরে, Firebase ML-এর জন্য একটি নতুন API কী তৈরি করুন যা শুধুমাত্র Cloud Vision API-তে কল করার অনুমতি দেয়:

  1. ফিরুন শংসাপত্রের পাতা। আপনার Firebase প্রকল্প এখনও নির্বাচিত হয়েছে তা নিশ্চিত করুন৷

  2. পরিচয়পত্র তৈরি করুন> API কী ক্লিক করুন। নতুন API কী নোট নিন, তারপর সীমাবদ্ধ কী ক্লিক করুন।

  3. এপিআই বিধিনিষেধ বিভাগে, সীমাবদ্ধ কী নির্বাচন করুন, তারপর তালিকা শুধুমাত্র ক্লাউড ভিশন API- এ যোগ করুন।

এই এপিআই কী শুধুমাত্র ক্লাউড ভিশন এপিআইতে অ্যাক্সেস দেয় এবং ক্লাউড-ভিত্তিক মডেলগুলি অ্যাক্সেস করতে Firebase ML দ্বারা ব্যবহার করা যেতে পারে।

একটি আপস করা কী এর পরিণতিগুলি প্রশমিত করতে, আপনার ডিফল্ট সেটিং থেকে ক্লাউড ভিশন API-এর প্রতি-ব্যবহারকারীর কোটা হ্রাস করা উচিত৷ তাই না:

  1. খুলুন ক্লাউড ভিশন এপিআই কোটা Google ক্লাউড কনসোলে এর পাতা। অনুরোধ করা হলে, আপনার প্রকল্প নির্বাচন করুন.

  2. অনুরোধ বিভাগের মধ্যে, আপনার অ্যাপের জন্য কিছু যুক্তিসঙ্গত প্রতি ব্যবহারকারী কোটা প্রতি মিনিটে অনুরোধ করে। উদাহরণ স্বরূপ, যদি আপনার অ্যাপে একটি ডকুমেন্টের ছবি আপলোড করা হয় যাতে তার পাঠ্য ফিরে পাওয়া যায়, তাহলে এটি অসম্ভাব্য যে একজন ব্যবহারকারী প্রতি কয়েক সেকেন্ডে একবারের বেশি এটি করবেন, তাই 30-40 কোটা সম্ভবত নিরাপদ হবে।

    মনে রাখবেন যে এই প্রসঙ্গে "ব্যবহারকারী প্রতি অনুরোধ" একটি একক আইপি ঠিকানা থেকে অনুরোধ বোঝায়। আপনি যদি NAT এর পিছনে থেকে একই সময়ে একাধিক ব্যবহারকারী আপনার অ্যাপ ব্যবহার করার আশা করেন তবে আপনাকে এটি বিবেচনা করতে হবে।

4. আপনার Firebase ML API কী ব্যবহার করে ক্লাউড API-কে কল করুন

অবশেষে, আপনার অ্যাপে, আপনার নতুন API কী ব্যবহার করতে Firebase ML কনফিগার করুন।

যেহেতু Firebase ML API কী ক্লাউড ভিশন API-এ অননুমোদিত অ্যাক্সেসের অনুমতি দেয়, তাই আপনার বিলিং অ্যাকাউন্টে অননুমোদিত ব্যবহার এবং চার্জ প্রতিরোধ করতে কীটি গোপনীয় রাখা গুরুত্বপূর্ণ। এটি করার জন্য, আপনার অ্যাপ বাইনারিতে আপনার API কী অন্তর্ভুক্ত করা থেকে বিরত থাকা উচিত। পরিবর্তে, অ্যাপ রানটাইমে, যাচাই করুন যে একজন পরিচিত ভাল ব্যবহারকারী সাইন ইন করেছেন, এবং শুধুমাত্র তারপর, একটি সার্ভার থেকে API কী পুনরুদ্ধার করুন।

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

আপনার অ্যাপ নিরাপদে API কী অর্জন করার পরে, আপনি যখন একটি Firebase ML Cloud API কল করতে চান, কীটি নির্দিষ্ট করুন:

সুইফট

if let cloudVisionKey = getYourApiKey() {  // See note above about securing your API key
    let options = VisionCloudDetectorOptions()
    options.apiKeyOverride = cloudVisionKey
    let cloudDetector = Vision.vision().cloudLandmarkDetector(options: options)
}

উদ্দেশ্য গ

NSString *cloudVisionKey = [self getYourApiKey];  // See note above about securing your API key
if (cloudVisionKey != nil) {
    FIRVisionCloudDetectorOptions *options =
            [[FIRVisionCloudDetectorOptions alloc] init];
    options.APIKeyOverride = cloudVisionKey;
    FIRVisionCloudLandmarkDetector *landmarkDetector =
            [vision cloudLandmarkDetectorWithOptions:options];
}

উপরন্তু, আপনি সাধারণ পরামর্শ অনুসরণ করা উচিত একটি API কী সুরক্ষিত

পরবর্তী পদক্ষেপ

দেখুন লঞ্চ চেকলিস্ট লঞ্চ করতে আপনার অ্যাপ প্রস্তুতি যখন অন্য Firebase বৈশিষ্ট্যগুলি ব্যবহার তথ্যের জন্য।