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

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

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

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

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

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

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

จํากัดคีย์ API

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

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

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

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

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

ปกป้องแอปโดยใช้ Static Web API

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

ปกป้องแอปที่ใช้เว็บเซอร์วิส

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

ปกป้องแอปบนอุปกรณ์เคลื่อนที่โดยใช้เว็บเซอร์วิสหรือ Static 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 คุณสามารถจํากัด API, SDK หรือบริการของ Google Maps Platform ที่จะใช้คีย์ API ได้ ข้อจำกัด API จะอนุญาตเฉพาะคำขอไปยัง API และ SDK ที่คุณระบุเท่านั้น คุณระบุข้อจำกัด API ได้มากเท่าที่ต้องการสำหรับคีย์ API แต่ละรายการ รายการ API ที่พร้อมใช้งานจะรวม API ทั้งหมดที่เปิดใช้ในโปรเจ็กต์

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

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

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

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

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

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

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

ระบุ API ที่ใช้คีย์ API ของคุณ

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

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

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

  1. ไปที่เครื่องมือสํารวจเมตริกของ Google Cloud Console

  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 Console

  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 จะแนะนําข้อจํากัดคีย์ API บางรายการให้กับคีย์ API ที่ไม่มีข้อจํากัด โดยอิงตามการใช้งานและกิจกรรมใน Google Maps Platform

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

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

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

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

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

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

  • ไม่มีการใช้คีย์ API ใน SDK หรือ API ฝั่งไคลเอ็นต์

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  5. เลือกใช้

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

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

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

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

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

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

ลบคีย์ 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 1 รายการสำหรับหลายแอปไปใช้คีย์ API ที่ไม่ซ้ำกัน 1 รายการสำหรับแต่ละแอป ให้ทำดังนี้

  1. ระบุแอปที่ต้องมีคีย์ใหม่

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

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

ปกป้องแอปโดยใช้ Static 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 นอกจากนี้ ให้ตรวจสอบจำนวนคำขอที่ไม่ได้ลงนามที่คุณต้องการอนุญาตต่อวัน และปรับโควต้าคำขอที่ไม่ได้ลงนามให้เหมาะสม

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

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

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

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

  • จัดเก็บข้อมูลลับสำหรับการรับรองไว้นอกซอร์สโค้ดและซอร์สทรีของแอปพลิเคชัน หากคุณใส่ข้อมูลลับสำหรับการลงชื่อหรือข้อมูลส่วนตัวอื่นๆ ในตัวแปรสภาพแวดล้อม หรือรวมไฟล์ที่จัดเก็บแยกต่างหาก แล้วแชร์โค้ด ข้อมูลลับสำหรับการลงชื่อจะไม่รวมอยู่ในไฟล์ที่แชร์ หากคุณจัดเก็บข้อมูลลับสำหรับการลงนามหรือข้อมูลส่วนตัวอื่นๆ ในไฟล์ ให้เก็บไฟล์ไว้นอกสคีมาซอร์สโค้ดของแอปพลิเคชันเพื่อไม่ให้ข้อมูลลับสำหรับการลงนามอยู่ในระบบควบคุมซอร์สโค้ด ข้อควรระวังนี้สำคัญอย่างยิ่งหากคุณใช้ระบบจัดการซอร์สโค้ดแบบสาธารณะ เช่น 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 ที่เหมาะสมสำหรับ API, SDK หรือบริการ Google Maps Platform แต่ละรายการ

ข้อจํากัด 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

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

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

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

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 ที่เป็น SDK ดั้งเดิม

แอป Android

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

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

แอป iOS

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