สิทธิ์ของแอปช่วยสนับสนุนความเป็นส่วนตัวของผู้ใช้ด้วยการปกป้องการเข้าถึงสิ่งต่อไปนี้
- ข้อมูลที่ถูกจำกัด เช่น สถานะของระบบและของผู้ใช้ ข้อมูลติดต่อ
- การดำเนินการที่ถูกจำกัด เช่น การเชื่อมต่อกับอุปกรณ์ที่จับคู่และการบันทึก เสียง
หน้านี้ให้ภาพรวมเกี่ยวกับวิธีการทำงานของสิทธิ์ใน Android ซึ่งรวมถึง เวิร์กโฟลว์ระดับสูงสำหรับการใช้สิทธิ์ และคำอธิบายของ สิทธิ์ และแนวทางปฏิบัติแนะนำในการใช้สิทธิ์ในแอปของคุณ อื่นๆ จะอธิบายวิธีลดคำขอของแอปสำหรับ สิทธิ์ ประกาศ สิทธิ์ ขอรันไทม์ สิทธิ์และจำกัดวิธีที่แอปอื่นๆ โต้ตอบกับแอป คอมโพเนนต์
หากต้องการดูรายการสิทธิ์ของแอป Android ทั้งหมด ให้ไปที่ permissions API หน้าอ้างอิง
หากต้องการดูแอปตัวอย่างที่สาธิตเวิร์กโฟลว์การให้สิทธิ์ โปรดไปที่ ตัวอย่างสิทธิ์สำหรับ Android ที่เก็บ ใน GitHub
เวิร์กโฟลว์การใช้สิทธิ์
หากแอปมีฟังก์ชันที่อาจต้องมีการเข้าถึงข้อมูลที่ถูกจำกัด หรือ การดำเนินการที่ถูกจำกัด พิจารณาว่าคุณสามารถรับข้อมูลหรือดำเนินการ โดยไม่ต้องประกาศ สิทธิ์ คุณสามารถดำเนินการตามกรณีการใช้งานได้มากมาย ในแอปของคุณ เช่น การถ่ายภาพ การหยุดเล่นสื่อชั่วคราว และการแสดง โฆษณาที่เกี่ยวข้องโดยไม่จำเป็นต้องประกาศสิทธิ์ใดๆ
หากคิดว่าแอปต้องเข้าถึงข้อมูลที่จำกัดหรือต้องทำงานแบบจำกัด ดำเนินการเพื่อทำตามกรณีการใช้งาน ประกาศสิทธิ์ที่เหมาะสม ใช้บ้าง ซึ่งเรียกกันว่าสิทธิ์เวลาติดตั้ง ให้สิทธิ์โดยอัตโนมัติเมื่อติดตั้งแอปของคุณ สิทธิ์อื่นๆ ซึ่งเรียกว่า สิทธิ์รันไทม์ กำหนดให้แอปต้องดำเนินการอีกขั้นหนึ่ง และ ขอสิทธิ์ขณะรันไทม์
รูปที่ 1 แสดงขั้นตอนการใช้สิทธิ์ของแอป
ประเภทของสิทธิ์
Android แบ่งสิทธิ์ออกเป็นประเภทต่างๆ รวมถึงเวลาติดตั้ง สิทธิ์ สิทธิ์รันไทม์ และสิทธิพิเศษ สิทธิ์แต่ละรายการ ประเภทจะระบุขอบเขตของข้อมูลที่ถูกจำกัดซึ่งแอปของคุณเข้าถึงได้ และ ขอบเขตของการดำเนินการที่ถูกจำกัดที่แอปของคุณสามารถทำได้ เมื่อระบบให้สิทธิ์ แอปที่มีสิทธิ์ดังกล่าว ระดับการปกป้องสิทธิ์แต่ละรายการจะอิงตาม ประเภท และแสดงบน การอ้างอิง API สิทธิ์
สิทธิ์เวลาติดตั้ง
สิทธิ์เมื่อติดตั้งทำให้แอปของคุณเข้าถึงข้อมูลที่จำกัดได้แบบจำกัด หรือ ให้แอปของคุณดําเนินการที่ถูกจำกัดซึ่งส่งผลต่อ ระบบหรือแอปอื่นๆ เมื่อคุณประกาศสิทธิ์เวลาติดตั้งในแอป App Store จะแสดงการแจ้งเตือนสิทธิ์เวลาติดตั้งแก่ผู้ใช้เมื่อ ผู้ใช้จะเห็นหน้ารายละเอียดของแอป ดังที่แสดงในรูปที่ 2 ระบบจะให้สิทธิ์กับแอปของคุณโดยอัตโนมัติเมื่อผู้ใช้ติดตั้ง แอป
Android มีสิทธิ์ติดตั้งประเภทต่างๆ หลายประเภท ได้แก่ สิทธิ์ปกติและสิทธิ์การเซ็นชื่อ
สิทธิ์ทั่วไป
สิทธิ์เหล่านี้ช่วยให้เข้าถึงข้อมูลและการดำเนินการที่นอกเหนือจากแอปของคุณ แต่มีความเสี่ยงน้อยมาก ต่อผู้ใช้ ความเป็นส่วนตัวและการทำงานของแอปอื่นๆ
ระบบจะกำหนดระดับการป้องกัน normal
ให้กับสิทธิ์ปกติ
สิทธิ์ของลายเซ็น
ระบบจะให้สิทธิ์ลายเซ็นแก่แอปเฉพาะเมื่อแอปนั้น ลงนามโดยใช้ใบรับรองเดียวกันกับแอปหรือระบบปฏิบัติการที่กำหนดสิทธิ์ดังกล่าว
แอปพลิเคชันที่ใช้บริการที่ได้รับสิทธิ์ เช่น การป้อนข้อความอัตโนมัติหรือ VPN ให้ใช้ประโยชน์จากลายเซ็นด้วย แอปเหล่านี้ต้องใช้ สิทธิ์การใช้ลายเซ็นผูกบริการเพื่อให้เฉพาะระบบเท่านั้นที่สามารถเชื่อมโยง บริการต่างๆ
ระบบจะกำหนดระดับการป้องกัน signature
ให้กับสิทธิ์ลายเซ็น
สิทธิ์ขณะรันไทม์
สิทธิ์รันไทม์ หรือที่เรียกว่าสิทธิ์ที่เป็นอันตราย ให้แอปของคุณ การเข้าถึงข้อมูลที่ถูกจำกัดเพิ่มเติมหรือให้แอปของคุณทํางาน การดำเนินการที่ถูกจำกัดที่ส่งผลกระทบต่อระบบและแอปอื่นๆ อย่างมาก ดังนั้นคุณจึงต้องขอรันไทม์ สิทธิ์ในแอปก่อนที่จะเข้าถึง ข้อมูลที่ถูกจำกัดหรือดำเนินการที่ถูกจำกัด อย่าคาดเดา ว่าเคยได้รับสิทธิ์เหล่านี้แล้ว โปรดตรวจสอบและ หากจำเป็น ให้ส่งคำขอก่อนสิทธิ์เข้าถึงแต่ละครั้ง
เมื่อแอปขอ สิทธิ์รันไทม์ ระบบจะแสดงข้อความแจ้งสิทธิ์รันไทม์ ตามที่แสดงใน รูปที่ 3
สิทธิ์รันไทม์หลายรายการจะเข้าถึงข้อมูลผู้ใช้ส่วนตัว ซึ่งเป็นประเภทของ ข้อมูลที่ถูกจำกัดซึ่งอาจมีข้อมูลที่อาจมีความละเอียดอ่อน ตัวอย่างของ ข้อมูลส่วนตัวของผู้ใช้ ได้แก่ ตำแหน่งและข้อมูลติดต่อ
ไมโครโฟนและกล้องช่วยให้เข้าถึงข้อมูลที่ละเอียดอ่อนได้ ดังนั้นระบบจะช่วยคุณอธิบายเหตุผลที่แอปเข้าถึงข้อมูลนี้ ข้อมูล
ระบบจะกำหนดระดับการป้องกัน dangerous
ให้กับสิทธิ์รันไทม์
การอนุญาตพิเศษ
สิทธิ์พิเศษจะสอดคล้องกับการทำงานของแอปบางอย่าง เฉพาะแพลตฟอร์ม และ OEM สามารถกำหนดการอนุญาตพิเศษ นอกจากนี้ แพลตฟอร์มและ OEM มักจะกำหนดสิทธิ์พิเศษเมื่อต้องการปกป้องการเข้าถึง การดำเนินการที่มีประสิทธิภาพเป็นพิเศษ เช่น การวาดทับแอปอื่นๆ
หน้าสิทธิ์เข้าถึงพิเศษของแอปในการตั้งค่าระบบมีชุดของ การดำเนินการที่ผู้ใช้สลับได้ การดำเนินการเหล่านี้จำนวนมากมีการใช้งานเป็นกรณีพิเศษ สิทธิ์
ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีขอข้อเสนอพิเศษ สิทธิ์
ระบบจะกำหนดระดับการป้องกัน appop
ให้กับสิทธิ์พิเศษ
กลุ่มสิทธิ์
สิทธิ์ต้องเป็นของกลุ่มสิทธิ์ กลุ่มสิทธิ์ประกอบด้วยชุดสิทธิ์ที่เกี่ยวข้องเชิงตรรกะ สำหรับ ตัวอย่างเช่น สิทธิ์ในการส่งและรับข้อความ SMS อาจเป็น เนื่องจากทั้งคู่เกี่ยวข้องกับการโต้ตอบของแอปพลิเคชันกับ SMS
กลุ่มสิทธิ์จะช่วยระบบลดจำนวนกล่องโต้ตอบของระบบที่ แสดงแก่ผู้ใช้เมื่อแอปขอสิทธิ์ที่เกี่ยวข้องอย่างใกล้ชิด เมื่อ ผู้ใช้ได้รับแจ้งให้อนุญาตแอปพลิเคชัน สิทธิ์ที่อยู่ในกลุ่มเดียวกันจะแสดงในอินเทอร์เฟซเดียวกัน แต่สิทธิ์อาจเปลี่ยนแปลงกลุ่มโดยไม่ต้องแจ้งให้ทราบล่วงหน้า สิทธิ์หนึ่งๆ จะจัดกลุ่มไว้กับสิทธิ์อื่นๆ
แนวทางปฏิบัติแนะนำ
สิทธิ์ของแอปสร้างขึ้นจากความปลอดภัยของระบบ และช่วยให้ Android เป้าหมายที่เกี่ยวข้องกับความเป็นส่วนตัวของผู้ใช้ดังต่อไปนี้
- การควบคุม: ผู้ใช้ควบคุมข้อมูลที่แชร์กับแอปได้
- ความโปร่งใส: ผู้ใช้เข้าใจว่าแอปใช้ข้อมูลใดและเหตุใดจึงใช้แอป เข้าถึงข้อมูลนี้
- ขอบเขตการใช้ข้อมูล: แอปเข้าถึงและใช้เฉพาะข้อมูลที่จําเป็น สำหรับงานหรือการทำงานเฉพาะที่ผู้ใช้เรียกใช้
ส่วนนี้จะแสดงชุดแนวทางปฏิบัติแนะนำหลักๆ สำหรับการใช้สิทธิ์ ในแอปของคุณได้อย่างมีประสิทธิภาพ สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับวิธีดำเนินการกับสิทธิ์ ใน Android ให้ไปที่สิทธิ์ของแอป แนวทางปฏิบัติที่ดี
ขอสิทธิ์ในจำนวนที่น้อยที่สุด
เมื่อผู้ใช้ขอการดำเนินการบางอย่างในแอป แอปของคุณควรขอ เฉพาะสิทธิ์ที่จำเป็น เพื่อให้การทำงานนั้นเสร็จสมบูรณ์ ขึ้นอยู่กับวิธีที่คุณ กำลังใช้สิทธิ์นี้อยู่ อาจมีอีกวิธีในการบรรลุผล Use Case ของแอปโดยไม่ต้องอาศัยสิทธิ์เข้าถึง ข้อมูลที่ละเอียดอ่อน
เชื่อมโยงสิทธิ์รันไทม์กับการดำเนินการที่เจาะจง
โปรดขอสิทธิ์ในช่วงที่ Use Case ของแอปล่าช้าที่สุดเท่าที่จะทำได้ เช่น หากแอปอนุญาตให้ผู้ใช้ส่งข้อความเสียงให้คนอื่นได้ ให้รอสักครู่ จนกว่าผู้ใช้จะไปยังหน้าจอการรับส่งข้อความแล้วกดปุ่มส่ง ข้อความเสียง หลังจากที่ผู้ใช้กดปุ่ม แอปของคุณจะสามารถ ขอสิทธิ์เข้าถึงไมโครโฟน
พิจารณาทรัพยากร Dependency ของแอป
เมื่อคุณรวมไลบรารีไว้ด้วย ก็จะได้รับช่วงข้อกำหนดของสิทธิ์ด้วย เป็น ทราบถึงสิทธิ์ที่ทรัพยากร Dependency ต้องการและสิทธิ์เข้าถึงสิทธิ์เหล่านั้น สิทธิ์เหล่านั้นสำหรับ
มีความโปร่งใส
เมื่อคุณส่งคำขอสิทธิ์ อย่าลืมบอกสิ่งที่คุณจะเข้าถึงให้ชัดเจน ทำไม และฟังก์ชันใดที่ได้รับผลกระทบหากสิทธิ์ถูกปฏิเสธ เพื่อให้ผู้ใช้มีข้อมูลประกอบการตัดสินใจ
ทำให้การเข้าถึงระบบไม่เหมาะสม
เมื่อคุณเข้าถึงข้อมูลที่ละเอียดอ่อนหรือฮาร์ดแวร์ เช่น กล้องหรือไมโครโฟน ให้การบ่งชี้อย่างต่อเนื่องในแอปของคุณ หากระบบยังไม่ได้ดำเนินการ ระบุตัวบ่งชี้เหล่านี้ การช่วยเตือนนี้ช่วยให้ผู้ใช้ทราบแน่ชัดว่าเมื่อใดที่แอปของคุณจะเข้าถึงแบบจํากัด หรือดำเนินการที่ถูกจำกัด
สิทธิ์ในคอมโพเนนต์ของระบบ
สิทธิ์ไม่ได้มีไว้สำหรับการขอฟังก์ชันการทำงานของระบบเท่านั้น ระบบของแอป สามารถจำกัดแอปอื่นๆ ที่สามารถโต้ตอบกับแอปของคุณ เช่น ที่อธิบายไว้ในหน้านี้เกี่ยวกับวิธีจำกัดการโต้ตอบกับ แอป