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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. افتح صفحة بيانات اعتماد "منصة خرائط Google".

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

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

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

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

    نوع التقييد الوصف
    المواقع الإلكترونية حدِّد موقع إلكتروني مُحيل واحدًا أو أكثر.
    • مخطّطات معرّف الموارد المنتظم (URI) للمُحيل المتوافقة عالميًا هي https وhttp.
    • قدِّم دائمًا معرِّف الموارد المنتظم (URI) الكامل للمحيل، بما في ذلك نظام البروتوكول واسم المضيف والمنفذ الاختياري (على سبيل المثال، 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". إذا كنت تستخدم ترجمة عنوان الشبكة (NAT)، يكون هذا العنوان عادةً مطابقًا لعنوان IP العلني لجهازك.
    تطبيقات Android أضِف اسم حزمة Android (من ملف AndroidManifest.xml) والملف المرجعي لشهادة توقيع SHA-1 لكل تطبيق Android تريد مصادقته. إذا كنت تستخدم ميزة "توقيع التطبيق" من Play، يُرجى الاطّلاع على العمل مع مزوّدي واجهة برمجة التطبيقات لجلب الملف المرجعي لشهادة التوقيع. إذا كنت تدير مفتاح التوقيع الخاص بك، يُرجى مراجعة التوقيع الذاتي على التطبيق أو الاطّلاع على تعليمات بيئة التصميم.
    تطبيقات iOS أضِف معرِّف الحزمة لكل تطبيق iOS تريد مصادقته.

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

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

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

  1. افتح صفحة بيانات اعتماد "منصة خرائط Google".

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

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

    • اختَر تقييد المفتاح.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    • بالنسبة إلى مفاتيح واجهة برمجة التطبيقات التي تستخدم واجهة برمجة تطبيقات تضمين "خرائط Google": انتقِل إلى مستكشف المقاييس.

  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 inline API، يمكنك الاطّلاع على المواقع الإلكترونية التي تحتوي على Maps inline API.
    يستخدم مفتاح واجهة برمجة التطبيقات الخاص بي أنواعًا متعددة من الأنظمة الأساسية.
    لا يمكن تأمين الزيارات بشكلٍ صحيح باستخدام مفتاح واجهة برمجة تطبيقات واحد فقط. تحتاج إلى النقل إلى مفاتيح واجهة برمجة تطبيقات متعددة. لمزيد من المعلومات، يُرجى الاطّلاع على نقل البيانات إلى مفاتيح واجهة برمجة تطبيقات متعددة.

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

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

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

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

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

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

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

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

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

    2. إضافة الخدمات الناقصة يدويًا إلى قائمة واجهات برمجة التطبيقات المراد تفويضها.

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

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

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

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

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

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

  1. افتح صفحة بيانات اعتماد "منصة خرائط Google".

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. افتح صفحة بيانات اعتماد "منصة خرائط Google".

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

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

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

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

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

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

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

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

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

  1. افتح صفحة بيانات اعتماد "منصة خرائط Google".

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

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

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

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

العودة إلى الإصدار السابق من مفتاح تمّت إعادة إنشائه

  1. افتح صفحة بيانات اعتماد "منصة خرائط Google".

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

  3. اختَر العودة إلى المفتاح السابق.

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

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

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

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

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

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

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

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

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

وتتشابه واجهات برمجة تطبيقات الويب الثابتة، مثل واجهة برمجة تطبيقات الخرائط الثابتة وواجهة برمجة التطبيقات الثابتة لميزة "التجوّل الافتراضي"، مع طلبات بيانات من واجهة برمجة التطبيقات لخدمة الويب.

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

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

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

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

حماية سر التوقيع

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

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

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

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

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

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

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

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

  • استخدام خادم وكيل آمن يوفر الخادم الوكيل مصدرًا متينًا للتفاعل مع واجهة برمجة التطبيقات المناسبة لـ Google Maps Platform. للحصول على مزيد من المعلومات حول استخدام خادم وكيل، راجع Living Vicariously: استخدام خوادم الخادم الوكيل مع Google Data API Client Libraries.

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

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

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

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

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

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

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

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

تقترح الأقسام التالية قيود التطبيقات وواجهة برمجة التطبيقات المناسبة لكل واجهة برمجة تطبيقات أو حزمة تطوير برامج (SDK) أو خدمة في Google Maps Platform.

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

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

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

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

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

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

    الخدمة قيد واجهة برمجة التطبيقات
    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 وحزمة تطوير برامج الأماكن لأجهزة Android، ولذلك يمكنك تضمين حزمة SDK للخرائط لنظام التشغيل Android وواجهة برمجة تطبيقات الأماكن كقيود لواجهة برمجة التطبيقات.

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

    • Maps JavaScript API
    • Elevation API
    • Maps Static API

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

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

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

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

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

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

مواقع الويب التي تحتوي على واجهة برمجة تطبيقات تضمين الخرائط

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

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

إذا لم تتمكن من فصل استخدام Maps inline API عن مفتاح واجهة برمجة تطبيقات منفصل، عليك تأمين مفتاحك باستخدام Websites قيد التطبيق.

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

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

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

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

تطبيقات Android

بالنسبة إلى التطبيقات التي تعمل بنظام التشغيل Android، يمكن استخدام قيد Android apps التطبيق. يُرجى استخدامها للتطبيقات والخوادم التي تستخدم حِزم تطوير البرامج (SDK) التالية:

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

تطبيقات iOS

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