แนวทางปฏิบัติแนะนําด้านความปลอดภัยของ API

สำหรับแอปและโปรเจ็กต์ที่ใช้ API และ SDK ของ Google Maps Platform คุณต้องใช้คีย์ 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

ปกป้องแอปโดยใช้ API ของเว็บแบบคงที่

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

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

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

ปกป้องแอปบนอุปกรณ์เคลื่อนที่โดยใช้บริการเว็บหรือ 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 สำหรับแอปฝั่งเซิร์ฟเวอร์ที่เรียก API ของ REST สำหรับบริการเว็บ

    คุณจำกัดคีย์ได้ด้วยการเพิ่มข้อจำกัดแอปพลิเคชันของประเภทที่คุณต้องการให้สิทธิ์อย่างน้อย 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 อย่างน้อย 1 รายการ ที่อยู่ 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 ให้ทำดังนี้

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

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

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

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

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

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

สาเหตุที่คุณอาจเห็นคำแนะนำที่ไม่แสดงอยู่ในแผนภูมิ

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

  • การเข้าชมของคุณมาจาก Maps ฝัง 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 หายไปจากคำแนะนำอย่างชัดเจน ให้เพิ่มแอป เว็บไซต์ หรือ 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 ใช้เวลา 2-3 นาทีจึงจะมีผล หลังจากการเผยแพร่เสร็จสมบูรณ์แล้ว ระบบจะปฏิเสธการรับส่งข้อมูลที่ใช้คีย์ 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 ใหม่

ปกป้องแอปโดยใช้ API ของเว็บแบบคงที่

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

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

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

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

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

ปกป้องข้อมูลลับในการลงชื่อของคุณ

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

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

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

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

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

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

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

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

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

    • Maps JavaScript API
    • Elevation API
    • Maps Static API

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

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

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

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

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

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

เว็บไซต์ที่มี Maps ฝัง API

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

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

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

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

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

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

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

แอป Android

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

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

แอป iOS

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