راهنمای امنیتی پلتفرم نقشه های گوگل

برنامه‌ها و پروژه‌هایی که از APIها و SDKهای پلتفرم Google Maps استفاده می‌کنند باید از کلیدهای API یا در صورت پشتیبانی از OAuth 2.0 برای احراز هویت استفاده کنند.

این بهترین روش‌ها به شما نشان می‌دهد که چگونه دسترسی به پلتفرم Maps خود را ایمن کنید.

اگر می خواهید از OAuth 2.0 برای مجوز دادن به ترافیک سرور به سرور استفاده کنید، به دنبال موضوع OAuth در اسناد API خود بگردید. برای جزئیات بیشتر به استفاده از OAuth برای برنامه های سمت سرور مراجعه کنید.

علاوه بر اعمال محدودیت‌های کلیدی برنامه‌ها و API، هر گونه اقدامات امنیتی را که برای محصولات خاص پلتفرم Google Maps اعمال می‌شود، دنبال کنید. برای مثال، Maps JavaScript API زیر را در برنامه‌های توصیه‌شده و محدودیت‌های API ببینید.

اگر کلیدهای API شما از قبل در حال استفاده هستند، توصیه‌های زیر را در قسمت اگر کلید API در حال استفاده را محدود می‌کنید مرور کنید.

برای جزئیات بیشتر درباره امضای دیجیتال، پشتیبانی شده توسط Maps Static API و Street View Static API، به راهنمای امضای دیجیتال مراجعه کنید.

بهترین شیوه های توصیه شده

برای افزایش امنیت و جلوگیری از دریافت صورت‌حساب برای استفاده غیرمجاز، این بهترین شیوه‌های امنیتی API را برای همه APIها، SDKها یا سرویس‌های پلتفرم Google Maps دنبال کنید:

کلیدهای API خود را محدود کنید

برای هر برنامه از کلیدهای API جداگانه استفاده کنید

کلیدهای API استفاده نشده را حذف کنید

استفاده از کلید API خود را بررسی کنید

هنگام چرخاندن کلیدهای API مراقب باشید

استفاده از سمت سرویس گیرنده و سمت سرور را به پروژه های جداگانه تقسیم کنید

غیرفعال کردن خدمات استفاده نشده

توصیه های اضافی برای برنامه های سمت سرویس گیرنده

از SDK های سمت سرویس گیرنده استفاده کنید

تماس های سرویس وب سمت سرویس گیرنده ایمن

توصیه های اضافی برای وب سایت ها یا برنامه های سمت سرویس گیرنده با استفاده از Static Web API

از استفاده Static Web API محافظت کنید

توصیه های اضافی برای برنامه های سمت سرور با استفاده از خدمات وب

از کلیدهای API سرویس وب محافظت کنید

از OAuth برای برنامه های سمت سرور استفاده کنید

اگر یک کلید API در حال استفاده را محدود یا می چرخانید

  • قبل از اینکه کلید API را تغییر دهید، میزان استفاده از کلید API خود را بررسی کنید این مرحله به ویژه در صورتی مهم است که در حال اضافه کردن محدودیت‌هایی برای کلیدی هستید که از قبل در یک برنامه تولیدی استفاده می‌شود.

  • بعد از اینکه کلید را تغییر دادید، در صورت نیاز، تمام برنامه های خود را با کلیدهای API جدید به روز کنید.

  • اگر کلید API شما در معرض خطر قرار نگرفته است و به طور فعال مورد سوء استفاده قرار نگرفته است، می توانید برنامه های خود را با سرعت دلخواه خود به چندین کلید API جدید منتقل کنید، تا زمانی که فقط یک نوع ترافیک را مشاهده نکنید، کلید API اصلی دست نخورده باقی بماند، و کلید API می تواند با خیال راحت با یک نوع محدودیت برنامه بدون ایجاد اختلالات ناخواسته در سرویس محدود شود.

    برای دستورالعمل‌های بیشتر، به انتقال به چند کلید API مراجعه کنید.

    قبل از اینکه بخواهید کلید قدیمی را محدود یا حذف کنید، استفاده را در طول زمان نظارت کنید و ببینید چه زمانی APIهای خاص، انواع پلتفرم و دامنه‌ها از کلید API قدیمی خارج شده‌اند. برای اطلاعات بیشتر، به گزارش و نظارت و معیارها مراجعه کنید

  • اگر کلید API شما به خطر افتاده است، می‌خواهید سریع‌تر حرکت کنید تا کلید API خود را ایمن کنید و سوء استفاده را متوقف کنید. در برنامه‌های Android و iOS، تا زمانی که مشتریان برنامه‌های خود را به‌روزرسانی کنند، کلیدها تعویض نمی‌شوند. به‌روزرسانی یا جایگزینی کلیدها در صفحات وب یا در برنامه‌های سمت سرور بسیار ساده‌تر است، اما ممکن است همچنان به برنامه‌ریزی دقیق و کار سریع نیاز داشته باشد.

    برای اطلاعات بیشتر، به مدیریت استفاده غیرمجاز از یک کلید API مراجعه کنید.

اطلاعات بیشتر

محدودیت های برنامه و API توصیه شده

کلیدهای API خود را محدود کنید

بهترین روش این است که همیشه کلیدهای API خود را با یک نوع محدودیت برنامه و یک یا چند محدودیت API محدود کنید. برای محدودیت‌های پیشنهادی توسط سرویس API، SDK یا جاوا اسکریپت، به برنامه توصیه‌شده و محدودیت‌های API در زیر مراجعه کنید.

  • محدودیت‌های برنامه می‌توانید استفاده از یک کلید API را به پلتفرم‌های خاصی محدود کنید: برنامه‌های Android یا iOS، یا وب‌سایت‌های خاص برای برنامه‌های سمت سرویس گیرنده، یا آدرس‌های IP خاص یا زیرشبکه‌های CIDR برای برنامه‌های سمت سرور که تماس‌های REST API سرویس وب را صادر می‌کنند.

    شما یک کلید را با افزودن یک یا چند محدودیت برنامه از انواعی که می خواهید مجاز کنید، محدود می کنید، پس از آن فقط درخواست هایی که از این منابع نشات می گیرند مجاز هستند.

  • محدودیت‌های API می‌توانید APIها، SDKها یا سرویس‌هایی را که کلید API شما می‌تواند در آن‌ها استفاده شود، محدود کنید. محدودیت‌های API فقط درخواست‌ها را به APIها و SDK‌هایی که شما مشخص می‌کنید اجازه می‌دهد. برای هر کلید API داده شده، می توانید به تعداد مورد نیاز محدودیت های API را مشخص کنید. لیست APIهای موجود شامل تمام APIهای فعال در یک پروژه است.

یک محدودیت برنامه برای یک کلید API تنظیم کنید

  1. صفحه اعتبارنامه پلتفرم Google Maps کنسول Google Cloud را باز کنید.

  2. کلید API را که می خواهید محدود کنید انتخاب کنید.

  3. در صفحه ویرایش کلید API ، در زیر کلید محدودیت‌ها ، تنظیم محدودیت برنامه را انتخاب کنید.

    صفحه کلید API را ویرایش کنید

  4. یکی از انواع محدودیت ها را انتخاب کنید و اطلاعات درخواستی را در لیست محدودیت ها ارائه دهید.

    نوع محدودیت توضیحات
    وب سایت ها یک یا چند وب سایت ارجاع دهنده را مشخص کنید.
    • طرح های URI ارجاع دهنده پشتیبانی جهانی https و http هستند. سایر طرح‌ها تضمین نمی‌شوند که به درستی کار کنند، زیرا مرورگرهای وب مدرن به دلایل حفظ حریم خصوصی سرصفحه «مرجع» را در درخواست‌های خروجی ارسال نمی‌کنند.
    • همیشه کل رشته ارجاع دهنده، از جمله طرح پروتکل، نام میزبان و پورت اختیاری (به عنوان مثال، https://google.com ) را ارائه دهید.
    • می توانید از کاراکترهای wildcard برای مجوز دادن به همه زیر دامنه ها استفاده کنید. برای مثال، https://*.google.com همه سایت‌هایی که به .google.com ختم می‌شوند را می‌پذیرد.
    • هنگام مجوز دادن به ارجاع دهندگان تمام مسیر، به عنوان مثال، https://google.com/some/path ، مراقب باشید، زیرا اکثر مرورگرهای وب به دلایل حفظ حریم خصوصی، مسیر را از درخواست های مبدا متقابل حذف می کنند.
    آدرس های IP یک یا چند آدرس IPv4 یا IPv6 یا زیرشبکه را با استفاده از نماد CIDR مشخص کنید. آدرس‌های IP باید با آدرس منبعی که سرورهای پلتفرم Google Maps مشاهده می‌کنند مطابقت داشته باشد. اگر از ترجمه آدرس شبکه (NAT) استفاده می کنید، این آدرس معمولاً با آدرس IP عمومی دستگاه شما مطابقت دارد.
    برنامه های اندروید نام بسته Android (از فایل AndroidManifest.xml ) و اثر انگشت گواهی امضای SHA-1 را برای هر برنامه Android که می‌خواهید مجوز دهید، اضافه کنید. اگر از Play App Signing استفاده می‌کنید، برای واکشی اثر انگشت گواهی امضا، به کار با ارائه‌دهندگان API مراجعه کنید. اگر کلید امضای خود را مدیریت می کنید، به امضای خودکار برنامه خود مراجعه کنید یا به دستورالعمل های محیط ساخت خود مراجعه کنید.
    برنامه های iOS شناسه بسته نرم افزاری هر برنامه iOS را که می خواهید مجوز دهید اضافه کنید.

    برای توصیه‌هایی برای محدودیت برنامه، به محدودیت برنامه توصیه‌شده مراجعه کنید.

  5. ذخیره را انتخاب کنید.

محدودیت های API را برای یک کلید API تنظیم کنید

  1. صفحه اعتبارنامه پلتفرم Google Maps کنسول Google Cloud را باز کنید.

  2. کلید API را که می خواهید محدود کنید انتخاب کنید.

  3. در صفحه کلید ویرایش API ، تحت محدودیت های API :

    • کلید محدود را انتخاب کنید.

    • Select APIs را باز کنید و API ها یا SDK هایی را که می خواهید برنامه شما به آن دسترسی داشته باشد با استفاده از کلید API انتخاب کنید.

    اگر یک API یا SDK در لیست نیست، باید آن را فعال کنید. برای جزئیات، به فعال کردن یک یا چند API یا SDK مراجعه کنید.

    یک API را روی کلید Edit API محدود کنید     صفحه

  4. ذخیره را انتخاب کنید.

    پس از این مرحله محدودیت بخشی از تعریف کلید API می شود. مطمئن شوید که جزئیات مناسب را ارائه کرده اید و ذخیره را انتخاب کنید تا محدودیت های کلید API ذخیره شود. برای اطلاعات بیشتر، راهنمای دریافت کلید API را در اسناد مربوط به API یا SDK خاصی که به آن علاقه دارید، ببینید.

برای محدودیت های توصیه شده API، به محدودیت های توصیه شده API مراجعه کنید.

استفاده از کلید API خود را بررسی کنید

اگر کلیدهای API را پس از ایجاد آنها محدود می کنید، یا اگر می خواهید ببینید کدام API توسط یک کلید استفاده می شود تا بتوانید آنها را محدود کنید، می خواهید میزان استفاده از کلید API خود را بررسی کنید. این مراحل به شما نشان می دهد که در کدام سرویس ها و روش های API از یک کلید API استفاده می شود. اگر استفاده‌ای فراتر از سرویس‌های پلتفرم Google Maps مشاهده کردید، بررسی کنید تا مشخص کنید که آیا نیاز به اضافه کردن محدودیت‌های بیشتری برای جلوگیری از استفاده ناخواسته دارید یا خیر. می‌توانید از Google Maps Platform Cloud Console Metrics برای تعیین اینکه کدام API و محدودیت‌های برنامه برای کلید API اعمال شود استفاده کنید:

API هایی که از کلید API شما استفاده می کنند را تعیین کنید

گزارش‌های معیارهای زیر به شما امکان می‌دهند تعیین کنید کدام API از کلیدهای API شما استفاده می‌کند. از این گزارش ها برای انجام کارهای زیر استفاده کنید:

  • نحوه استفاده از کلیدهای API خود را ببینید
  • مشاهده استفاده غیرمنتظره
  • به بررسی اینکه آیا کلید استفاده نشده قابل حذف است یا خیر کمک کنید. برای اطلاعات در مورد حذف یک کلید API، به حذف کلیدهای استفاده نشده API مراجعه کنید.

هنگام اعمال محدودیت‌های API، از این گزارش‌ها برای ایجاد فهرستی از APIها برای تأیید اعتبار یا تأیید اعتبار توصیه‌های محدودیت کلیدی API که به‌طور خودکار تولید می‌شوند، استفاده کنید. برای اطلاعات بیشتر درباره محدودیت‌های توصیه‌شده، به اعمال محدودیت‌های توصیه‌شده مراجعه کنید. برای اطلاعات بیشتر در مورد استفاده از Metrics Explorer، به ایجاد نمودار با Metrics explorer مراجعه کنید.

  1. به کاوشگر Metrics کنسول Google Cloud بروید

  2. وارد شوید و پروژه ای را برای کلیدهای API که می خواهید بررسی کنید انتخاب کنید.

  3. برای نوع API خود به صفحه کاوشگر Metrics بروید:

    • برای کلیدهای API با استفاده از هر API به جز Maps Embed API : به صفحه کاوشگر Metrics بروید.

    • برای کلیدهای API با استفاده از Maps Embed API : به Metrics Explorer بروید.

  4. هر کلید API را بررسی کنید:

    1. ADD FILTER را انتخاب کنید.

    2. برچسب credential_id انتخاب کنید.

    3. مقدار مربوط به کلید مورد نظر برای بررسی را انتخاب کنید.

    4. توجه داشته باشید که این کلید API برای کدام APIها استفاده می شود و تأیید کنید که مورد انتظار است.

    5. پس از اتمام، گزینه Remove filter در انتهای خط فیلتر فعال انتخاب کنید تا فیلتر اضافی حذف شود.

  5. برای هر کلید باقیمانده این کار را تکرار کنید.

  6. کلیدهای API خود را فقط به APIهایی که در حال استفاده هستند محدود کنید.

  7. اگر استفاده غیرمجاز را مشاهده کردید، به مدیریت استفاده غیرمجاز از یک کلید API مراجعه کنید.

با استفاده از Metrics Explorer نوع صحیح محدودیت برنامه را انتخاب کنید

پس از اینکه تأیید کردید و اقدامات لازم را انجام دادید تا مطمئن شوید که کلید API شما فقط برای سرویس‌های پلتفرم Google Maps که استفاده می‌کند استفاده می‌شود، همچنین تأیید کنید که کلید API دارای محدودیت‌های کاربردی صحیح است.

اگر کلید API شما محدودیت های کلید API را توصیه کرده است، آنها را اعمال کنید. برای اطلاعات بیشتر، اعمال محدودیت‌های کلیدی API توصیه‌شده را ببینید.

اگر کلید API شما توصیه‌های محدودیتی ندارد، بر اساس platform_type گزارش‌شده با استفاده از کاوشگر Metrics، نوع محدودیت برنامه کاربردی را تعیین کنید:

  1. به کاوشگر Metrics کنسول Google Cloud بروید

  2. وارد شوید و پروژه API هایی را که می خواهید بررسی کنید انتخاب کنید.

  3. به این صفحه کاوشگر Metrics بروید: Metrics Explorer .

  4. هر کلید API را بررسی کنید:

    1. ADD FILTER را انتخاب کنید.

    2. برچسب credential_id انتخاب کنید.

    3. مقدار مربوط به کلید مورد نظر برای بررسی را انتخاب کنید.

    4. پس از اتمام، گزینه Remove filter در انتهای خط فیلتر فعال انتخاب کنید تا فیلتر اضافی حذف شود.

  5. برای هر کلید باقیمانده این کار را تکرار کنید.

  6. هنگامی که نوع پلتفرم کلیدهای API خود را دارید، محدودیت برنامه را برای آن platform_type اعمال کنید:

    PLATFORM_TYPE_JS : محدودیت‌های وب‌سایت را روی کلید اعمال کنید.

    PLATFORM_TYPE_ANDROID : محدودیت‌های برنامه Android را روی کلید اعمال کنید.

    PLATFORM_TYPE_IOS : محدودیت‌های برنامه iOS را روی کلید اعمال کنید.

    PLATFORM_TYPE_WEBSERVICE : ممکن است مجبور شوید برای محدود کردن کلید به محدودیت های آدرس IP روی کلید تکیه کنید.

    برای توصیه‌هایی درباره Maps Static API و Street View Static API، به محافظت از استفاده از Static Web API مراجعه کنید.

    برای توصیه‌های Maps Embed API، به وب‌سایت‌هایی با Maps Embed API مراجعه کنید.

    کلید API من از چندین نوع پلت فرم استفاده می کند: ترافیک شما را نمی توان به درستی تنها با یک کلید API ایمن کرد. شما باید به چندین کلید API مهاجرت کنید. برای اطلاعات بیشتر، به انتقال به چند کلید API مراجعه کنید.

برای هر برنامه از کلیدهای API جداگانه استفاده کنید

این عمل دامنه هر کلید را محدود می کند. اگر یکی از کلیدهای API به خطر بیفتد، می‌توانید بدون نیاز به به‌روزرسانی کلیدهای API دیگر، کلید تأثیرگذار را حذف یا بچرخانید. شما می توانید تا 300 کلید API در هر پروژه ایجاد کنید. برای اطلاعات بیشتر، محدودیت‌های کلیدهای API را ببینید.

در حالی که یک کلید API برای هر برنامه برای اهداف امنیتی ایده‌آل است، می‌توانید از کلیدهای محدود در چندین برنامه استفاده کنید تا زمانی که از یک نوع محدودیت برنامه استفاده کنند.

محدودیت های توصیه شده کلید API را اعمال کنید

برای برخی از صاحبان پروژه، ویرایشگران و مدیران کلید API، کنسول Google Cloud بر اساس استفاده و فعالیت پلتفرم Google Maps، محدودیت‌های کلیدی API خاصی را برای کلیدهای API نامحدود پیشنهاد می‌کند.

در صورت وجود، توصیه‌ها به‌عنوان گزینه‌های از پیش تکمیل‌شده در صفحه اعتبارنامه‌های پلتفرم Google Maps ظاهر می‌شوند.

APIها و SDK های پلتفرم Google Maps که توسط توصیه های خودکار پشتیبانی می شوند

  • Maps JavaScript API، شامل Directions Service (Legacy)، Distance Matrix Service (Legacy)، Elevation Service, Geocoding Service Place class Place Autocomplete Widget (جدید)، Place Autocomplete Data API, Places Library, Places Service & Place Autocomplete Widget

  • Maps Static API و Street View Static API

  • Maps Embed API

  • Maps SDK برای Android، Places SDK برای Android و Navigation SDK برای Android

  • Maps SDK برای iOS، Places SDK برای iOS، Places Swift SDK برای iOS و Navigation SDK برای iOS

دلایلی که ممکن است توصیه ای را مشاهده نکنید یا توصیه ای ناقص را ببینید

دلایل عدم مشاهده توصیه

  • شما (همچنین) از کلید API در سرویس‌های پلتفرم Google Maps یا سرویس‌های پلتفرم Maps که هنوز توسط توصیه‌های خودکار پشتیبانی نمی‌شوند، استفاده می‌کنید.

    اگر استفاده از سرویس‌های دیگر را مشاهده کردید، توصیه را بدون انجام کارهای زیر اعمال نکنید :

    1. بررسی کنید که استفاده از API که در کاوشگر Metrics کنسول Google Cloud مشاهده می‌کنید قانونی است.

    2. سرویس‌های گمشده را به‌صورت دستی به فهرست APIهایی که باید مجاز شوند اضافه کنید .

    3. هرگونه محدودیت برنامه از دست رفته را برای سرویس های اضافه شده به لیست API به صورت دستی اضافه کنید . اگر دیگر اضافه شده شما به نوع دیگری از محدودیت های برنامه نیاز دارد، به انتقال به چند کلید API مراجعه کنید.

  • کلید API شما در SDKها یا APIهای سمت سرویس گیرنده استفاده نمی شود.

  • شما از کلید API در برنامه یا وب سایتی با حجم کم استفاده می کنید که در 60 روز گذشته استفاده نشده است.

  • شما اخیراً یک کلید جدید ایجاد کرده اید، یا اخیراً یک کلید موجود را در یک برنامه جدید مستقر کرده اید. اگر اینطور است، فقط چند روز دیگر صبر کنید تا توصیه ها به روز شوند.

  • شما از کلید API در چندین برنامه استفاده می‌کنید که به انواع متناقض محدودیت‌های برنامه نیاز دارند، یا از کلید API یکسان در برنامه‌ها یا وب‌سایت‌های بسیار مختلف استفاده می‌کنید. در هر صورت، به عنوان بهترین روش، باید به چند کلید مهاجرت کنید. برای جزئیات بیشتر، انتقال به چند کلید API را ببینید.

دلایل مشاهده یک توصیه ناقص

  • شما از کلید API در برنامه یا وب سایتی با حجم کم استفاده می کنید که در 60 روز گذشته استفاده نشده است.

  • شما اخیراً شروع به استفاده از یک کلید موجود در یک API یا سرویس جدید کرده‌اید، و خط لوله توصیه محدودیت کلید API خودکار، هنوز معیارهای استفاده به‌روز را پردازش نکرده است. انتشار معیارهای استفاده ممکن است چند روز طول بکشد.

    اگر استفاده از سرویس‌های دیگر را مشاهده کردید، توصیه را بدون انجام کارهای زیر اعمال نکنید :

    1. بررسی کنید که استفاده از API که در کاوشگر Metrics کنسول Google Cloud مشاهده می‌کنید قانونی است.

    2. سرویس‌های گمشده را به‌صورت دستی به فهرست APIهایی که باید مجاز شوند اضافه کنید .

    3. هرگونه محدودیت برنامه از دست رفته را برای سرویس های اضافه شده به لیست API به صورت دستی اضافه کنید . اگر دیگر اضافه شده شما به نوع دیگری از محدودیت های برنامه نیاز دارد، به انتقال به چند کلید API مراجعه کنید.

    4. مگر اینکه نیاز فوری به محدود کردن یک کلید داشته باشید، مثلاً به دلیل استفاده غیرمجاز، ممکن است یک یا دو روز منتظر بمانید تا توصیه‌ها به نتیجه برسد.

دلایلی که ممکن است توصیه هایی را ببینید که در نمودارها قابل مشاهده نیستند

  • برنامه یا وب سایت شما فقط ترافیک بسیار کوتاهی ارسال کرد. در این حالت، از نمای نمودار جابجا شوید تا یک TABLE یا هر دو نمایش داده شود، زیرا استفاده همچنان در افسانه قابل مشاهده است. برای اطلاعات بیشتر، به جابجایی افسانه‌های کامل نمودار مراجعه کنید.

  • ترافیک شما از Maps Embed API است. برای دستورالعمل‌ها، به تعیین APIهایی که از کلید API شما استفاده می‌کنند مراجعه کنید.

  • ترافیک برنامه یا وب‌سایت خارج از محدوده تاریخی موجود در Google Cloud Console Metrics Explorer است.

  1. صفحه اعتبارنامه پلتفرم Google Maps کنسول Google Cloud را باز کنید.

  2. در صورت وجود، اعمال محدودیت های توصیه شده را انتخاب کنید.

    محدودیت های توصیه شده را اعمال کنید

  3. برای بررسی اینکه کلید API در کدام سرویس‌ها استفاده می‌شود، بررسی استفاده از API را انتخاب کنید. اگر خدمات دیگری غیر از Google Maps Platform را مشاهده می‌کنید، برای مرور دستی مراحل توصیه‌شده در بالا، مکث کنید . مراحل عیب‌یابی را در ابتدای بخش اعمال محدودیت‌های کلیدی API توصیه‌شده ببینید.

  4. مجدداً بررسی کنید که محدودیت‌های از پیش پر شده با وب‌سایت‌ها و برنامه‌هایی مطابقت داشته باشند که انتظار دارید از کلید API خود استفاده کنید.

    بهترین روش : هر گونه محدودیت برنامه یا API را که به خدمات شما وابسته نیست، مستند کرده و حذف کنید. اگر چیزی به دلیل وابستگی غیرمنتظره خراب شد، می‌توانید برنامه‌ها یا APIهای مورد نیاز را دوباره به آن اضافه کنید.

    • اگر متوجه شدید که برنامه، وب‌سایت یا API به وضوح در توصیه شما وجود ندارد، آن را به صورت دستی اضافه کنید یا چند روز صبر کنید تا توصیه به‌روزرسانی شود.

    • اگر در مورد توصیه پیشنهادی خود به راهنمایی بیشتری نیاز دارید، با پشتیبانی تماس بگیرید .

  5. Apply را انتخاب کنید.

اگر درخواست شما پس از اعمال یک توصیه رد شد، چه کاری باید انجام دهید

اگر متوجه شدید که یک برنامه یا وب سایت پس از اعمال محدودیت رد می شود، به دنبال محدودیت برنامه ای که باید اضافه کنید در پیام خطای پاسخ API بگردید.

SDKها و APIهای سمت کلاینت

برنامه های مبتنی بر مرورگر و مشاهده وب

مرورگرهای مدرن معمولاً هدر Referer را در درخواست متقاطع به دلایل حفظ حریم خصوصی ویرایش می‌کنند، و اغلب آن را به Origin حذف می‌کنند. با این حال، رفتار دقیق به referrer-policy اعمال شده سایت میزبان بستگی دارد و همچنین ممکن است بر اساس مرورگر کاربر و نسخه متفاوت باشد.

برنامه‌های کاربردی وب که از طرح‌های URI غیرشفاف یا محلی برای بارگیری محتوا استفاده می‌کنند، معمولاً مرورگر رندر یا نمای وب را به طور کامل هدر Referer را از تماس‌های خروجی حذف می‌کنند، که ممکن است باعث شکست درخواست‌ها با استفاده از کلیدهای API با محدودیت‌های وب‌سایت شود.

برای راهنمایی بیشتر، به میزبانی برنامه های مبتنی بر مرورگر خود در سرور مراجعه کنید.

دستورالعمل های عیب یابی برای برنامه های مبتنی بر مرورگر و مشاهده وب:

  • برای Maps JavaScript API، برای جزئیات بیشتر در مورد نحوه مجوز برنامه خود، به کنسول اشکال زدایی مرورگر مراجعه کنید.

    طرح های URI عجیب و غریب تا حدی پشتیبانی می شوند. اگر بخش‌هایی از برنامه شما با یک طرح URI عجیب و غریب کار نمی‌کند، حتی پس از تأیید ارجاع‌دهنده مورد نیاز، احتمالاً باید برنامه خود را از راه دور روی سرور میزبانی کنید و آن را از طریق HTTPS (یا HTTP) بارگیری کنید.

    اگر در مورد طرح‌های URI عجیب و غریب به کمک نیاز دارید، با پشتیبانی تماس بگیرید .

  • سایر APIهای پلتفرم Maps معمولاً ارجاعی را که باید در پاسخ خطای API تأیید کنید، برمی‌گردانند، با این فرض که مشتری این اطلاعات را با درخواست رد شده ارسال کرده است.

    طرح های URI عجیب و غریب پشتیبانی نمی شوند.

برنامه های اندروید

از Android Debug Bridge (adb) یا Logcat استفاده کنید

برنامه های iOS

مشاهده پیام های گزارش را ببینید

برنامه‌هایی که مستقیماً با خدمات وب تماس می‌گیرند

برای برنامه‌هایی که Maps Platform HTTPS REST API یا نقاط پایانی gRPC را مستقیماً بدون Google Maps Platform SDK سمت کلاینت فراخوانی می‌کنند، به زیر مراجعه کنید:

برنامه های اندروید و iOS

اگر برنامه Android یا iOS شما مستقیماً بدون استفاده از SDK مشتری پلتفرم Google Maps با سرویس‌های پلتفرم Maps تماس می‌گیرد، برای نکات عیب‌یابی بیشتر به برنامه‌های Android و برنامه‌های iOS و برای بهترین شیوه‌های امنیتی فعلی برای موارد استفاده از تلفن همراه، تماس‌های سرویس وب سمت سرویس گیرنده امن را ببینید.

اگر برنامه شما پاسخ‌های خطای Maps Platform API را ثبت کند، دستورالعمل‌های بالا برای SDK‌های سمت سرویس گیرنده نیز ممکن است برای عیب‌یابی مشکلات احراز هویت مفید باشد.

برنامه های سمت سرور

برنامه های سمت سرور متکی به کلیدهای API به بهترین وجه از طریق محدودیت های آدرس IP ایمن می شوند. اگر محدودیت‌های آدرس IP را برای کلید خود اعمال کرده‌اید، و سرویس شما پاسخ‌های خطای Maps Platform API را گزارش می‌کند، گزارش‌های سیستم خود را برای اطلاعات بیشتر بررسی کنید. پاسخ خطا شامل آدرس IP سروری است که باید مجوز دهید.

برنامه های مبتنی بر مرورگر یا مشاهده وب

در حالی که Maps Static API، APIهای جدیدتر Google Maps Platform Static API از محدودیت‌های ارجاع‌دهنده پشتیبانی می‌کنند، توجه داشته باشید که مرورگرهای وب یا وب‌نماها احتمالاً هدر Referer را برای درخواست‌های متقاطع به Origin محدود می‌کنند و احتمالاً ارسال آن را به‌طور کلی حذف می‌کنند، مثلاً برای منابعی که به صورت محلی به آنها دسترسی دارند، یا برای منابعی که به غیر از پروتکل HTTP یا HTTPS ارائه می‌شوند.

اگر نمی‌توانید از Maps JavaScript API در برنامه‌تان استفاده کنید، و محدودیت‌های وب‌سایت کار نمی‌کنند، برای نحوه برقراری تماس‌های سرویس وب پلتفرم Maps به صورت ایمن از داخل برنامه سمت سرویس گیرنده مبتنی بر مرورگر، به تماس‌های سرویس وب سمت سرویس گیرنده امن مراجعه کنید.

نکاتی برای بررسی محدودیت های API

برای بررسی محدودیت‌های API مورد نیاز خود، به تعیین APIهایی که از کلید API شما استفاده می‌کنند مراجعه کنید.

اگر نمی توانید تعیین کنید که کدام محدودیت اعمال شود:

  1. محدودیت های فعلی را برای مراجعات بعدی مستند کنید.
  2. در حین بررسی موضوع، آنها را به طور موقت حذف کنید. می‌توانید با استفاده از مراحل بررسی استفاده از کلید API خود را در طول زمان بررسی کنید.
  3. در صورت نیاز با پشتیبانی تماس بگیرید .

کلیدهای API استفاده نشده را حذف کنید

قبل از اینکه یک کلید API را حذف کنید، مطمئن شوید که در تولید استفاده نمی شود. اگر ترافیک موفقیت آمیزی وجود نداشته باشد، احتمالاً کلید حذف می شود. برای اطلاعات بیشتر، بررسی استفاده از کلید API خود را ببینید.

برای حذف یک کلید API:

  1. صفحه اعتبارنامه پلتفرم Google Maps کنسول Google Cloud را باز کنید.

  2. کلید API را که می خواهید حذف کنید انتخاب کنید.

  3. دکمه Delete را نزدیک بالای صفحه انتخاب کنید.

  4. در صفحه حذف اعتبارنامه ، حذف را انتخاب کنید.

    انتشار یک کلید API چند دقیقه طول می کشد. پس از تکمیل انتشار، هرگونه ترافیک با استفاده از کلید API حذف شده رد می شود.

هنگام چرخاندن کلیدهای API مراقب باشید

چرخاندن یک کلید API یک کلید جدید ایجاد می کند که تمام محدودیت های کلید قدیمی را دارد. در این پنجره زمانی، هم کلید قدیمی و هم کلید جدید پذیرفته می‌شوند و به شما فرصتی می‌دهد تا برنامه‌های خود را برای استفاده از کلید جدید انتقال دهید.

قبل از چرخاندن یک کلید API :

  • ابتدا سعی کنید کلیدهای API خود را همانطور که در Restrict your API keys توضیح داده شده محدود کنید.

  • اگر محدود کردن کلید API شما به دلیل متناقض انواع محدودیت برنامه امکان پذیر نیست، همانطور که در انتقال به چندین کلید API توضیح داده شده است، به چندین کلید جدید (محدود شده) مهاجرت کنید. مهاجرت به شما امکان می دهد انتقال را کنترل کنید و جدول زمانی را به کلیدهای API جدید ارائه دهید.

اگر پیشنهادات قبلی ممکن نیست ، و باید کلید API خود را بچرخانید تا از استفاده غیرمجاز جلوگیری کنید، سپس این مراحل را دنبال کنید:

  1. صفحه اعتبارنامه پلتفرم Google Maps کنسول Google Cloud را باز کنید.

  2. کلید API را که می خواهید بچرخانید باز کنید.

  3. در بالای صفحه، کلید چرخش را انتخاب کنید.

  4. در صورت تمایل، نام کلید API را تغییر دهید.

  5. ایجاد را انتخاب کنید.

  6. برنامه های خود را برای استفاده از کلید جدید به روز کنید.

پس از اینکه برنامه‌های خود را برای استفاده از کلید جدید به‌روزرسانی کردید، با کلیک بر روی دکمه حذف کلید قبلی در بخش Previous Key صفحه کلید API جدید، کلید قدیمی را حذف کنید.

به چندین کلید API مهاجرت کنید

برای انتقال از استفاده از یک کلید API برای چندین برنامه به یک کلید API منحصر به فرد برای هر برنامه، موارد زیر را انجام دهید:

  1. مشخص کنید کدام برنامه ها به کلیدهای جدید نیاز دارند :

    • برنامه های وب ساده ترین به روز رسانی هستند، زیرا شما همه کدها را کنترل می کنید. برنامه ریزی کنید که همه کلیدهای برنامه های مبتنی بر وب خود را به روز کنید.
    • برنامه های تلفن همراه بسیار سخت تر هستند، زیرا مشتریان شما باید قبل از استفاده از کلیدهای جدید، برنامه های خود را به روز کنند.
  2. ایجاد و محدود کردن کلیدهای جدید : هم یک محدودیت برنامه و هم حداقل یک محدودیت API اضافه کنید. برای اطلاعات بیشتر، بهترین شیوه های توصیه شده را ببینید.

  3. کلیدهای جدید را به برنامه‌های خود اضافه کنید : برای برنامه‌های تلفن همراه، این فرآیند ممکن است ماه‌ها طول بکشد تا همه کاربران شما با کلید API جدید به آخرین برنامه به‌روزرسانی شوند.

استفاده از سمت سرویس گیرنده و سمت سرور را به پروژه های جداگانه تقسیم کنید

اگر نیاز دارید با سرویس‌های پلتفرم Google Maps هم از برنامه‌های سمت سرور و هم مستقیماً از برنامه‌های سمت سرویس گیرنده که دستگاه‌های کاربر نهایی را اجرا می‌کنند تماس بگیرید، Google توصیه می‌کند استفاده خود را بین دو پروژه جداگانه تقسیم کنید.

این رویکرد به شما این امکان را می‌دهد که محدودیت‌های مناسب در دقیقه و سهمیه هر کاربر را در اکثر سرویس‌های پلتفرم Google Maps در پروژه سمت مشتری خود اعمال کنید، و به شما کمک می‌کند تا مطمئن شوید که همه کاربران نهایی بدون تأثیر بر یکدیگر، سهم خود را از سهمیه کلی پروژه شما دریافت می‌کنند.

با این حال، از آنجایی که محدودیت‌های سهمیه هر کاربر بر برنامه‌های سمت کلاینت و سمت سرور تأثیر می‌گذارد، اگر به پهنای باند بالایی برای کارهای سمت سرور خود نیز نیاز دارید، یک پروژه جداگانه برای این مورد استفاده کنید که با محدودیت سهمیه هر کاربر بالاتر یا اصلاً محدودیتی پیکربندی شده است.

غیرفعال کردن خدمات استفاده نشده

سرویس‌های بلااستفاده را در پروژه‌ای فعال نگذارید، زیرا این روش در معرض سوء استفاده قرار می‌گیرد، به خصوص اگر تمام کلیدهای API عمومی خود را محدود نکرده باشید. به عنوان بهترین روش، فقط زمانی یک سرویس را در یک پروژه فعال کنید که توسط برنامه های شما مورد نیاز باشد.

افزودن محدودیت‌های API بر روی یک کلید، از استفاده از آن در سرویس‌هایی که برای آن‌ها مجاز نبوده است، جلوگیری می‌کند، اما محدودیت‌های API فقط برای آن کلید خاص اعمال می‌شود. یک سرویس را در سطح پروژه غیرفعال کنید تا از استفاده غیرمجاز از سرویس در هر کلید مرتبط با پروژه جلوگیری شود.

از SDK های سمت سرویس گیرنده استفاده کنید

هنگام استفاده از کیت‌های توسعه نرم‌افزاری ارائه شده در سمت سرویس گیرنده Google Maps Platform، همیشه می‌توانید محدودیت‌های مناسبی را برای کلید API خود اعمال کنید تا استفاده از سرویس خود را ایمن کنید.

استفاده از SDK های سمت سرویس گیرنده همچنین به شما امکان می دهد مکانیسم امنیتی پیشرفته تری مانند بررسی برنامه Firebase در سطوح API پلتفرم Maps که از آن پشتیبانی می کنند، اتخاذ کنید. برای اطلاعات بیشتر به استفاده از بررسی برنامه برای ایمن کردن کلید API خود مراجعه کنید.

اگر SDK های سمت سرویس گیرنده برای پلتفرم شما در دسترس نیستند، به ایمن کردن تماس های سرویس وب سمت سرویس گیرنده مراجعه کنید.

برای در دسترس بودن SDK های پلت فرم Google Maps سمت سرویس گیرنده برای پلتفرم های مختلف، به محدودیت های برنامه و API توصیه شده مراجعه کنید.

از استفاده Static Web API محافظت کنید

APIهای وب استاتیک، مانند Maps Static API و Street View Static API، مشابه تماس‌های API سرویس وب هستند.

شما هر دو را با استفاده از HTTPS REST API فراخوانی می‌کنید و معمولاً URL درخواست API را روی سرور ایجاد می‌کنید. با این حال، به جای بازگرداندن پاسخ JSON، APIهای وب استاتیک تصویری را تولید می‌کنند که می‌توانید آن را در کد HTML تولید شده جاسازی کنید. مهمتر از آن، این سرویس گیرنده کاربر نهایی است که سرویس پلتفرم نقشه های گوگل را فرا می خواند نه سرور.

از امضای دیجیتال استفاده کنید

به عنوان بهترین روش، همیشه علاوه بر کلید API از امضای دیجیتال استفاده کنید. همچنین، تعداد درخواست‌های بدون امضا را که می‌خواهید در روز مجاز کنید بررسی کنید و سهمیه درخواست‌های امضا نشده خود را بر این اساس تنظیم کنید .

برای جزئیات بیشتر در مورد امضای دیجیتال، راهنمای امضای دیجیتال را ببینید.

از راز امضای خود محافظت کنید

برای محافظت از APIهای وب استاتیک، اسرار امضای API خود را مستقیماً در کد یا درخت منبع قرار ندهید، یا آنها را در برنامه های سمت سرویس گیرنده افشا نکنید. این بهترین شیوه ها را برای محافظت از اسرار امضای خود دنبال کنید:

  • نشانی‌های اینترنتی درخواست Maps Static API و Street View Static API را در سمت سرور هنگام ارائه یک صفحه وب یا در پاسخ به درخواست برنامه تلفن همراه خود ایجاد کنید .

    برای محتوای وب ثابت، می‌توانید از ویجت Sign a URL now در صفحه اعتبارنامه پلتفرم Google Maps کنسول Cloud استفاده کنید.

    برای محتوای وب پویا، نمونه کد امضای درخواست URL موجود را ببینید.

  • اسرار امضا را خارج از کد منبع و درخت منبع برنامه خود ذخیره کنید . اگر اسرار امضای خود یا هر اطلاعات خصوصی دیگری را در متغیرهای محیط قرار دهید یا فایل‌هایی را که جداگانه ذخیره می‌شوند و سپس کد خود را به اشتراک بگذارید، در فایل‌های مشترک گنجانده نمی‌شود. اگر اسرار امضا یا هر اطلاعات خصوصی دیگری را در فایل‌ها ذخیره می‌کنید، فایل‌ها را خارج از درخت منبع برنامه خود نگه دارید تا اسرار امضای خود را از سیستم کنترل کد منبع خود دور نگه دارید. اگر از سیستم مدیریت کد منبع عمومی مانند GitHub استفاده می کنید، این احتیاط به ویژه مهم است.

از کلیدهای API سرویس وب محافظت کنید

برای استفاده ایمن از APIها و سرویس‌های Google Maps Platform از برنامه‌های سمت سرویس گیرنده، به استفاده از SDK‌های سمت سرویس گیرنده و تماس‌های امن سرویس وب سمت سرویس گیرنده مراجعه کنید.

کلیدهای API را خارج از کد منبع یا درخت منبع برنامه خود ذخیره کنید . اگر کلیدهای API یا هر اطلاعات دیگری را در متغیرهای محیطی قرار دهید یا فایل‌هایی را که جداگانه ذخیره می‌شوند و سپس کد خود را به اشتراک بگذارید، در فایل‌های به اشتراک‌گذاشته‌شده گنجانده نمی‌شوند. اگر از سیستم مدیریت کد منبع عمومی مانند GitHub استفاده می کنید، این امر به ویژه مهم است.

برای کمک به محافظت از کلید API سرویس وب خود در برابر استفاده تصادفی، Google توصیه می‌کند برای هر کلیدی که برای پلتفرم Maps استفاده می‌شود، محدودیت‌های API اعمال کنید. علاوه بر این، همچنین اعمال محدودیت‌های آدرس IP برای کلید سرویس وب شما، از آن در برابر کمک به محافظت از آن در برابر استفاده غیرمجاز از سایر آدرس‌های IP منبع محافظت می‌کند، حتی اگر کلید به طور تصادفی نشت کند.

از OAuth برای برنامه های سمت سرور استفاده کنید

OAuth 2.0 یک استاندارد باز برای تفویض اختیار است.

در حالی که پروتکل OAUTH 2.0 از موارد استفاده پشتیبانی می کند ، در حالی که یک کاربر نهایی اجازه دسترسی به داده های شخصی را از طرف آنها مجاز می کند ، مورد استفاده در نظر گرفته شده برای OAUTH 2.0 با MAPS Platform برای توسعه دهنده است که از توکن های دسترسی موقت برای اجازه درخواست خود برای تماس با API از حساب کاربری Google Project خود با مجوزهای حساب کاربری خدمات استفاده کند.

از آنجا که یک حساب خدمات ممکن است مجوزهای بسیار گسترده ای داشته باشد ، OAUTH 2.0 برای مجوز تماس های سرور به سرور بین برنامه های سرور قابل اعتماد یک توسعه دهنده و سرورهای پلت فرم نقشه های Google توصیه می شود.

برای برنامه های سمت مشتری که در دستگاه های کاربر نهایی کار می کنند ، سایر روش های احراز هویت مانند کلیدهای API توصیه می شود.

اگر می خواهید از OAUTH 2.0 برای مجوز ترافیک سرور به سرور استفاده کنید ، به دنبال موضوع OAUTH در مستندات API خود باشید.

به عنوان مثال ، در اینجا موضوع OAUTH برای API اعتبارسنجی آدرس است.

تماس های سرویس وب طرف مشتری را ایمن کنید

اگر SDK های سمت مشتری در دسترس نیستند ، به توصیه های زیر مراجعه کنید.

از سرور پروکسی استفاده کنید

استفاده از یک سرور پراکسی ایمن منبع کاملی برای تعامل با یک سرویس وب سایت وب سایت Google Maps از یک برنامه سمت مشتری بدون افشای کلید API ، امضای حساب Secret یا Google Cloud Service برای کاربران غیرمجاز فراهم می کند.

نکات کلیدی:

  • درخواست های پلتفرم Google Maps خود را بر روی سرور پروکسی بسازید. به مشتریان اجازه ندهید تماس های API دلخواه را با استفاده از پروکسی رله کنند.

  • پس از پردازش پاسخ های پلت فرم Google Maps در سرور پروکسی شما. داده هایی را که مشتری به آن احتیاج ندارد فیلتر کنید.

برای کسب اطلاعات بیشتر در مورد استفاده از سرور پروکسی ، به Living Vicarious به طور کلی مراجعه کنید: استفاده از سرورهای پروکسی با کتابخانه های مشتری Google Data API .

تماس مستقیم سرویس وب تلفن همراه مستقیم

اگر قادر به تنظیم یک سرور پراکسی ایمن برای برنامه سمت مشتری خود نیستید ، با استفاده از مراحل زیر برنامه خود را ایمن کنید:

  1. از هدرهای HTTP استفاده کنید:

    • Android : از هدرهای HTTP X-Android-Package و X-Android-Cert استفاده کنید.

    • iOS : از هدر HTTP X-Ios-Bundle-Identifier استفاده کنید.

  2. محدودیت های برنامه مربوطه را به کلید Android یا iOS خود اضافه کنید.

  3. قبل از اینکه تماس تلفنی را مستقیماً از برنامه تلفن همراه خود به یک سرویس وب وب Google Maps REST API در نظر بگیرید ، تأیید کنید که درخواست ها با شناسه های نادرست Android یا IOS رد می شوند.

    اگر محدودیت های کاربردی Android و iOS در نقطه پایانی آزمایش شده پشتیبانی نشود ، Google به شدت توصیه می کند که از یک سرور پروکسی ایمن بین مشتریان تلفن همراه خود و نقطه پایانی سرویس وب سایت Google Maps استفاده کنید.

نکاتی برای برنامه های Android:

  • قبل از ادغام برنامه Android خود با Google Maps Platform Services ، تأیید کنید که شناسه برنامه (همچنین نام بسته نیز نامیده می شود) به درستی فرمت شده است. برای جزئیات بیشتر ، به ماژول برنامه پیکربندی مراجعه کنید. در مستندات اندرویدی.

  • برای عبور X-Android-Package مستقیماً از برنامه خود ، آن را به صورت برنامه ای با استفاده از Context.getPackageName() جستجو کنید.

  • برای عبور X-Android-Cert به طور مستقیم از برنامه های خود ، اثر انگشت مورد نیاز SHA-1 را از گواهینامه های امضای برنامه خود محاسبه کنید ، از طریق PackageInfo.signingInfo قابل دسترسی است.

  • اگر برنامه Android خود را با استفاده از کنسول Google Cloud مجاز می دانید ، توجه داشته باشید که 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 Services ، تأیید کنید که شناسه بسته نرم افزاری شما به درستی فرمت شده است.

  • شما به طور معمول باید هنگام مجوز برنامه iOS خود ، شناسه بسته نرم افزاری اصلی خود را در هدر X-Ios-Bundle-Identifier منتقل کنید.

برای اطلاعات بیشتر ، به مقالات مدیریت کلیدهای API مراجعه کرده و از کلیدهای API برای دسترسی به API استفاده کنید .

برنامه های مبتنی بر مرورگر خود را بر روی یک سرور میزبانی کنید

چارچوب ها ، مانند Apache Cordova ، به شما امکان می دهد برنامه های ترکیبی چند پلتفرمی را به راحتی ایجاد کنید که در داخل یک وب سایت کار می کنند. با این حال ، محدودیت های وب سایت کلید API تضمین نمی شود که به درستی کار کند ، مگر اینکه برنامه وب شما با استفاده از HTTP یا HTTPS از وب سایتی که شما کنترل می کنید و مجاز به آن است ، بارگیری شود.

منابع بسته بندی شده ، بارگذاری شده به صورت محلی از درون یک برنامه ترکیبی ، یا دسترسی به URL پرونده محلی در بسیاری از موارد از کار مجوز مبتنی بر مراجعه کننده جلوگیری می کند زیرا موتور مرورگر که از طریق وب سایت شما نیرو می گیرد ، از ارسال هدر Referer حذف می شود. برای جلوگیری از این امر ، میزبان برنامه های وب خود در سمت سرور است ، نه طرف مشتری.

از طرف دیگر ، برای برنامه های تلفن همراه ، به جای استفاده از SDK مبتنی بر وب ، از Android و iOS SDK های موجود در سیستم های Google Maps موجود استفاده کنید.

برای ایمن کردن کلید API خود از برنامه چک استفاده کنید

برخی از نقشه های SDK و API به شما امکان می دهند تا با بررسی برنامه Firebase ادغام شوید. برنامه بررسی ، با مسدود کردن ترافیکی که از منابع دیگری غیر از برنامه های قانونی حاصل می شود ، از تماس های برنامه شما به پلت فرم Google Maps محافظت می کند. این کار را با بررسی یک نشانه از ارائه دهنده تأیید انجام می دهد. ادغام برنامه های خود با برنامه بررسی برنامه به محافظت در برابر درخواست های مخرب کمک می کند ، بنابراین شما برای تماس های API غیرمجاز هزینه نمی کنید.

دستورالعمل های ادغام برنامه:

استفاده غیرمجاز از یک کلید API را کنترل کنید

اگر استفاده از کلید API خود را که غیرمجاز است ، تشخیص دهید ، موارد زیر را برای حل مشکل انجام دهید:

  1. کلیدهای خود را محدود کنید : اگر در چندین برنامه از همان کلید استفاده کرده اید ، به چندین کلید API مهاجرت کنید و از کلیدهای API جداگانه برای هر برنامه استفاده کنید. برای جزئیات بیشتر، نگاه کنید به:

  2. اگر از مکان های SDK یا Maps JavaScript API استفاده می کنید ، می توانید از برنامه Check برای ایمن کردن کلید API خود نیز استفاده کنید .

  3. اگر موارد زیر صحیح است فقط کلیدها را جایگزین یا بچرخانید:

    • شما استفاده غیرمجاز را روی کلیدهایی که یا نمی توانند محدود شوند یا از قبل محدود شده اند ، تشخیص می دهید و بررسی برنامه کاربردی نیست.

    • شما می خواهید سریعتر حرکت کنید تا کلید API خود را تأمین کرده و سوء استفاده را متوقف کنید ، حتی اگر این امر بر ترافیک قانونی از درخواست شما تأثیر بگذارد.

    قبل از ادامه کار ، هنگام چرخاندن کلیدهای API مراقب باشید .

  4. اگر هنوز مشکل دارید یا به کمک نیاز دارید ، با پشتیبانی تماس بگیرید .

محدودیت های کاربردی و API توصیه شده

بخش های زیر محدودیت های برنامه و API مناسب را برای هر سیستم API ، SDK یا سرویس پلت فرم Google Maps ارائه می دهد.

محدودیت های API توصیه شده

دستورالعمل های زیر برای محدودیت های API برای کلیه خدمات پلت فرم Google Maps اعمال می شود:

  • کلید API خود را فقط به API هایی که از آن استفاده می کنید محدود کنید ، با استثنائات زیر:

    • اگر برنامه شما از مکان های SDK برای Android یا مکان های SDK برای iOS استفاده می کند ، بسته به نسخه SDK که استفاده می کنید ، API (جدید) یا API را در مکان قرار می دهد. 1

    • اگر برنامه شما از نقشه های JavaScript API استفاده می کند ، همیشه آن را در کلید خود مجاز کنید.

    • اگر از هر یک از نقشه های زیر از خدمات API JavaScript استفاده می کنید ، باید این API های مربوطه را نیز مجاز کنید:

      خدمات محدودیت API
      سرویس مسیرها (میراث) مسیرها API (میراث)
      سرویس ماتریس از راه دور (میراث) API ماتریس فاصله (میراث)
      سرویس ارتفاع Elevation API
      خدمات جغرافیایی API کدگذاری جغرافیایی
      کلاس را قرار دهید ، ویجت خودکار (جدید) را قرار دهید و API داده های خودکار را قرار دهید مکان های API (جدید) 2
      مکان های کتابخانه ، مکان ها خدمات و مکان ویجت خودکار را قرار دهید API 2 را مکان می کند

1 برای اطلاعات بیشتر ، به مکان های SDK برای Android مراجعه کنید و SDK را برای مستندات iOS قرار دهید .

2 اگر مطمئن نیستید که نیاز به مجاز به مکان های API (جدید) یا API دارید ، به اسناد API Maps JavaScript مراجعه کنید.

چند نمونه:

  • شما از نقشه SDK برای Android استفاده می کنید و SDK را برای Android قرار می دهید ، بنابراین نقشه SDK را برای Android و API (جدید) به عنوان محدودیت API درج می کنید.

  • وب سایت شما از MAPS JavaScript API Elevation Service و API Static Maps استفاده می کند ، بنابراین محدودیت های API را برای همه API های زیر اضافه می کنید:

    • Maps JavaScript API
    • Elevation API
    • Maps Static API

محدودیت برنامه توصیه شده

وب سایت ها

برای وب سایت هایی که از MAPS Services API JavaScript ، نقشه های استاتیک API یا Street View Static API یا تماس با خدمات اخیر Google Maps Platform به طور مستقیم از طریق HTTPS REST API یا GRPC استفاده می کنند ، از محدودیت برنامه وب سایت ها استفاده کنید:

1 برای برنامه های کاربردی تلفن همراه ، استفاده از نقشه های بومی SDK را برای Android و نقشه SDK برای iOS در نظر بگیرید.

2 برای برنامه های کاربردی تلفن همراه ، استفاده از مکان های بومی SDK را برای Android و SDK را برای iOS در نظر بگیرید.

3 همچنین به استفاده از استاتیک وب استفاده کنید .

وب سایت هایی با نقشه های تعبیه شده API

در حالی که استفاده از API نقشه های تعبیه شده هیچ هزینه ای ندارد ، شما هنوز هم باید کلید API استفاده شده را برای جلوگیری از سوءاستفاده از سایر خدمات محدود کنید.

بهترین تمرین : یک کلید API جداگانه برای نقشه های API تعبیه شده ایجاد کنید و این کلید را فقط در نقشه های تعبیه شده API محدود کنید. این محدودیت به اندازه کافی کلید را تضمین می کند و از استفاده غیرمجاز آن در هر سرویس Google دیگر جلوگیری می کند. Google برای کنترل کامل در مورد مکان API API MAPS که می توان از آن استفاده کرد ، توصیه می کند که از محدودیت های کاربردی وب سایت ها استفاده کند.

اگر قادر به جدا کردن استفاده از API نقشه های خود در یک کلید API جداگانه نیستید ، با استفاده از محدودیت برنامه وب سایت ، کلید موجود خود را ایمن کنید.

برنامه ها و سرورها با استفاده از خدمات وب

برای سرورها و برنامه های سمت مشتری از شبکه های داخلی معتبر شرکت با استفاده از خدمات وب به همراه کلیدهای API ، از محدودیت برنامه IP addresses استفاده کنید.

برای برنامه ها و سرورها با استفاده از این API ها استفاده کنید:

4 برای برنامه های کاربردی تلفن همراه ، استفاده از SDK ناوبری را در نظر بگیرید.

5 برای استفاده ایمن موبایل ، از یک سرور پراکسی ایمن استفاده کنید.

6 برای برنامه های سمت مشتری ، استفاده از سرویس جغرافیایی بومی ارائه شده توسط این سیستم عامل را در نظر بگیرید. به عنوان مثال ، جغرافیایی W3C برای مرورگرهای وب ، SocationManager یا API ارائه دهنده موقعیت مکانی ذوب شده برای Android یا چارچوب Apple Core Location برای iOS.

7 برای برنامه های تلفن همراه ، استفاده از مکان های بومی SDK را برای Android و SDK را برای iOS در نظر بگیرید.

8 برای استفاده ایمن از طرف مشتری ، از یک سرور پراکسی ایمن استفاده کنید.

برنامه های اندروید

برای برنامه های موجود در Android ، از محدودیت برنامه Android apps استفاده کنید. برای برنامه ها با استفاده از این SDK ها استفاده کنید:

علاوه بر این ، با استفاده از افزونه Secrets Gradle ، به طور تصادفی از بررسی کلیدهای API در کنترل نسخه جلوگیری کنید تا اسرار از یک فایل محلی را وارد کنید و نه ذخیره آنها در مانیفست Android.

برنامه های iOS

برای برنامه های موجود در iOS ، از محدودیت برنامه iOS apps استفاده کنید. برای برنامه ها و سرورها با استفاده از این SDK ها استفاده کنید:

در ادامه مطلب