הרשאות ב-Android

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

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

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

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

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

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

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

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

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

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

סוגי הרשאות

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

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

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

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

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

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

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

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

הרשאות חתימה

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

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

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

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

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

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

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

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

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

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

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

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

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

מידע נוסף על שליחת בקשות מיוחדות הרשאות.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

שומרים על שקיפות

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

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

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

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

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