যেসব অ্যাপ ও প্রজেক্ট গুগল ম্যাপস প্ল্যাটফর্ম এপিআই এবং এসডিকে ব্যবহার করে, তাদের নিজেদের প্রমাণীকরণের জন্য অবশ্যই এপিআই কী অথবা, সমর্থিত হলে, OAuth 2.0 ব্যবহার করতে হবে।
এই সেরা অনুশীলনগুলো আপনাকে দেখাবে কীভাবে আপনার ম্যাপস প্ল্যাটফর্মের অ্যাক্সেস সুরক্ষিত করতে হয়।
আপনি যদি সার্ভার-টু-সার্ভার ট্র্যাফিক অনুমোদনের জন্য OAuth 2.0 ব্যবহার করতে চান, তাহলে আপনার API ডকুমেন্টেশনে OAuth টপিকটি খুঁজুন। আরও বিস্তারিত জানতে “সার্ভার-সাইড অ্যাপের জন্য OAuth ব্যবহার” দেখুন।
অ্যাপ্লিকেশন এবং এপিআই কী সীমাবদ্ধতা প্রয়োগ করার পাশাপাশি, গুগল ম্যাপস প্ল্যাটফর্মের নির্দিষ্ট পণ্যগুলির জন্য প্রযোজ্য নিরাপত্তা অনুশীলনগুলিও অনুসরণ করুন। উদাহরণস্বরূপ, নিচে 'প্রস্তাবিত অ্যাপ্লিকেশন এবং এপিআই সীমাবদ্ধতা ' অংশে ম্যাপস জাভাস্ক্রিপ্ট এপিআই দেখুন।
আপনার API কীগুলো যদি ইতিমধ্যেই ব্যবহৃত হয়ে থাকে, তাহলে ‘আপনি যদি ব্যবহৃত কোনো API কী সীমাবদ্ধ করতে চান’ অংশে দেওয়া নিচের সুপারিশগুলো পর্যালোচনা করুন।
Maps Static API এবং Street View Static API দ্বারা সমর্থিত ডিজিটাল স্বাক্ষর সম্পর্কে আরও বিস্তারিত জানতে, ডিজিটাল স্বাক্ষর নির্দেশিকা দেখুন।
সুপারিশকৃত সর্বোত্তম অনুশীলন
নিরাপত্তা বাড়াতে এবং অননুমোদিত ব্যবহারের জন্য বিল হওয়া এড়াতে, গুগল ম্যাপস প্ল্যাটফর্মের সকল এপিআই, এসডিকে বা পরিষেবার ক্ষেত্রে এই এপিআই নিরাপত্তা সংক্রান্ত সর্বোত্তম অনুশীলনগুলো অনুসরণ করুন:
সকল এপিআই কী ব্যবহারের জন্য প্রস্তাবিত
আপনার এপিআই কীগুলি সীমাবদ্ধ করুন
প্রতিটি অ্যাপের জন্য আলাদা এপিআই কী ব্যবহার করুন
অব্যবহৃত API কীগুলি মুছে ফেলুন
আপনার এপিআই কী-এর ব্যবহার যাচাই করুন
এপিআই কী ঘোরানোর সময় সতর্ক থাকুন।
ক্লায়েন্ট-সাইড এবং সার্ভার-সাইড ব্যবহারকে আলাদা প্রজেক্টে ভাগ করুন
অব্যবহৃত পরিষেবাগুলি নিষ্ক্রিয় করুন
ক্লায়েন্ট-সাইড অ্যাপের জন্য অতিরিক্ত সুপারিশ
ক্লায়েন্ট-সাইড SDK ব্যবহার করুন
সুরক্ষিত ক্লায়েন্ট-সাইড ওয়েব পরিষেবা কল
স্ট্যাটিক ওয়েব এপিআই ব্যবহারকারী ওয়েবসাইট বা ক্লায়েন্ট-সাইড অ্যাপের জন্য অতিরিক্ত সুপারিশসমূহ
স্ট্যাটিক ওয়েব এপিআই ব্যবহার সুরক্ষিত করুন
ওয়েব সার্ভিস ব্যবহারকারী সার্ভার-সাইড অ্যাপগুলির জন্য অতিরিক্ত সুপারিশ
ওয়েব পরিষেবা API কীগুলি সুরক্ষিত করুন
সার্ভার-সাইড অ্যাপের জন্য OAuth ব্যবহার করুন
যদি আপনি ব্যবহৃত কোনো এপিআই কী সীমাবদ্ধ বা পরিবর্তন করেন
এপিআই কী পরিবর্তন করার আগে, আপনার এপিআই কী-এর ব্যবহার যাচাই করুন। এই ধাপটি বিশেষভাবে গুরুত্বপূর্ণ, বিশেষ করে যদি আপনি এমন কোনো কী-এর জন্য বিধিনিষেধ যোগ করতে চান যা ইতিমধ্যেই কোনো প্রোডাকশন অ্যাপ্লিকেশনে ব্যবহৃত হচ্ছে।
কী পরিবর্তন করার পর, প্রয়োজন অনুযায়ী আপনার সমস্ত অ্যাপ নতুন API কী দিয়ে আপডেট করুন।
যদি আপনার এপিআই কী (API key) অরক্ষিত না থাকে এবং সক্রিয়ভাবে এর অপব্যবহার না করা হয়, তবে আপনি আপনার অ্যাপগুলোকে নিজের গতিতে একাধিক নতুন এপিআই কী-তে স্থানান্তর করতে পারেন। এক্ষেত্রে মূল এপিআই কী-টি অপরিবর্তিত রাখতে হবে যতক্ষণ না আপনি কেবল এক ধরনের ট্র্যাফিক লক্ষ্য করেন এবং অনাকাঙ্ক্ষিত পরিষেবা বিঘ্ন না ঘটিয়ে এপিআই কী-টিকে নিরাপদে এক ধরনের অ্যাপ্লিকেশনের উপর বিধিনিষেধ আরোপ করা যায়।
আরও নির্দেশাবলীর জন্য, একাধিক API কী-তে মাইগ্রেট করুন দেখুন।
পুরানো এপিআই কী সীমাবদ্ধ বা মুছে ফেলার সিদ্ধান্ত নেওয়ার আগে, সময়ের সাথে সাথে এর ব্যবহার পর্যবেক্ষণ করুন এবং দেখুন কখন নির্দিষ্ট এপিআই, প্ল্যাটফর্মের ধরণ এবং ডোমেইনগুলো পুরানো এপিআই কী থেকে স্থানান্তরিত হয়েছে। আরও তথ্যের জন্য, রিপোর্টিং ও পর্যবেক্ষণ এবং মেট্রিক্স দেখুন।
যদি আপনার এপিআই কী (API key) ফাঁস হয়ে যায়, তবে সেটিকে সুরক্ষিত করতে এবং এর অপব্যবহার বন্ধ করতে আপনার দ্রুত পদক্ষেপ নেওয়া উচিত। অ্যান্ড্রয়েড এবং আইওএস অ্যাপে, গ্রাহকরা তাদের অ্যাপ আপডেট না করা পর্যন্ত কী প্রতিস্থাপন করা হয় না। ওয়েবপেজ বা সার্ভার-সাইড অ্যাপে কী আপডেট বা প্রতিস্থাপন করা অনেক বেশি সহজ, কিন্তু এর জন্যও সতর্ক পরিকল্পনা এবং দ্রুত কাজের প্রয়োজন হতে পারে।
আরও তথ্যের জন্য, এপিআই কী-এর অননুমোদিত ব্যবহার মোকাবিলা দেখুন।
আরও তথ্য
প্রস্তাবিত অ্যাপ্লিকেশন এবং এপিআই সীমাবদ্ধতা
আপনার এপিআই কীগুলি সীমাবদ্ধ করুন
সর্বোত্তম পন্থা হলো সর্বদা আপনার এপিআই কী-গুলোকে এক ধরনের অ্যাপ্লিকেশন সীমাবদ্ধতা এবং এক বা একাধিক এপিআই সীমাবদ্ধতা দিয়ে সীমিত রাখা। এপিআই, এসডিকে, বা জাভাস্ক্রিপ্ট পরিষেবা অনুযায়ী প্রস্তাবিত সীমাবদ্ধতার জন্য, নিচে প্রস্তাবিত অ্যাপ্লিকেশন এবং এপিআই সীমাবদ্ধতা দেখুন।
অ্যাপ্লিকেশন সীমাবদ্ধতা: আপনি একটি API কী-এর ব্যবহার নির্দিষ্ট প্ল্যাটফর্মে সীমাবদ্ধ করতে পারেন: অ্যান্ড্রয়েড বা iOS অ্যাপ্লিকেশন, অথবা ক্লায়েন্ট-সাইড অ্যাপ্লিকেশনের জন্য নির্দিষ্ট ওয়েবসাইট, অথবা ওয়েব সার্ভিস REST API কল প্রদানকারী সার্ভার-সাইড অ্যাপের জন্য নির্দিষ্ট IP অ্যাড্রেস বা CIDR সাবনেট।
আপনি যে ধরনের অ্যাপ্লিকেশন বিধিনিষেধ অনুমোদন করতে চান, সেগুলোর এক বা একাধিক বিধিনিষেধ যোগ করে একটি কী-কে সীমাবদ্ধ করেন, যার পরে শুধুমাত্র এই উৎসগুলো থেকে আসা অনুরোধগুলোই অনুমোদিত হয়।
এপিআই সীমাবদ্ধতা: আপনি সীমাবদ্ধ করতে পারেন যে আপনার এপিআই কী কোন কোন গুগল ম্যাপস প্ল্যাটফর্ম এপিআই, এসডিকে, বা পরিষেবাগুলিতে ব্যবহার করা যাবে। এপিআই সীমাবদ্ধতা শুধুমাত্র আপনার নির্দিষ্ট করা এপিআই এবং এসডিকে-গুলিতেই অনুরোধ করার অনুমতি দেয়। যেকোনো একটি এপিআই কী-এর জন্য, আপনি প্রয়োজন অনুযায়ী যত খুশি এপিআই সীমাবদ্ধতা নির্দিষ্ট করতে পারেন। উপলব্ধ এপিআই-এর তালিকায় একটি প্রোজেক্টে সক্রিয় করা সমস্ত এপিআই অন্তর্ভুক্ত থাকে।
একটি API কী-এর জন্য একটি অ্যাপ্লিকেশন সীমাবদ্ধতা সেট করুন
Google Cloud কনসোলের Google Maps Platform Credentials পৃষ্ঠাটি খুলুন।
যে এপিআই কী-টি আপনি সীমাবদ্ধ করতে চান, সেটি নির্বাচন করুন।
API কী সম্পাদনা পৃষ্ঠায় , কী সীমাবদ্ধতা (Key restrictions) -এর অধীনে, একটি অ্যাপ্লিকেশন সীমাবদ্ধতা সেট করুন (Set an application restriction) নির্বাচন করুন।

বিধিনিষেধের প্রকারগুলোর মধ্যে একটি নির্বাচন করুন এবং বিধিনিষেধ তালিকা অনুযায়ী অনুরোধকৃত তথ্য সরবরাহ করুন।
সীমাবদ্ধতার ধরণ বর্ণনা ওয়েবসাইট এক বা একাধিক রেফারার ওয়েবসাইট নির্দিষ্ট করুন। - সর্বজনীনভাবে সমর্থিত রেফারার ইউআরআই স্কিমগুলো হলো
httpsএবংhttp। অন্যান্য স্কিমগুলো সঠিকভাবে কাজ করবে এমন কোনো নিশ্চয়তা নেই, কারণ আধুনিক ওয়েব ব্রাউজারগুলো গোপনীয়তার কারণে বহির্গামী অনুরোধে `Referer` হেডার পাঠায় না। - সর্বদা প্রোটোকল স্কিম, হোস্টনেম এবং ঐচ্ছিক পোর্ট সহ সম্পূর্ণ রেফারার স্ট্রিংটি প্রদান করুন (যেমন,
https://google.com)। - আপনি সমস্ত সাবডোমেইন অনুমোদন করতে ওয়াইল্ডকার্ড অক্ষর ব্যবহার করতে পারেন। উদাহরণস্বরূপ,
https://*.google.comসেইসব সাইট গ্রহণ করে যেগুলোর শেষে.google.comরয়েছে। - সম্পূর্ণ পাথসহ রেফারার (যেমন:
https://google.com/some/path) অনুমোদন করার সময় সতর্ক থাকুন, কারণ বেশিরভাগ ওয়েব ব্রাউজার গোপনীয়তার কারণে ক্রস-অরিজিন অনুরোধ থেকে পাথটি মুছে ফেলে।
আইপি ঠিকানা CIDR নোটেশন ব্যবহার করে এক বা একাধিক IPv4 বা IPv6 অ্যাড্রেস, অথবা সাবনেট উল্লেখ করুন। আইপি অ্যাড্রেসগুলো অবশ্যই গুগল ম্যাপস প্ল্যাটফর্ম সার্ভারগুলোর পর্যবেক্ষণ করা সোর্স অ্যাড্রেসের সাথে মিলতে হবে। আপনি যদি নেটওয়ার্ক অ্যাড্রেস ট্রান্সলেশন (NAT) ব্যবহার করেন, তবে এই অ্যাড্রেসটি সাধারণত আপনার মেশিনের পাবলিক আইপি অ্যাড্রেসের সাথে মিলে যায়। অ্যান্ড্রয়েড অ্যাপস আপনি যে প্রতিটি অ্যান্ড্রয়েড অ্যাপ্লিকেশনকে অনুমোদন করতে চান, সেগুলোর অ্যান্ড্রয়েড প্যাকেজ নেম (
AndroidManifest.xmlফাইল থেকে) এবং SHA-1 সাইনিং সার্টিফিকেট ফিঙ্গারপ্রিন্ট যোগ করুন।- অ্যান্ড্রয়েড অ্যাপ নির্বাচন করুন।
- যোগ করুন -এ ক্লিক করুন ।
- আপনার প্যাকেজের নাম এবং SHA-1 সার্টিফিকেট ফিঙ্গারপ্রিন্ট লিখুন। উদাহরণস্বরূপ:
com.example.android.mapexample
BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75
- সংরক্ষণ করুন- এ ক্লিক করুন।
দুই ধরনের সার্টিফিকেট আছে:
- ডিবাগ সার্টিফিকেট : এই ধরনের সার্টিফিকেট শুধুমাত্র সেইসব অ্যাপের জন্য ব্যবহার করুন যেগুলো আপনি পরীক্ষা করছেন এবং অন্যান্য নন-প্রোডাকশন কোডের জন্য। ডিবাগ সার্টিফিকেট দিয়ে স্বাক্ষরিত কোনো অ্যাপ প্রকাশ করার চেষ্টা করবেন না। আপনি যখন একটি ডিবাগ বিল্ড চালান, তখন অ্যান্ড্রয়েড এসডিকে টুলস স্বয়ংক্রিয়ভাবে এই সার্টিফিকেটটি তৈরি করে।
- রিলিজ সার্টিফিকেট : যখন আপনি কোনো অ্যাপ স্টোরে আপনার অ্যাপ রিলিজ করার জন্য প্রস্তুত হবেন, তখন এই সার্টিফিকেটটি ব্যবহার করুন। আপনি যখন একটি রিলিজ বিল্ড চালান, তখন অ্যান্ড্রয়েড এসডিকে টুলস এই সার্টিফিকেটটি তৈরি করে।
অ্যান্ড্রয়েড অ্যাপ্লিকেশন সাইনিং এবং সার্টিফিকেট সম্পর্কে আরও তথ্যের জন্য, "আপনার অ্যাপে স্বাক্ষর করুন" নির্দেশিকাটি দেখুন।
আপনি যদি প্লে অ্যাপ সাইনিং (Play App Signing) ব্যবহার করেন, তাহলে সাইনিং সার্টিফিকেট ফিঙ্গারপ্রিন্ট (signing certificate fingerprint) পাওয়ার জন্য ‘এপিআই প্রোভাইডারদের সাথে কাজ করা’ (Working with API Providers ) দেখুন। আপনি যদি নিজের সাইনিং কী (signing key) পরিচালনা করেন, তাহলে ‘আপনার অ্যাপ্লিকেশন স্ব-স্বাক্ষর করা’ (Self-signing your application) দেখুন অথবা আপনার বিল্ড এনভায়রনমেন্টের (build environment) নির্দেশাবলী দেখুন।
iOS অ্যাপস আপনি যে প্রতিটি iOS অ্যাপ্লিকেশনকে অনুমোদন করতে চান, তার বান্ডেল আইডেন্টিফায়ার যোগ করুন।
- iOS অ্যাপগুলো নির্বাচন করুন।
- যোগ করুন -এ ক্লিক করুন ।
- ঐ আইডিযুক্ত iOS অ্যাপ থেকে অনুরোধ গ্রহণ করতে বান্ডেল আইডিটি যোগ করুন।
- সংরক্ষণ করুন- এ ক্লিক করুন।
অ্যাপ্লিকেশন সীমাবদ্ধতার সুপারিশের জন্য, প্রস্তাবিত অ্যাপ্লিকেশন সীমাবদ্ধতা দেখুন।
- সর্বজনীনভাবে সমর্থিত রেফারার ইউআরআই স্কিমগুলো হলো
সংরক্ষণ নির্বাচন করুন।
একটি API কী-এর জন্য API বিধিনিষেধ সেট করুন
Google Cloud কনসোলের Google Maps Platform Credentials পৃষ্ঠাটি খুলুন।
যে এপিআই কী-টি আপনি সীমাবদ্ধ করতে চান, সেটি নির্বাচন করুন।
এপিআই কী সম্পাদনা পৃষ্ঠায় , এপিআই বিধিনিষেধের অধীনে:
সীমাবদ্ধ কী নির্বাচন করুন।
'Select APIs' খুলুন এবং এপিআই কী ব্যবহার করে আপনার অ্যাপ্লিকেশন যে এপিআই বা এসডিকেগুলো অ্যাক্সেস করতে চায়, সেগুলো নির্বাচন করুন।
যদি কোনো API বা SDK তালিকাভুক্ত না থাকে, তাহলে আপনাকে সেটি সক্রিয় করতে হবে। বিস্তারিত জানতে, “এক বা একাধিক API বা SDK সক্রিয় করা” দেখুন।

সংরক্ষণ নির্বাচন করুন।
এই ধাপের পর বিধিনিষেধটি এপিআই কী সংজ্ঞার অংশ হয়ে যায়। নিশ্চিত করুন যে আপনি যথাযথ বিবরণ প্রদান করেছেন এবং আপনার এপিআই কী বিধিনিষেধ সংরক্ষণ করতে 'Save' নির্বাচন করুন। আরও তথ্যের জন্য, আপনার আগ্রহের নির্দিষ্ট এপিআই বা এসডিকে-এর ডকুমেন্টেশনে থাকা 'Get an API Key' গাইডটি দেখুন।
প্রস্তাবিত API সীমাবদ্ধতাগুলির জন্য, প্রস্তাবিত API সীমাবদ্ধতাগুলি দেখুন।
আপনার এপিআই কী-এর ব্যবহার যাচাই করুন
এপিআই কী তৈরি করার পরে যদি আপনি সেটির উপর বিধিনিষেধ আরোপ করতে চান, অথবা কোনো কী কোন কোন এপিআই ব্যবহার করছে তা দেখে সেটিকে সীমাবদ্ধ করতে চান, তাহলে আপনাকে আপনার এপিআই কী-এর ব্যবহার পরীক্ষা করতে হবে। এই ধাপগুলো আপনাকে দেখাবে যে একটি এপিআই কী কোন কোন পরিষেবা এবং এপিআই মেথডে ব্যবহৃত হচ্ছে। যদি আপনি গুগল ম্যাপস প্ল্যাটফর্ম পরিষেবার বাইরে কোনো ব্যবহার দেখতে পান, তাহলে অনাকাঙ্ক্ষিত ব্যবহার এড়ানোর জন্য আরও বিধিনিষেধ যোগ করার প্রয়োজন আছে কিনা তা নির্ধারণ করতে তদন্ত করুন। আপনার এপিআই কী-তে কোন এপিআই এবং অ্যাপ্লিকেশন বিধিনিষেধ প্রয়োগ করতে হবে তা নির্ধারণে সাহায্য করার জন্য আপনি গুগল ম্যাপস প্ল্যাটফর্ম ক্লাউড কনসোল মেট্রিক্স এক্সপ্লোরার ব্যবহার করতে পারেন:
আপনার এপিআই কী ব্যবহার করে এমন এপিআইগুলো নির্ধারণ করুন।
নিম্নলিখিত মেট্রিক্স রিপোর্টগুলো আপনাকে নির্ধারণ করতে সাহায্য করবে যে কোন এপিআইগুলো আপনার এপিআই কী ব্যবহার করছে। নিম্নলিখিত কাজগুলো করার জন্য এই রিপোর্টগুলো ব্যবহার করুন:
- আপনার এপিআই কীগুলো কীভাবে ব্যবহার করা হয় তা দেখুন
- অপ্রত্যাশিত ব্যবহার চিহ্নিত করুন
- একটি অব্যবহৃত কী নিরাপদে মুছে ফেলা যাবে কিনা তা যাচাই করতে সাহায্য নিন। একটি API কী মুছে ফেলার বিষয়ে তথ্যের জন্য, ‘অব্যবহৃত API কী মুছুন’ দেখুন।
এপিআই বিধিনিষেধ প্রয়োগ করার সময়, অনুমোদনের জন্য এপিআই-এর একটি তালিকা তৈরি করতে, অথবা স্বয়ংক্রিয়ভাবে তৈরি এপিআই কী বিধিনিষেধের সুপারিশগুলো যাচাই করতে এই রিপোর্টগুলো ব্যবহার করুন। প্রস্তাবিত বিধিনিষেধ সম্পর্কে আরও তথ্যের জন্য, ‘প্রস্তাবিত বিধিনিষেধ প্রয়োগ করুন ’ দেখুন। মেট্রিক্স এক্সপ্লোরার ব্যবহার সম্পর্কে আরও তথ্যের জন্য, ‘মেট্রিক্স এক্সপ্লোরার দিয়ে চার্ট তৈরি করুন ’ দেখুন।
গুগল ক্লাউড কনসোলের মেট্রিক্স এক্সপ্লোরারে যান
সাইন ইন করুন এবং যে এপিআই কীগুলো আপনি যাচাই করতে চান, সেটির জন্য প্রজেক্টটি নির্বাচন করুন।
আপনার এপিআই-এর ধরন অনুযায়ী মেট্রিক্স এক্সপ্লোরার পেজে যান:
Maps Embed API ছাড়া অন্য যেকোনো API ব্যবহার করে API কী পেতে হলে : Metrics explorer পেজে যান।
Maps Embed API ব্যবহার করে API কী-গুলির জন্য : Metrics Explorer- এ যান।
প্রতিটি এপিআই কী পরীক্ষা করুন:
ফিল্টার যোগ করুন নির্বাচন করুন।
credential_idলেবেলটি নির্বাচন করুন।আপনি যে কী-টি পরীক্ষা করতে চান, তার সাথে সঙ্গতিপূর্ণ মানটি নির্বাচন করুন।
এই এপিআই কী-টি কোন কোন এপিআই-এর জন্য ব্যবহার করা হচ্ছে তা লক্ষ্য করুন, এবং এই ব্যবহারটি প্রত্যাশিত কিনা তা নিশ্চিত করুন।
কাজটি সম্পন্ন হলে, অতিরিক্ত ফিল্টারটি মুছে ফেলার জন্য সক্রিয় ফিল্টার লাইনের শেষে থাকা ‘Remove filter বিকল্পটি নির্বাচন করুন।
বাকি কীগুলোর জন্যও একই প্রক্রিয়া পুনরাবৃত্তি করুন।
আপনার এপিআই কীগুলো শুধুমাত্র ব্যবহৃত এপিআইগুলোর জন্য সীমাবদ্ধ করুন।
যদি আপনি অননুমোদিত ব্যবহার দেখতে পান, তাহলে “Handle unauthorized use of an API key” দেখুন।
মেট্রিক্স এক্সপ্লোরার ব্যবহার করে সঠিক ধরনের অ্যাপ্লিকেশন সীমাবদ্ধতা নির্বাচন করুন।
আপনার এপিআই কী-টি যেন শুধুমাত্র গুগল ম্যাপস প্ল্যাটফর্ম পরিষেবাগুলোর জন্যই ব্যবহৃত হয়, তা যাচাই করে প্রয়োজনীয় পদক্ষেপ নেওয়ার পর, এপিআই কী-টিতে সঠিক অ্যাপ্লিকেশন সীমাবদ্ধতা রয়েছে কিনা, তাও যাচাই করে নিন।
আপনার API কী-তে যদি প্রস্তাবিত API কী সীমাবদ্ধতা থাকে, তবে সেগুলি প্রয়োগ করুন। আরও তথ্যের জন্য, “প্রস্তাবিত API কী সীমাবদ্ধতা প্রয়োগ করুন ” দেখুন।
যদি আপনার API কী-তে কোনো বিধিনিষেধের সুপারিশ না থাকে, তাহলে মেট্রিক্স এক্সপ্লোরার ব্যবহার করে রিপোর্ট করা platform_type উপর ভিত্তি করে কোন ধরনের অ্যাপ্লিকেশন বিধিনিষেধ প্রয়োগ করতে হবে তা নির্ধারণ করুন:
গুগল ক্লাউড কনসোলের মেট্রিক্স এক্সপ্লোরারে যান
সাইন ইন করুন এবং যে এপিআইগুলো আপনি পরীক্ষা করতে চান, সেগুলোর জন্য প্রজেক্টটি নির্বাচন করুন।
এই মেট্রিক্স এক্সপ্লোরার পৃষ্ঠায় যান: মেট্রিক্স এক্সপ্লোরার ।
প্রতিটি এপিআই কী পরীক্ষা করুন:
ফিল্টার যোগ করুন নির্বাচন করুন।
credential_idলেবেলটি নির্বাচন করুন।আপনি যে কী-টি পরীক্ষা করতে চান, তার সাথে সঙ্গতিপূর্ণ মানটি নির্বাচন করুন।
কাজটি সম্পন্ন হলে, অতিরিক্ত ফিল্টারটি মুছে ফেলার জন্য সক্রিয় ফিল্টার লাইনের শেষে থাকা ‘Remove filter বিকল্পটি নির্বাচন করুন।
বাকি কীগুলোর জন্যও একই প্রক্রিয়া পুনরাবৃত্তি করুন।
একবার আপনার API কীগুলির জন্য প্ল্যাটফর্মের ধরন পেয়ে গেলে, সেই
platform_typeজন্য অ্যাপ্লিকেশন সীমাবদ্ধতা প্রয়োগ করুন:PLATFORM_TYPE_JS: কী-টির উপর ওয়েবসাইটের সীমাবদ্ধতা প্রয়োগ করুন।PLATFORM_TYPE_ANDROID: কী-টির উপর অ্যান্ড্রয়েড অ্যাপ্লিকেশন সীমাবদ্ধতা প্রয়োগ করুন।PLATFORM_TYPE_IOS: কী-টির উপর iOS অ্যাপ্লিকেশন সীমাবদ্ধতা প্রয়োগ করুন।PLATFORM_TYPE_WEBSERVICE: এটিকে সঠিকভাবে সীমাবদ্ধ করার জন্য, আপনাকে কী-এর উপর আইপি অ্যাড্রেস সীমাবদ্ধতার উপর নির্ভর করতে হতে পারে ।Maps Static API এবং Street View Static API সংক্রান্ত সুপারিশের জন্য, Protect Static Web API usage দেখুন।
Maps Embed API সংক্রান্ত সুপারিশের জন্য, Maps Embed API যুক্ত ওয়েবসাইটসমূহ দেখুন।
আমার এপিআই কী একাধিক প্ল্যাটফর্ম টাইপ ব্যবহার করছে: শুধুমাত্র একটি এপিআই কী দিয়ে আপনার ট্র্যাফিক সঠিকভাবে সুরক্ষিত করা সম্ভব নয়। আপনাকে একাধিক এপিআই কী-তে মাইগ্রেট করতে হবে। আরও তথ্যের জন্য, ‘একাধিক এপিআই কী-তে মাইগ্রেট করুন’ দেখুন।
প্রতিটি অ্যাপের জন্য আলাদা এপিআই কী ব্যবহার করুন
এই পদ্ধতি প্রতিটি কী-এর পরিধি সীমিত করে। যদি একটি এপিআই কী-এর নিরাপত্তা বিঘ্নিত হয়, তবে আপনি আপনার অন্যান্য এপিআই কী আপডেট না করেই ক্ষতিগ্রস্ত কী-টি মুছে ফেলতে বা পরিবর্তন করতে পারেন। আপনি প্রতি প্রজেক্টে সর্বোচ্চ ৩০০টি এপিআই কী তৈরি করতে পারেন। আরও তথ্যের জন্য, এপিআই কী-এর সীমাবদ্ধতা দেখুন।
নিরাপত্তার জন্য প্রতি অ্যাপ্লিকেশনে একটি এপিআই কী ব্যবহার করা আদর্শ হলেও, আপনি একাধিক অ্যাপে সীমাবদ্ধ কী ব্যবহার করতে পারেন, যদি সেগুলোতে একই ধরনের অ্যাপ্লিকেশন সীমাবদ্ধতা ব্যবহার করা হয়।
প্রস্তাবিত এপিআই কী সীমাবদ্ধতা প্রয়োগ করুন
কিছু প্রোজেক্ট মালিক, সম্পাদক এবং এপিআই কী প্রশাসকদের ক্ষেত্রে, গুগল ক্লাউড কনসোল তাদের গুগল ম্যাপস প্ল্যাটফর্মের ব্যবহার ও কার্যকলাপের ওপর ভিত্তি করে অবাধ এপিআই কীগুলোর পরিবর্তে নির্দিষ্ট কিছু সীমাবদ্ধতার পরামর্শ দেয়।
উপলব্ধ থাকলে, সুপারিশগুলো গুগল ম্যাপস প্ল্যাটফর্ম ক্রেডেনশিয়ালস পৃষ্ঠায় আগে থেকে পূরণ করা বিকল্প হিসেবে প্রদর্শিত হয়।
স্বয়ংক্রিয় সুপারিশ দ্বারা সমর্থিত গুগল ম্যাপস প্ল্যাটফর্ম এপিআই এবং এসডিকে
ম্যাপস জাভাস্ক্রিপ্ট এপিআই, যার মধ্যে রয়েছে ডিরেকশনস সার্ভিস (লেগ্যাসি), ডিসটেন্স ম্যাট্রিক্স সার্ভিস (লেগ্যাসি), এলিভেশন সার্ভিস, জিওকোডিং সার্ভিস, প্লেস ক্লাস, প্লেস অটোকমপ্লিট উইজেট (নিউ), প্লেস অটোকমপ্লিট ডেটা এপিআই, প্লেসেস লাইব্রেরি, প্লেসেস সার্ভিস, প্লেস অটোকমপ্লিট উইজেট, এবং প্লেসেস ইউআই কিট।
ম্যাপস স্ট্যাটিক এপিআই এবং স্ট্রিট ভিউ স্ট্যাটিক এপিআই
মানচিত্র এমবেড এপিআই
অ্যান্ড্রয়েডের জন্য ম্যাপস এসডিকে, অ্যান্ড্রয়েডের জন্য নেভিগেশন এসডিকে, অ্যান্ড্রয়েডের জন্য প্লেসেস এসডিকে, এবং অ্যান্ড্রয়েডে প্লেসেস ইউআই কিট
iOS-এর জন্য Maps SDK, iOS-এর জন্য Navigation SDK, iOS-এর জন্য Places SDK, iOS-এর জন্য Places Swift SDK, এবং iOS-এ Places UI Kit।
যে কারণে আপনি কোনো সুপারিশ দেখতে নাও পেতে পারেন, অথবা একটি অসম্পূর্ণ সুপারিশ দেখতে পারেন।
কোনো সুপারিশ না দেখার কারণ
আপনি এপিআই কী-টি গুগল ম্যাপস প্ল্যাটফর্ম পরিষেবা ছাড়া অন্য কোনো পরিষেবাতে, অথবা এমন ম্যাপস প্ল্যাটফর্ম পরিষেবাতে ব্যবহার করছেন যা স্বয়ংক্রিয় সুপারিশের আওতায় এখনো সমর্থিত নয় ।
অন্যান্য পরিষেবাগুলিতে এর ব্যবহার দেখতে পেলে, প্রথমে নিম্নলিখিতগুলি না করে সুপারিশটি প্রয়োগ করবেন না :
গুগল ক্লাউড কনসোল মেট্রিক্স এক্সপ্লোরারে আপনি যে এপিআই ব্যবহার দেখতে পাচ্ছেন, তা বৈধ কিনা যাচাই করুন।
অনুমোদনের জন্য নির্ধারিত এপিআই-এর তালিকায় অনুপস্থিত পরিষেবাগুলি ম্যানুয়ালি যোগ করুন ।
এপিআই তালিকায় যুক্ত করা পরিষেবাগুলির জন্য অনুপস্থিত অ্যাপ্লিকেশন বিধিনিষেধ ম্যানুয়ালি যোগ করুন । যদি আপনার যোগ করা অন্য পরিষেবাগুলির জন্য ভিন্ন ধরনের অ্যাপ্লিকেশন বিধিনিষেধের প্রয়োজন হয়, তাহলে ‘একাধিক এপিআই কী-তে মাইগ্রেট করুন’ দেখুন।
আপনার এপিআই কী ক্লায়েন্ট-সাইড এসডিকে বা এপিআই-তে ব্যবহার করা হয় না।
আপনি এপিআই কী-টি এমন একটি স্বল্প-ব্যবহারের অ্যাপ বা ওয়েবসাইটে ব্যবহার করেন, যা গত ৬০ দিনে ব্যবহৃত হয়নি।
আপনি খুব সম্প্রতি একটি নতুন কী তৈরি করেছেন, অথবা একটি নতুন অ্যাপে বিদ্যমান কোনো কী স্থাপন করেছেন। যদি এমনটি হয়ে থাকে, তাহলে সুপারিশগুলো আপডেট হওয়ার জন্য আরও কয়েক দিন অপেক্ষা করুন।
আপনি একাধিক অ্যাপ্লিকেশনে এপিআই কী ব্যবহার করছেন, যেগুলোর জন্য পরস্পরবিরোধী ধরনের অ্যাপ্লিকেশন বিধিনিষেধের প্রয়োজন হবে, অথবা আপনি অনেকগুলো ভিন্ন ভিন্ন অ্যাপ বা ওয়েবসাইটে একই এপিআই কী ব্যবহার করছেন। উভয় ক্ষেত্রেই, সর্বোত্তম পন্থা হিসেবে, আপনার একাধিক কী-তে স্থানান্তরিত হওয়া উচিত। আরও বিস্তারিত জানতে, ‘একাধিক এপিআই কী-তে স্থানান্তরিত হন’ দেখুন।
অসম্পূর্ণ সুপারিশ দেখার কারণ
আপনি এপিআই কী-টি এমন একটি স্বল্প-ব্যবহারের অ্যাপ বা ওয়েবসাইটে ব্যবহার করেন, যা গত ৬০ দিনে ব্যবহৃত হয়নি।
আপনি খুব সম্প্রতি একটি নতুন এপিআই বা পরিষেবাতে একটি বিদ্যমান কী ব্যবহার করা শুরু করেছেন, এবং স্বয়ংক্রিয় এপিআই কী সীমাবদ্ধতার সুপারিশ পাইপলাইনটি এখনও হালনাগাদ করা ব্যবহারের মেট্রিকগুলো প্রক্রিয়া করেনি। ব্যবহারের মেট্রিকগুলোর প্রচারে কয়েক দিন সময় লাগতে পারে।
অন্যান্য পরিষেবাগুলিতে এর ব্যবহার দেখতে পেলে, প্রথমে নিম্নলিখিতগুলি না করে সুপারিশটি প্রয়োগ করবেন না :
গুগল ক্লাউড কনসোল মেট্রিক্স এক্সপ্লোরারে আপনি যে এপিআই ব্যবহার দেখতে পাচ্ছেন, তা বৈধ কিনা যাচাই করুন।
অনুমোদনের জন্য নির্ধারিত এপিআই-এর তালিকায় অনুপস্থিত পরিষেবাগুলি ম্যানুয়ালি যোগ করুন ।
এপিআই তালিকায় যুক্ত করা পরিষেবাগুলির জন্য অনুপস্থিত অ্যাপ্লিকেশন বিধিনিষেধ ম্যানুয়ালি যোগ করুন । যদি আপনার যোগ করা অন্য পরিষেবাগুলির জন্য ভিন্ন ধরনের অ্যাপ্লিকেশন বিধিনিষেধের প্রয়োজন হয়, তাহলে ‘একাধিক এপিআই কী-তে মাইগ্রেট করুন’ দেখুন।
যদি না আপনার কোনো কী জরুরিভাবে সীমাবদ্ধ করার প্রয়োজন হয়, যেমন অননুমোদিত ব্যবহারের কারণে, তাহলে সুপারিশগুলো হালনাগাদ হওয়ার জন্য আপনি এক বা দুই দিন অপেক্ষা করতে পারেন ।
যেসব কারণে আপনি এমন সুপারিশ দেখতে পারেন যা চার্টে দৃশ্যমান নয়
আপনার অ্যাপ বা ওয়েবসাইট থেকে খুব অল্প সময়ের জন্য ট্র্যাফিক এসেছে। এক্ষেত্রে, চার্ট ভিউ থেকে টেবিল অথবা উভয়ই প্রদর্শন করুন, কারণ এর ব্যবহার লিজেন্ডে তখনও দেখা যায়। আরও তথ্যের জন্য, চার্টের সম্পূর্ণ লিজেন্ড টগল করা দেখুন।
আপনার ট্র্যাফিক Maps Embed API থেকে আসছে। নির্দেশাবলীর জন্য, “আপনার API কী ব্যবহারকারী API-গুলো নির্ধারণ করুন” দেখুন।
অ্যাপ বা ওয়েবসাইট থেকে আসা ট্র্যাফিকটি গুগল ক্লাউড কনসোল মেট্রিক্স এক্সপ্লোরারে উপলব্ধ তারিখের পরিসরের বাইরে।
সুপারিশকৃত বিধিনিষেধ প্রয়োগ করতে
Google Cloud কনসোলের Google Maps Platform Credentials পৃষ্ঠাটি খুলুন।
উপলব্ধ থাকলে, ‘প্রস্তাবিত বিধিনিষেধ প্রয়োগ করুন ’ নির্বাচন করুন।

এপিআই কী কোন পরিষেবাগুলিতে ব্যবহৃত হচ্ছে তা যাচাই করতে ‘চেক এপিআই ইউসেজ’ নির্বাচন করুন। যদি আপনি গুগল ম্যাপস প্ল্যাটফর্ম পরিষেবাগুলি ছাড়া অন্য কিছু দেখতে পান, তাহলে উপরে দেওয়া সুপারিশকৃত ধাপগুলি ম্যানুয়ালি পর্যালোচনা করার জন্য একটু থামুন । ‘অ্যাপ্লাই রেকমেন্ডেড এপিআই কী রেস্ট্রিকশনস’ বিভাগের শুরুতে সমস্যা সমাধানের ধাপগুলি দেখুন।
পুনরায় যাচাই করে নিন যে আগে থেকে পূরণ করা বিধিনিষেধগুলো সেইসব ওয়েবসাইট এবং অ্যাপের সাথে মেলে কিনা, যেখানে আপনি আপনার এপিআই কী ব্যবহার করতে চান।
সর্বোত্তম অনুশীলন : আপনার পরিষেবার সাথে সম্পর্কহীন যেকোনো অ্যাপ্লিকেশন বা এপিআই সীমাবদ্ধতা নথিভুক্ত করুন এবং অপসারণ করুন। যদি কোনো অপ্রত্যাশিত নির্ভরতার কারণে কিছু ভেঙে যায়, তাহলে আপনি প্রয়োজনীয় অ্যাপ বা এপিআইগুলো আবার যোগ করতে পারবেন।
যদি আপনি বুঝতে পারেন যে আপনার সুপারিশে কোনো অ্যাপ, ওয়েবসাইট বা এপিআই স্পষ্টভাবে অনুপস্থিত, তবে সেটি ম্যানুয়ালি যোগ করুন অথবা সুপারিশটি আপডেট হওয়ার জন্য কয়েক দিন অপেক্ষা করুন।
আপনার প্রস্তাবিত সুপারিশের বিষয়ে আরও সাহায্যের প্রয়োজন হলে, সাপোর্টে যোগাযোগ করুন ।
প্রয়োগ করুন নির্বাচন করুন।
সুপারিশপত্র জমা দেওয়ার পর আপনার আবেদনপত্র প্রত্যাখ্যাত হলে কী করবেন
যদি আপনি লক্ষ্য করেন যে কোনো বিধিনিষেধ প্রয়োগ করার পরেও একটি অ্যাপ বা ওয়েবসাইট প্রত্যাখ্যাত হচ্ছে, তাহলে API প্রতিক্রিয়ার ত্রুটির বার্তায় প্রয়োজনীয় অ্যাপ্লিকেশন বিধিনিষেধটি খুঁজুন।
ক্লায়েন্ট-সাইড SDK এবং API
- ব্রাউজার এবং ওয়েবভিউ ভিত্তিক অ্যাপস
আধুনিক ব্রাউজারগুলো সাধারণত গোপনীয়তার কারণে ক্রস-অরিজিন অনুরোধে
Refererহেডারটি মুছে ফেলে এবং প্রায়শই এটিকে শুধু 'Originপর্যন্ত সংক্ষিপ্ত করে। তবে, এর সঠিক আচরণ হোস্টিং সাইটের প্রয়োগ করাreferrer-policyউপর নির্ভর করে এবং ব্যবহারকারীর ব্রাউজার ও সংস্করণের উপর ভিত্তি করেও ভিন্ন হতে পারে।যেসব ওয়েব অ্যাপ্লিকেশন কন্টেন্ট লোড করার জন্য অপেক বা লোকাল ইউআরআই স্কিম ব্যবহার করে, সেগুলোতে সাধারণত রেন্ডারিং ব্রাউজার বা ওয়েবভিউ যেকোনো বহির্গামী কল থেকে
Refererহেডারটি সম্পূর্ণরূপে গোপন করে রাখে, যার ফলে ওয়েবসাইটের সীমাবদ্ধতাযুক্ত এপিআই কী ব্যবহার করে করা অনুরোধ ব্যর্থ হতে পারে।আরও নির্দেশনার জন্য, “আপনার ব্রাউজার ভিত্তিক অ্যাপগুলি একটি সার্ভারে হোস্ট করুন” দেখুন।
ব্রাউজার এবং ওয়েবভিউ ভিত্তিক অ্যাপের জন্য সমস্যা সমাধানের নির্দেশাবলী:
Maps JavaScript API-এর ক্ষেত্রে, আপনার অ্যাপ্লিকেশনটিকে কীভাবে অনুমোদন করবেন সে সম্পর্কে বিস্তারিত জানতে ব্রাউজারের ডিবাগ কনসোল দেখুন।
এক্সোটিক ইউআরআই স্কিমগুলো আংশিকভাবে সমর্থিত। যদি আপনার অ্যাপ্লিকেশনের কিছু অংশ কোনো এক্সোটিক ইউআরআই স্কিমে কাজ না করে, এমনকি প্রয়োজনীয় রেফারারকে অনুমোদন দেওয়ার পরেও, তাহলে সম্ভবত আপনাকে আপনার অ্যাপ্লিকেশনটি দূরবর্তী কোনো সার্ভারে হোস্ট করতে হবে এবং HTTPS (বা HTTP) এর মাধ্যমে লোড করতে হবে।
অস্বাভাবিক URI স্কিম সম্পর্কে সাহায্যের প্রয়োজন হলে, সাপোর্টে যোগাযোগ করুন ।
অন্যান্য ম্যাপস প্ল্যাটফর্ম এপিআইগুলো সাধারণত এপিআই ত্রুটির প্রতিক্রিয়ায় অনুমোদনের জন্য প্রয়োজনীয় রেফারারটি ফেরত দেবে, যদি ক্লায়েন্ট প্রত্যাখ্যাত অনুরোধের সাথে এই তথ্যটি পাঠিয়ে থাকে।
অপরিচিত URI স্কিম সমর্থিত নয় ।
- অ্যান্ড্রয়েড অ্যাপস
অ্যান্ড্রয়েড ডিবাগ ব্রিজ (adb) বা লগক্যাট ব্যবহার করুন
- iOS অ্যাপস
লগ বার্তা দেখা দেখুন
অ্যাপগুলি সরাসরি ওয়েব পরিষেবাগুলিকে কল করছে
যেসব অ্যাপ্লিকেশন ক্লায়েন্ট-সাইড গুগল ম্যাপস প্ল্যাটফর্ম SDK ছাড়াই সরাসরি ম্যাপস প্ল্যাটফর্ম HTTPS REST API বা gRPC এন্ডপয়েন্ট কল করে, তাদের জন্য নিচে দেখুন:
- অ্যান্ড্রয়েড এবং আইওএস অ্যাপ
যদি আপনার অ্যান্ড্রয়েড বা আইওএস অ্যাপ্লিকেশন উপলব্ধ কোনো গুগল ম্যাপস প্ল্যাটফর্ম ক্লায়েন্ট এসডিকে ব্যবহার না করে সরাসরি ম্যাপস প্ল্যাটফর্ম পরিষেবাগুলো কল করে, তাহলে আরও সমস্যা সমাধানের পরামর্শের জন্য 'অ্যান্ড্রয়েড অ্যাপস' এবং 'আইওএস অ্যাপস' দেখুন, এবং মোবাইল ব্যবহারের ক্ষেত্রে বর্তমান সেরা নিরাপত্তা অনুশীলনের জন্য 'নিরাপদ ক্লায়েন্ট-সাইড ওয়েব পরিষেবা কল' দেখুন।
যদি আপনার অ্যাপ ম্যাপস প্ল্যাটফর্ম এপিআই (Maps Platform API) এরর রেসপন্স লগ করে, তাহলে অথেনটিকেশন সংক্রান্ত সমস্যা সমাধানের জন্য ক্লায়েন্ট-সাইড এসডিকে (SDK)-এর জন্য দেওয়া উপরের নির্দেশাবলীও কার্যকর হতে পারে।
- সার্ভার-সাইড অ্যাপস
এপিআই কী-এর উপর নির্ভরশীল সার্ভার-সাইড অ্যাপ্লিকেশনগুলোকে আইপি অ্যাড্রেস সীমাবদ্ধতার মাধ্যমে সবচেয়ে ভালোভাবে সুরক্ষিত করা হয়। যদি আপনি আপনার কী-তে আইপি অ্যাড্রেস সীমাবদ্ধতা প্রয়োগ করে থাকেন এবং আপনার পরিষেবাটি ম্যাপস প্ল্যাটফর্ম এপিআই-এর ত্রুটিপূর্ণ প্রতিক্রিয়া লগ করে, তবে আরও তথ্যের জন্য আপনার সিস্টেম লগ পরীক্ষা করুন। ত্রুটিপূর্ণ প্রতিক্রিয়াটিতে সেই সার্ভারের আইপি অ্যাড্রেসটি অন্তর্ভুক্ত থাকবে, যেটিকে আপনার অনুমোদন করতে হবে।
- ব্রাউজার বা ওয়েবভিউ ভিত্তিক অ্যাপ
যদিও ম্যাপস স্ট্যাটিক এপিআই, স্ট্রিট ভিউ স্ট্যাটিক এপিআই এবং গুগল ম্যাপস প্ল্যাটফর্মের আরও সাম্প্রতিক এপিআইগুলোও রেফারার সীমাবদ্ধতা সমর্থন করবে, তবে মনে রাখবেন যে ওয়েব ব্রাউজার বা ওয়েবভিউগুলো সম্ভবত ক্রস-অরিজিন অনুরোধের জন্য
RefererহেডারটিকেOriginসীমাবদ্ধ রাখবে এবং সম্ভবত এটি পাঠানো পুরোপুরি বাদ দেবে, যেমন—স্থানীয়ভাবে অ্যাক্সেস করা রিসোর্সের জন্য, অথবা HTTP বা HTTPS ছাড়া অন্য কোনো প্রোটোকলের মাধ্যমে পরিবেশিত রিসোর্সের জন্য।যদি আপনি আপনার অ্যাপ্লিকেশনে ম্যাপস জাভাস্ক্রিপ্ট এপিআই (Maps JavaScript API) ব্যবহার করতে না পারেন এবং ওয়েবসাইটের সীমাবদ্ধতাও কাজ না করে, তাহলে আপনার ব্রাউজার-ভিত্তিক ক্লায়েন্ট-সাইড অ্যাপ্লিকেশন থেকে নিরাপদে ম্যাপস প্ল্যাটফর্ম (Maps Platform) ওয়েব সার্ভিস কল করার পদ্ধতি জানতে “নিরাপদ ক্লায়েন্ট-সাইড ওয়েব সার্ভিস কল” (Secure client-side web service calls) দেখুন।
এপিআই সীমাবদ্ধতা পরীক্ষা করার জন্য টিপস
আপনার প্রয়োজনীয় API সীমাবদ্ধতাগুলো যাচাই করতে, “আপনার API কী ব্যবহারকারী API-গুলো নির্ধারণ করুন” দেখুন।
কোন বিধিনিষেধগুলো প্রয়োগ করতে হবে তা যদি আপনি নির্ধারণ করতে না পারেন:
- ভবিষ্যৎ ব্যবহারের জন্য বর্তমান বিধিনিষেধগুলো নথিভুক্ত করুন।
- সমস্যাটি তদন্ত করার সময় সেগুলোকে সাময়িকভাবে সরিয়ে ফেলুন। 'আপনার এপিআই কী ব্যবহার পরীক্ষা করুন ' অংশের ধাপগুলো অনুসরণ করে আপনি সময়ের সাথে সাথে আপনার ব্যবহার পরীক্ষা করতে পারেন।
- প্রয়োজনে সাপোর্টে যোগাযোগ করুন ।
অব্যবহৃত API কীগুলি মুছে ফেলুন
একটি API কী মুছে ফেলার আগে, নিশ্চিত হয়ে নিন যে এটি প্রোডাকশনে ব্যবহৃত হচ্ছে না। যদি কোনো সফল ট্র্যাফিক না থাকে, তাহলে কী-টি মুছে ফেলা সম্ভবত নিরাপদ। আরও তথ্যের জন্য, আপনার API কী-এর ব্যবহার যাচাই করুন দেখুন।
একটি API কী মুছে ফেলতে:
Google Cloud কনসোলের Google Maps Platform Credentials পৃষ্ঠাটি খুলুন।
যে এপিআই কী-টি আপনি মুছতে চান, সেটি নির্বাচন করুন।
পৃষ্ঠার উপরের দিকে থাকা ডিলিট বাটনটি সিলেক্ট করুন।
ক্রেডেনশিয়াল মুছুন পৃষ্ঠায়, মুছুন নির্বাচন করুন।
একটি এপিআই কী মুছে ফেলার প্রক্রিয়াটি কার্যকর হতে কয়েক মিনিট সময় লাগে। এই প্রক্রিয়াটি সম্পন্ন হওয়ার পর, মুছে ফেলা এপিআই কী ব্যবহার করে করা যেকোনো ট্র্যাফিক প্রত্যাখ্যান করা হয়।
এপিআই কী ঘোরানোর সময় সতর্ক থাকুন।
একটি এপিআই কী পরিবর্তন করলে একটি নতুন কী তৈরি হয়, যেটিতে পুরোনো কী-এর সমস্ত সীমাবদ্ধতা থাকে। এই নির্দিষ্ট সময়কালে, পুরোনো এবং নতুন উভয় কী-ই গৃহীত হয়, যা আপনাকে আপনার অ্যাপগুলোকে নতুন কী ব্যবহার করার জন্য স্থানান্তরিত করার সুযোগ দেয়।
একটি API কী ঘোরানোর আগে :
প্রথমে "আপনার API কীগুলি সীমাবদ্ধ করুন" অংশে বর্ণিত পদ্ধতি অনুসারে আপনার API কীগুলি সীমাবদ্ধ করার চেষ্টা করুন।
যদি পরস্পরবিরোধী অ্যাপ্লিকেশন বিধিনিষেধের ধরনের কারণে আপনার API কী সীমাবদ্ধ করা সম্ভব না হয়, তাহলে "একাধিক API কী-তে মাইগ্রেট করুন" অংশে বর্ণিত পদ্ধতি অনুযায়ী একাধিক নতুন (সীমাবদ্ধ) কী-তে মাইগ্রেট করুন। মাইগ্রেট করার মাধ্যমে আপনি নতুন API কী-গুলোর মাইগ্রেশন এবং রোল আউট টাইমলাইন নিয়ন্ত্রণ করতে পারবেন।
যদি পূর্ববর্তী পরামর্শগুলো সম্ভব না হয় , এবং অননুমোদিত ব্যবহার রোধ করতে আপনাকে অবশ্যই আপনার API কী পরিবর্তন করতে হয়, তাহলে এই পদক্ষেপগুলো অনুসরণ করুন:
Google Cloud কনসোলের Google Maps Platform Credentials পৃষ্ঠাটি খুলুন।
যে এপিআই কী-টি আপনি ঘোরাতে চান, সেটি খুলুন।
পৃষ্ঠার শীর্ষে, ‘Rotate key’ নির্বাচন করুন।
ইচ্ছা হলে এপিআই কী-এর নাম পরিবর্তন করুন।
তৈরি করুন নির্বাচন করুন।
নতুন কী ব্যবহার করার জন্য আপনার অ্যাপ্লিকেশনগুলো আপডেট করুন।
আপনার অ্যাপ্লিকেশনগুলিকে নতুন কী ব্যবহার করার জন্য আপডেট করার পরে, নতুন এপিআই কী পৃষ্ঠার 'পূর্ববর্তী কী' বিভাগের অধীনে থাকা 'পূর্ববর্তী কী মুছুন' বোতামে ক্লিক করে পুরানো কীটি মুছে ফেলুন।
একাধিক এপিআই কী-তে স্থানান্তরিত করুন
একাধিক অ্যাপের জন্য একটি এপিআই কী ব্যবহার করার পরিবর্তে প্রতিটি অ্যাপের জন্য একটি একক অনন্য এপিআই কী ব্যবহার করতে, নিম্নলিখিতগুলি করুন:
কোন অ্যাপগুলির নতুন কী প্রয়োজন তা শনাক্ত করুন :
- ওয়েব অ্যাপগুলো আপডেট করা সবচেয়ে সহজ, কারণ এর সমস্ত কোড আপনার নিয়ন্ত্রণে থাকে। আপনার সমস্ত ওয়েব-ভিত্তিক অ্যাপের কী (key) আপডেট করার পরিকল্পনা করুন।
- মোবাইল অ্যাপের ক্ষেত্রে বিষয়টি আরও কঠিন, কারণ নতুন কীগুলো ব্যবহার করার আগে আপনার গ্রাহকদের অবশ্যই তাদের অ্যাপ আপডেট করতে হবে।
নতুন কী-গুলো তৈরি ও সীমাবদ্ধ করুন : একটি অ্যাপ্লিকেশন সীমাবদ্ধতা এবং অন্তত একটি এপিআই সীমাবদ্ধতা যোগ করুন। আরও তথ্যের জন্য, প্রস্তাবিত সর্বোত্তম অনুশীলনসমূহ দেখুন।
আপনার অ্যাপগুলিতে নতুন কীগুলি যোগ করুন : মোবাইল অ্যাপের ক্ষেত্রে, এই প্রক্রিয়াটিতে কয়েক মাস সময় লাগতে পারে, যতক্ষণ না আপনার সমস্ত ব্যবহারকারী নতুন API কী সহ সর্বশেষ অ্যাপটিতে আপডেট করেন।
ক্লায়েন্ট-সাইড এবং সার্ভার-সাইড ব্যবহারকে আলাদা প্রজেক্টে ভাগ করুন
যদি আপনার সার্ভার-সাইড অ্যাপ্লিকেশন এবং ব্যবহারকারীর ডিভাইসে চালিত ক্লায়েন্ট-সাইড অ্যাপ্লিকেশন উভয় স্থান থেকেই গুগল ম্যাপস প্ল্যাটফর্ম পরিষেবা ব্যবহারের প্রয়োজন হয়, তবে গুগল আপনার ব্যবহারকে দুটি পৃথক প্রজেক্টে ভাগ করে নেওয়ার পরামর্শ দেয়।
এই পদ্ধতিটি আপনাকে আপনার ক্লায়েন্ট-সাইড প্রোজেক্টের বেশিরভাগ গুগল ম্যাপস প্ল্যাটফর্ম পরিষেবাগুলিতে মিনিট-ভিত্তিক ও ব্যবহারকারী-ভিত্তিক উপযুক্ত কোটা সীমা প্রয়োগ করার সুযোগ দেয়, যা একে অপরের উপর প্রভাব না ফেলে সকল ব্যবহারকারী যাতে আপনার প্রোজেক্টের সামগ্রিক কোটার ন্যায্য অংশ পায় তা নিশ্চিত করতে সাহায্য করে।
তবে, যেহেতু ব্যবহারকারী-ভিত্তিক কোটার সীমাবদ্ধতা ক্লায়েন্ট-সাইড এবং সার্ভার-সাইড উভয় অ্যাপ্লিকেশনকেই প্রভাবিত করে, তাই আপনার সার্ভার-সাইডের কাজগুলোর জন্যও যদি উচ্চ ব্যান্ডউইথের প্রয়োজন হয়, তবে এই বিশেষ ব্যবহারের জন্য একটি আলাদা প্রজেক্ট তৈরি করুন, যেখানে ব্যবহারকারী-ভিত্তিক কোটার সীমা বেশি থাকবে অথবা কোনো সীমাই থাকবে না।
অব্যবহৃত পরিষেবাগুলি নিষ্ক্রিয় করুন
কোনো প্রজেক্টে অব্যবহৃত সার্ভিস চালু রাখবেন না, কারণ এই অভ্যাসটি অপব্যবহারের ঝুঁকিপূর্ণ, বিশেষ করে যদি আপনি আপনার সমস্ত পাবলিক এপিআই কী সীমাবদ্ধ না করে থাকেন। সর্বোত্তম অনুশীলন হিসেবে, কোনো প্রজেক্টে একটি সার্ভিস কেবল তখনই চালু করুন যখন আপনার অ্যাপ্লিকেশনগুলোর জন্য এটির প্রয়োজন হয়।
কোনো কী-তে এপিআই বিধিনিষেধ যোগ করলে, যে পরিষেবাগুলির জন্য এটি অনুমোদিত নয় সেগুলিতে এর ব্যবহার প্রতিরোধ করা যায়, কিন্তু এপিআই বিধিনিষেধ শুধুমাত্র সেই নির্দিষ্ট কী-টির ক্ষেত্রেই প্রযোজ্য। প্রজেক্ট লেভেলে একটি পরিষেবা নিষ্ক্রিয় করলে, প্রজেক্টের সাথে লিঙ্কযুক্ত যেকোনো কী-তে সেই পরিষেবার অননুমোদিত ব্যবহার প্রতিরোধ করা যায়।
ক্লায়েন্ট-সাইড SDK ব্যবহার করুন
প্রদত্ত ক্লায়েন্ট-সাইড গুগল ম্যাপস প্ল্যাটফর্ম SDK ব্যবহার করার সময়, আপনি আপনার পরিষেবার ব্যবহার সুরক্ষিত করতে আপনার API কী-তে সর্বদা যথাযথ বিধিনিষেধ প্রয়োগ করতে পারবেন।
ক্লায়েন্ট-সাইড SDK ব্যবহার করলে আপনি আরও উন্নত নিরাপত্তা ব্যবস্থা গ্রহণ করতে পারবেন, যেমন Maps Platform API-এর যে সকল সারফেস এটি সমর্থন করে, সেগুলিতে Firebase App Check। আরও বিস্তারিত জানতে, আপনার API কী সুরক্ষিত করতে App Check-এর ব্যবহার দেখুন।
আপনার প্ল্যাটফর্মের জন্য ক্লায়েন্ট-সাইড SDK উপলব্ধ না থাকলে, “আপনার ক্লায়েন্ট-সাইড ওয়েব পরিষেবা কলগুলি সুরক্ষিত করুন” দেখুন।
বিভিন্ন প্ল্যাটফর্মের জন্য ক্লায়েন্ট-সাইড গুগল ম্যাপস প্ল্যাটফর্ম এসডিকে-এর প্রাপ্যতা সম্পর্কে জানতে, প্রস্তাবিত অ্যাপ্লিকেশন এবং এপিআই সীমাবদ্ধতা দেখুন।
স্ট্যাটিক ওয়েব এপিআই ব্যবহার সুরক্ষিত করুন
স্ট্যাটিক ওয়েব এপিআই, যেমন ম্যাপস স্ট্যাটিক এপিআই এবং স্ট্রিট ভিউ স্ট্যাটিক এপিআই, ওয়েব সার্ভিস এপিআই কলের অনুরূপ।
আপনি একটি HTTPS REST API ব্যবহার করে উভয়কেই কল করেন এবং সাধারণত সার্ভারেই API রিকোয়েস্ট URL তৈরি করেন। তবে, JSON রেসপন্স ফেরত দেওয়ার পরিবর্তে, স্ট্যাটিক ওয়েব API একটি ইমেজ তৈরি করে যা আপনি তৈরি করা HTML কোডে এমবেড করতে পারেন। আরও গুরুত্বপূর্ণ বিষয় হলো, সাধারণত সার্ভার নয়, বরং এন্ড-ইউজার ক্লায়েন্টই গুগল ম্যাপস প্ল্যাটফর্ম সার্ভিসকে কল করে থাকে।
ডিজিটাল স্বাক্ষর ব্যবহার করুন
সর্বোত্তম অনুশীলন হিসেবে, এপিআই কী-এর পাশাপাশি সর্বদা ডিজিটাল স্বাক্ষর ব্যবহার করুন। এছাড়াও, আপনি প্রতিদিন কতগুলো স্বাক্ষরবিহীন অনুরোধ অনুমোদন করতে চান তা পর্যালোচনা করুন এবং সেই অনুযায়ী আপনার স্বাক্ষরবিহীন অনুরোধের কোটা সমন্বয় করুন ।
ডিজিটাল স্বাক্ষর সম্পর্কে আরও বিস্তারিত জানতে, ডিজিটাল স্বাক্ষর নির্দেশিকা দেখুন।
আপনার স্বাক্ষরের গোপনীয়তা রক্ষা করুন
স্ট্যাটিক ওয়েব এপিআই সুরক্ষিত রাখতে, আপনার এপিআই সাইনিং সিক্রেট সরাসরি কোডে বা সোর্স ট্রিতে এম্বেড করবেন না, অথবা ক্লায়েন্ট-সাইড অ্যাপ্লিকেশনে প্রকাশ করবেন না। আপনার সাইনিং সিক্রেট সুরক্ষিত রাখার জন্য এই সেরা অনুশীলনগুলো অনুসরণ করুন:
একটি ওয়েব পেজ পরিবেশন করার সময়, অথবা আপনার মোবাইল অ্যাপ্লিকেশনের কোনো অনুরোধের জবাবে, সার্ভার-সাইডে আপনার স্বাক্ষরিত ম্যাপস স্ট্যাটিক এপিআই এবং স্ট্রিট ভিউ স্ট্যাটিক এপিআই অনুরোধ ইউআরএল তৈরি করুন।
স্ট্যাটিক ওয়েব কন্টেন্টের জন্য, আপনি ক্লাউড কনসোলের গুগল ম্যাপস প্ল্যাটফর্ম ক্রেডেনশিয়ালস পেজে থাকা 'Sign a URL now' উইজেটটি ব্যবহার করতে পারেন।
ডাইনামিক ওয়েব কন্টেন্টের জন্য, উপলব্ধ ইউআরএল রিকোয়েস্ট সাইনিং কোড স্যাম্পলগুলো দেখুন।
আপনার অ্যাপ্লিকেশনের সোর্স কোড এবং সোর্স ট্রি-এর বাইরে সাইনিং সিক্রেট সংরক্ষণ করুন । যদি আপনি আপনার সাইনিং সিক্রেট বা অন্য কোনো ব্যক্তিগত তথ্য আলাদাভাবে সংরক্ষিত এনভায়রনমেন্ট ভেরিয়েবল বা ইনক্লুড ফাইলে রাখেন এবং তারপর আপনার কোড শেয়ার করেন, তাহলে শেয়ার করা ফাইলগুলোতে সাইনিং সিক্রেট অন্তর্ভুক্ত থাকে না। যদি আপনি সাইনিং সিক্রেট বা অন্য কোনো ব্যক্তিগত তথ্য ফাইলে সংরক্ষণ করেন, তবে আপনার সাইনিং সিক্রেটকে সোর্স কোড কন্ট্রোল সিস্টেমের বাইরে রাখতে ফাইলগুলোকে আপনার অ্যাপ্লিকেশনের সোর্স ট্রি-এর বাইরে রাখুন। এই সতর্কতাটি বিশেষভাবে গুরুত্বপূর্ণ যদি আপনি গিটহাবের মতো কোনো পাবলিক সোর্স কোড ম্যানেজমেন্ট সিস্টেম ব্যবহার করেন।
ওয়েব পরিষেবা API কীগুলি সুরক্ষিত করুন
ক্লায়েন্ট-সাইড অ্যাপ থেকে গুগল ম্যাপস প্ল্যাটফর্ম এপিআই এবং পরিষেবাগুলির নিরাপদ ব্যবহারের জন্য, ‘ক্লায়েন্ট-সাইড এসডিকে ব্যবহার করুন’ এবং ‘ক্লায়েন্ট-সাইড ওয়েব পরিষেবা কল সুরক্ষিত করুন’ দেখুন।
আপনার অ্যাপ্লিকেশনের সোর্স কোড বা সোর্স ট্রি-এর বাইরে এপিআই কী (API key) সংরক্ষণ করুন । আপনি যদি আপনার এপিআই কী বা অন্য কোনো তথ্য আলাদাভাবে সংরক্ষিত এনভায়রনমেন্ট ভেরিয়েবল বা ইনক্লুড ফাইলে রাখেন এবং তারপর আপনার কোড শেয়ার করেন, তাহলে শেয়ার করা ফাইলগুলোতে এপিআই কী অন্তর্ভুক্ত থাকে না। আপনি যদি গিটহাবের (GitHub) মতো কোনো পাবলিক সোর্স কোড ম্যানেজমেন্ট সিস্টেম ব্যবহার করেন, তবে এই বিষয়টি বিশেষভাবে গুরুত্বপূর্ণ।
আপনার ওয়েব সার্ভিস এপিআই কী-কে অনিচ্ছাকৃত ব্যবহার থেকে সুরক্ষিত রাখতে, গুগল ম্যাপস প্ল্যাটফর্মে ব্যবহৃত যেকোনো কী-এর উপর এপিআই বিধিনিষেধ প্রয়োগ করার পরামর্শ দেয়। এছাড়াও, আপনার ওয়েব সার্ভিস কী-এর উপর আইপি অ্যাড্রেস বিধিনিষেধ প্রয়োগ করলে, কী-টি দুর্ঘটনাবশত ফাঁস হয়ে গেলেও, এটি অন্য উৎস আইপি অ্যাড্রেস থেকে অননুমোদিত ব্যবহার থেকে সুরক্ষিত থাকবে।
সার্ভার-সাইড অ্যাপের জন্য OAuth ব্যবহার করুন
OAuth 2.0 হলো অ্যাক্সেস ডেলিগেশনের জন্য একটি উন্মুক্ত স্ট্যান্ডার্ড।
যদিও OAuth 2.0 প্রোটোকল এমন কিছু ব্যবহারের ক্ষেত্র সমর্থন করে, যেখানে একজন ব্যবহারকারী তার পক্ষ থেকে কোনো অ্যাপ্লিকেশনকে ব্যক্তিগত ডেটা অ্যাক্সেস করার অনুমতি দেন, Maps Platform-এর সাথে OAuth 2.0-এর উদ্দিষ্ট ব্যবহার হলো, ডেভেলপার যেন অস্থায়ী অ্যাক্সেস টোকেন ব্যবহার করে তার Google Cloud প্রজেক্ট সার্ভিস অ্যাকাউন্টের অনুমতিক্রমে অ্যাপ্লিকেশনকে সেই অ্যাকাউন্টের পক্ষ থেকে একটি API কল করার অনুমোদন দিতে পারেন ।
যেহেতু একটি সার্ভিস অ্যাকাউন্টের অত্যন্ত ব্যাপক অনুমতি থাকতে পারে, তাই একজন ডেভেলপারের বিশ্বস্ত সার্ভার-সাইড অ্যাপ্লিকেশন এবং গুগলের ম্যাপস প্ল্যাটফর্ম সার্ভারের মধ্যে সার্ভার-টু-সার্ভার কল অনুমোদনের জন্য OAuth 2.0 ব্যবহারের সুপারিশ করা হয়।
ব্যবহারকারীর ডিভাইসে চলমান ক্লায়েন্ট-সাইড অ্যাপ্লিকেশনগুলোর জন্য এপিআই কী-এর মতো অন্যান্য প্রমাণীকরণ পদ্ধতি ব্যবহারের পরামর্শ দেওয়া হয়।
আপনি যদি সার্ভার-টু-সার্ভার ট্র্যাফিক অনুমোদনের জন্য OAuth 2.0 ব্যবহার করতে চান, তাহলে আপনার API ডকুমেন্টেশনে OAuth টপিকটি খুঁজুন।
উদাহরণস্বরূপ, এখানে অ্যাড্রেস ভ্যালিডেশন এপিআই-এর জন্য OAuth টপিকটি দেওয়া হলো।
সুরক্ষিত ক্লায়েন্ট-সাইড ওয়েব পরিষেবা কল
যদি ক্লায়েন্ট-সাইড SDK উপলব্ধ না থাকে, তাহলে নিচের সুপারিশগুলো দেখুন।
একটি প্রক্সি সার্ভার ব্যবহার করুন
একটি সুরক্ষিত প্রক্সি সার্ভার ব্যবহার করে ক্লায়েন্ট-সাইড অ্যাপ্লিকেশন থেকে গুগল ম্যাপস প্ল্যাটফর্ম ওয়েব সার্ভিস এন্ডপয়েন্টের সাথে যোগাযোগ করার একটি নির্ভরযোগ্য উপায় পাওয়া যায়, যার ফলে আপনার এপিআই কী, সাইনিং সিক্রেট বা গুগল ক্লাউড সার্ভিস অ্যাকাউন্ট অননুমোদিত ব্যবহারকারীদের কাছে প্রকাশ পায় না।
মূল বিষয়গুলো:
আপনার গুগল ম্যাপস প্ল্যাটফর্মের অনুরোধগুলো প্রক্সি সার্ভারে তৈরি করুন। ক্লায়েন্টদের প্রক্সি ব্যবহার করে যথেচ্ছ এপিআই কল রিলে করার অনুমতি দেবেন না ।
আপনার প্রক্সি সার্ভারে গুগল ম্যাপস প্ল্যাটফর্মের প্রতিক্রিয়াগুলো পোস্ট-প্রসেস করুন। ক্লায়েন্টের অপ্রয়োজনীয় ডেটা ফিল্টার করে বাদ দিন।
প্রক্সি সার্ভার ব্যবহার সম্পর্কে আরও তথ্যের জন্য, “Living Vicariously: Using Proxy Servers with the Google Data API Client Libraries” দেখুন।
নিরাপদ সরাসরি মোবাইল ওয়েব পরিষেবা কল
আপনি যদি আপনার ক্লায়েন্ট-সাইড অ্যাপের জন্য একটি সুরক্ষিত প্রক্সি সার্ভার সেট আপ করতে না পারেন, তাহলে নিম্নলিখিত পদক্ষেপগুলি ব্যবহার করে আপনার অ্যাপ্লিকেশনটি সুরক্ষিত করুন:
HTTP হেডার ব্যবহার করুন:
অ্যান্ড্রয়েড :
X-Android-PackageএবংX-Android-CertHTTP হেডার ব্যবহার করুন।iOS :
X-Ios-Bundle-IdentifierHTTP হেডারটি ব্যবহার করুন।
আপনার অ্যান্ড্রয়েড বা আইওএস কী-তে সংশ্লিষ্ট অ্যাপ্লিকেশন সীমাবদ্ধতাগুলো যোগ করুন।
আপনার মোবাইল অ্যাপ্লিকেশন থেকে সরাসরি গুগল ম্যাপস প্ল্যাটফর্ম REST API ওয়েব সার্ভিসে কল করার আগে, যাচাই করে নিন যে ভুল অ্যান্ড্রয়েড বা আইওএস অ্যাপ্লিকেশন আইডেন্টিফায়ার সহ অনুরোধগুলি প্রত্যাখ্যাত হচ্ছে কিনা।
পরীক্ষিত এন্ডপয়েন্টে যদি অ্যান্ড্রয়েড এবং আইওএস অ্যাপ্লিকেশনের উপর বিধিনিষেধ সমর্থিত না হয়, তবে গুগল দৃঢ়ভাবে সুপারিশ করে যে আপনি আপনার মোবাইল ক্লায়েন্ট এবং গুগল ম্যাপস প্ল্যাটফর্ম ওয়েব সার্ভিস এন্ডপয়েন্টের মধ্যে একটি সুরক্ষিত প্রক্সি সার্ভার ব্যবহার করুন।
অ্যান্ড্রয়েড অ্যাপ্লিকেশনের জন্য টিপস:
আপনার অ্যান্ড্রয়েড অ্যাপ্লিকেশনটিকে গুগল ম্যাপস প্ল্যাটফর্ম পরিষেবাগুলির সাথে সংযুক্ত করার আগে, যাচাই করে নিন যে আপনার অ্যাপ্লিকেশন আইডি (যাকে প্যাকেজ নেমও বলা হয়) সঠিকভাবে ফরম্যাট করা আছে। বিস্তারিত জানতে, অ্যান্ড্রয়েড ডকুমেন্টেশনে ‘অ্যাপ মডিউল কনফিগার করুন’ অংশটি দেখুন।
আপনার অ্যাপ্লিকেশন থেকে সরাসরি
X-Android-Packageপাস করতে,Context.getPackageName()ব্যবহার করে প্রোগ্রাম্যাটিকভাবে এটি খুঁজে বের করুন।আপনার অ্যাপ্লিকেশন থেকে সরাসরি
X-Android-Certপাস করার জন্য, আপনার অ্যাপ্লিকেশন সাইনিং সার্টিফিকেটের প্রয়োজনীয় SHA-1 ফিঙ্গারপ্রিন্ট গণনা করুন, যাPackageInfo.signingInfoমাধ্যমে অ্যাক্সেসযোগ্য।আপনি যদি গুগল ক্লাউড কনসোল ব্যবহার করে আপনার অ্যান্ড্রয়েড অ্যাপ্লিকেশনটি অনুমোদন করেন, তবে মনে রাখবেন যে UI-টি SHA-1 ফিঙ্গারপ্রিন্টটিকে একটি কোলন-বিভাজিত স্ট্রিং হিসেবে আশা করে, যেমন,
00:11:22:33:44:55:66:77:88:99:AA:BB:CC:DD:EE:FF:00:11:22:33। তবে,gcloudটুল এবং API keys API কোনো বিভাজক ছাড়াই হেক্সাডেসিমাল স্ট্রিং আশা করে।
iOS অ্যাপ্লিকেশনের জন্য টিপস:
আপনার iOS অ্যাপ্লিকেশনটিকে Google Maps Platform পরিষেবাগুলির সাথে সংযুক্ত করার আগে, যাচাই করে নিন যে আপনার বান্ডেল আইডি (Bundle ID) সঠিকভাবে ফরম্যাট করা আছে।
আপনার iOS অ্যাপ্লিকেশনকে অনুমোদন করার সময়, সাধারণত
X-Ios-Bundle-Identifierহেডারে আপনার প্রধান বান্ডেলের বান্ডেল আইডিটি সবসময় পাস করা উচিত।
আরও তথ্যের জন্য, “এপিআই কী পরিচালনা করুন” এবং “এপিআই অ্যাক্সেস করতে এপিআই কী ব্যবহার করুন” নিবন্ধগুলি দেখুন।
আপনার ব্রাউজার ভিত্তিক অ্যাপগুলো একটি সার্ভারে হোস্ট করুন
অ্যাপাচি কর্ডোভার মতো ফ্রেমওয়ার্কগুলো আপনাকে ওয়েবভিউয়ের ভেতরে চলার মতো মাল্টি-প্ল্যাটফর্ম হাইব্রিড অ্যাপ সুবিধাজনকভাবে তৈরি করার সুযোগ দেয়। তবে, এপিআই কী-ভিত্তিক ওয়েবসাইটের সীমাবদ্ধতাগুলো সঠিকভাবে কাজ করবে এমন কোনো নিশ্চয়তা নেই, যদি না আপনার ওয়েব অ্যাপটি আপনার নিয়ন্ত্রণাধীন ও অনুমোদিত কোনো ওয়েবসাইট থেকে HTTP বা HTTPS ব্যবহার করে লোড করা হয়।
হাইব্রিড অ্যাপ্লিকেশনের ভেতর থেকে স্থানীয়ভাবে লোড করা বা স্থানীয় ফাইল ইউআরএল ব্যবহার করে অ্যাক্সেস করা বান্ডেল রিসোর্সগুলো অনেক ক্ষেত্রে রেফারার-ভিত্তিক অনুমোদনকে বাধা দেয়, কারণ আপনার ওয়েবভিউকে চালনাকারী ব্রাউজার ইঞ্জিনটি Referer হেডার পাঠানো থেকে বিরত থাকে। এটি এড়াতে, আপনার ওয়েব অ্যাপ্লিকেশনগুলো ক্লায়েন্ট-সাইডে নয়, সার্ভার-সাইডে হোস্ট করুন।
বিকল্পভাবে, মোবাইল অ্যাপ্লিকেশনের জন্য, ওয়েব-ভিত্তিক SDK ব্যবহার না করে, উপলব্ধ নেটিভ গুগল ম্যাপস প্ল্যাটফর্ম অ্যান্ড্রয়েড এবং আইওএস SDK ব্যবহার করার কথা বিবেচনা করতে পারেন।
আপনার এপিআই কী সুরক্ষিত করতে অ্যাপ চেক ব্যবহার করুন।
নির্দিষ্ট কিছু ম্যাপস এসডিকে এবং এপিআই আপনাকে ফায়ারবেস অ্যাপ চেক-এর সাথে ইন্টিগ্রেট করার সুযোগ দেয়। অ্যাপ চেক বৈধ অ্যাপ ছাড়া অন্য উৎস থেকে আসা ট্র্যাফিক ব্লক করার মাধ্যমে আপনার অ্যাপ থেকে গুগল ম্যাপস প্ল্যাটফর্মে করা কলগুলোকে সুরক্ষা প্রদান করে। এটি একটি অ্যাটেস্টেশন প্রোভাইডারের কাছ থেকে টোকেন যাচাই করার মাধ্যমে এই কাজটি করে থাকে। আপনার অ্যাপগুলোকে অ্যাপ চেক-এর সাথে ইন্টিগ্রেট করলে তা ক্ষতিকর রিকোয়েস্ট থেকে সুরক্ষা দিতে সাহায্য করে, ফলে অননুমোদিত এপিআই কলের জন্য আপনাকে কোনো চার্জ দিতে হয় না।
অ্যাপ চেক ইন্টিগ্রেশন নির্দেশাবলী:
- iOS-এর জন্য প্লেসেস এসডিকে
- অ্যান্ড্রয়েডের জন্য প্লেসেস এসডিকে
- মানচিত্র জাভাস্ক্রিপ্ট এপিআই
- প্লেস ক্লাস, ম্যাপস জাভাস্ক্রিপ্ট এপিআই
এপিআই কী-এর অননুমোদিত ব্যবহার মোকাবেলা করুন
আপনার এপিআই কী-এর কোনো অননুমোদিত ব্যবহার শনাক্ত করলে, সমস্যাটির সমাধানের জন্য নিম্নলিখিত পদক্ষেপগুলো গ্রহণ করুন:
আপনার কী-গুলো সীমাবদ্ধ করুন : আপনি যদি একাধিক অ্যাপে একই কী ব্যবহার করে থাকেন, তবে একাধিক API কী ব্যবহার শুরু করুন এবং প্রতিটি অ্যাপের জন্য আলাদা API কী ব্যবহার করুন। আরও বিস্তারিত জানতে দেখুন:
আপনি যদি Places SDK বা Maps Javascript API ব্যবহার করেন, তাহলে আপনার API Key সুরক্ষিত করতে App Check-ও ব্যবহার করতে পারেন।
শুধুমাত্র তখনই কী-গুলো প্রতিস্থাপন বা ঘোরানো হবে, যদি নিম্নলিখিতটি সত্য হয়:
আপনি এমন কী-গুলিতে অননুমোদিত ব্যবহার শনাক্ত করেছেন যেগুলি হয় সীমাবদ্ধ করা যায় না অথবা ইতিমধ্যেই সীমাবদ্ধ, এবং অ্যাপ চেক প্রযোজ্য নয়।
আপনার এপিআই কী সুরক্ষিত করতে এবং এর অপব্যবহার বন্ধ করতে আপনি আরও দ্রুত পদক্ষেপ নিতে চাইবেন, এমনকি যদি তা আপনার অ্যাপ্লিকেশনের বৈধ ট্র্যাফিককে প্রভাবিত করেও থাকে।
এগিয়ে যাওয়ার আগে , এপিআই কী ঘোরানোর সময় সতর্ক থাকুন অংশটি পড়ে নিন।
আপনার যদি এখনও সমস্যা হয় বা সাহায্যের প্রয়োজন হয়, তাহলে সাপোর্টে যোগাযোগ করুন ।
প্রস্তাবিত অ্যাপ্লিকেশন এবং এপিআই সীমাবদ্ধতা
নিম্নলিখিত বিভাগগুলিতে প্রতিটি গুগল ম্যাপস প্ল্যাটফর্ম এপিআই, এসডিকে বা পরিষেবার জন্য উপযুক্ত অ্যাপ্লিকেশন এবং এপিআই সীমাবদ্ধতার পরামর্শ দেওয়া হয়েছে।
প্রস্তাবিত এপিআই সীমাবদ্ধতা
গুগল ম্যাপস প্ল্যাটফর্মের সকল পরিষেবার ক্ষেত্রে এপিআই সীমাবদ্ধতা সংক্রান্ত নিম্নলিখিত নির্দেশিকাগুলো প্রযোজ্য:
নিম্নলিখিত ব্যতিক্রমগুলি ছাড়া, আপনার এপিআই কী শুধুমাত্র সেই এপিআইগুলির জন্য সীমাবদ্ধ করুন যেগুলির জন্য আপনি এটি ব্যবহার করছেন:
আপনার অ্যাপ যদি অ্যান্ড্রয়েডের জন্য প্লেসেস এসডিকে (Places SDK for Android) অথবা আইওএসের জন্য প্লেসেস এসডিকে (Places SDK for iOS) ব্যবহার করে, তাহলে আপনার ব্যবহৃত এসডিকে সংস্করণ অনুযায়ী প্লেসেস এপিআই (নতুন) (Places API (New)) অথবা প্লেসেস এপিআই (Places API) অনুমোদন করুন। 1
আপনার অ্যাপ যদি Maps JavaScript API ব্যবহার করে, তবে সর্বদা আপনার কী (key) দিয়ে এটিকে অনুমোদন করুন।
আপনি যদি নিম্নলিখিত Maps JavaScript API পরিষেবাগুলির মধ্যে কোনোটি ব্যবহার করেন, তাহলে আপনাকে এই সংশ্লিষ্ট API-গুলিকেও অনুমোদন করতে হবে:
পরিষেবা এপিআই সীমাবদ্ধতা দিকনির্দেশনা পরিষেবা (ঐতিহ্যবাহী) দিকনির্দেশনা এপিআই (লেগ্যাসি) দূরত্ব ম্যাট্রিক্স পরিষেবা (লেগ্যাসি) দূরত্ব ম্যাট্রিক্স এপিআই (লেগ্যাসি) উচ্চতা পরিষেবা এলিভেশন এপিআই জিওকোডিং পরিষেবা জিওকোডিং এপিআই Place ক্লাস, Place Autocomplete উইজেট (নতুন) এবং Place Autocomplete ডেটা API স্থান এপিআই (নতুন) ২ স্থান লাইব্রেরি, স্থান পরিষেবা এবং স্থান স্বয়ংসম্পূর্ণ উইজেট স্থানসমূহ এপিআই ২
আরও বিস্তারিত তথ্যের জন্য, Places SDK for Android এবং Places SDK for iOS ডকুমেন্টেশন দেখুন।
২ আপনার Places API (New) নাকি Places API অনুমোদন করতে হবে, সে বিষয়ে আপনি অনিশ্চিত হলে Maps JavaScript API ডকুমেন্টেশন দেখুন।
কিছু উদাহরণ:
আপনি Maps SDK for Android এবং Places SDK for Android ব্যবহার করছেন, তাই আপনাকে API সীমাবদ্ধতা হিসেবে Maps SDK for Android এবং Places API (New) অন্তর্ভুক্ত করতে হবে।
আপনার ওয়েবসাইট Maps JavaScript API Elevation Service এবং Maps Static API ব্যবহার করে, তাই আপনি নিম্নলিখিত সমস্ত API-গুলির জন্য API সীমাবদ্ধতা যোগ করেন:
- মানচিত্র জাভাস্ক্রিপ্ট এপিআই
- এলিভেশন এপিআই
- মানচিত্র স্ট্যাটিক এপিআই
প্রস্তাবিত আবেদন সীমাবদ্ধতা
ওয়েবসাইট
যেসব ওয়েবসাইট Maps JavaScript API পরিষেবা, Maps Static API বা Street View Static API ব্যবহার করে অথবা HTTPS REST API বা gRPC-এর মাধ্যমে সরাসরি সাম্প্রতিক Google Maps Platform পরিষেবাগুলিকে কল করে, তাদের জন্য ওয়েবসাইট অ্যাপ্লিকেশন সীমাবদ্ধতাটি ব্যবহার করুন:
মোবাইল অ্যাপ্লিকেশনের জন্য, অ্যান্ড্রয়েডের নেটিভ ম্যাপস এসডিকে এবং আইওএসের নেটিভ ম্যাপস এসডিকে ব্যবহার করার কথা বিবেচনা করতে পারেন।
২ মোবাইল অ্যাপ্লিকেশনের জন্য, অ্যান্ড্রয়েডের জন্য নেটিভ প্লেসেস এসডিকে এবং আইওএস-এর জন্য প্লেসেস এসডিকে ব্যবহার করার কথা বিবেচনা করতে পারেন।
৩ আরও দেখুন স্ট্যাটিক ওয়েব এপিআই ব্যবহার সুরক্ষিত করুন ।
Maps Embed API সহ ওয়েবসাইটগুলি
যদিও ম্যাপস এমবেড এপিআই ব্যবহার করা বিনামূল্যে, তবুও অন্যান্য পরিষেবাগুলিতে এর অপব্যবহার রোধ করতে ব্যবহৃত এপিআই কী সীমাবদ্ধ রাখা উচিত।
সর্বোত্তম পদ্ধতি : Maps Embed API ব্যবহারের জন্য একটি পৃথক API কী তৈরি করুন এবং এই কী-টিকে শুধুমাত্র Maps Embed API-এর জন্য সীমাবদ্ধ রাখুন। এই সীমাবদ্ধতা কী-টিকে যথেষ্ট সুরক্ষিত করে, যা অন্য কোনো Google পরিষেবাতে এর অননুমোদিত ব্যবহার প্রতিরোধ করে। আপনার Maps Embed API কী কোথা থেকে ব্যবহার করা যাবে তার উপর সম্পূর্ণ নিয়ন্ত্রণের জন্য, Google ওয়েবসাইট অ্যাপ্লিকেশন সীমাবদ্ধতাও প্রয়োগ করার পরামর্শ দেয়।
আপনি যদি আপনার ম্যাপস এমবেড এপিআই-এর ব্যবহার একটি পৃথক এপিআই কী-তে ভাগ করতে না পারেন, তাহলে ওয়েবসাইটস অ্যাপ্লিকেশন রেস্ট্রিকশন ব্যবহার করে আপনার বিদ্যমান কী-টিকে সুরক্ষিত করুন।
ওয়েব পরিষেবা ব্যবহার করে অ্যাপ এবং সার্ভার
বিশ্বস্ত কর্পোরেট অভ্যন্তরীণ নেটওয়ার্কের সার্ভার এবং ক্লায়েন্ট-সাইড অ্যাপগুলির জন্য, যেগুলি এপিআই কী সহ ওয়েব পরিষেবা ব্যবহার করে, IP addresses অ্যাপ্লিকেশন সীমাবদ্ধতা ব্যবহার করুন।
এই API-গুলো ব্যবহারকারী অ্যাপ এবং সার্ভারগুলির জন্য ব্যবহার করুন:
৪ মোবাইল অ্যাপ্লিকেশনের জন্য নেভিগেশন এসডিকে ব্যবহার করার কথা বিবেচনা করতে পারেন।
৫. নিরাপদ মোবাইল ব্যবহারের জন্য, একটি সুরক্ষিত প্রক্সি সার্ভার ব্যবহার করুন।
৬ ক্লায়েন্ট-সাইড অ্যাপ্লিকেশনগুলির জন্য, প্ল্যাটফর্ম দ্বারা প্রদত্ত নেটিভ জিওলোকেশন পরিষেবা ব্যবহার করার কথা বিবেচনা করুন; উদাহরণস্বরূপ, ওয়েব ব্রাউজারের জন্য W3C জিওলোকেশন , অ্যান্ড্রয়েডের জন্য লোকেশনম্যানেজার বা ফিউজড লোকেশন প্রোভাইডার এপিআই , অথবা আইওএস-এর জন্য অ্যাপল কোর লোকেশন ফ্রেমওয়ার্ক।
৭। মোবাইল অ্যাপ্লিকেশনের জন্য, অ্যান্ড্রয়েডের জন্য নেটিভ প্লেসেস এসডিকে এবং আইওএস-এর জন্য প্লেসেস এসডিকে ব্যবহার করার কথা বিবেচনা করতে পারেন।
৮। ক্লায়েন্ট-সাইডে নিরাপদ ব্যবহারের জন্য, একটি সুরক্ষিত প্রক্সি সার্ভার ব্যবহার করুন।
অ্যান্ড্রয়েড অ্যাপস
অ্যান্ড্রয়েড অ্যাপের জন্য, Android apps অ্যাপ্লিকেশন সীমাবদ্ধতা ব্যবহার করুন। এই SDK-গুলি ব্যবহারকারী অ্যাপের জন্য এটি ব্যবহার করুন:
- অ্যান্ড্রয়েডের জন্য ম্যাপস এসডিকে
- অ্যান্ড্রয়েডের জন্য প্লেসেস এসডিকে
- অ্যান্ড্রয়েডের জন্য নেভিগেশন এসডিকে
এছাড়াও, অ্যান্ড্রয়েড ম্যানিফেস্টে সিক্রেটগুলো সংরক্ষণ না করে, সিক্রেটস গ্রেডল প্লাগইন ব্যবহার করে একটি স্থানীয় ফাইল থেকে ইনজেক্ট করার মাধ্যমে ভুলবশত ভার্সন কন্ট্রোলে এপিআই কী চেক ইন হওয়া প্রতিরোধ করুন।
iOS অ্যাপস
iOS-এর অ্যাপগুলির জন্য, iOS apps অ্যাপ্লিকেশন সীমাবদ্ধতা ব্যবহার করুন। এই SDK-গুলি ব্যবহারকারী অ্যাপ এবং সার্ভারগুলির জন্য ব্যবহার করুন:
আরও পড়ুন
- এপিআই কীগুলি পরিচালনা করুন
- এপিআই অ্যাক্সেস করতে এপিআই কী ব্যবহার করুন
- কোটার মাধ্যমে আপনার গুগল ম্যাপস প্ল্যাটফর্মের ব্যবহার অপ্টিমাইজ করুন (ভিডিও)
- গুগল ম্যাপস প্ল্যাটফর্মের জন্য কীভাবে এপিআই কী তৈরি এবং সীমাবদ্ধ করবেন (ভিডিও)
- এপিআই কী সীমাবদ্ধ করা
- স্ট্যাটিক ম্যাপ এবং স্ট্রিট ভিউ এপিআই ব্যবহার করার সময় এপিআই কী সুরক্ষিত রাখা
- গুগল ম্যাপস প্ল্যাটফর্মের ১৫টি সেরা অনুশীলন