สิทธิ์บน Android

สิทธิ์ของแอปช่วยสนับสนุนความเป็นส่วนตัวของผู้ใช้ด้วยการปกป้องการเข้าถึงสิ่งต่อไปนี้

  • ข้อมูลที่ถูกจำกัด เช่น สถานะของระบบและของผู้ใช้ ข้อมูลติดต่อ
  • การดำเนินการที่ถูกจำกัด เช่น การเชื่อมต่อกับอุปกรณ์ที่จับคู่และการบันทึก เสียง

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

หากต้องการดูรายการสิทธิ์ของแอป Android ทั้งหมด ให้ไปที่ permissions API หน้าอ้างอิง

หากต้องการดูแอปตัวอย่างที่สาธิตเวิร์กโฟลว์การให้สิทธิ์ โปรดไปที่ ตัวอย่างสิทธิ์สำหรับ Android ที่เก็บ ใน GitHub

เวิร์กโฟลว์การใช้สิทธิ์

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

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

รูปที่ 1 แสดงขั้นตอนการใช้สิทธิ์ของแอป

วันที่
รูปที่ 1 เวิร์กโฟลว์ระดับสูงสำหรับการใช้สิทธิ์บน Android

ประเภทของสิทธิ์

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

สิทธิ์เวลาติดตั้ง

วันที่ รูปภาพด้านซ้ายแสดงรายการสิทธิ์เวลาติดตั้งของแอป 
    รูปภาพด้านขวาแสดงกล่องโต้ตอบแบบป๊อปอัปที่มี 2 ตัวเลือก ได้แก่ อนุญาตและปฏิเสธ
รูปที่ 2 รายการสิทธิ์เวลาติดตั้งของแอป ซึ่งปรากฏใน App Store

สิทธิ์เมื่อติดตั้งทำให้แอปของคุณเข้าถึงข้อมูลที่จำกัดได้แบบจำกัด หรือ ให้แอปของคุณดําเนินการที่ถูกจำกัดซึ่งส่งผลต่อ ระบบหรือแอปอื่นๆ เมื่อคุณประกาศสิทธิ์เวลาติดตั้งในแอป App Store จะแสดงการแจ้งเตือนสิทธิ์เวลาติดตั้งแก่ผู้ใช้เมื่อ ผู้ใช้จะเห็นหน้ารายละเอียดของแอป ดังที่แสดงในรูปที่ 2 ระบบจะให้สิทธิ์กับแอปของคุณโดยอัตโนมัติเมื่อผู้ใช้ติดตั้ง แอป

Android มีสิทธิ์ติดตั้งประเภทต่างๆ หลายประเภท ได้แก่ สิทธิ์ปกติและสิทธิ์การเซ็นชื่อ

สิทธิ์ทั่วไป

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

ระบบจะกำหนดระดับการป้องกัน normal ให้กับสิทธิ์ปกติ

สิทธิ์ของลายเซ็น

ระบบจะให้สิทธิ์ลายเซ็นแก่แอปเฉพาะเมื่อแอปนั้น ลงนามโดยใช้ใบรับรองเดียวกันกับแอปหรือระบบปฏิบัติการที่กำหนดสิทธิ์ดังกล่าว

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

ระบบจะกำหนดระดับการป้องกัน signature ให้กับสิทธิ์ลายเซ็น

สิทธิ์ขณะรันไทม์

วันที่ กล่องโต้ตอบแบบป๊อปอัปที่มี 2 ตัวเลือก ได้แก่ อนุญาตและปฏิเสธ
รูปที่ 3 ข้อความแจ้งสิทธิ์ของระบบที่ปรากฏขึ้นเมื่อ แอปของคุณขอสิทธิ์รันไทม์

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

เมื่อแอปขอ สิทธิ์รันไทม์ ระบบจะแสดงข้อความแจ้งสิทธิ์รันไทม์ ตามที่แสดงใน รูปที่ 3

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

ไมโครโฟนและกล้องช่วยให้เข้าถึงข้อมูลที่ละเอียดอ่อนได้ ดังนั้นระบบจะช่วยคุณอธิบายเหตุผลที่แอปเข้าถึงข้อมูลนี้ ข้อมูล

ระบบจะกำหนดระดับการป้องกัน dangerous ให้กับสิทธิ์รันไทม์

การอนุญาตพิเศษ

สิทธิ์พิเศษจะสอดคล้องกับการทำงานของแอปบางอย่าง เฉพาะแพลตฟอร์ม และ OEM สามารถกำหนดการอนุญาตพิเศษ นอกจากนี้ แพลตฟอร์มและ OEM มักจะกำหนดสิทธิ์พิเศษเมื่อต้องการปกป้องการเข้าถึง การดำเนินการที่มีประสิทธิภาพเป็นพิเศษ เช่น การวาดทับแอปอื่นๆ

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

ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีขอข้อเสนอพิเศษ สิทธิ์

ระบบจะกำหนดระดับการป้องกัน appop ให้กับสิทธิ์พิเศษ

กลุ่มสิทธิ์

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

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

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

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

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

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

ขอสิทธิ์ในจำนวนที่น้อยที่สุด

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

เชื่อมโยงสิทธิ์รันไทม์กับการดำเนินการที่เจาะจง

โปรดขอสิทธิ์ในช่วงที่ Use Case ของแอปล่าช้าที่สุดเท่าที่จะทำได้ เช่น หากแอปอนุญาตให้ผู้ใช้ส่งข้อความเสียงให้คนอื่นได้ ให้รอสักครู่ จนกว่าผู้ใช้จะไปยังหน้าจอการรับส่งข้อความแล้วกดปุ่มส่ง ข้อความเสียง หลังจากที่ผู้ใช้กดปุ่ม แอปของคุณจะสามารถ ขอสิทธิ์เข้าถึงไมโครโฟน

พิจารณาทรัพยากร Dependency ของแอป

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

มีความโปร่งใส

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

ทำให้การเข้าถึงระบบไม่เหมาะสม

เมื่อคุณเข้าถึงข้อมูลที่ละเอียดอ่อนหรือฮาร์ดแวร์ เช่น กล้องหรือไมโครโฟน ให้การบ่งชี้อย่างต่อเนื่องในแอปของคุณ หากระบบยังไม่ได้ดำเนินการ ระบุตัวบ่งชี้เหล่านี้ การช่วยเตือนนี้ช่วยให้ผู้ใช้ทราบแน่ชัดว่าเมื่อใดที่แอปของคุณจะเข้าถึงแบบจํากัด หรือดำเนินการที่ถูกจำกัด

สิทธิ์ในคอมโพเนนต์ของระบบ

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