สิทธิ์บน Android

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Android มีสิทธิ์ย่อยหลายประเภทสำหรับเวลาติดตั้ง ซึ่งรวมถึงสิทธิ์ปกติและสิทธิ์ลายเซ็น

สิทธิ์ปกติ

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

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

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

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

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

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

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

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

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

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

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

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

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

สิทธิ์พิเศษ

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

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

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

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

กลุ่มสิทธิ์

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ระบุการเข้าถึงระบบอย่างชัดเจน

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

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

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