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

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

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

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

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

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

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

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

  • בודקים את ההיקפים שבהם האפליקציה משתמשת או שבהם רוצים להשתמש. כדי לראות את השימוש הקיים בהיקף ההרשאות, בודקים את קוד המקור של האפליקציה כדי לראות אם יש היקפי הרשאות שנשלחים עם בקשות הרשאה.
  • צריך לוודא שכל היקף הרשאה שנדרש חיוני לפעולות המיועדות של התכונה באפליקציה, ושהאפליקציה משתמשת בהרשאות המינימליות שנדרשות כדי לספק את התכונה. לממשקי Google API יש בדרך כלל מסמכי עזר ב דף המפתחים של Google לגבי נקודות הקצה שלהם, כולל ההיקף שנדרש כדי לקרוא לנקודת הקצה או למאפיינים ספציפיים בתוכה. מידע נוסף על היקפי הגישה הנדרשים לנקודות הקצה של ה-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, ובאופן שמוצג למשתמשים בפעולות של האפליקציה ובמדיניות הפרטיות שלה.
  • מידע נוסף על כל היקף, כולל ה sensitive or restricted סטטוס האפשרי שלו, זמין במאמרי העזרה של ה-API.
  • מצהירים על כל ההיקפים שבהם האפליקציה משתמשת בקובץ Cloud Consoleבקטע Data Access page. ההיקפים שאתם מציינים מקובצים לקטגוריות רגישות או מוגבלות כדי להדגיש אם נדרש אימות נוסף.
  • כדאי למצוא את ההיקף הכי מתאים לנתונים שבהם נעשה שימוש בשילוב, להבין את השימוש בו, לוודא שהכול עדיין פועל בסביבת בדיקה ולהתכונן לשליחה לצורך אימות.

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

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

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

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

הערכת אבטחה

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

כדי ליצור סטנדרטיזציה של הערכת האבטחה שלנו, אנחנו משתמשים ב- App Defense Alliance וב- cloud application security assessment framework (CASA).

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

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

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

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

  1. מוודאים שהאפליקציה לא נכללת באף אחד מהתרחישים שמפורטים בקטע חריגים לדרישות האימות.
  2. חשוב לוודא שהאפליקציה עומדת בדרישות המיתוג של ממשקי ה-API או המוצר המשויכים. לדוגמה, אפשר לעיין בהנחיות המיתוג בנושא היקפי הרשאות של כניסה באמצעות חשבון Google.
  3. מאמתים את הבעלות על הדומיינים המורשים של הפרויקט ב-Google Search Console. משתמשים בחשבון Google שמשויך לפרויקט API Console כבעלים או כעורך.
  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 Console פרויקט מארגן את כל המשאבים שלכם ב- Cloud Console . פרויקט מורכב מקבוצה של חשבונות Google משויכים שיש להם הרשאה לבצע פעולות בפרויקט, מקבוצה של ממשקי API מופעלים ומקבוצה של הגדרות חיוב, אימות ומעקב לאותם ממשקי API. לדוגמה, פרויקט יכול להכיל לקוח OAuth אחד או יותר, להגדיר ממשקי API לשימוש על ידי הלקוחות האלה ולהגדיר מסך הסכמה ל-OAuth שמוצג למשתמשים לפני שהם מאשרים גישה לאפליקציה שלכם.

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

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

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

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

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

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

    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.
  11. אם הגדרת האפליקציה שסיפקתם דורשת אימות, תוכלו לשלוח את האפליקציה לאימות. ממלאים את שדות החובה ולוחצים על שליחה כדי להתחיל את תהליך האימות.

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

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

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

שימוש אישי

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

פרויקטים שמשמשים ברמות Development,‏ Testing או Staging

כדי לפעול בהתאם למדיניות 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.