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