ההרשאות שניתנות לאפליקציות עוזרות לשמור על פרטיות המשתמשים כי הן מגנות על הגישה לנתונים הבאים:
- נתונים מוגבלים, כמו מצב המערכת ופרטי הקשר של המשתמשים
- פעולות מוגבלות, כמו חיבור למכשיר מותאם והקלטת אודיו
בדף הזה מוסבר איך הרשאות Android פועלות, כולל תיאור של תהליך העבודה ברמה גבוהה לשימוש בהרשאות, תיאורים של סוגים שונים של הרשאות וכמה שיטות מומלצות לשימוש בהרשאות באפליקציה. בדפים אחרים מוסבר איך לצמצם את הבקשות של האפליקציה להרשאות, להצהיר על הרשאות, לבקש הרשאות בזמן ריצה ולהגביל את האופן שבו אפליקציות אחרות יכולות ליצור אינטראקציה עם הרכיבים של האפליקציה.
כדי לראות רשימה מלאה של הרשאות לאפליקציות ל-Android, אפשר לעבור אל דף ההפניה של API ההרשאות.
כדי לראות אפליקציות לדוגמה שממחישות את תהליך העבודה של ההרשאות, אפשר להיכנס למאגר הדוגמאות של הרשאות Android ב-GitHub.
תהליך העבודה לשימוש בהרשאות
אם האפליקציה מציעה פונקציונליות שעשויה לדרוש גישה לנתונים מוגבלים או לפעולות מוגבלות, צריך לבדוק אם אפשר לקבל את המידע או לבצע את הפעולות בלי להצהיר על הרשאות. אתם יכולים להשתמש בהרשאות האלה באפליקציה למגוון מקרים, כמו צילום תמונות, השהיית הפעלת מדיה והצגת מודעות רלוונטיות, בלי שתצטרכו להצהיר על הרשאות כלשהן.
אם תחליטו שהאפליקציה שלכם חייבת לגשת לנתונים מוגבלים או לבצע פעולות מוגבלות כדי למלא תרחיש שימוש, תצטרכו להצהיר על ההרשאות המתאימות. חלק מההרשאות, שנקראות הרשאות בזמן ההתקנה, ניתנות באופן אוטומטי כשהאפליקציה מותקנת. הרשאות אחרות, שנקראות הרשאות בזמן ריצה, מחייבות את האפליקציה לבצע שלב נוסף ולבקש את ההרשאה בזמן הריצה.
איור 1 מציג את תהליך העבודה לשימוש בהרשאות לאפליקציות:
סוגי הרשאות
מערכת Android מחלקת את ההרשאות לסוגים שונים, כולל הרשאות שניתנות בזמן ההתקנה, הרשאות בתחילת ההפעלה והרשאות מיוחדות. הסוג של כל הרשאה מציין את היקף הנתונים המוגבלים שהאפליקציה יכולה לגשת אליהם, ואת היקף הפעולות המוגבלות שהאפליקציה יכולה לבצע, כשהמערכת מעניקה לאפליקציה את ההרשאה הזו. רמת ההגנה של כל הרשאה מבוססת על הסוג שלה ומוצגת בדף permissions API reference.
הרשאות בזמן ההתקנה
הרשאות שניתנות בזמן ההתקנה מאפשרות לאפליקציה שלכם גישה מוגבלת לנתונים מוגבלים או מאפשרות לאפליקציה לבצע פעולות מוגבלות שמשפיעות באופן מינימלי על המערכת או על אפליקציות אחרות. כשמצהירים על הרשאות בזמן ההתקנה באפליקציה, חנות האפליקציות מציגה למשתמש הודעה על הרשאות בזמן ההתקנה כשהוא צופה בדף הפרטים של האפליקציה, כמו שמוצג באיור 2. המערכת מעניקה לאפליקציה את ההרשאות באופן אוטומטי כשהמשתמש מתקין את האפליקציה.
Android כולל כמה סוגים משניים של הרשאות בזמן ההתקנה, כולל הרשאות רגילות והרשאות חתימה.
הרשאות רגילות
ההרשאות האלה מאפשרות גישה לנתונים ולפעולות שחורגות מהארגז חול של האפליקציה, אבל הן לא מסכנות את הפרטיות של המשתמש ואת הפעולה של אפליקציות אחרות.
המערכת מקצה את רמת ההגנה normal להרשאות רגילות.
הרשאות חתימה
המערכת מעניקה הרשאת חתימה לאפליקציה רק כשהאפליקציה חתומה באותו אישור כמו האפליקציה או מערכת ההפעלה שמגדירה את ההרשאה.
אפליקציות שמטמיעות שירותים עם הרשאות מיוחדות, כמו מילוי אוטומטי או שירותי VPN, משתמשות גם בהרשאות חתימה. האפליקציות האלה דורשות הרשאות חתימה של קישור לשירות, כדי שרק המערכת תוכל לקשר לשירותים.
המערכת מקצה את רמת ההגנה signature להרשאות החתימה.
הרשאות זמן ריצה
הרשאות בזמן ריצה, שנקראות גם הרשאות מסוכנות, מעניקות לאפליקציה גישה נוספת לנתונים מוגבלים או מאפשרות לאפליקציה לבצע פעולות מוגבלות שמשפיעות באופן משמעותי יותר על המערכת ועל אפליקציות אחרות. לכן, כדי לגשת לנתונים המוגבלים או לבצע פעולות מוגבלות, צריך לבקש הרשאות בזמן ריצה באפליקציה. אל תניחו שההרשאות האלה כבר ניתנו – צריך לבדוק אותן, ואם צריך, לבקש אותן לפני כל גישה.
כשהאפליקציה מבקשת הרשאה בזמן ריצה, המערכת מציגה בקשה להרשאה בזמן ריצה, כמו שמוצג באיור 3.
הרבה הרשאות בזמן ריצה מאפשרות גישה לנתונים פרטיים של משתמשים, סוג מיוחד של נתונים מוגבלים שכולל מידע רגיש פוטנציאלי. דוגמאות לנתונים פרטיים של משתמשים: מיקום ופרטים ליצירת קשר.
המיקרופון והמצלמה מספקים גישה למידע רגיש במיוחד. לכן, המערכת עוזרת לכם להסביר למה האפליקציה שלכם ניגשת למידע הזה.
המערכת מקצה את רמת ההגנה dangerous להרשאות זמן ריצה.
הרשאות מיוחדות
הרשאות מיוחדות תואמות לפעולות ספציפיות באפליקציה. רק הפלטפורמה ויצרני ציוד מקורי יכולים להגדיר הרשאות מיוחדות. בנוסף, הפלטפורמה ויצרני הציוד המקורי (OEM) בדרך כלל מגדירים הרשאות מיוחדות כשהם רוצים להגן על הגישה לפעולות חזקות במיוחד, כמו ציור מעל אפליקציות אחרות.
הדף אפליקציות עם הרשאות גישה מיוחדות בהגדרות המערכת מכיל קבוצה של פעולות שהמשתמש יכול להפעיל או להשבית. הרבה מהפעולות האלה מיושמות כהרשאות מיוחדות.
המערכת מקצה את רמת ההגנה appop להרשאות מיוחדות.
קבוצות של הרשאות
ההרשאות יכולות להשתייך לקבוצות הרשאות. קבוצות הרשאות מורכבות מקבוצה של הרשאות שקשורות זו לזו באופן לוגי. לדוגמה, הרשאות לשליחה ולקבלה של הודעות SMS עשויות להיות שייכות לאותה קבוצה, כי שתיהן קשורות לאינטראקציה של האפליקציה עם SMS.
קבוצות הרשאות עוזרות למערכת לצמצם את מספר תיבות הדו-שיח של המערכת שמוצגות למשתמשים כשבאפליקציה מתבקשות הרשאות שקשורות זו לזו. כשמוצגת למשתמש בקשה להענקת הרשאות לאפליקציה, ההרשאות ששייכות לאותה קבוצה מוצגות באותו ממשק. עם זאת, יכול להיות שההרשאות ישתנו בקבוצות ללא הודעה מוקדמת, לכן אל תניחו שהרשאה מסוימת מקובצת עם הרשאה אחרת.
שיטות מומלצות
הרשאות לאפליקציות מבוססות על תכונות אבטחה של המערכת ועוזרות ל-Android לתמוך במטרות הבאות שקשורות לפרטיות המשתמשים:
- שליטה: המשתמשים יכולים לשלוט בנתונים שהם משתפים עם האפליקציות.
- שקיפות: המשתמש מבין באילו נתונים האפליקציה משתמשת ולמה היא ניגשת לנתונים האלה.
- הגבלת איסוף המידע: אפליקציה ניגשת לנתונים ומשתמשת בהם רק אם הם נדרשים למשימה או לפעולה ספציפית שהמשתמש מפעיל.
בקטע הזה מוצגות שיטות מומלצות לשימוש בהרשאות באפליקציה. לפרטים נוספים על עבודה עם הרשאות ב-Android, אפשר לעבור לדף שיטות מומלצות לשימוש בהרשאות באפליקציות.
שליחת בקשה למספר מינימלי של הרשאות
כשהמשתמש מבקש לבצע פעולה מסוימת באפליקציה, האפליקציה צריכה לבקש רק את ההרשאות שדרושות לה כדי להשלים את הפעולה הזו. בהתאם לאופן השימוש בהרשאות, יכול להיות שיש דרך חלופית להשיג את מטרת השימוש באפליקציה בלי להסתמך על גישה למידע רגיש.
שיוך הרשאות בתחילת ההפעלה לפעולות ספציפיות
כדאי לבקש הרשאות בשלב מאוחר ככל האפשר בתהליך השימוש בתרחישים לדוגמה של האפליקציה. לדוגמה, אם האפליקציה מאפשרת למשתמשים לשלוח הודעות אודיו למשתמשים אחרים, צריך להמתין עד שהמשתמש יעבור למסך ההודעות וילחץ על הלחצן שליחת הודעת אודיו. אחרי שהמשתמש לוחץ על הלחצן, האפליקציה יכולה לבקש גישה למיקרופון.
התלות של האפליקציה
כשמצרפים ספרייה, מקבלים בירושה גם את דרישות ההרשאה שלה. חשוב להכיר את ההרשאות שכל תלות דורשת ואת המטרות של ההרשאות האלה.
שומרים על שקיפות
כששולחים בקשת הרשאות, חשוב להסביר בצורה ברורה למה אתם ניגשים, למה, ואילו פונקציות יושפעו אם הבקשה תידחה, כדי שהמשתמשים יוכלו לקבל החלטות מושכלות.
הגדרת גישות למערכת באופן מפורש
כשניגשים לנתונים רגישים או לחומרה, כמו המצלמה או המיקרופון, צריך לספק אינדיקציה רציפה באפליקציה אם המערכת לא מספקת את האינדיקציות האלה. התזכורת הזו עוזרת למשתמשים להבין בדיוק מתי האפליקציה שלכם ניגשת לנתונים מוגבלים או מבצעת פעולות מוגבלות.
הרשאות ברכיבי מערכת
ההרשאות לא משמשות רק לבקשת פונקציונליות של המערכת. רכיבי המערכת של האפליקציה יכולים להגביל את האפליקציות האחרות שיכולות ליצור אינטראקציה עם האפליקציה שלכם, כמו שמתואר בדף בנושא הגבלת אינטראקציות עם אפליקציות אחרות.