คำแนะนำด้านความปลอดภัยของ Google Maps Platform

สำหรับแอปและโปรเจ็กต์ที่ใช้ Google Maps Platform API และ SDK คุณต้องใช้คีย์ API หรือใช้ Oauth (หากรองรับ) เพื่อป้องกันการใช้งานและการเรียกเก็บเงินที่ไม่ได้รับอนุญาต หากคุณใช้คีย์ API ให้จำกัดคีย์ API เมื่อสร้างคีย์เพื่อความปลอดภัยสูงสุด แนวทางปฏิบัติแนะนำเหล่านี้แสดงวิธีการจำกัดเนื้อหา

นอกจากการใช้ข้อจำกัดคีย์ API ของแอปพลิเคชันและ API แล้ว โปรดปฏิบัติตามแนวทางปฏิบัติด้านความปลอดภัยที่ใช้กับผลิตภัณฑ์ Google Maps Platform บางอย่างด้วย ตัวอย่างเช่น โปรดดู Maps JavaScript API ด้านล่างในแอปพลิเคชันที่แนะนำและการจำกัด API

หากใช้คีย์ API อยู่แล้ว โปรดดูคำแนะนำด้านล่างในหัวข้อหากคุณกำลังจำกัดหรือสร้างคีย์ API ที่ใช้งานอยู่อีกครั้ง

ดูรายละเอียดเพิ่มเติมเกี่ยวกับลายเซ็นดิจิทัลได้ที่คู่มือลายเซ็นดิจิทัล

แนวทางปฏิบัติแนะนำ

เพื่อเพิ่มความปลอดภัยและหลีกเลี่ยงไม่ให้มีการเรียกเก็บเงินสำหรับการใช้งานที่ไม่ได้รับอนุญาต โปรดทำตามแนวทางปฏิบัติแนะนำด้านความปลอดภัยของ API สำหรับ Google Maps Platform API, SDK หรือบริการทั้งหมดของ Google Maps

จำกัดคีย์ API

ใช้คีย์ API แยกกันสำหรับแต่ละแอป

ลบคีย์ API ที่ไม่ได้ใช้

ตรวจสอบการใช้งานคีย์ API

โปรดใช้ความระมัดระวังเมื่อสร้างคีย์ API ใหม่

คำแนะนำเพิ่มเติมสำหรับเว็บไซต์ที่ใช้ Static Web API

ปกป้องแอปโดยใช้ Web API แบบคงที่

คำแนะนำเพิ่มเติมสำหรับแอปที่ใช้บริการเว็บ

ปกป้องแอปโดยใช้บริการเว็บ

คำแนะนำเพิ่มเติมสำหรับแอปพลิเคชันบนอุปกรณ์เคลื่อนที่ iOS และ Android

ปกป้องแอปบนอุปกรณ์เคลื่อนที่โดยใช้บริการเว็บหรือ Web API แบบคงที่

หากคุณกำลังจำกัดหรือสร้างคีย์ API ที่ใช้งานอยู่อีกครั้ง

  • ก่อนเปลี่ยนคีย์ API ให้ตรวจสอบการใช้งานคีย์ API ขั้นตอนนี้มีความสำคัญอย่างยิ่งหากคุณเพิ่มข้อจำกัดหลังจากใช้งานคีย์แล้ว

  • หลังจากเปลี่ยนคีย์แล้ว ให้อัปเดตแอปทั้งหมดด้วยคีย์ API ใหม่ตามที่จำเป็น

  • หากไม่มีการใช้คีย์ API ในทางที่ผิดอยู่ คุณย้ายข้อมูลแอปไปยังคีย์ API ใหม่หลายรายการได้ในเวลาที่คุณสะดวก โดยไม่ต้องเปลี่ยนคีย์ API เดิมจนกว่าคุณจะเห็นการรับส่งข้อมูลเพียงประเภทเดียว ซึ่งคุณสามารถจำกัดคีย์ API ที่มีข้อจำกัดของแอปพลิเคชันได้ ดูวิธีการเพิ่มเติมได้ที่หัวข้อย้ายข้อมูลไปยังคีย์ API หลายรายการ

    ตรวจสอบการใช้งานเมื่อเวลาผ่านไป และดูว่า API, ประเภทแพลตฟอร์ม และโดเมนบางรายการได้ย้ายข้อมูลออกจากคีย์ API เก่าเมื่อใดก่อนที่จะเลือกที่จะจำกัดหรือลบคีย์เก่า สำหรับข้อมูลเพิ่มเติม โปรดดูการรายงานและการตรวจสอบและเมตริก

  • หากคีย์ API ถูกบุกรุก คุณควรดำเนินการให้เร็วขึ้นเพื่อรักษาคีย์ API ให้ปลอดภัยและหยุดการละเมิด ในแอป Android และ iOS จะไม่มีการแทนที่คีย์จนกว่าลูกค้าจะอัปเดตแอป การอัปเดตหรือแทนที่คีย์ใน JavaScript หรือแอปบริการบนเว็บนั้นทำได้ง่ายกว่ามาก แต่ก็อาจต้องมีการวางแผนอย่างรอบคอบและทำงานรวดเร็ว

    ดูข้อมูลเพิ่มเติมได้ที่จัดการการใช้คีย์ API โดยไม่ได้รับอนุญาต

จำกัดคีย์ API

แนวทางปฏิบัติแนะนำคือให้จำกัดคีย์ API ด้วยการจำกัดแอปพลิเคชันและการจำกัด API อย่างน้อย 1 ข้ออยู่เสมอ ดูข้อจำกัดที่แนะนำของบริการ API, SDK หรือ JavaScript ได้ที่แอปพลิเคชันที่แนะนำและการจำกัด API ด้านล่าง

  • ข้อจำกัดของแอปพลิเคชัน คุณจำกัดการใช้คีย์ API ได้เฉพาะในบางแพลตฟอร์ม ซึ่งได้แก่ แอปพลิเคชัน Android หรือ iOS หรือเว็บไซต์ที่เฉพาะเจาะจงสำหรับแอปพลิเคชันฝั่งไคลเอ็นต์ หรือที่อยู่ IP ที่เจาะจงหรือซับเน็ต CIDR สำหรับแอปฝั่งเซิร์ฟเวอร์ที่เรียกใช้ REST API ของบริการบนเว็บ

    คุณจำกัดคีย์ได้โดยเพิ่มการจำกัดแอปพลิเคชันของประเภทที่คุณต้องการให้สิทธิ์อย่างน้อย 1 รายการ หลังจากนั้นระบบจะอนุญาตเฉพาะคำขอที่มาจากแหล่งที่มาเหล่านี้เท่านั้น

  • ข้อจำกัด API คุณจำกัดได้ว่า Google Maps Platform API, SDK หรือบริการใดบ้างที่ใช้คีย์ API ได้ การจำกัด API จะอนุญาตคำขอที่ส่งไปยัง API และ SDK ที่คุณระบุเท่านั้น คุณสามารถระบุข้อจำกัด API ได้มากเท่าที่ต้องการสำหรับคีย์ API ใดก็ตาม รายการ API ที่พร้อมใช้งานจะรวมถึง API ทั้งหมดที่เปิดใช้ในโปรเจ็กต์

ตั้งค่าการจำกัดแอปพลิเคชันสำหรับคีย์ API

  1. เปิดหน้าข้อมูลเข้าสู่ระบบ Google Maps Platform ของคอนโซล Google Cloud

  2. เลือกคีย์ API ที่ต้องการจำกัด

  3. ในหน้าแก้ไขคีย์ API ในส่วนข้อจำกัดของคีย์ ให้เลือกตั้งค่าข้อจำกัดของแอปพลิเคชัน

    แก้ไขหน้าคีย์ API

  4. เลือกประเภทข้อจำกัด 1 ประเภทและระบุข้อมูลที่ขอซึ่งเป็นไปตามรายการข้อจำกัด

    ประเภทข้อจำกัด คำอธิบาย
    เว็บไซต์ ระบุเว็บไซต์อ้างอิงอย่างน้อย 1 เว็บไซต์
    • รูปแบบ URI ผู้อ้างอิงที่รองรับทั่วโลกคือ https และ http
    • ระบุ URI ผู้อ้างอิงแบบเต็มเสมอ ซึ่งรวมถึงรูปแบบโปรโตคอล ชื่อโฮสต์ และพอร์ตที่ไม่บังคับ (เช่น https://google.com).
    • คุณสามารถใช้อักขระไวลด์การ์ดเพื่อให้สิทธิ์โดเมนย่อยทั้งหมดได้ ตัวอย่างเช่น https://*.google.com ยอมรับเว็บไซต์ทั้งหมดที่ลงท้ายด้วย .google.com โปรดทราบว่าหากคุณระบุ www.domain.com โดเมนนี้จะทำหน้าที่เป็นไวลด์การ์ด www.domain.com/* และให้สิทธิ์เส้นทางย่อยในชื่อโฮสต์นั้น
    • โปรดระมัดระวังเมื่อให้สิทธิ์ URL ที่มาแบบเต็ม เช่น https://google.com/some/path เนื่องจากโดยค่าเริ่มต้น เบราว์เซอร์ปัจจุบันส่วนใหญ่จะตัดเส้นทางออกจากคำขอแบบข้ามต้นทาง
    ที่อยู่ IP ระบุที่อยู่ IPv4 หรือ IPv6 หรือซับเน็ตโดยใช้รูปแบบ CIDR ที่อยู่ IP ต้องตรงกับที่อยู่ต้นทางที่เซิร์ฟเวอร์ Google Maps Platform สังเกตการณ์ หากคุณใช้การแปลที่อยู่เครือข่าย (NAT) ที่อยู่นี้มักจะสอดคล้องกับที่อยู่ IP สาธารณะของเครื่อง
    แอป Android เพิ่มชื่อแพ็กเกจ Android (จากไฟล์ AndroidManifest.xml) และลายนิ้วมือรับรองการลงนาม SHA-1 ของแอปพลิเคชัน Android แต่ละแอปที่คุณต้องการให้สิทธิ์ หากคุณใช้ Play App Signing ให้ดึงข้อมูลลายนิ้วมือของใบรับรองที่ลงชื่อที่หัวข้อการทำงานร่วมกับผู้ให้บริการ API หากคุณจัดการคีย์ Signing ของคุณเอง โปรดดูการลงนามแอปพลิเคชันด้วยตนเอง หรือดูวิธีการสำหรับสภาพแวดล้อมของบิลด์
    แอป iOS เพิ่มตัวระบุกลุ่มของแอปพลิเคชัน iOS แต่ละแอปที่คุณต้องการให้สิทธิ์

    ดูคำแนะนำเกี่ยวกับการจำกัดแอปพลิเคชันได้ที่ข้อจำกัดแอปพลิเคชันที่แนะนำ

  5. เลือกบันทึก

กำหนดข้อจำกัด API สำหรับคีย์ API

  1. เปิดหน้าข้อมูลเข้าสู่ระบบ Google Maps Platform ของคอนโซล Google Cloud

  2. เลือกคีย์ API ที่ต้องการจำกัด

  3. ในหน้าแก้ไขคีย์ API ในส่วนการจำกัด API ให้ทำดังนี้

    • เลือกจำกัดคีย์

    • เปิดเลือก API แล้วเลือก API หรือ SDK ที่ต้องการให้แอปพลิเคชันเข้าถึงโดยใช้คีย์ API

      หากไม่มี API หรือ SDK ในรายการ คุณต้องเปิดใช้ โปรดดูรายละเอียดที่หัวข้อ วิธีเปิดใช้ API หรือ SDK อย่างน้อย 1 รายการ

    จำกัด API ในหน้าแก้ไขคีย์ API

  4. เลือกบันทึก

    หลังจากขั้นตอนนี้ ข้อจำกัดดังกล่าวจะกลายเป็นส่วนหนึ่งของคำจำกัดความของคีย์ API โปรดระบุรายละเอียดที่เหมาะสมและเลือกบันทึกเพื่อบันทึกข้อจำกัดของคีย์ API สำหรับข้อมูลเพิ่มเติม โปรดดูคำแนะนำรับคีย์ API ในเอกสารประกอบสำหรับ API หรือ SDK เฉพาะที่คุณสนใจ

โปรดดูข้อจำกัด API ที่แนะนำที่หัวข้อข้อจำกัดของ API ที่แนะนำ

ตรวจสอบการใช้งานคีย์ API

หากคุณจะจำกัดคีย์ API หลังจากที่มีการสร้างคีย์แล้ว หรือหากต้องการดูว่าคีย์ใช้ API ใดอยู่บ้างเพื่อที่จะจำกัดคีย์ได้ ให้ตรวจสอบการใช้งานคีย์ API ขั้นตอนเหล่านี้จะแสดงให้เห็นว่าบริการและเมธอด API ใดมีการใช้งานคีย์ API ถ้าคุณพบการใช้งานที่นอกเหนือจากบริการของ Google Maps Platform ให้ตรวจสอบว่าคุณต้องเพิ่มข้อจำกัดอื่นๆ เพื่อหลีกเลี่ยงการใช้งานที่ไม่พึงประสงค์หรือไม่ คุณใช้เครื่องมือสำรวจเมตริก Cloud Console ของ Google Maps Platform เพื่อช่วยระบุข้อจำกัด API และแอปพลิเคชันที่จะใช้กับคีย์ API ได้

ระบุ API ที่ใช้คีย์ API

รายงานเมตริกต่อไปนี้ช่วยให้คุณระบุได้ว่า API ใดกำลังใช้คีย์ API ของคุณ ใช้รายงานเหล่านี้เพื่อดำเนินการต่อไปนี้

  • ดูว่ามีการใช้คีย์ API ของคุณอย่างไร
  • พบการใช้งานที่ไม่คาดคิด
  • ช่วยยืนยันว่าคีย์ที่ไม่ได้ใช้ปลอดภัยที่จะลบหรือไม่ โปรดดูข้อมูลเกี่ยวกับการลบคีย์ API ที่หัวข้อลบคีย์ API ที่ไม่ได้ใช้

เมื่อใช้การจำกัด API ให้ใช้รายงานเหล่านี้เพื่อสร้างรายการ API ที่จะให้สิทธิ์ หรือเพื่อตรวจสอบคำแนะนำการจำกัดคีย์ API ที่สร้างขึ้นโดยอัตโนมัติ ดูข้อมูลเพิ่มเติมเกี่ยวกับข้อจำกัดที่แนะนำได้ที่ใช้ข้อจำกัดที่แนะนำ ดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้เครื่องมือสำรวจเมตริกได้ที่สร้างแผนภูมิด้วยเครื่องมือสำรวจเมตริก

  1. ไปที่เครื่องมือสำรวจเมตริกของคอนโซล Google Cloud

  2. เข้าสู่ระบบแล้วเลือกโปรเจ็กต์สำหรับคีย์ API ที่ต้องการตรวจสอบ

  3. ไปที่หน้าสำรวจเมตริกสำหรับประเภท API ที่คุณใช้

  4. ตรวจสอบคีย์ API แต่ละรายการดังนี้

    1. เลือกเพิ่มตัวกรอง

    2. เลือกป้ายกำกับ credential_id

    3. เลือกค่าที่ตรงกับคีย์ที่ต้องการตรวจสอบ

    4. ตรวจสอบว่าคีย์ API นี้ใช้สำหรับ API ใด และยืนยันว่าการใช้งานนั้นเป็นไปตามที่คาดไว้

    5. เมื่อเสร็จแล้ว ให้เลือกนำตัวกรองออก ที่ท้ายบรรทัดตัวกรองที่ใช้งานอยู่เพื่อลบตัวกรองที่เกินมา

  5. ทำซ้ำกับคีย์ที่เหลือ

  6. จำกัดคีย์ API ของคุณไว้สำหรับ API ที่ใช้เท่านั้น

  7. หากพบการใช้งานที่ไม่ได้รับอนุญาต โปรดดูหัวข้อจัดการการใช้คีย์ API โดยไม่ได้รับอนุญาต

เลือกประเภทการจำกัดแอปพลิเคชันที่ถูกต้องโดยใช้ตัวสำรวจเมตริก

หลังจากที่คุณยืนยันและดำเนินการใดๆ ที่จำเป็นเพื่อให้แน่ใจว่าคีย์ API ของคุณจะใช้กับบริการ Google Maps Platform ที่คีย์ใช้อยู่เท่านั้น และโปรดตรวจดูว่าคีย์ API มีข้อจำกัดด้านแอปพลิเคชันที่ถูกต้อง

หากคีย์ API มีข้อจำกัดของคีย์ API ที่แนะนำ ให้นำไปใช้ ดูข้อมูลเพิ่มเติมได้ที่ใช้ข้อจำกัดของคีย์ API ที่แนะนำ

หากคีย์ API ไม่มีคำแนะนำการจำกัด ให้ระบุประเภทของการจำกัดแอปพลิเคชันที่จะใช้ โดยอิงตาม platform_type ที่รายงานโดยใช้ตัวสำรวจเมตริก ดังนี้

  1. ไปที่เครื่องมือสำรวจเมตริกของคอนโซล Google Cloud

  2. เข้าสู่ระบบและเลือกโปรเจ็กต์สำหรับ API ที่ต้องการตรวจสอบ

  3. ไปที่หน้าเครื่องมือสำรวจเมตริก เครื่องมือสำรวจเมตริก

  4. ตรวจสอบคีย์ API แต่ละรายการดังนี้

    1. เลือกเพิ่มตัวกรอง

    2. เลือกป้ายกำกับ credential_id

    3. เลือกค่าที่ตรงกับคีย์ที่ต้องการตรวจสอบ

    4. เมื่อเสร็จแล้ว ให้เลือกนำตัวกรองออก ที่ท้ายบรรทัดตัวกรองที่ใช้งานอยู่เพื่อลบตัวกรองที่เกินมา

  5. ทำซ้ำกับคีย์ที่เหลือ

  6. เมื่อมีประเภทแพลตฟอร์มสำหรับคีย์ API แล้ว ให้ใช้การจำกัดแอปพลิเคชันสำหรับ platform_type ดังกล่าว ดังนี้

    PLATFORM_TYPE_JS
    ใช้การจำกัดเว็บไซต์กับคีย์
    PLATFORM_TYPE_ANDROID
    ใช้การจำกัดแอปพลิเคชัน Android กับคีย์
    PLATFORM_TYPE_IOS
    ใช้การจำกัดแอปพลิเคชัน iOS กับคีย์
    PLATFORM_TYPE_WEBSERVICE
    คุณอาจต้องใช้การจำกัดที่อยู่ IP กับคีย์เพื่อจำกัดไว้อย่างถูกต้อง ดูตัวเลือกเพิ่มเติมสำหรับ Maps Static API และ Street View Static API ได้ที่ปกป้องแอปโดยใช้ Static Web API ดูวิธีการเพิ่มเติมสำหรับ Maps Embed API ได้ที่เว็บไซต์ที่มี Maps Embed API
    คีย์ API ของฉันใช้แพลตฟอร์มหลายประเภท
    ระบบไม่สามารถรักษาความปลอดภัยการเข้าชมของคุณได้อย่างถูกต้องด้วยคีย์ API เพียงคีย์เดียว คุณต้องย้ายข้อมูลไปยังคีย์ API หลายรายการ ดูข้อมูลเพิ่มเติมได้ที่ย้ายข้อมูลไปยังคีย์ API หลายรายการ

ใช้คีย์ API แยกกันสำหรับแต่ละแอป

แนวทางปฏิบัตินี้จะจำกัดขอบเขตของแต่ละคีย์ หากคีย์ API รายการหนึ่งถูกบุกรุก คุณจะลบหรือสร้างคีย์ที่ได้รับผลกระทบใหม่ได้โดยไม่ต้องอัปเดตคีย์ API อื่นๆ คุณสร้างคีย์ API ได้สูงสุด 300 รายการต่อโปรเจ็กต์ ดูข้อมูลเพิ่มเติมได้ที่ขีดจำกัดของคีย์ API

แม้ว่าคีย์ API 1 รายการต่อแอปพลิเคชันจะเหมาะสำหรับวัตถุประสงค์ด้านความปลอดภัย แต่คุณก็ใช้คีย์ที่จำกัดกับหลายแอปได้ตราบใดที่แอปเหล่านั้นใช้การจำกัดแอปพลิเคชันประเภทเดียวกัน

ใช้ข้อจำกัดของคีย์ API ที่แนะนำ

สำหรับเจ้าของและผู้แก้ไขโปรเจ็กต์บางราย Google Cloud Console จะแนะนำข้อจำกัดคีย์ API ที่เจาะจงสำหรับคีย์ API ที่ไม่จำกัดโดยอิงตามการใช้งานและกิจกรรม Google Maps Platform

คำแนะนำจะปรากฏเป็นตัวเลือกที่กรอกไว้ล่วงหน้า (หากมี) ในหน้าข้อมูลเข้าสู่ระบบ Google Maps Platform

สาเหตุที่คุณอาจไม่เห็นคำแนะนำหรือคำแนะนำที่ไม่สมบูรณ์

  • คุณ (ด้วยเช่นกัน) กำลังใช้คีย์ API ในบริการอื่นนอกเหนือจาก Google Maps Platform หากเห็นการใช้งานในบริการอื่นๆ อย่าใช้คําแนะนําโดยไม่ได้ดําเนินการต่อไปนี้ก่อน

    1. ยืนยันว่าการใช้ API ที่คุณเห็นในตัวสำรวจเมตริกของ Google Cloud Console นั้นถูกต้อง

    2. เพิ่มบริการที่ขาดหายไปลงในรายการ API ที่จะได้รับอนุญาตด้วยตนเอง

    3. เพิ่มการจำกัดแอปพลิเคชันที่ขาดหายไปสำหรับบริการที่เพิ่มลงในรายการ API ด้วยตนเอง หากรายการอื่นที่เพิ่มเข้ามาต้องใช้ประเภทการจำกัดแอปพลิเคชันที่แตกต่างออกไป โปรดดูย้ายข้อมูลไปยังคีย์ API หลายรายการ

  • ระบบจะไม่ใช้คีย์ API ของคุณใน SDK หรือ API ฝั่งไคลเอ็นต์

  • คุณใช้คีย์ API ในแอปหรือเว็บไซต์ที่มีปริมาณน้อยซึ่งไม่พบการใช้งานในช่วง 60 วันที่ผ่านมา

  • คุณเพิ่งสร้างคีย์ใหม่ หรือเพิ่งทำให้คีย์ที่มีอยู่ใช้งานได้ในแอปใหม่เมื่อไม่นานมานี้ หากเป็นกรณีนี้ โปรดรออีก 2-3 วันเพื่อให้คำแนะนำอัปเดต

  • คุณกำลังใช้คีย์ API ในแอปพลิเคชันหลายรายการที่ต้องมีประเภทข้อจำกัดแอปพลิเคชันที่ขัดแย้งกัน หรือคุณใช้คีย์ API เดียวกันในแอปหรือเว็บไซต์ต่างๆ มากเกินไป แต่ไม่ว่าจะเป็นกรณีใด แนวทางปฏิบัติแนะนำ คุณควรเปลี่ยนไปใช้หลายคีย์ โปรดดูรายละเอียดเพิ่มเติมที่หัวข้อย้ายข้อมูลไปยังคีย์ API หลายรายการ

สาเหตุที่คุณอาจเห็นคำแนะนำที่ไม่ปรากฏในแผนภูมิ

  • แอปหรือเว็บไซต์ของคุณส่งการเข้าชมที่เกิดขึ้นในช่วงเวลาสั้นๆ เท่านั้น ในกรณีนี้ ให้เปลี่ยนจากมุมมองแผนภูมิเพื่อแสดงตารางหรือBOTH เนื่องจากการใช้งานจะยังคงปรากฏในคำอธิบาย ดูข้อมูลเพิ่มเติมได้ที่การสลับคำอธิบายแบบเต็มของแผนภูมิ

  • การเข้าชมของคุณมาจาก Maps Embed API โปรดดูวิธีการที่หัวข้อกำหนด API ที่ใช้คีย์ API

  • การเข้าชมจากแอปหรือเว็บไซต์อยู่นอกช่วงวันที่ที่ใช้ได้ในเครื่องมือสำรวจเมตริกคอนโซล Google Cloud

  1. เปิดหน้าข้อมูลเข้าสู่ระบบ Google Maps Platform ของคอนโซล Google Cloud

  2. เลือกใช้ข้อจำกัดที่แนะนำ (หากมี)

    ใช้ข้อจำกัดที่แนะนำ

    หมายเหตุ: หากไม่เห็นข้อจำกัดที่แนะนำ โปรดดูตั้งค่าการจำกัด API สำหรับคีย์ API เพื่อตั้งค่าข้อจำกัดที่เหมาะสม

  3. เลือกตรวจสอบการใช้งาน API เพื่อยืนยันว่าบริการที่ใช้คีย์ API นั้นอยู่ หากเห็นบริการอื่นนอกเหนือจากบริการของ Google Maps Platform ให้หยุดชั่วคราวเพื่อตรวจสอบขั้นตอนคำแนะนำข้างต้นด้วยตนเอง ดูขั้นตอนการแก้ปัญหาในตอนต้นของส่วนใช้ข้อจำกัดของคีย์ API ที่แนะนำ

  4. ตรวจสอบอีกครั้งว่าข้อจำกัดที่กรอกไว้ล่วงหน้าตรงกับเว็บไซต์และแอปที่คุณคาดว่าจะใช้คีย์ API

    แนวทางปฏิบัติแนะนำ: จัดทำเอกสารประกอบและนำข้อจำกัดของแอปพลิเคชันหรือ API ที่ไม่ได้เชื่อมโยงกับบริการของคุณออก หากมีบางอย่างขัดข้องเนื่องจากทรัพยากร Dependency ที่ไม่คาดคิด คุณสามารถเพิ่มแอปหรือ API ที่จำเป็นกลับเข้าไปใหม่ได้

    • หากคุณทราบว่าแอป เว็บไซต์ หรือ API หายไปจากคำแนะนำอย่างชัดเจน ให้เพิ่มคำแนะนำด้วยตนเองหรือรอสัก 2-3 วันเพื่อให้คำแนะนำอัปเดต

    • หากต้องการความช่วยเหลือเพิ่มเติมเกี่ยวกับคำแนะนำที่แนะนำ โปรดติดต่อทีมสนับสนุน

  5. เลือกใช้

สิ่งที่ต้องทำหากใบสมัครถูกปฏิเสธหลังจากใช้คำแนะนำ

หากคุณสังเกตเห็นว่าแอปหรือเว็บไซต์ถูกปฏิเสธหลังจากใช้ข้อจำกัด ให้มองหาข้อจำกัดของแอปพลิเคชันที่คุณต้องเพิ่มลงในข้อความแสดงข้อผิดพลาดของการตอบกลับ API

สําหรับ SDK ฝั่งไคลเอ็นต์ โปรดดูด้านล่าง

หากต้องการตรวจสอบข้อจำกัด API ที่จำเป็น โปรดดูระบุ API ที่ใช้คีย์ API

หากระบุข้อจำกัดที่จะใช้ไม่ได้ ให้ทำดังนี้

  1. ระบุข้อจำกัดปัจจุบันไว้เพื่ออ้างอิงในอนาคต
  2. โปรดนำการยกเว้นดังกล่าวออกชั่วคราวระหว่างที่ตรวจสอบปัญหา คุณสามารถตรวจสอบการใช้งานเมื่อเวลาผ่านไปโดยทำตามขั้นตอนในหัวข้อตรวจสอบการใช้งานคีย์ API
  3. และติดต่อทีมสนับสนุนหากจำเป็น

ลบคีย์ API ที่ไม่ได้ใช้

ก่อนลบคีย์ API โปรดตรวจสอบว่าคีย์ API ดังกล่าวไม่ได้ใช้ในเวอร์ชันที่ใช้งานจริง หากไม่มีการรับส่งข้อมูลที่สำเร็จ คีย์นี้อาจปลอดภัยที่จะลบออก ดูข้อมูลเพิ่มเติมได้ที่ตรวจสอบการใช้งานคีย์ API

วิธีลบคีย์ API

  1. เปิดหน้าข้อมูลเข้าสู่ระบบ Google Maps Platform ของคอนโซล Google Cloud

  2. เลือกคีย์ API ที่ต้องการลบ

  3. เลือกปุ่มลบใกล้ด้านบนของหน้า

  4. ในหน้าลบข้อมูลเข้าสู่ระบบ ให้เลือกลบ

    การลบคีย์ API จะใช้เวลาสักครู่จึงจะมีผล หลังจากการเผยแพร่เสร็จสมบูรณ์ การรับส่งข้อมูลที่ใช้คีย์ API ที่ลบไปแล้วจะถูกปฏิเสธ

โปรดระมัดระวังเมื่อสร้างคีย์ API ใหม่

การสร้างคีย์ API ใหม่จะเป็นการสร้างคีย์ใหม่ที่มีข้อจำกัดของคีย์เดิมทั้งหมด ขั้นตอนนี้จะเริ่มตัวจับเวลา 24 ชั่วโมงด้วยหลังจากที่ลบคีย์ API เก่าไปแล้ว

ในระหว่างกรอบเวลานี้ เราจะยอมรับทั้งคีย์เก่าและใหม่ เพื่อให้คุณได้มีโอกาสย้ายข้อมูลแอปไปใช้คีย์ใหม่ อย่างไรก็ตาม หลังจากพ้นช่วงเวลานี้แล้ว แอปที่ยังคงใช้คีย์ API เดิมจะหยุดทำงาน

ก่อนสร้างคีย์ API ใหม่ ให้ทำดังนี้

  • ก่อนอื่นให้ลองจำกัดคีย์ API ตามที่อธิบายไว้ในจำกัดคีย์ API

  • หากจำกัดคีย์ API ไม่ได้เนื่องจากประเภทข้อจำกัดของแอปพลิเคชันที่ขัดแย้งกัน ให้ย้ายข้อมูลไปยังคีย์ใหม่ (แบบจำกัด) หลายรายการตามที่อธิบายไว้ในย้ายข้อมูลไปยังคีย์ API หลายรายการ การย้ายข้อมูลจะช่วยให้คุณควบคุมการย้ายข้อมูลและเปิดตัวไทม์ไลน์กับคีย์ API ใหม่ได้

หากทำตามคำแนะนำก่อนหน้าไม่ได้ และคุณต้องสร้างคีย์ API ใหม่เพื่อป้องกันการใช้งานที่ไม่ได้รับอนุญาต โปรดทำตามขั้นตอนต่อไปนี้

  1. เปิดหน้าข้อมูลเข้าสู่ระบบ Google Maps Platform ของคอนโซล Google Cloud

  2. เปิดคีย์ API ที่ต้องการสร้างใหม่

  3. ที่ด้านบนของหน้า ให้เลือกสร้างคีย์ใหม่

  4. เลือกแทนที่คีย์

หมายเหตุ: หากจำเป็น คุณจะย้อนกลับคีย์ที่สร้างใหม่ให้กลับไปเป็นเวอร์ชันก่อนหน้าได้ ไม่มีการจำกัดเวลาสำหรับการย้อนกลับ

วิธีย้อนกลับคีย์ที่สร้างใหม่

  1. เปิดหน้าข้อมูลเข้าสู่ระบบ Google Maps Platform ของคอนโซล Google Cloud

  2. เปิดคีย์ API ที่ต้องการย้อนกลับ

  3. เลือกเปลี่ยนกลับเป็นคีย์ก่อนหน้า

  4. ในกล่องโต้ตอบเปลี่ยนกลับ ให้เลือกเปลี่ยนกลับคีย์

เมื่อย้อนกลับ เวอร์ชัน "ใหม่" ของคีย์จะกลายเป็นเวอร์ชันก่อนหน้า และตัวจับเวลาการปิดใช้งาน 24 ชั่วโมงใหม่มีการตั้งค่าไว้ให้กับคีย์ดังกล่าว คุณจะเปลี่ยนกลับระหว่างค่าคีย์ 2 รายการนี้ได้จนกว่าจะสร้างคีย์อีกครั้ง

หากสร้างคีย์อีกครั้ง ระบบจะเขียนทับค่าคีย์เก่าที่ไม่มีการใช้งาน

ย้ายข้อมูลไปยังคีย์ API หลายรายการ

หากต้องการย้ายข้อมูลจากการใช้คีย์ API เดียวสำหรับหลายแอปไปยังคีย์ API ที่ไม่ซ้ำกันรายการเดียวสำหรับแต่ละแอป ให้ทำดังนี้

  1. ระบุว่าแอปใดต้องใช้คีย์ใหม่ ให้ทำดังนี้

    • เว็บแอปเป็นวิธีอัปเดตที่ง่ายที่สุดเนื่องจากคุณควบคุมโค้ดทั้งหมด วางแผนอัปเดตคีย์ของเว็บแอปทั้งหมด
    • แอปบนอุปกรณ์เคลื่อนที่นั้นทำได้ยากกว่า เนื่องจากลูกค้าต้องอัปเดตแอปก่อนจึงจะใช้คีย์ใหม่ได้
  2. สร้างและจำกัดคีย์ใหม่: เพิ่มทั้งข้อจำกัดของแอปพลิเคชันและการจำกัด API อย่างน้อย 1 ข้อ ดูข้อมูลเพิ่มเติมได้ในแนวทางปฏิบัติแนะนำ

  3. เพิ่มคีย์ใหม่ลงในแอป: สำหรับแอปบนอุปกรณ์เคลื่อนที่ ขั้นตอนนี้อาจใช้เวลาหลายเดือนกว่าผู้ใช้ทั้งหมดจะอัปเดตเป็นแอปล่าสุดด้วยคีย์ API ใหม่

ปกป้องแอปโดยใช้ Web API แบบคงที่

Web API แบบคงที่ เช่น Maps Static API และ Street View Static API จะคล้ายกับการเรียก API บริการเว็บ

คุณเรียกใช้ทั้ง 2 แบบโดยใช้ HTTPS REST API แบบง่าย และโดยทั่วไปแล้วจะสร้าง URL คำขอ API บนเซิร์ฟเวอร์ อย่างไรก็ตาม แทนที่จะส่งคืนการตอบกลับ JSON Static Web API จะสร้างรูปภาพที่คุณสามารถฝังในโค้ด HTML ที่สร้างขึ้นได้ ที่สำคัญไปกว่านั้นคือไคลเอ็นต์ของผู้ใช้ปลายทางที่เรียกใช้บริการ Google Maps Platform ไม่ใช่เซิร์ฟเวอร์

ใช้ลายเซ็นดิจิทัล

แนวทางปฏิบัติแนะนำคือให้ใช้ลายเซ็นดิจิทัลนอกเหนือจากคีย์ API เสมอ นอกจากนี้ ให้ตรวจสอบจำนวนคำขอที่ไม่ได้ลงชื่อที่คุณต้องการอนุญาตต่อวัน และปรับโควต้าคำขอที่ไม่ได้ลงชื่อให้สอดคล้องกัน

ดูรายละเอียดเพิ่มเติมเกี่ยวกับลายเซ็นดิจิทัลได้ที่คู่มือลายเซ็นดิจิทัล

ปกป้องความลับในการรับรอง

อย่าฝังข้อมูลลับในการรับรอง API ลงในโค้ดหรือในซอร์สทรีโดยตรง หรือเปิดเผยในแอปพลิเคชันฝั่งไคลเอ็นต์เพื่อปกป้อง Static Web API ปฏิบัติตามแนวทางปฏิบัติแนะนำต่อไปนี้ในการปกป้องความลับในการลงนาม

  • ลงนามในคำขอจากฝั่งเซิร์ฟเวอร์ ไม่ใช่ในไคลเอ็นต์ หากคุณทำการลงนามฝั่งไคลเอ็นต์ใน JavaScript จะเป็นการเปิดเผยต่อทุกคนที่เข้าชมเว็บไซต์ ดังนั้น สําหรับรูปภาพที่สร้างขึ้นแบบไดนามิก ให้สร้าง URL คําขอ Maps Static API และ Street View Static API ที่ลงชื่อแล้วในฝั่งเซิร์ฟเวอร์เสมอเมื่อแสดงหน้าเว็บ สำหรับเนื้อหาเว็บแบบคงที่ คุณสามารถใช้วิดเจ็ตลงชื่อ URL เลยในหน้าข้อมูลเข้าสู่ระบบ Google Maps Platform บน Cloud Console

  • ข้อมูลลับใน Store Signing นอกซอร์สโค้ดและโครงสร้างแหล่งที่มาของแอปพลิเคชัน หากคุณใส่ข้อมูลลับในการลงชื่อหรือข้อมูลส่วนตัวอื่นๆ ไว้ในตัวแปรสภาพแวดล้อม หรือรวมไฟล์ที่เก็บไว้แยกต่างหากแล้วแชร์โค้ด ข้อมูลลับในการลงชื่อจะไม่รวมอยู่ในไฟล์ที่แชร์ หากคุณเก็บข้อมูลลับในการลงชื่อหรือข้อมูลส่วนตัวอื่นๆ ไว้ในไฟล์ ให้เก็บไฟล์ดังกล่าวไว้นอกโครงสร้างแหล่งที่มาของแอปพลิเคชันเพื่อไม่ให้ข้อมูลลับในการลงชื่อในระบบควบคุมซอร์สโค้ดของคุณ การป้องกันนี้มีความสำคัญเป็นพิเศษหากคุณใช้ระบบจัดการซอร์สโค้ดสาธารณะ เช่น GitHub

ปกป้องคีย์ API ในแอปโดยใช้บริการเว็บ

จัดเก็บคีย์ API นอกซอร์สโค้ดหรือซอร์สโค้ดของแอปพลิเคชัน หากคุณใส่คีย์ API หรือข้อมูลอื่นๆ ไว้ในตัวแปรสภาพแวดล้อมหรือรวมไฟล์ที่เก็บไว้แยกต่างหากแล้วแชร์โค้ด คีย์ API จะไม่รวมอยู่ในไฟล์ที่แชร์ ซึ่งสำคัญอย่างยิ่งหากคุณใช้ระบบจัดการซอร์สโค้ดสาธารณะ เช่น GitHub

ปกป้องคีย์ API และข้อมูลลับในการลงชื่อเข้าใช้แอปบนอุปกรณ์เคลื่อนที่โดยใช้บริการบนเว็บหรือ Static Web API

หากต้องการปกป้องแอปบนอุปกรณ์เคลื่อนที่ ให้ใช้คีย์สโตร์ที่ปลอดภัยหรือพร็อกซีเซิร์ฟเวอร์ที่ปลอดภัย โดยทำดังนี้

  • จัดเก็บคีย์ API หรือข้อมูลลับในการลงชื่อในคีย์สโตร์ที่ปลอดภัย ขั้นตอนนี้จะทำให้คัดลอกคีย์ API และข้อมูลส่วนตัวอื่นๆ จากแอปพลิเคชันโดยตรงได้ยากขึ้น

  • ใช้พร็อกซีเซิร์ฟเวอร์ที่ปลอดภัย พร็อกซีเซิร์ฟเวอร์เป็นแหล่งข้อมูลที่เชื่อถือได้สำหรับโต้ตอบกับ Google Maps Platform API ที่เหมาะสม หากต้องการข้อมูลเพิ่มเติมเกี่ยวกับการใช้พร็อกซีเซิร์ฟเวอร์ โปรดดูการใช้พร็อกซีเซิร์ฟเวอร์กับไลบรารีของไคลเอ็นต์ Google Data API

    • สร้างคำขอ Google Maps Platform บนพร็อกซีเซิร์ฟเวอร์ อย่าอนุญาตให้ไคลเอ็นต์ส่งต่อการเรียก API ที่กำหนดเองผ่านพร็อกซี

    • ประมวลผลการตอบกลับ Google Maps Platform หลังประมวลผลในพร็อกซีเซิร์ฟเวอร์ กรองข้อมูลที่ลูกค้าไม่จำเป็นต้องใช้ออก

จัดการการใช้คีย์ API โดยไม่ได้รับอนุญาต

หากตรวจพบการใช้คีย์ API ที่ไม่ได้รับอนุญาต โปรดดำเนินการต่อไปนี้เพื่อแก้ไขปัญหา

  1. จำกัดคีย์: หากคุณใช้คีย์เดียวกันในหลายๆ แอป ให้ย้ายข้อมูลไปยังคีย์ API หลายรายการ และใช้คีย์ API แยกกันสำหรับแต่ละแอป โปรดดูรายละเอียดเพิ่มเติมดังนี้

  2. เฉพาะให้สร้างคีย์ใหม่หากคุณจำกัดคีย์ไม่ได้ อ่านส่วนโปรดระมัดระวังเมื่อสร้างคีย์ API ใหม่ ก่อนดำเนินการต่อ

  3. หากยังพบปัญหาหรือต้องการความช่วยเหลือ โปรดติดต่อทีมสนับสนุน

ข้อจำกัดแอปพลิเคชันและ API ที่แนะนำ

ส่วนต่อไปนี้จะแนะนำการจำกัดการใช้และ API ที่เหมาะสมสำหรับ Google Maps Platform API, SDK หรือบริการแต่ละรายการ

ข้อจำกัด API ที่แนะนำ

หลักเกณฑ์ต่อไปนี้สำหรับข้อจำกัด API มีผลกับ Google Maps Platform ทั้งหมด

  • จำกัดคีย์ API ไว้สำหรับ API ที่คุณใช้ด้วยเท่านั้น โดยมีข้อยกเว้นต่อไปนี้

    • หากแอปของคุณใช้ Places SDK สำหรับ Android หรือ Places SDK สำหรับ iOS ให้ให้สิทธิ์ Places API

    • หากแอปใช้ Maps JavaScript API ให้ให้สิทธิ์บนคีย์ของคุณเสมอ

    • หากคุณใช้บริการ Maps JavaScript API ต่อไปนี้ด้วย คุณควรให้สิทธิ์ API ต่อไปนี้ด้วย

    บริการ การจำกัด API
    บริการเส้นทาง, Maps JavaScript API Directions API
    บริการเมทริกซ์ระยะทาง, Maps JavaScript API Distance Matrix API
    บริการระดับความสูง, Maps JavaScript API Elevation API
    บริการการเข้ารหัสพิกัดภูมิศาสตร์, Maps JavaScript API Geocoding API
    Places Library, Maps JavaScript API Places API

ตัวอย่างมีดังต่อไปนี้

  • คุณใช้ Maps SDK สำหรับ Android และ Places SDK สำหรับ Android คุณจึงใส่ Maps SDK สำหรับ Android และ Places API เป็นข้อจำกัดของ API

  • เว็บไซต์ของคุณใช้บริการระดับความสูงของ Maps JavaScript API และ Maps Static API คุณจึงเพิ่มข้อจำกัด API สำหรับ API ต่อไปนี้ทั้งหมด

    • Maps JavaScript API
    • Elevation API
    • Maps Static API

ข้อจำกัดแอปพลิเคชันที่แนะนำ

เว็บไซต์ที่มี Maps JavaScript API หรือ Static Web API

สำหรับเว็บไซต์ที่ใช้บริการ Maps JavaScript หรือ Static Web API ให้ใช้การจำกัดแอปพลิเคชัน Websites

ใช้สำหรับเว็บไซต์ที่ใช้บริการ JavaScript และ API ต่อไปนี้

1 สำหรับแอปพลิเคชันบนอุปกรณ์เคลื่อนที่ ให้พิจารณาใช้ Maps SDK สำหรับ Android แบบเนทีฟและ Maps SDK สำหรับ iOS

2 โปรดดูเพิ่มเติมที่ ปกป้องแอปบนอุปกรณ์เคลื่อนที่โดยใช้บริการเว็บหรือ Static Web API

เว็บไซต์ที่มี Maps Embed API

แม้การใช้งาน Maps Embed API จะไม่มีค่าใช้จ่าย แต่ก็ควรจำกัดคีย์ API ที่ใช้เพื่อป้องกันการละเมิดในบริการอื่นๆ

แนวทางปฏิบัติแนะนำ: สร้างคีย์ API แยกต่างหากสำหรับการใช้ Maps Embed API และจำกัดคีย์นี้เฉพาะสำหรับ Maps Embed API เท่านั้น ข้อจำกัดนี้จะช่วยรักษาความปลอดภัยให้คีย์ได้อย่างเพียงพอ และป้องกันไม่ให้มีการใช้คีย์โดยไม่ได้รับอนุญาตในบริการอื่นๆ ของ Google

หากคุณแยกการใช้ Maps Embed API ไปยังคีย์ API แยกต่างหากไม่ได้ ให้รักษาความปลอดภัยคีย์โดยใช้การจำกัดแอปพลิเคชัน Websites

แอปและเซิร์ฟเวอร์ที่ใช้บริการเว็บ

สำหรับแอปและเซิร์ฟเวอร์ที่ใช้บริการเว็บ ให้ใช้ข้อจำกัดแอปพลิเคชัน IP addresses

ใช้สำหรับแอปและเซิร์ฟเวอร์ที่ใช้ API ต่อไปนี้

3 สำหรับแอปพลิเคชันบนอุปกรณ์เคลื่อนที่ ให้พิจารณาใช้ Places SDK สำหรับ Android ดั้งเดิมและ Places SDK สำหรับ iOS

แอป Android

สำหรับแอปใน Android ให้ใช้การจำกัดแอปพลิเคชัน Android apps ใช้สำหรับแอปและเซิร์ฟเวอร์ที่ใช้ SDK ต่อไปนี้

นอกจากนี้ ป้องกันการตรวจสอบคีย์ API ในการควบคุมเวอร์ชันโดยไม่ได้ตั้งใจโดยใช้ Secrets Gradle Plugin เพื่อแทรกข้อมูลลับจากไฟล์ในเครื่องแทนที่จะเก็บไว้ใน Android Manifest ด้วย

แอป iOS

สำหรับแอปใน iOS ให้ใช้การจำกัดแอปพลิเคชัน iOS apps ใช้สำหรับแอปและเซิร์ฟเวอร์ที่ใช้ SDK ต่อไปนี้