إرشادات الأمان في "منصة خرائط Google"

بالنسبة إلى التطبيقات والمشاريع التي تستخدِم واجهات برمجة التطبيقات وحِزم تطوير البرامج (SDK) في Google Maps Platform، يجب استخدام مفاتيح واجهة برمجة التطبيقات أو بروتوكول Oauth، إذا كان متاحًا، لمنع الاستخدام غير المصرَّح به والرسوم المُحصَّلة بدون إذن. إذا كنت تستخدم مفاتيح واجهة برمجة التطبيقات، يمكنك تقييد مفاتيح واجهة برمجة التطبيقات عند إنشائها لضمان أقصى قدر من الأمان. توضّح لك أفضل الممارسات هذه كيفية حظرها.

بالإضافة إلى تطبيق القيود على التطبيقات ومفاتيح واجهة برمجة التطبيقات، اتّبِع أي ممارسات أمان تنطبق على منتجات معيّنة من Google Maps Platform. على سبيل المثال، يمكنك الاطّلاع على واجهة برمجة تطبيقات JavaScript لخرائط Google أدناه في القيود المقترَحة على التطبيقات وواجهات برمجة التطبيقات.

إذا كانت مفاتيح واجهة برمجة التطبيقات قيد الاستخدام، راجِع الاقتراحات الواردة أدناه في في حال حظر مفتاح واجهة برمجة تطبيقات قيد الاستخدام أو إعادة إنشائه.

لمزيد من التفاصيل عن التوقيعات الرقمية، يُرجى الاطّلاع على دليل التوقيعات الرقمية.

أفضل الممارسات المقترَحة

لتعزيز الأمان وتجنُّب تحصيل رسوم منك مقابل الاستخدام غير المصرّح به، اتّبِع أفضل الممارسات التالية لأمان واجهات برمجة التطبيقات لجميع واجهات برمجة التطبيقات أو حِزم تطوير البرامج (SDK) أو الخدمات في Google Maps Platform:

تقييد مفاتيح واجهة برمجة التطبيقات

استخدام مفاتيح واجهة برمجة تطبيقات منفصلة لكل تطبيق

حذف مفاتيح واجهة برمجة التطبيقات غير المستخدَمة

التحقّق من استخدام مفتاح واجهة برمجة التطبيقات

توخّ الحذر عند إعادة إنشاء مفاتيح واجهة برمجة التطبيقات

اقتراحات إضافية للمواقع الإلكترونية التي تستخدم Static Web APIs

حماية التطبيقات باستخدام واجهات برمجة التطبيقات الثابتة للويب

اقتراحات إضافية للتطبيقات التي تستخدم خدمات الويب

حماية التطبيقات باستخدام خدمات الويب

اقتراحات إضافية لتطبيقات iOS وAndroid المتوافقة مع الأجهزة الجوّالة

حماية التطبيقات المتوافقة مع الأجهزة الجوّالة باستخدام خدمة الويب أو واجهات برمجة التطبيقات الثابتة للويب

في حال فرض قيود على مفتاح واجهة برمجة تطبيقات قيد الاستخدام أو إعادة إنشائه

  • قبل تغيير مفتاح واجهة برمجة التطبيقات، عليك التحقّق من استخدام مفتاح واجهة برمجة التطبيقات. هذه الخطوة مهمة بشكل خاص إذا كنت تضيف قيودًا بعد استخدام المفتاح.

  • بعد تغيير المفتاح، عدِّل جميع تطبيقاتك باستخدام مفاتيح واجهة برمجة التطبيقات الجديدة، كما هو مطلوب.

  • في حال عدم حدوث إساءة استخدام نشطة لمفتاح واجهة برمجة التطبيقات، يمكنك نقل بيانات تطبيقاتك إلى مفاتيح واجهة برمجة تطبيقات جديدة متعددة بالوتيرة التي تناسبك، مع إبقاء مفتاح واجهة برمجة التطبيقات الأصلي بدون تغيير إلى أن ترى نوعًا واحدًا فقط من الزيارات، ويمكنك بعد ذلك فرض قيود على مفاتيح واجهة برمجة التطبيقات باستخدام قيد تطبيق. لمزيد من التعليمات، يُرجى الاطّلاع على مقالة الانتقال إلى مفاتيح واجهة برمجة تطبيقات متعددة.

    يمكنك تتبُّع الاستخدام بمرور الوقت، والاطّلاع على وقت نقل واجهات برمجة تطبيقات وأنواع منصات و نطاقات معيّنة من مفتاح واجهة برمجة التطبيقات القديم قبل اختيار حظر المفتاح القديم أو حذفه. لمزيد من المعلومات، يُرجى الاطّلاع على إعداد التقارير والمراقبة والمقاييس.

  • إذا تم اختراق مفتاح واجهة برمجة التطبيقات، عليك اتّخاذ إجراء سريع لحماية مفتاح واجهة برمجة التطبيقات ومنع إساءة الاستخدام. في تطبيقات Android وiOS، لا يتم استبدال المفاتيح إلى أن يُحدِّث العملاء تطبيقاتهم. إنّ تعديل المفاتيح أو استبدالها في JavaScript أو تطبيقات خدمات الويب أسهل بكثير، ولكن قد يتطلّب ذلك التخطيط الدقيق والعمل السريع.

    لمزيد من المعلومات، يُرجى الاطّلاع على مقالة معالجة الاستخدام غير المصرَّح به لمفتاح واجهة برمجة التطبيقات.

تقييد مفاتيح واجهة برمجة التطبيقات

من أفضل الممارسات تقييد مفاتيح واجهة برمجة التطبيقات دائمًا باستخدام قيد تطبيق وقيود واجهة برمجة تطبيقات واحدة أو أكثر. للاطّلاع على القيود المقترَحة حسب واجهة برمجة التطبيقات أو حزمة تطوير البرامج (SDK) أو خدمة JavaScript، يُرجى الاطّلاع على القيود المقترَحة على التطبيقات وواجهات برمجة التطبيقات أدناه.

  • تقييد التطبيقات: يمكنك حصر استخدام مفتاح واجهة برمجة التطبيقات بمنصّات معيّنة: تطبيقات Android أو iOS أو مواقع إلكترونية معيّنة لتطبيقات العميل، أو عناوين IP معيّنة أو شبكات فرعية معيّنة لبروتوكول CIDR للتطبيقات التي تعمل على الخادم والتي تُصدر طلبات REST API لخدمة الويب.

    يمكنك فرض قيود على مفتاح من خلال إضافة قيد واحد أو أكثر من قيود التطبيقات من الأنواع التي تريد تفويضها، وبعد ذلك لا يُسمح إلا بالطلبات الواردة من هذه المصادر.

  • قيود واجهة برمجة التطبيقات: يمكنك حظر واجهات برمجة تطبيقات "منصة خرائط Google" أو حِزم تطوير البرامج (SDK) أو الخدمات التي يمكن استخدام مفتاح واجهة برمجة التطبيقات فيها. لا تسمح قيود واجهات برمجة التطبيقات إلا بطلبات واجهات برمجة التطبيقات وحِزم SDK التي تحدّدها. بالنسبة إلى أي مفتاح واجهة برمجة تطبيقات معيّن، يمكنك تحديد أي عدد من قيود واجهة برمجة التطبيقات حسب الحاجة. تتضمّن قائمة واجهات برمجة التطبيقات المتاحة جميع واجهات برمجة التطبيقات المفعّلة في أحد المشاريع.

فرض قيود على تطبيق لمفتاح واجهة برمجة التطبيقات

  1. افتح صفحة بيانات اعتماد Google Maps Platform في Google Cloud Console.

  2. اختَر مفتاح واجهة برمجة التطبيقات الذي تريد حظره.

  3. في صفحة تعديل مفتاح واجهة برمجة التطبيقات، ضِمن قيود المفتاح، اختَر ضبط قيد على التطبيق.

    صفحة تعديل مفتاح واجهة برمجة التطبيقات

  4. اختَر أحد أنواع القيود وقدِّم المعلومات المطلوبة وفقًا لقائمة القيود.

    نوع الحظر الوصف
    المواقع الإلكترونية حدِّد موقعًا إلكترونيًا واحدًا أو أكثر من المواقع الإلكترونية المُحيلة.
    • أنظمة معرّفات الموارد المنتظمة (URI) للمُحيل المتوافقة بشكلٍ عام هي https وhttp.
    • قدِّم دائمًا معرّف الموارد المنتظم الكامل للمُحيل، بما في ذلك مخطّط البروتوكول واسم المضيف والمنفذ الاختياري (مثل https://google.com).
    • يمكنك استخدام أحرف البدل لتفويض جميع النطاقات الفرعية. على سبيل المثال، يقبل https://*.google.com جميع المواقع الإلكترونية التي تنتهي بـ .google.com. يُرجى العِلم أنّه في حال تحديد www.domain.com، سيعمل كحرف بدل www.domain.com/*، و سيمنح الإذن لأي مسار فرعي على اسم المضيف هذا.
    • يجب الانتباه عند تفويض المُحيلين الذين يستخدمون المسار الكامل، على سبيل المثال، https://google.com/some/path، لأنّ معظم المتصفّحات الحالية تزيل المسار من طلبات المصادر الخارجية تلقائيًا.
    عناوين IP حدِّد عنوان IPv4 أو IPv6 واحدًا أو أكثر، أو شبكات فرعية باستخدام تدوين CIDR. يجب أن تتطابق عناوين IP مع عنوان المصدر الذي ترصده خوادم Google Maps Platform. في حال استخدام ترجمة عنوان الشبكة (NAT)، يتوافق هذا العنوان عادةً مع عنوان IP العلني لجهازك.
    تطبيقات Android أضِف اسم حزمة Android (منملف AndroidManifest.xml) وملفات مرجعية لشهادة توقيع SHA-1 لكل تطبيق Android تريد تفويضه. إذا كنت تستخدم ميزة "توقيع التطبيق" من Play، يمكنك الاطّلاع على العمل مع موفّري واجهات برمجة التطبيقات للحصول على الملف المرجعي لشهادة التوقيع. إذا كنت تدير مفتاح التوقيع الخاص بك، اطّلِع على التوقيع الذاتي لتطبيقك أو راجِع التعليمات الخاصة ببيئة الإنشاء.
    تطبيقات iOS أضِف معرّف الحِزمة لكل تطبيق iOS تريد تفويضه.

    للاطّلاع على اقتراحات بشأن قيود التطبيقات، يُرجى الاطّلاع على قيود التطبيقات المقترَحة.

  5. انقر على حفظ.

ضبط قيود واجهة برمجة التطبيقات لمفتاح واجهة برمجة التطبيقات

  1. افتح صفحة بيانات اعتماد Google Maps Platform في Google Cloud Console.

  2. اختَر مفتاح واجهة برمجة التطبيقات الذي تريد حظره.

  3. في صفحة تعديل مفتاح واجهة برمجة التطبيقات، ضِمن قيود واجهة برمجة التطبيقات:

    • انقر على تقييد المفتاح.

    • افتح اختيار واجهات برمجة التطبيقات واختَر واجهات برمجة التطبيقات أو حِزم SDK التي تريد أن يصل إليها تطبيقك باستخدام مفتاح واجهة برمجة التطبيقات.

      إذا لم تكن واجهة برمجة تطبيقات أو حزمة تطوير برامج (SDK) مُدرَجة، عليك تفعيلها. لمعرفة التفاصيل، يُرجى الاطّلاع على مقالة لتفعيل واجهة برمجة تطبيقات أو حزمة تطوير برامج (SDK) واحدة أو أكثر.

    فرض قيود على واجهة برمجة تطبيقات في صفحة "تعديل مفتاح واجهة برمجة التطبيقات"

  4. انقر على حفظ.

    يصبح القيد جزءًا من تعريف مفتاح واجهة برمجة التطبيقات بعد هذه الخطوة. احرص على تقديم التفاصيل المناسبة وانقر على حفظ لحفظ قيود مفتاح واجهة برمجة التطبيقات. لمزيد من المعلومات، يُرجى الاطّلاع على دليل الحصول على مفتاح واجهة برمجة التطبيقات في مستندات واجهة برمجة التطبيقات أو حزمة تطوير البرامج (SDK) التي تهمّك.

لمعرفة القيود المقترَحة لواجهات برمجة التطبيقات، يُرجى الاطّلاع على القيود المقترَحة لواجهات برمجة التطبيقات.

التحقّق من استخدام مفتاح واجهة برمجة التطبيقات

إذا كنت تريد فرض قيود على مفاتيح واجهة برمجة التطبيقات بعد إنشائها، أو إذا كنت تريد معرفة واجهات برمجة التطبيقات التي يستخدمها مفتاح معيّن حتى تتمكّن من فرض قيود عليها، عليك التحقّق من استخدام مفتاح واجهة برمجة التطبيقات. توضِّح لك هذه الخطوات الخدمات وطرق واجهة برمجة التطبيقات التي يتم فيها استخدام مفتاح واجهة برمجة التطبيقات. إذا لاحظت أي استخدام خارج خدمات "منصة خرائط Google"، عليك التحقيق لمعرفة ما إذا كنت بحاجة إلى إضافة مزيد من القيود لتجنّب الاستخدام غير المرغوب فيه. يمكنك استخدام "مستكشف المقاييس" في Google Maps Platform Cloud Console للمساعدة في تحديد قيود واجهة برمجة التطبيقات والتطبيقات التي سيتم تطبيقها على مفتاح واجهة برمجة التطبيقات:

تحديد واجهات برمجة التطبيقات التي تستخدم مفتاح واجهة برمجة التطبيقات

تتيح لك تقارير المقاييس التالية تحديد واجهات برمجة التطبيقات التي تستخدم مفاتيح واجهة برمجة التطبيقات. استخدِم هذه التقارير لإجراء ما يلي:

  • الاطّلاع على كيفية استخدام مفاتيح واجهة برمجة التطبيقات
  • رصد الاستخدام غير المتوقّع
  • المساعدة في التحقّق مما إذا كان من الآمن حذف مفتاح غير مستخدَم للحصول على معلومات عن حذف مفتاح واجهة برمجة التطبيقات، يُرجى الاطّلاع على مقالة حذف مفاتيح واجهة برمجة التطبيقات غير المستخدَمة.

عند تطبيق قيود واجهة برمجة التطبيقات، استخدِم هذه التقارير لإنشاء قائمة بواجهات برمجة التطبيقات التي تريد منح الإذن لها، أو للتحقّق من صحة اقتراحات القيود المفروضة على مفاتيح واجهة برمجة التطبيقات التي يتم إنشاؤها تلقائيًا. لمزيد من المعلومات حول القيود المقترَحة، يُرجى الاطّلاع على مقالة تطبيق القيود المقترَحة. لمزيد من المعلومات عن استخدام مستكشف المقاييس، اطّلِع على إنشاء الرسوم البيانية باستخدام "مستكشف المقاييس".

  1. انتقِل إلى مستكشِف المقاييس في Google Cloud Console.

  2. سجِّل الدخول واختَر المشروع الذي تريد التحقّق من مفاتيح واجهة برمجة التطبيقات فيه.

  3. انتقِل إلى صفحة "مستكشف المقاييس" لنوع واجهة برمجة التطبيقات:

    • بالنسبة إلى مفاتيح واجهة برمجة التطبيقات التي تستخدم أي واجهة برمجة تطبيقات باستثناء واجهة برمجة التطبيقات Embed API في خرائط Google: انتقِل إلى صفحة مستكشف المقاييس.

    • مفاتيح واجهة برمجة التطبيقات التي تستخدم Maps Embed API: انتقِل إلى مستكشف المقاييس.

  4. فحص كل مفتاح واجهة برمجة تطبيقات:

    1. انقر على إضافة فلتر.

    2. انقر على التصنيف credential_id.

    3. اختَر القيمة المقابلة للمفتاح الذي تريد فحصه.

    4. يُرجى ملاحظة واجهات برمجة التطبيقات التي يتم استخدام مفتاح واجهة برمجة التطبيقات هذا فيها، والتأكّد من أنّ الاستخدام هو متوقّع.

    5. بعد الانتهاء، انقر على إزالة الفلتر في نهاية سطر الفلتر النشط لحذف الفلتر الإضافي.

  5. كرِّر الخطوات لأي مفاتيح متبقية.

  6. حصر مفاتيح واجهة برمجة التطبيقات بواجهات برمجة التطبيقات المستخدَمة فقط

  7. إذا رصدت استخدامًا غير مصرَّح به، اطّلِع على مقالة معالجة الاستخدام غير المصرَّح به لمفتاح واجهة برمجة التطبيقات.

اختيار النوع الصحيح لقيود التطبيق باستخدام "مستكشف المقاييس"

بعد إثبات ملكية مفتاح واجهة برمجة التطبيقات واتّخاذ أي إجراءات مطلوبة لضمان عدم استخدامه إلا لخدمات "منصة خرائط Google" التي يستخدمها، يجب أيضًا التأكّد من أنّ مفتاح واجهة برمجة التطبيقات يتضمّن قيود التطبيق الصحيحة.

إذا كان مفتاح واجهة برمجة التطبيقات يتضمّن قيودًا مقترَحة لمفتاح واجهة برمجة التطبيقات، طبِّق هذه القيود. لمزيد من المعلومات، يُرجى الاطّلاع على تطبيق القيود المقترَحة على مفاتيح واجهة برمجة التطبيقات.

إذا لم يتضمّن مفتاح واجهة برمجة التطبيقات اقتراحات بشأن القيود، حدِّد نوع قيود التطبيق التي تريد تطبيقها استنادًا إلى platform_type التي تم الإبلاغ عنها باستخدام "مستكشف المقاييس":

  1. انتقِل إلى مستكشِف المقاييس في Google Cloud Console.

  2. سجِّل الدخول واختَر المشروع الذي تريد التحقّق من واجهات برمجة التطبيقات فيه.

  3. انتقِل إلى صفحة "أداة استكشاف المقاييس" التالية: أداة استكشاف المقاييس.

  4. فحص كل مفتاح واجهة برمجة تطبيقات:

    1. انقر على إضافة فلتر.

    2. انقر على التصنيف credential_id.

    3. اختَر القيمة المقابلة للمفتاح الذي تريد فحصه.

    4. بعد الانتهاء، انقر على إزالة الفلتر في نهاية سطر الفلتر النشط لحذف الفلتر الإضافي.

  5. كرِّر الخطوات لأي مفاتيح متبقية.

  6. بعد تحديد نوع المنصة لمفاتيح واجهة برمجة التطبيقات، يمكنك تطبيق قيد التطبيق على ذلك platform_type:

    PLATFORM_TYPE_JS
    تطبيق القيود على المواقع الإلكترونية على المفتاح
    PLATFORM_TYPE_ANDROID
    تطبيق قيود تطبيقات Android على المفتاح
    PLATFORM_TYPE_IOS
    تطبيق قيود تطبيقات iOS على المفتاح
    PLATFORM_TYPE_WEBSERVICE
    قد تحتاج إلى الاعتماد على قيود عناوين IP في المفتاح ليقتصر استخدامه بشكلٍ سليم. للحصول على مزيد من الخيارات لواجهة برمجة التطبيقات Maps Static API و واجهة برمجة التطبيقات Street View Static API، يُرجى الاطّلاع على مقالة حماية التطبيقات باستخدام واجهات برمجة التطبيقات الثابتة للويب. للحصول على مزيد من التعليمات حول Maps Embed API، يُرجى الاطّلاع على المواقع الإلكترونية التي تستخدم Maps Embed API.
    يستخدم مفتاح واجهة برمجة التطبيقات أنواع منصات متعددة
    لا يمكن تأمين زياراتك بشكلٍ سليم باستخدام مفتاح واجهة برمجة تطبيقات واحد فقط. عليك نقل البيانات إلى مفاتيح واجهة برمجة تطبيقات متعددة. لمزيد من المعلومات، يُرجى الاطّلاع على مقالة الانتقال إلى مفاتيح واجهة برمجة تطبيقات متعددة.

استخدام مفاتيح واجهة برمجة تطبيقات منفصلة لكل تطبيق

تحدّ هذه الممارسة من نطاق كل مفتاح. إذا تم اختراق مفتاح واجهة برمجة تطبيقات واحد، يمكنك حذف المفتاح المتأثّر أو إعادة إنشائه بدون الحاجة إلى تعديل مفاتيح واجهة برمجة التطبيقات الأخرى. يمكنك إنشاء ما يصل إلى 300 مفتاح واجهة برمجة تطبيقات لكل مشروع. لمزيد من المعلومات، اطّلِع على الحدود المفروضة على مفاتيح واجهة برمجة التطبيقات.

على الرغم من أنّ استخدام مفتاح واجهة برمجة تطبيقات واحد لكل تطبيق هو مثالي لأغراض الأمان، يمكنك استخدام مفاتيح مقيّدة في تطبيقات متعددة طالما أنّها تستخدم النوع نفسه من القيود المفروضة على التطبيقات.

تطبيق القيود المقترَحة على مفتاح واجهة برمجة التطبيقات

بالنسبة إلى بعض مالكي المشاريع ومحرّريها، تقترح Google Cloud Console قيودًا محدّدة لمفاتيح واجهة برمجة التطبيقات على مفاتيح واجهة برمجة التطبيقات غير المقيّدة استنادًا إلى استخدامهم لـ "منصّة خرائط Google" ونشاطهم فيها.

تظهر الاقتراحات، إن توفّرت، كخيارات مملوءة مسبقًا في صفحة بيانات اعتماد "منصة خرائط Google".

أسباب عدم ظهور اقتراح أو ظهور اقتراح غير مكتمل

  • استخدام مفتاح واجهة برمجة التطبيقات (أيضًا) في خدمات غير خدمات Google Maps Platform إذا لاحظت استخدامًا على خدمات أخرى، لا تطبِّق الخطوة المقترَحة بدون إجراء ما يلي أولاً:

    1. تأكَّد من أنّ استخدام واجهة برمجة التطبيقات الذي يظهر لك في أداة explorexploration ضمن "مقاييس Google Cloud Console" هو استخدام مشروعك.

    2. أضِف يدويًا الخدمات غير المتوفّرة إلى قائمة واجهات برمجة التطبيقات التي يجب تفويضها.

    3. أضِف يدويًا أي قيود تطبيق غير متوفّرة للخدمات المُضافة إلى قائمة واجهات برمجة التطبيقات. إذا كانت القيود الأخرى التي أضفتها تتطلّب نوعًا مختلفًا من قيود التطبيقات، اطّلِع على مقالة نقل البيانات إلى مفاتيح واجهة برمجة تطبيقات متعددة.

  • لا يتم استخدام مفتاح واجهة برمجة التطبيقات في حِزم SDK أو واجهات برمجة التطبيقات من جهة العميل.

  • إذا كنت تستخدِم مفتاح واجهة برمجة التطبيقات في تطبيق أو موقع إلكتروني منخفضَي الحجم لم يتم استخدامهما في آخر 60 يومًا

  • لقد أنشأت مفتاحًا جديدًا مؤخرًا جدًا، أو لقد طرحت مؤخرًا مفتاحًا حاليًا في تطبيق جديد. إذا كان الأمر كذلك، ما عليك سوى الانتظار لبضعة أيام أخرى للسماح بتعديل الاقتراحات.

  • إذا كنت تستخدم مفتاح واجهة برمجة التطبيقات في تطبيقات متعددة تتطلّب أنواعًا متضاربة من قيود التطبيقات، أو إذا كنت تستخدم مفتاح واجهة برمجة التطبيقات نفسه في عدد كبير جدًا من التطبيقات أو المواقع الإلكترونية المختلفة وفي كلتا الحالتَين، من بين أفضل الممارسات نقل البيانات إلى مفاتيح متعدّدة. لمزيد من التفاصيل، يُرجى الاطّلاع على مقالة الانتقال إلى مفاتيح واجهة برمجة تطبيقات متعددة.

الأسباب التي قد تؤدي إلى ظهور اقتراحات غير مرئية في الرسوم البيانية

  • أرسل تطبيقك أو موقعك الإلكتروني دفعات قصيرة جدًا من الزيارات. في هذه الحالة، يمكنك التبديل من عرض رسم بياني لعرض جدول أو كلاهما، لأنّ الاستخدام لا يزال مرئيًا في التسمية التوضيحية. لمزيد من المعلومات، يُرجى الاطّلاع على مقالة تبديل التفسيرات الكاملة للرسم البياني.

  • تأتي زياراتك من واجهة برمجة التطبيقات Maps Embed API. للحصول على التعليمات، يُرجى الاطّلاع على مقالة تحديد واجهات برمجة التطبيقات التي تستخدم مفتاح واجهة برمجة التطبيقات.

  • تكون الزيارات الواردة من التطبيق أو الموقع الإلكتروني خارج النطاق الزمني المتاح في مستكشف مقاييس Google Cloud Console.

  1. افتح صفحة بيانات اعتماد Google Maps Platform في Google Cloud Console.

  2. اختَر تطبيق القيود المقترَحة، إذا كان هذا الخيار متاحًا.

    تطبيق القيود المقترَحة

    ملاحظة: إذا لم تظهر لك أي قيود مقترَحة، اطّلِع على ضبط قيود واجهة برمجة التطبيقات لمفتاح واجهة برمجة التطبيقات لضبط القيود المناسبة.

  3. اختَر التحقّق من استخدام واجهة برمجة التطبيقات للتحقّق من الخدمات التي يتم استخدام مفتاح واجهة برمجة التطبيقات فيها. إذا ظهرت لك خدمات غير "منصة خرائط Google"، يمكنك إيقاف الخطوات المقترَحة أعلاه لمراجعتها يدويًا. اطّلِع على خطوات تحديد المشاكل وحلّها في بداية القسم تطبيق القيود المقترَحة على مفتاح واجهة برمجة التطبيقات.

  4. تحقّق جيدًا من أنّ القيود التي تم ملؤها مسبقًا تتطابق مع المواقع الإلكترونية والتطبيقات التي تتوقّع استخدام مفتاح واجهة برمجة التطبيقات فيها.

    أفضل الممارسات: يجب تسجيل أي قيود على التطبيقات أو واجهات برمجة التطبيقات وإزالتها إذا لم تكن مرتبطة بخدماتك. إذا تعطّل أحد التطبيقات بسبب تبعية غير متوقّعة، يمكنك إعادة إضافة التطبيقات أو واجهات برمجة التطبيقات المطلوبة.

    • إذا لاحظت أنّ أحد التطبيقات أو المواقع الإلكترونية أو واجهات برمجة التطبيقات غير مضمّنة في الاقتراحات، أضِفه يدويًا أو انتظِر لبضعة أيام إلى أن يتم تعديل الاقتراحات.

    • إذا كنت بحاجة إلى مزيد من المساعدة بشأن الاقتراح المقترَح، يُرجى التواصل مع فريق الدعم.

  5. حدّد تطبيق.

الإجراءات التي يجب اتّخاذها في حال رفض طلبك بعد تطبيق اقتراح

إذا لاحظت أنّه تم رفض تطبيق أو موقع إلكتروني بعد تطبيق قيد، ابحث عن قيد التطبيق الذي تحتاج إلى إضافته في رسالة خطأ ردّ واجهة برمجة التطبيقات.

بالنسبة إلى حِزم SDK من جهة العميل، يُرجى الاطّلاع على ما يلي:

للتحقّق من القيود المطلوبة على واجهة برمجة التطبيقات، يُرجى الاطّلاع على مقالة تحديد واجهات برمجة التطبيقات التي تستخدم مفتاح واجهة برمجة التطبيقات.

إذا لم تتمكّن من تحديد القيود التي تريد تطبيقها:

  1. سجِّل القيود الحالية للرجوع إليها في المستقبل.
  2. يمكنك إزالتها مؤقتًا أثناء التحقيق في المشكلة. يمكنك التحقّق من استخدامك بمرور الوقت باستخدام الخطوات الواردة في مقالة التحقّق من استخدام مفتاح واجهة برمجة التطبيقات.
  3. يُرجى التواصل مع فريق الدعم إذا لزم الأمر.

حذف مفاتيح واجهة برمجة التطبيقات غير المستخدَمة

قبل حذف مفتاح واجهة برمجة التطبيقات، تأكَّد من أنّه لا يتم استخدامه في مرحلة الإنتاج. إذا لم تكن هناك زيارات ناجحة، من المرجّح أن يكون من الآمن حذف المفتاح. لمزيد من المعلومات، يُرجى الاطّلاع على مقالة التحقّق من استخدام مفتاح واجهة برمجة التطبيقات.

لحذف مفتاح واجهة برمجة التطبيقات، اتّبِع الخطوات التالية:

  1. افتح صفحة بيانات اعتماد Google Maps Platform في Google Cloud Console.

  2. اختَر مفتاح واجهة برمجة التطبيقات الذي تريد حذفه.

  3. انقر على الزر حذف بالقرب من أعلى الصفحة.

  4. في صفحة حذف بيانات الاعتماد، انقر على حذف.

    يستغرق حذف مفتاح واجهة برمجة التطبيقات بضع دقائق ليتم نشره. بعد اكتمال عملية النشر، يتم رفض أيّ زيارات تستخدم مفتاح واجهة برمجة التطبيقات المحذوف.

توخّ الحذر عند إعادة إنشاء مفاتيح واجهة برمجة التطبيقات

يؤدي إعادة إنشاء مفتاح واجهة برمجة التطبيقات إلى إنشاء مفتاح جديد يتضمّن كل قيود المفتاح القديم. تبدأ هذه العملية أيضًا موقّتًا لمدة 24 ساعة، وبعد ذلك يتم حذف مفتاح واجهة برمجة التطبيقات القديم.

خلال هذه الفترة الزمنية، يتم قبول كل من المفتاح القديم والجديد، ما يمنحك فرصة لنقل بيانات تطبيقاتك لاستخدام المفتاح الجديد. ومع ذلك، بعد انقضاء هذه الفترة الزمنية، تتوقف أي تطبيقات لا تزال تستخدم مفتاح واجهة برمجة التطبيقات القديم عن العمل.

قبل إعادة إنشاء مفتاح واجهة برمجة التطبيقات:

  • حاوِل أولاً تقييد مفاتيح واجهة برمجة التطبيقات كما هو موضّح في مقالة تقييد مفاتيح واجهة برمجة التطبيقات.

  • إذا لم يكن من الممكن فرض قيود على مفتاح واجهة برمجة التطبيقات بسبب تعارض أنواع قيود التطبيق، يمكنك نقل البيانات إلى مفاتيح جديدة (محظورة) متعددة كما هو موضّح في مقالة نقل البيانات إلى مفاتيح واجهة برمجة تطبيقات متعددة. من خلال نقل البيانات، يمكنك التحكّم في عملية نقل البيانات والمخطط الزمني لطرح مفاتيح واجهة برمجة التطبيقات الجديدة.

إذا لم يكن من الممكن تنفيذ الاقتراحات السابقة، وعليك إعادة إنشاء مفتاح واجهة برمجة التطبيقات لمنع الاستخدام غير المصرّح به، اتّبِع الخطوات التالية:

  1. افتح صفحة بيانات اعتماد Google Maps Platform في Google Cloud Console.

  2. افتح مفتاح واجهة برمجة التطبيقات الذي تريد إعادة إنشائه.

  3. في أعلى الصفحة، انقر على إعادة إنشاء المفتاح.

  4. اختَر استبدال المفتاح.

ملاحظة: إذا لزم الأمر، يمكنك الرجوع إلى أي مفتاح تمت إعادة إنشائه إلى نسخته السابقة. ما مِن حدود زمنية للتراجع.

لإلغاء مفتاح تم إنشاؤه من جديد

  1. افتح صفحة بيانات اعتماد Google Maps Platform في Google Cloud Console.

  2. افتح مفتاح واجهة برمجة التطبيقات الذي تريد التراجع عنه.

  3. انقر على الرجوع إلى المفتاح السابق.

  4. في مربّع الحوار التراجع، اختَر التراجع عن المفتاح.

عند الرجوع إلى الإصدار السابق، يصبح الإصدار "الجديد" السابق هو الإصدار الحالي، ويتم ضبط موقّت إيقاف جديد لمدة 24 ساعة. من الممكن التبديل بين قيمتَي المفتاحتَين إلى أن تُعيد إنشاء المفتاح مرة أخرى.

في حال إعادة إنشاء المفتاح مرة أخرى، سيتم استبدال قيمة المفتاح القديم غير النشط.

نقل البيانات إلى مفاتيح واجهة برمجة تطبيقات متعددة

لنقل البيانات من استخدام مفتاح واجهة برمجة تطبيقات واحد لتطبيقات متعددة إلى مفتاح واجهة برمجة تطبيقات فريد واحد لكل تطبيق، اتّبِع الخطوات التالية:

  1. تحديد التطبيقات التي تحتاج إلى مفاتيح جديدة:

    • إنّ تطبيقات الويب هي الأسهل في التحديث، لأنّك تتحكّم في كل الرموز البرمجية. خطط لتعديل مفاتيح جميع تطبيقاتك المستندة إلى الويب.
    • أما التطبيقات المتوافقة مع الأجهزة الجوّالة، فهي أكثر صعوبة، لأنّه على العملاء تحديث تطبيقاتهم قبل أن يتم استخدام المفاتيح الجديدة.
  2. إنشاء المفاتيح الجديدة وفرض قيود عليها: أضِف قيدًا على التطبيق وقيدًا واحدًا على الأقل على واجهة برمجة التطبيقات. لمزيد من المعلومات، يُرجى الاطّلاع على أفضل الممارسات المقترَحة.

  3. إضافة المفاتيح الجديدة إلى تطبيقاتك: بالنسبة إلى التطبيقات المتوافقة مع الأجهزة الجوّالة، قد تمتد هذه العملية لعدة أشهر إلى أن يُجري جميع المستخدمين تحديثًا إلى أحدث إصدار من التطبيق الذي يتضمّن مفتاح واجهة برمجة التطبيقات الجديد.

حماية التطبيقات باستخدام واجهات برمجة التطبيقات الثابتة للويب

تشبه واجهات برمجة التطبيقات الثابتة للويب، مثل Maps Static API و Street View Static API، طلبات البيانات من واجهات برمجة التطبيقات لخدمات الويب.

يمكنك طلب البيانات من كليهما باستخدام واجهة برمجة تطبيقات REST بسيطة عبر HTTPS، وعادةً ما يتم إنشاء عنوان URL لطلب واجهة برمجة التطبيقات على الخادم. ومع ذلك، بدلاً من عرض استجابة JSON، تنشئ واجهات برمجة تطبيقات Static Web صورة يمكنك تضمينها في رمز HTML الذي تم إنشاؤه. والأهم من ذلك، إنّ العميل للمستخدم النهائي هو الذي يطلب عمومًا خدمة Google Maps Platform، وليس الخادم.

استخدام توقيع رقمي

من أفضل الممارسات استخدام التوقيعات الرقمية دائمًا بالإضافة إلى مفتاح واجهة برمجة التطبيقات. راجِع أيضًا عدد الطلبات غير الموقَّعة التي تريد السماح بها يوميًا وعدِّل حصص الطلبات غير الموقَّعة وفقًا لذلك.

لمزيد من التفاصيل عن التوقيعات الرقمية، يُرجى الاطّلاع على دليل التوقيعات الرقمية.

حماية مفتاح التوقيع

لحماية واجهات برمجة التطبيقات الثابتة للويب، لا تُدمِج أسرار توقيع واجهات برمجة التطبيقات مباشرةً في الرمز البرمجي أو في شجرة المصدر، ولا تعرضها في التطبيقات من جهة العميل. اتّبِع أفضل الممارسات التالية لحماية أسرار التوقيع:

  • وقِّع طلباتك من جهة الخادم، وليس من جهة العميل. إذا أجريت عملية التوقيع من جهة العميل في JavaScript، ستُعرِضها لأي شخص يزور موقعك الإلكتروني. لذلك، بالنسبة إلى الصور التي يتم إنشاؤها ديناميكيًا، يجب دائمًا إنشاء عناوين URL لطلبات واجهة برمجة التطبيقات الثابتة لـ "خرائط Google" و"التجوّل الافتراضي" الثابتة من جهة الخادم عند عرض صفحة الويب. بالنسبة إلى محتوى الويب الثابت، يمكنك استخدام التطبيق المصغّر توقيع عنوان URL الآن في صفحة بيانات الاعتماد في "منصة خرائط Google" على Cloud Console.

  • احفظ أسرار التوقيع خارج رمز المصدر وشجرة المصدر لتطبيقك. إذا وضعت أسرار التوقيع أو أي معلومات خاصة أخرى في متغيّرات البيئة أو أدرجت ملفات يتم تخزينها بشكل منفصل ثم شاركت الرمز، لن يتم تضمين أسرار التوقيع في الملفات المشترَكة. إذا كنت تخزِّن أسرار التوقيع أو أي معلومات خاصة أخرى في الملفات، احفظ هذه الملفات خارج شجرة مصدر تطبيقك للحفاظ على أسرار التوقيع خارج نظام التحكّم في رمز المصدر. ويكون هذا الإجراء الاحتياطي مهمًا بشكل خاص إذا كنت تستخدم نظامًا لإدارة الرموز البرمجية المتاحة للجميع، مثل GitHub.

حماية مفتاح واجهة برمجة التطبيقات في التطبيقات التي تستخدم خدمات الويب

احفظ مفاتيح واجهة برمجة التطبيقات خارج ملف الرمز المصدر أو شجرة المصدر لتطبيقك. إذا وضعت مفاتيح واجهة برمجة التطبيقات أو أي معلومات أخرى في متغيّرات البيئة أو أدرجت ملفات يتم تخزينها بشكل منفصل ثم شاركت الرمز البرمجي، لن يتم تضمين مفاتيح واجهة برمجة التطبيقات في الملفات المشترَكة. وهذا مهم بشكل خاص إذا كنت تستخدم نظامًا لإدارة الرمز المصدر المفتوح، مثل GitHub.

حماية مفتاح واجهة برمجة التطبيقات وسر التوقيع في التطبيقات المتوافقة مع الأجهزة الجوّالة باستخدام خدمات الويب أو واجهات برمجة التطبيقات الثابتة للويب

لحماية التطبيقات المتوافقة مع الأجهزة الجوّالة، استخدِم ملف تخزين مفاتيح آمنًا أو خادم وكيل آمنًا:

  • احفظ مفتاح واجهة برمجة التطبيقات أو مفتاح التوقيع في ملف تخزين مفاتيح آمن. تصعِّب هذه الخطوة جمع مفاتيح واجهة برمجة التطبيقات والبيانات الخاصة الأخرى مباشرةً من التطبيق.

  • استخدام خادم وكيل آمن يقدّم الخادم الوكيل مصدرًا قويًا للتفاعل مع واجهة برمجة التطبيقات المناسبة في "منصة خرائط Google". لمزيد من المعلومات حول استخدام خادم وكيل، يُرجى الاطّلاع على مقالة العيش بالنيابة عن الآخرين: استخدام الخوادم الوكيلة مع مكتبات عملاء Google Data API.

    • أنشئ طلبات "منصة خرائط Google" على الخادم الوكيل. لا تسمح للعملاء بإعادة توجيه طلبات واجهة برمجة التطبيقات العشوائية عبر الخادم الوكيل.

    • يمكنك إجراء عمليات ما بعد المعالجة على ردود "منصة خرائط Google" على خادم الوكيل. فلترة البيانات التي لا يحتاج إليها العميل

استخدام App Check لتأمين مفتاح واجهة برمجة التطبيقات

تتيح لك حِزم تطوير البرامج (SDK) وواجهات برمجة التطبيقات في "خرائط Google" دمج Firebase App Check. توفّر ميزة "فحص التطبيقات" الحماية للطلبات الواردة من تطبيقك إلى "منصّة خرائط Google" من خلال حظر الزيارات القادمة من مصادر غير التطبيقات المشروعة. ويتم ذلك من خلال التحقّق من رمز مميّز من مقدّم شهادة إثبات الهوية. يساعد دمج تطبيقاتك مع أداة "فحص التطبيقات" في الحماية من الطلبات الضارّة، وبالتالي لا يتم تحصيل رسوم منك مقابل طلبات البيانات من واجهة برمجة التطبيقات غير المصرّح بها.

تعليمات دمج App Check:

التعامل مع الاستخدام غير المصرّح به لمفتاح واجهة برمجة التطبيقات

إذا رصدت استخدامًا غير مصرَّح به لمفتاح واجهة برمجة التطبيقات، اتّبِع الخطوات التالية لمعالجة المشكلة:

  1. تقييد مفاتيحك: إذا كنت قد استخدمت المفتاح نفسه في تطبيقات متعددة، يمكنك نقل البيانات إلى مفاتيح واجهة برمجة تطبيقات متعددة واستخدام مفاتيح واجهة برمجة تطبيقات منفصلة لكل تطبيق. لمزيد من التفاصيل، يُرجى الاطّلاع على:

  2. لا تُعدِّل مفاتيح التشفير إلا إذا تعذّر عليك حظرها. يُرجى قراءة القسم توخّي الحذر عند إعادة إنشاء مفاتيح واجهة برمجة التطبيقات قبل المتابعة.

  3. إذا استمرت المشاكل أو كنت بحاجة إلى مساعدة، يُرجى التواصل مع فريق الدعم.

القيود المقترَحة على التطبيقات وواجهات برمجة التطبيقات

تقترح الأقسام التالية قيودًا مناسبة على التطبيقات وواجهات برمجة التطبيقات لكل واجهة برمجة تطبيقات أو حزمة تطوير برامج أو خدمة في "منصة خرائط Google".

القيود المقترَحة على واجهة برمجة التطبيقات

تنطبق الإرشادات التالية لقيود واجهات برمجة التطبيقات على "منصة خرائط Google" بأكملها:

  • حصر مفتاح واجهة برمجة التطبيقات في واجهات برمجة التطبيقات التي تستخدمها فقط، مع مراعاة الاستثناءات التالية:

    • إذا كان تطبيقك يستخدِم حزمة تطوير البرامج (SDK) لأماكن Android أو حزمة تطوير البرامج (SDK) لأماكن iOS، عليك تفويض واجهة برمجة التطبيقات Places API.

    • إذا كان تطبيقك يستخدم واجهة برمجة التطبيقات Maps JavaScript API، عليك دائمًا منحها الإذن باستخدام مفتاحك.

    • إذا كنت تستخدم أيضًا أيًا من خدمات واجهة برمجة التطبيقات التالية لـ JavaScript في "خرائط Google"، يجب أيضًا تفويض واجهات برمجة التطبيقات التالية:

    الخدمة تقييد واجهة برمجة التطبيقات
    Directions Service وMaps JavaScript API Directions API
    خدمة Distance Matrix وMaps JavaScript API Distance Matrix API
    خدمة تحديد الارتفاع وMaps JavaScript API Elevation API
    خدمة ترميز المواقع الجغرافية وMaps JavaScript API Geocoding API
    Places Library, Maps JavaScript API واجهة برمجة تطبيقات الأماكن

إليك بعض الأمثلة:

  • إذا كنت تستخدم حزمة تطوير البرامج بالاستناد إلى بيانات "خرائط Google" لنظام Android و حزمة تطوير البرامج (SDK) للأماكن لنظام Android، يمكنك تضمين حزمة تطوير البرامج بالاستناد إلى بيانات "خرائط Google" لنظام Android وواجهة برمجة تطبيقات الأماكن كأحد قيود واجهة برمجة التطبيقات.

  • يستخدم موقعك الإلكتروني واجهة برمجة التطبيقات JavaScript لخرائط Google وElevation Service وMaps Static API، لذا عليك إضافة قيود واجهة برمجة التطبيقات لجميع واجهات برمجة التطبيقات التالية:

    • Maps JavaScript API
    • Elevation API
    • Maps Static API

قيود التطبيقات المقترَحة

المواقع الإلكترونية التي تستخدم واجهة برمجة التطبيقات Maps JavaScript API أو Static Web API

بالنسبة إلى المواقع الإلكترونية التي تستخدم خدمات JavaScript في "خرائط Google" أو واجهات برمجة التطبيقات الثابتة للويب، استخدِم قيد تطبيق Websites.

الاستخدام للمواقع الإلكترونية التي تستخدم خدمات JavaScript وواجهات برمجة التطبيقات التالية:

1 بالنسبة إلى التطبيقات المتوافقة مع الأجهزة الجوّالة، ننصحك باستخدام حِزم تطوير البرامج (SDK) الأصلية لتطبيق "خرائط Google" لنظام التشغيل Android ولتطبيق "خرائط Google" لنظام التشغيل iOS.

2 اطّلِع أيضًا على حماية التطبيقات المتوافقة مع الأجهزة الجوّالة باستخدام خدمة الويب أو واجهات برمجة تطبيقات الويب الثابتة.

المواقع الإلكترونية التي تستخدم واجهة برمجة التطبيقات Maps Embed API

على الرغم من أنّ استخدام واجهة برمجة التطبيقات Maps Embed API مجاني، يجب مع ذلك حظر أي مفتاح واجهة برمجة تطبيقات مستخدَم لمنع إساءة الاستخدام في خدمات أخرى.

أفضل الممارسات: أنشئ مفتاح واجهة برمجة تطبيقات منفصلاً لاستخدام Maps Embed API ، وحدِّد هذا المفتاح فقط لواجهة برمجة التطبيقات Maps Embed API. يضمن هذا القيود أمان المفتاح بشكل كافٍ، ويمنع استخدامه غير المصرّح به في أي خدمة أخرى من خدمات Google.

إذا لم تتمكّن من فصل استخدامك لواجهة برمجة التطبيقات "إدراج خرائط Google" عن استخدام مفاتيح واجهة برمجة تطبيقات أخرى، يمكنك تأمين مفتاحك باستخدام Websites قيود التطبيق.

التطبيقات والخوادم التي تستخدم خدمات الويب

بالنسبة إلى التطبيقات والخوادم التي تستخدم خدمات الويب، استخدِم IP addresses تقييد التطبيق.

استخدام التطبيقات والخوادم التي تستخدم واجهات برمجة التطبيقات التالية:

3 بالنسبة إلى التطبيقات المتوافقة مع الأجهزة الجوّالة، ننصحك باستخدام حِزم تطوير البرامج (SDK) الأصلية لأماكن Google لنظام التشغيل Android ولأماكن Google لنظام التشغيل iOS.

تطبيقات Android

بالنسبة إلى التطبيقات على Android، استخدِم ميزة تقييد التطبيقات Android apps. الاستخدام للتطبيقات والخوادم التي تستخدم حِزم SDK هذه:

بالإضافة إلى ذلك، يمكنك منع وضع مفاتيح واجهة برمجة التطبيقات عن طريق الخطأ في أداة التحكّم في الإصدارات من خلال استخدام مكوّن Secrets Gradle Plugin لإدخال الأسرار من ملف محلي بدلاً من تخزينها في بيان Android.

تطبيقات iOS

بالنسبة إلى التطبيقات على نظام التشغيل iOS، استخدِم ميزة "قيود التطبيقات" على iOS apps. الاستخدام للتطبيقات والخوادم التي تستخدم حِزم SDK هذه: