สําหรับแอปและโปรเจ็กต์ที่ใช้ 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 อีกครั้ง
คําแนะนําเพิ่มเติมสําหรับเว็บไซต์ที่ใช้ 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
เปิดหน้าข้อมูลเข้าสู่ระบบ Google Maps Platform ในคอนโซล Google Cloud
เลือกคีย์ API ที่ต้องการจํากัด
ในหน้าแก้ไขคีย์ API ในส่วนข้อจำกัดของคีย์ ให้เลือกตั้งค่าการจำกัดแอปพลิเคชัน
เลือกประเภทข้อจำกัดใดข้อจำกัดหนึ่ง แล้วระบุข้อมูลที่ขอตามรายการข้อจำกัด
ประเภทข้อจำกัด คำอธิบาย เว็บไซต์ ระบุเว็บไซต์อ้างอิงอย่างน้อย 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 แต่ละรายการที่ต้องการให้สิทธิ์ ดูคําแนะนําสําหรับการจํากัดแอปพลิเคชันได้ที่การจํากัดแอปพลิเคชันที่แนะนํา
- รูปแบบ URI ของ URL ที่มาที่รองรับโดยทั่วไปคือ
เลือกบันทึก
ตั้งค่าข้อจำกัด API สำหรับคีย์ API
เปิดหน้าข้อมูลเข้าสู่ระบบ Google Maps Platform ในคอนโซล Google Cloud
เลือกคีย์ API ที่ต้องการจํากัด
ในหน้าแก้ไขคีย์ API ในส่วนการจํากัด API ให้ทําดังนี้
เลือกจํากัดคีย์
เปิดเลือก API แล้วเลือก API หรือ SDK ที่ต้องการให้แอปพลิเคชันเข้าถึงโดยใช้คีย์ API
หาก API หรือ SDK ไม่อยู่ในรายการ คุณต้องเปิดใช้ โปรดดูรายละเอียดที่หัวข้อวิธีเปิดใช้ API หรือ SDK อย่างน้อย 1 รายการ
เลือกบันทึก
ข้อจํากัดจะกลายเป็นส่วนหนึ่งของคําจํากัดความของคีย์ 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 ที่สร้างขึ้นโดยอัตโนมัติ ดูข้อมูลเพิ่มเติมเกี่ยวกับข้อจำกัดที่แนะนำได้ที่ใช้ข้อจำกัดที่แนะนำ ดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้เครื่องมือสำรวจเมตริกได้ที่สร้างแผนภูมิด้วยเครื่องมือสำรวจเมตริก
ไปที่เครื่องมือสํารวจเมตริกของ Google Cloud Console
เข้าสู่ระบบและเลือกโปรเจ็กต์สำหรับคีย์ API ที่ต้องการตรวจสอบ
ไปที่หน้าเครื่องมือสํารวจเมตริกสําหรับ API ประเภทของคุณ
สำหรับคีย์ API ที่ใช้ API ใดก็ตามยกเว้น Embed API ของ Maps ให้ไปที่หน้าเครื่องมือสำรวจเมตริก
สำหรับคีย์ API ที่ใช้ Maps Embed API ให้ไปที่เครื่องมือสํารวจเมตริก
ตรวจสอบคีย์ API แต่ละรายการ
เลือกเพิ่มตัวกรอง
เลือกป้ายกำกับ
credential_id
เลือกค่าที่สอดคล้องกับคีย์ที่ต้องการตรวจสอบ
โปรดดูว่าคีย์ API นี้ใช้กับ API ใด และยืนยันว่าการใช้งานนั้นเป็นไปตามที่คาดไว้
เมื่อเสร็จแล้ว ให้เลือกนำตัวกรองออก
ที่ท้ายบรรทัดตัวกรองที่ใช้งานอยู่เพื่อลบตัวกรองเพิ่มเติม
ทำซ้ำสำหรับกุญแจที่เหลือ
จำกัดคีย์ API ไว้สำหรับ API ที่ใช้อยู่เท่านั้น
หากพบการใช้งานที่ไม่ได้รับอนุญาต โปรดดูหัวข้อจัดการการใช้งานคีย์ API ที่ไม่ได้รับอนุญาต
เลือกประเภทการจํากัดแอปพลิเคชันที่เหมาะสมโดยใช้เครื่องมือสํารวจเมตริก
หลังจากยืนยันและดำเนินการที่จำเป็นเพื่อให้มั่นใจว่าคีย์ API ของคุณจะใช้กับบริการ Google Maps Platform ที่ใช้เท่านั้นแล้ว ให้ตรวจสอบว่าคีย์ API มีข้อจำกัดแอปพลิเคชันที่เหมาะสมด้วย
หากคีย์ API มีข้อจํากัดของคีย์ API ที่แนะนํา ให้ใช้ข้อจํากัดดังกล่าว ดูข้อมูลเพิ่มเติมได้ที่ใช้ข้อจำกัดคีย์ API ที่แนะนํา
หากคีย์ API ไม่มีคําแนะนําการจํากัด ให้กําหนดประเภทการจํากัดแอปพลิเคชันที่จะใช้ โดยอิงตาม platform_type
ที่รายงานโดยใช้เครื่องมือสํารวจเมตริก
ไปที่เครื่องมือสํารวจเมตริกของ Google Cloud Console
เข้าสู่ระบบและเลือกโปรเจ็กต์สําหรับ API ที่ต้องการตรวจสอบ
ไปที่หน้าเครื่องมือสำรวจเมตริกนี้ เครื่องมือสำรวจเมตริก
ตรวจสอบคีย์ API แต่ละรายการ
เลือกเพิ่มตัวกรอง
เลือกป้ายกำกับ
credential_id
เลือกค่าที่สอดคล้องกับคีย์ที่ต้องการตรวจสอบ
เมื่อเสร็จแล้ว ให้เลือกนำตัวกรองออก
ที่ท้ายบรรทัดตัวกรองที่ใช้งานอยู่เพื่อลบตัวกรองเพิ่มเติม
ทำซ้ำสำหรับกุญแจที่เหลือ
เมื่อคุณมีประเภทแพลตฟอร์มสำหรับคีย์ 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 ด้วย หากเห็นการใช้งานในบริการอื่นๆ โปรดอย่าใช้คำแนะนำโดยก่อนทำดังนี้
ยืนยันว่าการใช้งาน API ที่คุณเห็นในเครื่องมือสํารวจเมตริกของ Google Cloud Console นั้นถูกต้อง
เพิ่มบริการที่ขาดหายไปลงในรายการ API ที่จะให้สิทธิ์ด้วยตนเอง
เพิ่มข้อจำกัดแอปพลิเคชันสำหรับบริการที่เพิ่มลงในรายการ API ด้วยตนเองหากไม่มี หากแอปพลิเคชันอื่นที่เพิ่มต้องใช้ข้อจำกัดประเภทอื่น โปรดดูย้ายข้อมูลไปยังคีย์ API หลายรายการ
ไม่มีการใช้คีย์ API ใน SDK หรือ API ฝั่งไคลเอ็นต์
คุณใช้คีย์ API ในแอปหรือเว็บไซต์ที่มีปริมาณการใช้งานต่ำซึ่งไม่มีการใช้งานในช่วง 60 วันที่ผ่านมา
คุณเพิ่งสร้างคีย์ใหม่หรือเพิ่งติดตั้งใช้งานคีย์ที่มีอยู่ในแอปใหม่ หากเป็นเช่นนั้น โปรดรออีก 2-3 วันเพื่อให้คําแนะนําอัปเดต
คุณใช้คีย์ API ในแอปพลิเคชันหลายรายการที่ต้องใช้การจํากัดแอปพลิเคชันประเภทที่ขัดแย้งกัน หรือคุณใช้คีย์ API เดียวกันในแอปหรือเว็บไซต์ต่างๆ มากเกินไป ไม่ว่าในกรณีใด คุณควรย้ายข้อมูลไปยังคีย์หลายรายการตามแนวทางปฏิบัติแนะนำ โปรดดูรายละเอียดเพิ่มเติมที่หัวข้อย้ายข้อมูลไปยังคีย์ API หลายรายการ
สาเหตุที่คุณอาจเห็นคําแนะนําที่ไม่ปรากฏในแผนภูมิ
แอปหรือเว็บไซต์ของคุณส่งการเข้าชมเป็นระยะเวลาสั้นๆ เท่านั้น ในกรณีนี้ ให้เปลี่ยนจากมุมมองแผนภูมิเพื่อแสดงตารางหรือทั้ง 2 อย่าง เนื่องจากการใช้งานจะยังคงปรากฏในคำอธิบายประกอบ ดูข้อมูลเพิ่มเติมได้ที่หัวข้อการสลับตำนานแบบเต็มของแผนภูมิ
การเข้าชมของคุณมาจาก Maps Embed API ดูวิธีการได้ที่หัวข้อระบุ API ที่ใช้คีย์ API ของคุณ
การเข้าชมจากแอปหรือเว็บไซต์อยู่นอกช่วงวันที่ที่มีอยู่ในเครื่องมือสํารวจเมตริกของ Google Cloud Console
วิธีใช้ข้อจำกัดที่แนะนำ
เปิดหน้าข้อมูลเข้าสู่ระบบ Google Maps Platform ในคอนโซล Google Cloud
เลือกใช้ข้อจำกัดที่แนะนำ หากมี
หมายเหตุ: หากไม่เห็นข้อจํากัดที่แนะนํา โปรดดูตั้งค่าข้อจํากัด API สําหรับคีย์ API เพื่อตั้งค่าข้อจํากัดที่เหมาะสม
เลือกตรวจสอบการใช้งาน API เพื่อยืนยันว่ามีการใช้คีย์ API ในบริการใด หากเห็นบริการอื่นที่ไม่ใช่ Google Maps Platform ให้หยุดชั่วคราวเพื่อตรวจสอบขั้นตอนคำแนะนำข้างต้นด้วยตนเอง ดูขั้นตอนการแก้ปัญหาที่หัวข้อใช้ข้อจํากัดคีย์ API ที่แนะนํา
ตรวจสอบอีกครั้งว่าข้อจํากัดที่กรอกไว้ล่วงหน้าตรงกับเว็บไซต์และแอปที่คุณต้องการใช้คีย์ API
แนวทางปฏิบัติแนะนำ: บันทึกและนำข้อจำกัดของแอปพลิเคชันหรือ API ที่ไม่เกี่ยวข้องกับบริการของคุณออก หากเกิดข้อผิดพลาดเนื่องจากความเกี่ยวข้องที่ไม่คาดคิด คุณสามารถเพิ่มแอปหรือ API ที่จำเป็นกลับเข้าไปได้
หากคุณพบว่าแอป เว็บไซต์ หรือ API หายไปจากคําแนะนําอย่างชัดเจน ให้เพิ่มด้วยตนเองหรือรอ 2-3 วันเพื่อให้คําแนะนําอัปเดต
หากต้องการความช่วยเหลือเพิ่มเติมเกี่ยวกับคําแนะนําที่แนะนำ โปรดติดต่อทีมสนับสนุน
เลือกใช้
สิ่งที่ต้องทำหากใบสมัครถูกปฏิเสธหลังจากใช้คำแนะนำ
หากพบว่าแอปหรือเว็บไซต์ถูกปฏิเสธหลังจากใช้ข้อจำกัด ให้มองหาข้อจำกัดของแอปพลิเคชันที่ต้องเพิ่มในข้อความแสดงข้อผิดพลาดของคำตอบ API
สำหรับ SDK ฝั่งไคลเอ็นต์ โปรดดูด้านล่าง
- แอป Maps JavaScript API: ดูคอนโซลแก้ไขข้อบกพร่องของเบราว์เซอร์
- แอป Android: ใช้Android Debug Bridge (adb) หรือ Logcat
- แอป iOS: ดูการดูข้อความบันทึก
หากต้องการตรวจสอบข้อจํากัด API ที่จําเป็น โปรดดูหัวข้อระบุ API ที่ใช้คีย์ API
หากไม่แน่ใจว่าจะใช้ข้อจำกัดใด ให้ทำดังนี้
- บันทึกข้อจํากัดปัจจุบันไว้ใช้อ้างอิงในอนาคต
- นำออกชั่วคราวขณะตรวจสอบปัญหา คุณสามารถตรวจสอบการใช้งานเมื่อเวลาผ่านไปได้โดยทำตามขั้นตอนในตรวจสอบการใช้งานคีย์ API
- และติดต่อทีมสนับสนุนหากจำเป็น
ลบคีย์ API ที่ไม่ได้ใช้
ก่อนที่จะลบคีย์ API ให้ตรวจสอบว่าไม่มีการใช้คีย์นั้นในเวอร์ชันที่ใช้งานจริง หากไม่มีการเข้าชมที่สำเร็จ แสดงว่าน่าจะลบคีย์ได้ ดูข้อมูลเพิ่มเติมได้ที่ตรวจสอบการใช้คีย์ API
วิธีลบคีย์ API
เปิดหน้าข้อมูลเข้าสู่ระบบ Google Maps Platform ในคอนโซล Google Cloud
เลือกคีย์ API ที่ต้องการลบ
เลือกปุ่มลบที่บริเวณด้านบนของหน้า
ในหน้าลบข้อมูลเข้าสู่ระบบ ให้เลือกลบ
การลบคีย์ API จะใช้เวลาสักครู่จึงจะมีผล หลังจากการนำไปใช้งานเสร็จสมบูรณ์แล้ว ระบบจะปฏิเสธการเข้าชมที่ใช้คีย์ API ที่ลบไปแล้ว
โปรดระมัดระวังเมื่อสร้างคีย์ API อีกครั้ง
การสร้างคีย์ API อีกครั้งจะสร้างคีย์ใหม่ที่มีข้อจํากัดทั้งหมดของคีย์เดิม กระบวนการนี้จะเริ่มต้นตัวจับเวลา 24 ชั่วโมงด้วย ซึ่งหลังจากนั้นระบบจะลบคีย์ API เดิม
ในระหว่างกรอบเวลานี้ ระบบจะยอมรับทั้งคีย์เก่าและคีย์ใหม่ ซึ่งจะช่วยให้คุณมีโอกาสย้ายข้อมูลแอปไปใช้คีย์ใหม่ อย่างไรก็ตาม หลังจากพ้นระยะเวลานี้ แอปที่ยังคงใช้คีย์ API เก่าจะหยุดทํางาน
ก่อนสร้างคีย์ API อีกครั้ง
ก่อนอื่น ให้ลองจํากัดคีย์ API ตามที่อธิบายไว้ในหัวข้อจํากัดคีย์ API
หากจํากัดคีย์ API ไม่ได้เนื่องจากประเภทข้อจํากัดของแอปพลิเคชันขัดแย้งกัน ให้ย้ายข้อมูลไปยังคีย์ใหม่ (ที่จํากัด) หลายรายการตามที่อธิบายไว้ในย้ายข้อมูลไปยังคีย์ API หลายรายการ การย้ายข้อมูลจะช่วยให้คุณควบคุมการย้ายข้อมูลและไทม์ไลน์การเปิดตัวคีย์ API ใหม่ได้
หากทำตามคำแนะนำข้างต้นไม่ได้และคุณต้องสร้างคีย์ API ขึ้นมาใหม่เพื่อป้องกันการใช้งานที่ไม่ได้รับอนุญาต ให้ทำตามขั้นตอนต่อไปนี้
เปิดหน้าข้อมูลเข้าสู่ระบบ Google Maps Platform ในคอนโซล Google Cloud
เปิดคีย์ API ที่ต้องการสร้างใหม่
เลือกสร้างคีย์อีกครั้งที่ด้านบนของหน้า
เลือกแทนที่คีย์
หมายเหตุ: หากจําเป็น คุณสามารถเปลี่ยนคีย์ที่สร้างขึ้นใหม่กลับเป็นเวอร์ชันก่อนหน้าได้ ไม่มีการจำกัดเวลาสำหรับการย้อนกลับ
วิธีเปลี่ยนคีย์ที่สร้างขึ้นใหม่กลับเป็นเดิม
เปิดหน้าข้อมูลเข้าสู่ระบบ Google Maps Platform ในคอนโซล Google Cloud
เปิดคีย์ API ที่ต้องการเปลี่ยนกลับ
เลือกเปลี่ยนกลับไปเป็นคีย์ก่อนหน้า
ในกล่องโต้ตอบเปลี่ยนกลับ ให้เลือกเปลี่ยนกลับคีย์
เมื่อเปลี่ยนกลับ คีย์เวอร์ชัน "ใหม่" เดิมจะกลายเป็นเวอร์ชันก่อนหน้า และระบบจะตั้งค่าตัวจับเวลาการปิดใช้งานใหม่เป็นเวลา 24 ชั่วโมง คุณสามารถเปลี่ยนกลับระหว่างค่าคีย์ 2 รายการนี้จนกว่าคุณจะสร้างคีย์อีกครั้ง
หากคุณสร้างคีย์อีกครั้ง ระบบจะเขียนทับค่าคีย์เก่าที่ไม่ได้ใช้งาน
ย้ายข้อมูลไปยังคีย์ API หลายรายการ
หากต้องการย้ายข้อมูลจากการใช้คีย์ API 1 รายการสำหรับหลายแอปไปใช้คีย์ API ที่ไม่ซ้ำกัน 1 รายการสำหรับแต่ละแอป ให้ทำดังนี้
ระบุแอปที่ต้องมีคีย์ใหม่
- เว็บแอปเป็นแอปที่อัปเดตได้ง่ายที่สุดเนื่องจากคุณควบคุมโค้ดทั้งหมดได้ วางแผนที่จะอัปเดตคีย์ของแอปทั้งหมดที่ทำงานบนเว็บ
- แอปบนอุปกรณ์เคลื่อนที่จะยากกว่ามาก เนื่องจากลูกค้าต้องอัปเดตแอปก่อนจึงจะใช้คีย์ใหม่ได้
สร้างและจํากัดคีย์ใหม่: เพิ่มทั้งการจํากัดแอปพลิเคชันและข้อจํากัด API อย่างน้อย 1 รายการ ดูข้อมูลเพิ่มเติมได้ที่แนวทางปฏิบัติแนะนำ
เพิ่มคีย์ใหม่ลงในแอป: สำหรับแอปบนอุปกรณ์เคลื่อนที่ กระบวนการนี้อาจใช้เวลาหลายเดือนจนกว่าผู้ใช้ทุกคนจะอัปเดตเป็นเวอร์ชันล่าสุดที่มีคีย์ 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 ที่ไม่ได้รับอนุญาต ให้ทำตามขั้นตอนต่อไปนี้เพื่อแก้ปัญหา
จํากัดคีย์: หากคุณใช้คีย์เดียวกันในหลายแอป ให้ย้ายข้อมูลไปยังคีย์ API หลายรายการ และใช้คีย์ API แยกกันสําหรับแต่ละแอป ดูรายละเอียดเพิ่มเติมได้ที่
เท่านั้น ให้สร้างคีย์ใหม่หากจํากัดคีย์ไม่ได้ อ่านข้อควรระวังเมื่อสร้างคีย์ API ใหม่ ก่อนดำเนินการต่อ
หากยังพบปัญหาหรือต้องการความช่วยเหลือ โปรดติดต่อทีมสนับสนุน
ข้อจํากัดแอปพลิเคชันและ 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 ต่อไปนี้