אימות היקף מוגבל

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

ההיקף המוגבל של API תלוי בעיקר ברמת הגישה שנדרשת כדי לספק תכונה רלוונטית באפליקציה: קריאה בלבד, כתיבה בלבד, קריאה וכתיבה וכו'.

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

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

הסבר על היקפים מוגבלים

אם האפליקציה שלכם מבקשת הרשאות גישה מוגבלות ולא עומדת בדרישות לקבלת חריגה, אתם צריכים לעמוד בדרישות הנוספות להרשאות גישה ספציפיות ל-API של מדיניות Google API Services User Data (מדיניות Google בנושא נתוני משתמשים בשירותי API), או בדרישות ספציפיות למוצר שמופיעות בדף המפתחים של Google של המוצר. במקרים כאלה נדרש תהליך בדיקה מקיף יותר.

הסבר על השימוש בהיקף

  • בודקים את היקפי ההרשאות שהאפליקציה משתמשת בהם או שרוצים להשתמש בהם. כדי לראות את השימוש הקיים בהיקף ההרשאות, בודקים את קוד המקור של האפליקציה כדי לראות אילו היקפי הרשאות נשלחים עם בקשות הרשאה.
  • לוודא שכל היקף הרשאות שנדרש נחוץ לפעולות המיועדות של תכונת האפליקציה, ושהאפליקציה משתמשת בהרשאות המינימליות שנדרשות כדי לספק את התכונה. לרוב, ל-Google API יש מסמכי עזר ב דף המפתחים של Google של המוצר, לגבי נקודות הקצה שלו, כולל ההיקף שנדרש כדי לבצע קריאה לנקודת הקצה או למאפיינים ספציפיים בתוך נקודת הקצה. מידע נוסף על היקפי ההרשאות הנדרשים לנקודות הקצה (endpoint) של ה-API שאליהן האפליקציה מתקשרת מופיע במסמכי העיון של נקודות הקצה האלה. For example, for an app that only uses Gmail APIs to occasionally send emails on a user's behalf, don't request the scope that provides full access to the user's email data.
  • השימוש בנתונים שמתקבלים מ-Google API חייב להתבצע בהתאם למדיניות של ה-API, ובאופן שמוצג למשתמשים בפעולות של האפליקציה ובמדיניות הפרטיות שלה.
  • מידע נוסף על כל היקף, כולל ה סטטוס הפוטנציאלי שלו, מופיע במאמרי העזרה של ה-API.
  • מצהירים על כל ההיקפים שבהם נעשה שימוש באפליקציה בדף גישה לנתונים ב-Cloud Console. ההיקפים שאתם מציינים מקובצים לקטגוריות רגישות או מוגבלות כדי להדגיש אם נדרש אימות נוסף.
  • כדאי למצוא את ההיקף הכי מתאים לנתונים שבהם נעשה שימוש בשילוב, להבין את השימוש בו, לוודא שהכול עדיין פועל בסביבת בדיקה ולהתכונן לשליחה לאימות.

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

סוגי האפליקציות המותרים

סוגים מסוימים של אפליקציות יכולים לגשת להיקפים מוגבלים לכל מוצר. סוגי הבקשות מפורטים בדף המפתחים של Google שספציפי למוצר (לדוגמה, מדיניות Gmail API).

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

הערכת אבטחה

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

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

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

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

שלבים להכנה לאימות

כל האפליקציות שמשתמשות ב-Google APIs כדי לבקש גישה לנתונים צריכות לבצע את השלבים הבאים כדי להשלים את אימות המותג:

  1. חשוב לוודא שהאפליקציה לא נכללת באף אחד מתרחישי השימוש שמפורטים בקטע חריגים לדרישות האימות.
  2. חשוב לוודא שהאפליקציה עומדת בדרישות המיתוג של ממשקי ה-API או המוצרים המשויכים. לדוגמה, אפשר לעיין בהנחיות המיתוג בנושא היקפי הרשאות של כניסה באמצעות חשבון Google.
  3. מאמתים את הבעלות על הדומיינים המורשים של הפרויקט ב-Google Search Console. משתמשים בחשבון Google שמקושר לפרויקט ב-קונסולה לממשקי API בתור בעלים או עורך.
  4. חשוב לוודא שכל פרטי המיתוג במסך ההסכמה ל-OAuth, כמו שם האפליקציה, כתובת האימייל לתמיכה, ה-URI של דף הבית, ה-URI של מדיניות הפרטיות וכו', מייצגים בצורה מדויקת את הזהות של האפליקציה.

הדרישות לגבי דף הבית של האפליקציה

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

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

דרישות לגבי קישור למדיניות הפרטיות של האפליקציה

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

  • מדיניות הפרטיות צריכה להיות גלויה למשתמשים, להתארח באותו דומיין כמו דף הבית של האפליקציה ולקשר למסך ההסכמה ל-OAuth ב-Google API Console. שימו לב: דף הבית צריך לכלול תיאור של הפונקציונליות של האפליקציה, וגם קישורים למדיניות הפרטיות ולתנאים ולהגבלות (אופציונלי).
  • מדיניות הפרטיות חייבת לפרט את האופן שבו האפליקציה ניגשת לנתוני משתמשים ב-Google, משתמשת בהם, מאחסנת אותם או משתפת אותם. The privacy policy must comply with the Google API Services User Data Policy and the Limited Use requirements for restricted scopes. אתם צריכים להגביל את השימוש שלכם בנתוני משתמשים של Google לשיטות שמופיעות במדיניות הפרטיות שפרסמתם.
  • Review example cases of privacy policies that don't meet the Limited Use requirements.

איך שולחים את האפליקציה לאימות מותג

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

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

כדי לשלוח את הבקשה לאימות, פועלים לפי השלבים הבאים:

  1. מוודאים שהאפליקציה עומדת בדרישות של התנאים וההגבלות של Google APIs ושל המדיניות של Google בנושא נתוני משתמשים בשירותי API.
  2. חשוב לוודא שפרטי התפקידים של בעלי החשבון והעורכים בחשבונות המשויכים לפרויקט מעודכנים, וגם כתובת האימייל לתמיכה במשתמשים ופרטי הקשר של המפתח במסך הסכמה ל-OAuth ב-Cloud Console. כך אפשר לוודא שהחברים הנכונים בצוות שלכם יקבלו הודעה על כל דרישה חדשה.
  3. נכנסים לדף המיתוג של OAuth במסוף Cloud.
  4. לוחצים על הלחצן בורר הפרויקטים.
  5. בתיבת הדו-שיח Select from שמופיעה, בוחרים את הפרויקט. אם אתם לא מוצאים את הפרויקט אבל אתם יודעים מה מזהה הפרויקט, אתם יכולים ליצור כתובת URL בדפדפן בפורמט הבא:

    https://console.developers.google.com/auth/branding?project=[PROJECT_ID]

    מחליפים את [PROJECT_ID] במזהה הפרויקט שרוצים להשתמש בו.

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

  11. משתמשים בלחצן הוספה או הסרה של היקפים כדי להצהיר על כל ההיקפים שהאפליקציה מבקשת. קבוצה ראשונית של היקפים שנדרשים לכניסה באמצעות חשבון Google מאוכלסת מראש בקטע היקפים לא רגישים. ההיקפים שנוספו מסווגים כלא רגישים, <a href="/identity/protocols/oauth2/production-readiness/sensitive-scope-verification"

    sensitive, or restricted.

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

    1. Ensure your app complies with the Additional requirements for specific API scopes, which includes undergoing an annual security assessment if your app accesses restricted scope Google users' data from or through a third-party server.
    2. Ensure your app is one of the allowed types specified in the Limited Use section of the Additional requirements for specific API scopes page.
    3. If your app is a task automation platform, your demonstration video must showcase how multiple API workflows are created and automated, and in which directions user data flows.
    4. Prepare a video that fully demonstrates how a user initiates and grants access to the requested scopes and shows, in detail, the usage of the granted sensitive and restricted scopes in the app. Upload the video to YouTube Studio and set Visibility as Unlisted. You need to provide a link to the demonstration video in the YouTube link field.

      1. Show the OAuth grant process that users will experience, in English. This includes the consent flow and, if you use Google Sign-In, the sign-in flow.
      2. Show that the OAuth consent screen correctly displays the App Name.
      3. Show that the browser address bar of the OAuth consent screen correctly includes your app's OAuth client ID.
      4. To show how the data will be used, demonstrate the functionality that's enabled by each sensitive and restricted scope that you request.
      5. If you use multiple clients, and therefore have multiple OAuth client IDs, show how the data is accessed on each OAuth client.
    5. Select your permitted application type from the "What features will you use?" list.
    6. Describe how you will use the restricted scopes in your app and why more limited scopes aren't sufficient.

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

חריגים לדרישות האימות

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

שימוש אישי

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

פרויקטים שמשמשים ברמות פיתוח, בדיקה או הכנה

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

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

הודעת אזהרה ש-Google לא אימתה אפליקציה שנמצאת בבדיקה.
איור 1. מסך האזהרה לבודקים

רק נתונים שבבעלות השירות

אם האפליקציה שלכם משתמשת בחשבון שירות כדי לגשת רק לנתונים שלה, ולא ניגשת לנתוני משתמשים (שמקושרים לחשבון Google), אתם לא צריכים לשלוח אותה לאימות.

הסבר על חשבונות שירות זמין במאמר בנושא חשבונות שירות במאמרי העזרה של Google Cloud. הוראות לשימוש בחשבון שירות מופיעות במאמר שימוש ב-OAuth 2.0 לאפליקציות משרת-אל-שרת.

לשימוש פנימי בלבד

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

התקנה ברמת הדומיין

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

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