يتم تأمين منتجات "منصّة خرائط Google" من الاستخدام غير المصرّح به من خلال حصر طلبات بيانات من واجهة برمجة التطبيقات في تلك التي تقدّم بيانات اعتماد مصادقة صحيحة. تكون بيانات الاعتماد هذه على شكل مفتاح واجهة برمجة التطبيقات، وهو سلسلة أبجدية رقمية فريدة تربط حساب الفوترة في Google بمشروعك وبواجهة برمجة التطبيقات أو حزمة تطوير البرامج (SDK) المحدّدة.
يوضّح هذا الدليل كيفية إنشاء مفتاح واجهة برمجة التطبيقات لاستخدامه في "منصّة خرائط Google"، وفرض قيود عليه، وكيفية استخدامه.
قبل البدء
قبل البدء في استخدام Places API، تحتاج إلى مشروع يتضمّن حساب فوترة وتكون فيه واجهة برمجة التطبيقات Places API مفعّلة. لمزيد من المعلومات، يُرجى الاطّلاع على الإعداد في Cloud Console.
إنشاء مفاتيح واجهة برمجة التطبيقات
مفتاح واجهة برمجة التطبيقات هو معرّف فريد يصادق على الطلبات المرتبطة بمشروعك لأغراض الاستخدام والفوترة. يجب أن يكون لديك مفتاح واجهة برمجة تطبيقات واحد على الأقل مرتبط بمشروعك.
لإنشاء مفتاح واجهة برمجة التطبيقات:
وحدة التحكّم
-
انتقِل إلى صفحة منصة خرائط Google > بيانات الاعتماد.
-
في صفحة بيانات الاعتماد، انقر على إنشاء بيانات اعتماد > مفتاح واجهة برمجة التطبيقات.
يعرض مربع الحوار تم إنشاء مفتاح واجهة برمجة التطبيقات مفتاح واجهة برمجة التطبيقات الذي تم إنشاؤه حديثًا. -
انقر على إغلاق.
يتم إدراج مفتاح واجهة برمجة التطبيقات الجديد في صفحة بيانات الاعتماد ضمن مفاتيح واجهة برمجة التطبيقات.
(تذكَّر فرض قيود على مفتاح واجهة برمجة التطبيقات قبل استخدامه في مرحلة الإنتاج).
SDK للسحاب
gcloud alpha services api-keys create \ --project "PROJECT" \ --display-name "DISPLAY_NAME"
يمكنك قراءة المزيد عن حزمة تطوير البرامج (SDK) في Google Cloud , تثبيت Cloud SDK ، بالإضافة إلى الأوامر التالية:
تقييد مفاتيح واجهة برمجة التطبيقات
تنصح Google بشدة بتقييد مفاتيح واجهة برمجة التطبيقات من خلال حصر استخدامها على تلك المفاتيح واجهات برمجة التطبيقات المطلوبة لتطبيقك. يؤدي تقييد مفاتيح واجهة برمجة التطبيقات إلى تعزيز أمان تطبيقك من خلال وحمايتها من الطلبات غير المبررة. لمزيد من المعلومات، يُرجى الاطّلاع على أفضل الممارسات المتعلّقة بأمان واجهة برمجة التطبيقات.
لتقييد مفتاح واجهة برمجة التطبيقات، اتّبِع الخطوات التالية:
وحدة التحكّم
-
انتقل إلى Google Maps Platform > بيانات الاعتماد.
- اختَر مفتاح واجهة برمجة التطبيقات الذي تريد فرض قيود عليه. ستظهر لك صفحة خاصية مفتاح واجهة برمجة التطبيقات.
- ضمن قيود المفاتيح، اضبط القيود التالية:
- قيود التطبيقات:
- لقبول الطلبات من قائمة عناوين IP لخادم الويب التي تقدّمها، اختَر عناوين IP (خوادم الويب ومهام cron وغيرها) من قائمة قيود التطبيق. حدِّد عنوانًا واحدًا أو أكثر من عناوين IPv4 أو IPv6، أو الشبكة الفرعية باستخدام تدوين CIDR. يجب أن تتطابق عناوين IP مع عنوان المصدر الذي ترصده خوادم Google Maps Platform. في حال استخدام ترجمة عنوان الشبكة (NAT)، سيتوافق ذلك عادةً مع عنوان IP العلني لجهازك.
- القيود المفروضة على واجهة برمجة التطبيقات:
- انقر على تقييد المفتاح.
- اختَر Places API أو Places API (جديد) من القائمة المنسدلة اختيار واجهات برمجة التطبيقات، وليس كليهما. إذا لم تكن Places API أو Places API (الإصدار الجديد) مُدرَجة، عليك تفعيلها.
- لإنهاء التغييرات، انقر على حفظ.
SDK للسحاب
Places API (جديدة)
إدراج المفاتيح الحالية
gcloud services api-keys list --project="PROJECT"
أزِل القيود الحالية المفروضة على المفتاح الحالي.
gcloud alpha services api-keys update "projects/PROJECT/keys/KEY_ID" \ --clear-restrictions
فرض قيود جديدة على المفتاح الحالي.
gcloud alpha services api-keys update "projects/PROJECT/keys/KEY_ID" \ --api-target="places.googleapis.com" --allowed-ips="IP_ADDRESS"
يمكنك الاطّلاع على مزيد من المعلومات حول Google Cloud SDK و تثبيت حزمة Cloud SDK والأوامر التالية:
واجهة برمجة تطبيقات الأماكن
إدراج المفاتيح الحالية
gcloud services api-keys list --project="PROJECT"
أزِل القيود الحالية المفروضة على المفتاح الحالي.
gcloud alpha services api-keys update "projects/PROJECT/keys/KEY_ID" \ --clear-restrictions
فرض قيود جديدة على المفتاح الحالي.
gcloud alpha services api-keys update "projects/PROJECT/keys/KEY_ID" \ --api-target="places-backend.googleapis.com" --allowed-ips="IP_ADDRESS"
يمكنك قراءة المزيد عن حزمة تطوير البرامج (SDK) في Google Cloud , تثبيت Cloud SDK ، بالإضافة إلى الأوامر التالية:
جارٍ إضافة مفتاح واجهة برمجة التطبيقات إلى طلبك
يجب تضمين مفتاح واجهة برمجة التطبيقات مع كل طلب مُرسَل إلى Places API. في المثال التالي،
استبدل YOUR_API_KEY
بمفتاح واجهة برمجة التطبيقات الخاص بك.
https://places.googleapis.com/v1/places/ChIJj61dQgK6j4AR4GeTYWZsKWw?fields=id,displayName&key=YOUR_API_KEY
يجب توفُّر بروتوكول HTTPS للطلبات التي تستخدم مفتاح واجهة برمجة التطبيقات.