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