مفاتيح واجهة برمجة التطبيقات مطلوبة للتطبيقات والمشاريع التي تستخدم واجهات برمجة التطبيقات وحُزم تطوير البرامج (SDK) في "منصة خرائط Google". لتوفير أكبر قدر من الأمان بأقل جهد ممكن، يمكنك تأمين مفاتيح واجهة برمجة التطبيقات عند إنشائها.
يمكن تأمين مفاتيح واجهة برمجة التطبيقات بعد إنشائها واستخدامها، إلا أنّه قد تكون هناك قيود مختلفة تستند إلى كيفية استخدام المفتاح. يُعدّ تعديل المفاتيح أو استبدالها في التطبيقات المتوافقة مع الأجهزة الجوّالة (Android وiOS) أكثر تعقيدًا لأنّه لن يتم استبدال جميع المفاتيح إلى أن يحدّث جميع العملاء تطبيقاتهم. من الأسهل مباشرةً تحديث المفاتيح أو استبدالها في تطبيقات JavaScript أو خدمة الويب، ولكن قد يتطلّب تحديث هذه المفاتيح أو استبدالها تخطيطًا دقيقًا وسريعًا للعمل.
يتم إدراج ممارسات الأمان التي تنطبق على منتج "منصة خرائط Google" الفردي، مثل Maps API API، في قسم مزيد من المعلومات.
حصر مفاتيح واجهة برمجة التطبيقات
عند إنشاء مفاتيح واجهة برمجة التطبيقات لأول مرة، يمكنك حصرها بقيود على التطبيق وقيود واحدة أو أكثر لواجهة برمجة التطبيقات.
تفرض قيود التطبيق قيودًا على استخدام مفتاح واجهة برمجة التطبيقات على نظام أساسي محدد (Android أو iOS) أو على مواقع محددة (عنوان IP علني وموقع ويب). يمكن إضافة نوع واحد فقط من قيود التطبيق إلى أي مفتاح لواجهة برمجة تطبيقات فردي.
تُقيِّد قيود واجهة برمجة التطبيقات استخدام مفاتيح واجهة برمجة التطبيقات بحزمة واحدة أو أكثر من واجهات برمجة التطبيقات أو حِزم تطوير البرامج (SDK) في "منصة خرائط Google". لن تتم معالجة سوى طلبات استخدام واجهات برمجة التطبيقات أو حِزم تطوير البرامج (SDK) المرتبطة بمفتاح واجهة برمجة تطبيقات. بالنسبة إلى أي مفتاح لواجهة برمجة تطبيقات، يمكنك تحديد أي عدد من قيود واجهة برمجة التطبيقات حسب الحاجة.
إذا لم تكن تحمي مفتاح واجهة برمجة التطبيقات عند إنشائه، عليك إنشاء مفاتيح واجهة برمجة تطبيقات إضافية وحظرها، ثم تعديل جميع تطبيقاتك باستخدام مفاتيح واجهة برمجة التطبيقات الجديدة. على الرغم من أن مفتاح واحد لكل تطبيق سيكون مثاليًا لأغراض الأمان، يمكنك استخدام مفاتيح مشروطة على تطبيقات متعددة طالما أن أنواع قيود التطبيقات على المفتاح لن تتسبب في مشاكل عدم التوافق مع التطبيقات التي تشارك المفتاح.
في حال حظر مفاتيح واجهة برمجة التطبيقات بعد إنشائها، يُرجى التحقّق من استخدام مفتاح واجهة برمجة التطبيقات للتأكّد من أن القيود لن تؤدي إلى إيقاف أي من تطبيقاتك الحالية.
انتقِل إلى صفحة المقاييس في Google Cloud Console.
اختَر عرض الفلاتر.
من تجميع حسب، اختَر بيانات الاعتماد. سترى مفاتيح واجهة برمجة التطبيقات التي يتم استخدامها مع خدمات Google.
انقر على بيانات الاعتماد.
ألغِ اختيار جميع بيانات الاعتماد.
بالنسبة إلى كل مفتاح يتم عرضه، اختَر المفتاح وانقر على حسنًا.
من تجميع حسب، اختَر واجهة برمجة التطبيقات. سترى قيود واجهة برمجة التطبيقات التي سيتم تطبيقها على المفتاح.
قد يمنحك اختيار طريقة واجهة برمجة التطبيقات من مجموعة حسب أدلة حول نوع قيود التطبيق الأكثر ملاءمةً لمفتاح.
ضبط قيود على التطبيق لمفتاح واجهة برمجة التطبيقات
- انتقِل إلى صفحة "بيانات الاعتماد".
اختَر مفتاح واجهة برمجة التطبيقات الذي تريد فرض قيود عليه. ستظهر لك صفحة الموقع الإلكتروني لمفتاح واجهة برمجة التطبيقات.
ضمن القيود الرئيسية، اختَر قيود التطبيق.
اختَر أحد أنواع القيود وقدِّم المعلومات المطلوبة بعد قائمة القيود.
نوع التقييد الوصف مُحيلو HTTP حدِّد موقعًا إلكترونيًا واحدًا أو أكثر للمُحيل. وأحرف البدل المسموح بها لتفويض جميع النطاقات الفرعية (على سبيل المثال، تقبل *.google.com
جميع المواقع التي تنتهي بـ.google.com
). حدّدhttps://
وhttp://
كما هي. يجب استخدام تمثيل خاص للأنواع الأخرى من بروتوكولات عناوين URL المُحيل. على سبيل المثال، يمكنك كتابةfile:///path/to/
بالتنسيق__file_url__//path/to/*
. بعد تفعيل المُحيلين، احرص على مراقبة استخدامك، لضمان توافقه مع توقعاتك. بروتوكولات المُحيل التالية متوافقة:about://, app://, applewebdata://, asset://, chrome://, content://, file://, ftp://, ionic://, local://, ms-appx://, ms-appx-web://, ms-local-stream://, prism://, qrc://, res://, saphtmlp://
.عناوين IP حدِّد عنوان IPv4 أو IPv6 واحدًا أو شبكة فرعية باستخدام تدوين CIDR. بما أنّ طلب خدمة الويب يتحقّق من عنوان IP الخارجي ويقارنه بمفتاح واجهة برمجة التطبيقات، يُرجى استخدام عنوان IP العلني للخادم. التطبيقات المتوافقة مع Android أضِف الملف المرجعي لشهادة توقيع SHA-1 واسم حزمة Android من ملف AndroidManifest.xml
.تطبيقات iOS تحت الأنواع، اختَر معرّف حزمة iOS المناسب من القائمة. اختَر حفظ.
ضبط قيود لواجهة برمجة التطبيقات على مفتاح واجهة برمجة تطبيقات
انتقِل إلى صفحة بيانات الاعتماد.
اختَر مفتاح واجهة برمجة التطبيقات الذي تريد تقييده. ستظهر صفحة تقييد مفتاح واجهة برمجة التطبيقات وإعادة تسميته.
ضِمن قيود واجهة برمجة التطبيقات:
انقر على تقييد المفتاح.
انقر على القائمة المنسدلة اختيار واجهات برمجة التطبيقات واختَر واجهات برمجة التطبيقات أو حِزم تطوير البرامج (SDK) التي تريد أن يصل إليها تطبيقك باستخدام مفتاح واجهة برمجة التطبيقات.
(إذا لم تكن واجهة برمجة التطبيقات أو حزمة تطوير البرامج (SDK) مُدرَجة، عليك تفعيلها.)
انقر على حفظ.
تصبح هذه القيود جزءًا من تعريف مفتاح واجهة برمجة التطبيقات بعد هذه الخطوة. إذا لم تقدم التفاصيل المناسبة أو لم تنقر على "حفظ"، لن يتم حظر مفتاح واجهة برمجة التطبيقات. (لمزيد من المعلومات، يُرجى الاطّلاع على دليل الحصول على مفتاح واجهة برمجة التطبيقات لواجهة برمجة التطبيقات أو حزمة تطوير البرامج (SDK) المحدّدة التي تهمّك.)
حذف مفاتيح واجهة برمجة التطبيقات غير المستخدمة
قبل حذف مفتاح واجهة برمجة التطبيقات، تأكَّد من أنه غير مُستخدَم في مرحلة الإنتاج. إذا لم تكن هناك زيارات ناجحة، من المحتمل أن يكون المفتاح آمنًا للحذف.
لحذف مفتاح واجهة برمجة تطبيقات:
انتقِل إلى صفحة "بيانات الاعتماد".
اختَر مفتاح واجهة برمجة التطبيقات الذي تريد حذفه.
انقر على الزر حذف بالقرب من أعلى الصفحة.
عند ظهور مربّع الحوار حذف بيانات الاعتماد، اختَر حذف.
يستغرق حذف مفتاح واجهة برمجة التطبيقات بضع دقائق. وبعد النشر، سيتم رفض الزيارات باستخدام مفتاح واجهة برمجة التطبيقات المحذوفة.
طرق أخرى لتأمين واجهات برمجة التطبيقات
توخّي الحذر عند إعادة إنشاء مفاتيح واجهة برمجة التطبيقات
يؤدي إنشاء مفتاح واجهة برمجة تطبيقات إلى إنشاء مفتاح جديد يتضمن جميع قيود المفتاح القديم. سيؤدي هذا الإجراء أيضًا إلى بدء موقّت لمدة 24 ساعة لإيقاف مفتاح واجهة برمجة التطبيقات القديم.
خلال هذه الفترة الزمنية، يتم قبول كل من المفتاح القديم والجديد، ما يمنحك فرصة نقل تطبيقاتك لاستخدام المفتاح الجديد. ومع ذلك، ستتوقف أي تطبيقات لا تزال تستخدم مفتاح واجهة برمجة التطبيقات القديم عن العمل بعد انقضاء هذه الفترة.
انتقِل إلى صفحة مفاتيح واجهة برمجة التطبيقات.
انقر على الرجوع إلى المفتاح السابق.
في مربّع الحوار تراجع، انقر على التراجع عن المفتاح.
عند العودة إلى الحالة السابقة، يصبح الإصدار "الجديد" من المفتاح هو الإصدار السابق، ويتم ضبط موقّت جديد لإيقافه لمدة 24 ساعة. ويمكن التبديل بين هاتين القيمتَين الرئيسيتَين إلى أن تعيد إنشاء المفتاح مرة أخرى.
يؤدي هذا الجيل الثاني إلى استبدال القيمة القديمة غير النشطة للمفتاح.
مراقبة استخدام واجهة برمجة التطبيقات
للتحقّق من استخدام مفتاح واجهة برمجة التطبيقات، يُرجى اتّباع الخطوات التالية:
انتقِل إلى صفحة المقاييس.
انقر على عرض الفلاتر.
من مجمّعة حسب، اختر طريقة واجهة برمجة التطبيقات.
ضمن رمز الاستجابة، اختَر 2xx للاطّلاع على أي طلبات ناجحة لهذا المفتاح.
في حال رصد استخدام غير مُصرَّح به، يمكنك إجراء ما يلي:
تقييد المفاتيح:
في حال استخدام المفتاح نفسه في تطبيقات متعددة، يمكنك نقل البيانات إلى مفاتيح واجهة برمجة تطبيقات متعددة، ويُفضَّل استخدام مفاتيح واجهة برمجة تطبيقات منفصلة لكل تطبيق.
في حال استمرار الاستخدام غير المصرَّح به، عليك إعادة إنشاء المفاتيح المتأثرة أو حذفها.
استخدام مفاتيح واجهة برمجة تطبيقات منفصلة لكل تطبيق
ويحدّ هذا من نطاق كل مفتاح. إذا تم اختراق مفتاح واجهة برمجة تطبيقات، يمكنك حذفه أو إعادة إنشائه بدون الحاجة إلى تحديث مفاتيح واجهة برمجة التطبيقات الأخرى.
نقل البيانات إلى مفاتيح واجهة برمجة تطبيقات متعددة
لنقل البيانات من استخدام مفتاح واجهة برمجة تطبيقات واحد لتطبيقات متعددة، إلى مفتاح واجهة برمجة تطبيقات فريد واحد لكل تطبيق، اتّبِع الخطوات التالية:
حدِّد التطبيقات التي ستحتاج إلى مفاتيح جديدة.
- تطبيقات الويب هي الأسهل في التحديث، حيث تتحكم في جميع الرموز. خطِّط لتحديث جميع مفاتيحك المستندة إلى الويب.
- أصبحت التطبيقات المتوافقة مع الأجهزة الجوّالة أصعب بكثير، حيث يجب على عملائك تحديث تطبيقاتهم قبل استخدام المفاتيح الجديدة.
إنشاء المفاتيح الجديدة وحظرها
- أضِف قيودًا على التطبيق وقيودًا واحدة على الأقل لواجهة برمجة التطبيقات.
أضِف المفاتيح الجديدة إلى تطبيقاتك المختلفة.
- بالنسبة إلى التطبيقات المتوافقة مع الأجهزة الجوّالة، قد تستغرق هذه العملية أشهرًا من جميع المستخدمين لتحديثها إلى آخر تطبيق باستخدام مفتاح واجهة برمجة التطبيقات الجديد.
طرق حماية تطبيقات خرائط الويب أو واجهات برمجة التطبيقات الثابتة للويب
تخزين مفاتيح واجهة برمجة التطبيقات وأسرار التوقيع خارج رمز مصدر التطبيق إذا تم وضع مفاتيح واجهة برمجة التطبيقات أو أي معلومات خاصة أخرى في متغيّرات البيئة أو تضمين ملفات مخزّنة بشكل منفصل ثم مشاركة الرمز، لن يتم تضمين مفاتيح واجهة برمجة التطبيقات أو أسرار التوقيع في الملفات المشتركة.
تخزين مفاتيح واجهة برمجة التطبيقات أو أسرار التوقيع في الملفات خارج شجرة التطبيق المصدر. في حال تخزين مفاتيح واجهة برمجة التطبيقات أو أي معلومات خاصة أخرى في الملفات، احتفِظ بالملفات خارج شجرة المصدر لتطبيقك لتحافظ على مفاتيحك خارج نظام التحكّم في رمز المصدر. ويُعدّ هذا الأمر مهمًا على وجه الخصوص إذا كنت تستخدم نظامًا لإدارة رمز المصدر العام، مثل GitHub.
واجهات برمجة التطبيقات لخدمات الويب أو طرق حماية التطبيقات الثابتة على الويب المتوافقة مع الأجهزة الجوّالة
استخدام خادم وكيل: يوفّر الخادم الوكيل مصدرًا قويًا للتفاعل مع واجهة برمجة التطبيقات المناسبة في "منصة خرائط Google". لمزيد من المعلومات عن استخدام خادم وكيل، يُرجى الاطّلاع على العيش بالحياة: استخدام الخوادم الوكيلة مع مكتبات برامج بيانات Google API.
إخفاء مفاتيح التشفير لواجهة برمجة التطبيقات أو تشفير التوقيع أو تشفيرها يؤدي ذلك إلى تعقيد عملية سرقة مفاتيح واجهة برمجة التطبيقات والبيانات الخاصة الأخرى مباشرةً من التطبيق.
مزيد من المعلومات
توضح هذه الجداول القيود المفروضة على مفتاح واجهة برمجة التطبيقات وأفضل ممارسات واجهة برمجة التطبيقات لكل واجهة برمجة تطبيقات على "منصة خرائط Google" أو حزمة تطوير برامج (SDK) أو خدمة.
المواقع الإلكترونية التي تستخدم JavaScript للخرائط أو مضمّنة أو واجهات برمجة تطبيقات ثابتة
التطبيقات والخوادم التي تستخدم خدمات الويب
التطبيقات المتوافقة مع Android
واجهة برمجة التطبيقات/حزمة تطوير البرامج (SDK)/الخدمة | القيود المفروضة على التطبيقات (1) | القيود المفروضة على واجهة برمجة التطبيقات (1) | أفضل الممارسات |
---|---|---|---|
حزمة تطوير البرامج بالاستناد إلى بيانات "خرائط Google" للتطبيقات المتوافقة مع Android | قيد Android | حزمة تطوير البرامج بالاستناد إلى بيانات "خرائط Google" للتطبيقات المتوافقة مع Android | |
إضافة حزمة تطوير برامج الأماكن لأجهزة Android | قيد Android | واجهة برمجة تطبيقات الأماكن |
تطبيقات iOS
واجهة برمجة التطبيقات/حزمة تطوير البرامج (SDK)/الخدمة | القيود المفروضة على التطبيقات (1) | القيود المفروضة على واجهة برمجة التطبيقات (1) | أفضل الممارسات |
---|---|---|---|
حزمة تطوير البرامج بالاستناد إلى بيانات "خرائط Google" للتطبيقات المتوافقة مع iOS | قيود iOS | حزمة تطوير البرامج بالاستناد إلى بيانات "خرائط Google" للتطبيقات المتوافقة مع iOS | |
إضافة حزمة تطوير برامج الأماكن لأجهزة iOS | قيود iOS | واجهة برمجة تطبيقات الأماكن |
1 يمكنك استخدام مفتاح واجهة برمجة تطبيقات غير محدود مع أي واجهة برمجة تطبيقات أو حزمة تطوير برامج (SDK) لمنصة "خرائط Google". ومع ذلك، ننصحك بشدة بتقييد مفاتيح واجهة برمجة التطبيقات، خاصةً في السيناريوهات التالية:
ستكون بيئة الاختبار مرئية للجميع أو سيتم عرضها للجميع.
التطبيق الذي يستخدم مفتاح واجهة برمجة التطبيقات جاهز للاستخدام في بيئة إنتاج.
2 بالنسبة إلى التطبيقات المتوافقة مع الأجهزة الجوّالة، يمكنك استخدام حزمة تطوير البرامج "خرائط Google" لأجهزة Android وحزمة تطوير البرامج "خرائط Google" لأجهزة iOS.
3 بالنسبة إلى واجهة برمجة التطبيقات الثابتة في "خرائط Google" وواجهة برمجة التطبيقات الثابتة لميزة "التجوّل الافتراضي"، بالإضافة إلى مفتاح واجهة برمجة التطبيقات، عليك تقديم توقيع رقمي لتجاوز الحصة اليومية التي يبلغ عددها 25,000 عملية تحميل على الخريطة.
إذا وقّعت على طلباتك، راجِع عدد الطلبات غير الموقَّعة التي تريد السماح بها يوميًا وعدِّل حصص الطلبات غير الموقَّعة وفقًا لذلك.
4 قد تكون قيود IP غير عملية في بعض السيناريوهات، كما هو الحال في التطبيقات المتوافقة مع الأجهزة الجوّالة وبيئات السحابة الإلكترونية التي تعتمد على عناوين IP الديناميكية. عند استخدام واجهات برمجة التطبيقات لخدمة "خرائط Google" على الويب في هذه السيناريوهات، يمكنك تأمين تطبيقاتك باستخدام خادم وكيل أو إخفاء مفاتيح فك التشفير.
5بالنسبة إلى التطبيقات المتوافقة مع الأجهزة الجوّالة، يمكنك استخدام حزمة تطوير البرامج (SDK) للأماكن المخصّصة لأجهزة Android وحزمة تطوير البرامج (SDK) للأماكن على أجهزة iOS.