זיהוי הצרכים לגישה למידע אישי רגיש

הרשאות לאפליקציות עוזרות להגן על פרטיות המשתמשים על ידי הגנה על הגישה לפריטים הבאים:

  • נתונים מוגבלים, כמו מצב המערכת ופרטי הקשר של המשתמשים
  • פעולות מוגבלות, כמו חיבור למכשיר מותאם והקלטת אודיו

בדף הזה נספק סקירה כללית על אופן הפעולה של ההרשאות ב-Android, כולל תהליך עבודה ברמה גבוהה לשימוש בהרשאות, תיאורים של סוגים שונים של הרשאות וחלק מהשיטות המומלצות לשימוש בהרשאות באפליקציה. בדפים אחרים נסביר איך לצמצם את מספר הבקשות של האפליקציה להרשאות, להצהיר על הרשאות, לבקש הרשאות בסביבת זמן הריצה ולהגביל את האופן שבו אפליקציות אחרות יכולות לקיים אינטראקציה עם הרכיבים של האפליקציה.

כדי לראות רשימה מלאה של הרשאות לאפליקציות ל-Android, אפשר לעיין בדף ההפניה של ה-API להרשאות.

כדי לראות כמה אפליקציות לדוגמה שממחישות את תהליך העבודה של ההרשאות, אפשר להיכנס למאגר של דוגמאות להרשאות ל-Android ב-GitHub.

תהליך העבודה לשימוש בהרשאות

אם האפליקציה שלכם מציעה פונקציונליות שעשויה לדרוש גישה לנתונים מוגבלים או לביצוע פעולות מוגבלות, עליכם לקבוע אם אתם יכולים לקבל את המידע או לבצע את הפעולות בלי להצהיר על הרשאות. אתם יכולים לבצע באפליקציה שלכם תרחישים רבים לדוגמה, צילום תמונות, השהיה של הפעלת מדיה והצגת מודעות רלוונטיות, בלי להצהיר על הרשאות.

אם החלטתם שהאפליקציה שלכם צריכה לגשת לנתונים מוגבלים או לבצע פעולות מוגבלות כדי למלא תרחיש לדוגמה, עליכם להצהיר על ההרשאות המתאימות. חלק מההרשאות, שנקראות הרשאות בזמן ההתקנה, ניתנות באופן אוטומטי כשהאפליקציה מותקנת. הרשאות אחרות, שנקראות הרשאות בסביבת זמן ריצה, מחייבות את האפליקציה להתקדם צעד נוסף ולבקש את ההרשאה בסביבת זמן הריצה.

איור 1 ממחיש את תהליך העבודה לשימוש בהרשאות לאפליקציות:

איור 1. תהליך עבודה ברמה גבוהה לשימוש בהרשאות ב-Android.

סוגי הרשאות

ב-Android, ההרשאות מסווגות לסוגים שונים, כולל הרשאות בזמן ההתקנה, הרשאות זמן ריצה והרשאות מיוחדות. הסוג של כל הרשאה מציין את היקף הנתונים המוגבלים שהאפליקציה יכולה לגשת אליהם ואת היקף הפעולות המוגבלות שהאפליקציה יכולה לבצע, כשהמערכת מעניקה לאפליקציה את ההרשאה הזו. רמת ההגנה של כל הרשאה מבוססת על הסוג שלה, והיא מוצגת בדף Permissions API reference.

הרשאות בזמן ההתקנה

בתמונה הימנית מוצגת רשימה של ההרשאות של אפליקציה בזמן ההתקנה. בתמונה השמאלית מוצגת תיבת דו-שיח קופצת עם שתי אפשרויות: אישור ודחייה.
איור 2. רשימת ההרשאות של האפליקציה בזמן ההתקנה, שמופיעה בחנות האפליקציות.

הרשאות שמקבלים בזמן ההתקנה מעניקות לאפליקציה גישה מוגבלת לנתונים מוגבלים, או מאפשרות לה לבצע פעולות מוגבלות שמשפיעות במידה מינימלית על המערכת או על אפליקציות אחרות. כשמגדירים באפליקציה הרשאות לזמן ההתקנה, הודעה על הרשאות לזמן ההתקנה מוצגת למשתמש בחנות האפליקציות כשהוא מציג את דף הפרטים של האפליקציה, כפי שמוצג באיור 2. המערכת מעניקה לאפליקציה את ההרשאות באופן אוטומטי כשהמשתמש מתקין אותה.

ב-Android יש כמה סוגים משניים של הרשאות בזמן ההתקנה, כולל הרשאות רגילות והרשאות חתימה.

הרשאות רגילות

ההרשאות האלה מאפשרות גישה לנתונים ולפעולות מעבר לארגז החול של האפליקציה, אבל הן לא מהוות סיכון משמעותי לפרטיות של המשתמש ולתפעול של אפליקציות אחרות.

המערכת מקצה את רמת ההגנה normal להרשאות רגילות.

הרשאות חתימה

המערכת מעניקה לאפליקציה הרשאת חתימה רק אם האפליקציה חתומה על ידי אותו אישור שבו חתומה האפליקציה או מערכת ההפעלה שמגדירה את ההרשאה.

אפליקציות שמטמיעות שירותים עם הרשאות, כמו מילוי אוטומטי או שירותי VPN, משתמשות גם בהרשאות חתימה. האפליקציות האלה זקוקות להרשאות חתימה לקישור שירותים, כדי שרק המערכת תוכל לקשר את השירותים.

המערכת מקצה את רמת ההגנה signature להרשאות החתימה.

הרשאות זמן ריצה

תיבת דו-שיח קופצת שמכילה 2 אפשרויות: אישור ודחייה.
איור 3. ההודעה במערכת שמופיעה כשהאפליקציה מבקשת הרשאה לכל משך זמן הפעילות.

הרשאות זמן ריצה, שנקראות גם הרשאות מסוכנות, מעניקות לאפליקציה גישה נוספת לנתונים מוגבלים או מאפשרות לה לבצע פעולות מוגבלות שמשפיעות באופן משמעותי יותר על המערכת ועל אפליקציות אחרות. לכן, צריך לבקש הרשאות בסביבת זמן הריצה באפליקציה כדי לגשת לנתונים המוגבלים או לבצע פעולות מוגבלות. אל תניחו שההרשאות האלה כבר ניתנו בעבר – עליכם לבדוק אותן, ואם צריך, לבקש אותן לפני כל גישה.

כשהאפליקציה מבקשת הרשאה בחירת זמן ריצה, המערכת מציגה בקשה להרשאה בחירת זמן ריצה, כפי שמתואר באיור 3.

הרבה הרשאות בסביבת זמן הריצה נותנות גישה לנתוני משתמש פרטיים, סוג מיוחד של נתונים מוגבלים שעשויים לכלול מידע רגיש. דוגמאות לנתונים פרטיים של משתמשים כוללות מיקום ופרטי יצירת קשר.

המיקרופון והמצלמה מספקים גישה למידע רגיש במיוחד. לכן, המערכת עוזרת לכם להסביר למה האפליקציה ניגשת למידע הזה.

המערכת מקצה את רמת ההגנה dangerous להרשאות בסביבת זמן הריצה.

הרשאות מיוחדות

הרשאות מיוחדות תואמות לפעולות ספציפיות באפליקציה. רק הפלטפורמה והיצרנים המקוריים של הציוד יכולים להגדיר הרשאות מיוחדות. בנוסף, בדרך כלל הפלטפורמה וספקי הציוד המקורי מגדירים הרשאות מיוחדות כשהם רוצים להגן על הגישה לפעולות חזקות במיוחד, כמו ציור מעל אפליקציות אחרות.

הדף Special app access (גישה מיוחדת לאפליקציות) בהגדרות המערכת מכיל קבוצה של פעולות שהמשתמשים יכולים להפעיל או להשבית. רבות מהפעולות האלה מיושמות כהרשאות מיוחדות.

איך מבקשים הרשאות מיוחדות

המערכת מקצה את רמת ההגנה appop להרשאות מיוחדות.

קבוצות של הרשאות

ההרשאות יכולות להשתייך לקבוצות הרשאות. קבוצות הרשאות מורכבות מקבוצה של הרשאות שקשורות באופן לוגי. לדוגמה, יכול להיות שההרשאות לשליחה ולקבלה של הודעות SMS יהיו באותה קבוצה, כי שתיהן קשורות לאינטראקציה של האפליקציה עם SMS.

קבוצות ההרשאות עוזרות למערכת לצמצם את מספר תיבת הדו-שיח של המערכת שמוצגות למשתמש כשאפליקציה מבקשת הרשאות קשורות מאוד. כשמוצגת למשתמש בקשה להעניק הרשאות לאפליקציה, ההרשאות ששייכות לאותה קבוצה מוצגות באותו ממשק. עם זאת, הקבוצות של ההרשאות עשויות להשתנות ללא הודעה מראש, לכן אל תניחו שהרשאה מסוימת מקובצת עם הרשאה אחרת.

שיטות מומלצות

הרשאות האפליקציות מבוססות על תכונות אבטחת המערכת ועוזרות ל-Android לתמוך ביעדים הבאים שקשורים לפרטיות המשתמשים:

  • שליטה: למשתמש יש שליטה על הנתונים שהוא משתף עם אפליקציות.
  • שקיפות: המשתמש מבין באילו נתונים האפליקציה משתמשת ולמה האפליקציה ניגשת לנתונים האלה.
  • צמצום השימוש בנתונים: האפליקציה ניגשת רק לנתונים הנדרשים לביצוע משימה או פעולה ספציפית שהמשתמש מבצע, ומשתמשת רק בהם.

בקטע הזה נספק לכם כמה שיטות מומלצות לשימוש יעיל בהרשאות באפליקציה. לפרטים נוספים על אופן העבודה עם הרשאות ב-Android, אפשר לעיין בדף שיטות מומלצות לשימוש בהרשאות באפליקציות.

בקשה למספר מינימלי של הרשאות

כשהמשתמש מבקש לבצע פעולה מסוימת באפליקציה, האפליקציה צריכה לבקש רק את ההרשאות הדרושות לה כדי להשלים את הפעולה הזו. בהתאם לאופן שבו אתם משתמשים בהרשאות, יכול להיות שיש דרך חלופית למלא את תרחיש השימוש של האפליקציה בלי להסתמך על גישה למידע רגיש.

שיוך הרשאות בסביבת זמן ריצה לפעולות ספציפיות

כדאי לבקש הרשאות כמה שיותר מאוחר בתהליך של תרחישים לדוגמה של האפליקציה. לדוגמה, אם האפליקציה מאפשרת למשתמשים לשלוח הודעות אודיו לאחרים, צריך להמתין עד שהמשתמש יגיע למסך ההודעות וילחץ על הלחצן שליחת הודעת אודיו. אחרי שהמשתמש ילחץ על הלחצן, האפליקציה תוכל לבקש גישה למיקרופון.

חשוב להביא בחשבון את יחסי התלות של האפליקציה

כשאתם כוללים ספרייה, אתם יורשים גם את דרישות ההרשאות שלה. חשוב לדעת אילו הרשאות נדרשות לכל יחסי תלות ומה מטרת ההרשאות האלה.

שקיפות

כששולחים בקשה להרשאות, חשוב להבהיר למה אתם צריכים גישה למידע, לאילו תכונות אתם צריכים גישה ולמה, ואילו פונקציות יושפעו אם ההרשאות נדחות, כדי שהמשתמשים יוכלו לקבל החלטות מושכלות.

הרשאות גישה מפורשות למערכת

כשאתם ניגשים לנתונים רגישים או לחומרה, כמו המצלמה או המיקרופון, עליכם לספק אינדיקציה מתמשכת באפליקציה אם המערכת עדיין לא מספקת את האינדיקציות האלה. התזכורת הזו עוזרת למשתמשים להבין בדיוק מתי האפליקציה שלכם ניגשת לנתונים מוגבלים או מבצעת פעולות מוגבלות.

הרשאות ברכיבי המערכת

ההרשאות לא משמשות רק לבקשה של פונקציונליות מערכת. רכיבי המערכת של האפליקציה יכולים להגביל את האפליקציות האחרות שיכולות לקיים אינטראקציה עם האפליקציה, כפי שמתואר בדף בנושא הגבלת האינטראקציות עם אפליקציות אחרות.