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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  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" في Google Cloud Console.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    • إذا كنت تستخدم أيضًا أيًا من خدمات واجهة برمجة تطبيقات 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) لتطبيق "خرائط Google" لنظام التشغيل Android و"واجهة برمجة تطبيقات الأماكن" كقيود لواجهة برمجة التطبيقات.

  • يستخدم موقعك الإلكتروني خدمة تغيير السعر في واجهة برمجة تطبيقات JavaScript للخرائط وواجهة برمجة التطبيقات الثابتة للخرائط، وبالتالي يمكنك إضافة قيود على واجهة برمجة التطبيقات لجميع واجهات برمجة التطبيقات التالية:

    • Maps JavaScript API
    • Elevation API
    • Maps Static API

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

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

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

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

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

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

المواقع الإلكترونية التي تستخدم "واجهة برمجة التطبيقات للخرائط" المضمّنة

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

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

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

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

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

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

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

تطبيقات Android

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

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

تطبيقات iOS

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