לממשקי Google API מסוימים (אלה שמקבלים היקפי הרשאות רגישים או מוגבלים) יש דרישות לגבי אפליקציות שמבקשות הרשאה לגשת לנתוני צרכנים. הדרישות הנוספות האלה לגבי היקפי הרשאות מוגבלים מחייבות את האפליקציה להוכיח שהיא סוג אפליקציה מורשה ולעבור בדיקות נוספות, כולל הערכת אבטחה אפשרית.
היקף ההגבלות הרלוונטיות ב-API תלוי בעיקר ברמת הגישה שנדרשת כדי לספק תכונה רלוונטית באפליקציה: קריאה בלבד, כתיבה בלבד, קריאה וכתיבה וכו'.
כשמשתמשים ב-OAuth 2.0 כדי לקבל הרשאה מחשבון Google לגשת לנתונים האלה, משתמשים במחרוזות שנקראות היקפים כדי לציין את סוג הנתונים שרוצים לגשת אליהם ואת רמת הגישה שצריכים. אם האפליקציה שלכם מבקשת היקפים רגישים או מוגבלים, אתם צריכים להשלים את תהליך האימות, אלא אם השימוש באפליקציה עומד בדרישות לחריגה.
מספר ההיקפים המוגבלים קטן ממספר ההיקפים הרגישים. במאמר בנושא אימות של OAuth API יש שאלות נפוצות עם רשימה עדכנית של היקפי הרשאות רגישים ומוגבלים. ההיקפים האלה מספקים גישה רחבה לנתוני משתמשים ב-Google, ולכן צריך לעבור תהליך אימות של ההיקפים לפני שמבקשים אותם מחשבון Google כלשהו. מידע על הדרישה הזו זמין במדיניות של Google בנושא נתוני משתמשים בשירותי Google API, בדרישות נוספות לגבי היקפי הרשאות ספציפיים של API או בדף Google Developers שספציפי למוצר. אם אתם מאחסנים או מעבירים נתונים בהיקף מוגבל בשרתים, אתם צריכים להשלים בדיקת אבטחה.
הסבר על היקפים מוגבלים
אם האפליקציה שלכם מבקשת הרשאות גישה מוגבלות ולא עומדת בדרישות לקבלת חריגה, אתם צריכים לעמוד בדרישות הנוספות להרשאות גישה ספציפיות ל-API של מדיניות Google API Services User Data Policy (מדיניות Google בנושא נתוני משתמשים בשירותי API של Google), או בדרישות ספציפיות למוצר שמופיעות בדף המפתחים של Google של המוצר. במקרים כאלה נדרש תהליך בדיקה מקיף יותר.
הסבר על השימוש בהיקף
- בודקים את היקפי ההרשאות שהאפליקציה משתמשת בהם או שרוצים להשתמש בהם. כדי למצוא את השימוש הקיים בהיקף, בודקים את קוד המקור של האפליקציה כדי לראות אילו היקפים נשלחים עם בקשות הרשאה.
- צריך לוודא שכל היקף הרשאות שנדרש נחוץ לפעולות המיועדות של התכונה באפליקציה, ושהאפליקציה משתמשת בהרשאות המינימליות שנדרשות כדי לספק את התכונה. בדרך כלל, לכל Google API יש מסמכי עזר בדף המפתחים של Google לגבי נקודות הקצה שלו, כולל היקף ההרשאות שנדרש כדי לקרוא לנקודת הקצה או למאפיינים ספציפיים בתוכה. מידע נוסף על היקפי הגישה הנדרשים לנקודות הקצה של ה-API שאליהן האפליקציה מתקשרת זמין במסמכי העזר של נקודות הקצה האלה. לדוגמה, אם יש לכם אפליקציה שמשתמשת רק ב-Gmail APIs כדי לשלוח מדי פעם אימיילים בשם משתמש, אל תבקשו את היקף הגישה שמאפשר גישה מלאה לנתוני האימייל של המשתמש.
- השימוש בנתונים שמתקבלים מ-Google API חייב להתבצע בהתאם למדיניות של ה-API, ובאופן שמוצג למשתמשים בפעולות של האפליקציה ובמדיניות הפרטיות שלה.
- במאמרי העזרה של ה-API מפורט מידע נוסף על כל היקף, כולל הסטטוס הרגיש או המוגבל הפוטנציאלי שלו.
- מצהירים על כל ההיקפים שבהם נעשה שימוש באפליקציה בדף Data Access (גישה לנתונים) ב-Cloud Console. ההיקפים שאתם מציינים מקובצים לקטגוריות רגישות או מוגבלות כדי להדגיש אם נדרש אימות נוסף.
- כדאי למצוא את ההיקף הכי מתאים לנתונים שבהם נעשה שימוש בשילוב, להבין איך נעשה בו שימוש, לוודא שהכול עדיין פועל בסביבת בדיקה, ואז להתכונן לשליחת הבקשה לאימות.
חשוב להביא בחשבון את הזמן שנדרש להשלמת האימות בתוכנית ההשקה של האפליקציה או של תכונות חדשות שדורשות היקף חדש. אחת מהדרישות הנוספות האלה מתקיימת אם האפליקציה ניגשת לנתוני משתמשים ב-Google משרת או דרך שרת, או שיש לה אפשרות לגשת לנתונים האלה. במקרים כאלה, המערכת צריכה לעבור הערכת אבטחה שנתית על ידי מעריך עצמאי של צד שלישי שאושר על ידי Google. לכן, תהליך האימות של היקפי הגישה המוגבלים עשוי להימשך כמה שבועות. שימו לב שכל האפליקציות צריכות קודם להשלים את שלב אימות המותג, שנמשך בדרך כלל 2-3 ימי עסקים, אם פרטי המיתוג השתנו מאז האימות האחרון של מסך ההסכמה של OAuth שאושר.
סוגי האפליקציות המותרים
סוגים מסוימים של אפליקציות יכולים לגשת להיקפים מוגבלים לכל מוצר. סוגי הבקשות מפורטים בדף המפתחים של Google שספציפי למוצר (לדוגמה, המדיניות של Gmail API).
באחריותכם להבין ולקבוע את סוג האפליקציה. עם זאת, אם אתם לא בטוחים לגבי סוג האפליקציה, אתם יכולים לא לבחור אף אפשרות לשאלה באילו תכונות תשתמש? כשאתם שולחים את האפליקציה לאימות. צוות האימות של Google API יקבע את סוג האפליקציה.
הערכת אבטחה
כל אפליקציה שמבקשת גישה לנתונים מוגבלים של משתמשי Google ויש לה אפשרות לגשת לנתונים משרת צד שלישי או דרכו, חייבת לעבור בדיקת אבטחה על ידי מעריכי אבטחה שמוסמכים על ידי Google. ההערכה הזו עוזרת לשמור על בטיחות הנתונים של משתמשי Google. היא מאמתת שכל האפליקציות שיש להן גישה לנתוני משתמשי Google מסוגלות לטפל בנתונים בצורה מאובטחת ולמחוק נתוני משתמשים לפי בקשת המשתמש.
כדי ליצור סטנדרטיזציה של הערכת האבטחה שלנו, אנחנו משתמשים ב-App Defense Alliance וב-Cloud Application Security Assessment framework (CASA).
כמו שצוין קודם, כדי לשמור על הגישה להיקפים מוגבלים מאומתים, אפליקציות צריכות לעבור אימות מחדש לצורך אישור התאימות ולהשלים בדיקת אבטחה לפחות כל 12 חודשים אחרי תאריך האישור של מכתב ההערכה (LOA) של הבודק. אם האפליקציה מוסיפה היקף חדש של הרשאות מוגבלות, יכול להיות שיהיה צורך להעריך מחדש את האפליקציה כדי לכלול את היקף ההרשאות הנוסף, אם הוא לא נכלל בהערכת אבטחה קודמת.
צוות הבדיקה של Google ישלח לכם אימייל כשיגיע הזמן לחדש את האישור של האפליקציה. כדי לוודא שהחברים המתאימים בצוות שלכם יקבלו הודעה על האכיפה השנתית הזו, צריך לשייך לחשבונות Google נוספים את הפרויקט שלכם במסוף Cloud בתור בעלים או עורכים. בנוסף, חשוב לעדכן את כתובות האימייל של תמיכת המשתמשים ואת כתובות האימייל ליצירת קשר עם המפתחים שמצוינות בדף המיתוג של OAuth ב-מסוף Google Cloud.
שלבים להכנה לאימות
כל האפליקציות שמשתמשות ב-Google APIs כדי לבקש גישה לנתונים צריכות לבצע את השלבים הבאים כדי להשלים את אימות המותג:
- חשוב לוודא שהאפליקציה לא נכללת באף אחד מתרחישי השימוש שמפורטים בקטע חריגים לדרישות האימות.
- חשוב לוודא שהאפליקציה עומדת בדרישות המיתוג של ממשקי ה-API או המוצר המשויכים. לדוגמה, אפשר לעיין בהנחיות המיתוג לגבי היקפי ההרשאות של כניסה באמצעות חשבון Google.
- מאמתים את הבעלות על הדומיינים המורשים של הפרויקט ב-Google Search Console. משתמשים בחשבון Google שמקושר לפרויקט ב-קונסולה לממשקי API בתור בעלים או עורך.
- חשוב לוודא שכל פרטי המיתוג במסך ההסכמה ל-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 שלא מוכנים להפעלה בסביבת הייצור, מומלץ למחוק אותם מהפרויקט שבו מתבצעת הבקשה לאימות. אפשר לעשות זאת בדף הלקוחות.
כדי לשלוח את הבקשה לאימות, פועלים לפי השלבים הבאים:
- מוודאים שהאפליקציה עומדת בדרישות של התנאים וההגבלות של Google APIs ושל המדיניות של Google בנושא נתוני משתמשים בשירותי API.
- ב-Cloud Console, חשוב לוודא שהתפקידים 'בעלים' ו'עריכה' בחשבונות המשויכים לפרויקט מעודכנים, וגם כתובת האימייל לתמיכה במשתמשים ופרטי הקשר של המפתח במסך בקשת ההסכמה של OAuth. כך אפשר לוודא שהחברים המתאימים בצוות יקבלו הודעה על דרישות חדשות.
- נכנסים לדף המיתוג של OAuth במסוף Cloud.
- לוחצים על הלחצן בורר הפרויקטים.
- בתיבת הדו-שיח Select from שמופיעה, בוחרים את הפרויקט. אם אתם לא מוצאים את הפרויקט אבל אתם יודעים מה מזהה הפרויקט, אתם יכולים ליצור כתובת URL בדפדפן בפורמט הבא:
מחליפים את [PROJECT_ID] במזהה הפרויקט שרוצים להשתמש בו.https://console.developers.google.com/auth/branding?project=[PROJECT_ID]
- בדף מיתוג, צריך לספק את פרטי המיתוג של האפליקציה, כולל שם האפליקציה, הלוגו, הפרטים ליצירת קשר עם המפתח וקישורים רלוונטיים. כל שינוי שתבצעו יישמר כטיוטה של מיתוג.
- כדי להתחיל בתהליך הבדיקה, לוחצים על הלחצן אימות המיתוג. הבדיקה האוטומטית מסתיימת בדרך כלל תוך כמה דקות.
- אחרי שההערכה מסתיימת, בודקים את הסטטוס. אם הפעולה תצליח, הסטטוס ישתנה למוכן לפרסום. אם האימות האוטומטי נכשל, תוכלו לראות את הבעיות שזוהו ולתקן אותן או לבקש בדיקה ידנית.
- לוחצים על הלחצן פרסום המיתוג כדי להפעיל את המיתוג החדש.
- אם האפליקציה שלכם דורשת גם אימות של היקפים רגישים או מוגבלים, אתם צריכים לעבור אל מרכז האימות של OAuth כדי לעקוב אחרי סטטוס הגישה לנתונים ולספק את כל המידע הנוסף שנדרש, כמו סרטון הדגמה. שימו לב: כדי לבקש אימות לגישה לנתונים, צריך שסטטוס המיתוג שלכם יהיה 'פורסם'.
- משתמשים בלחצן הוספה או הסרה של היקפי הרשאה כדי להצהיר על כל היקפי ההרשאה שהאפליקציה מבקשת. קבוצה ראשונית של היקפי הרשאה שנדרשים לכניסה באמצעות חשבון Google מאוכלסת מראש בקטע היקפי הרשאה לא רגישים. ההיקפים שנוספו מסווגים כלא רגישים, sensitive, or restricted .
- צריך לספק עד שלושה קישורים לתיעוד רלוונטי של תכונות קשורות באפליקציה.
- בשלבים הבאים תתבקשו לספק מידע נוסף על האפליקציה. 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), אתם לא צריכים לשלוח אותה לאימות.
במאמר בנושא חשבונות שירות במאמרי העזרה של Google Cloud מוסבר מהם חשבונות שירות. הוראות לשימוש בחשבון שירות מופיעות במאמר שימוש ב-OAuth 2.0 לאפליקציות שרת-אל-שרת.
לשימוש פנימי בלבד
כלומר, רק אנשים בארגון שלכם ב-Google Workspace או ב-Cloud Identity יכולים להשתמש באפליקציה. הפרויקט צריך להיות בבעלות הארגון, ומסך ההסכמה ל-OAuth צריך להיות מוגדר עבור סוג המשתמש Internal. במקרה כזה, יכול להיות שהאדמין של הארגון יצטרך לאשר את האפליקציה. מידע נוסף זמין במאמר שיקולים נוספים לגבי Google Workspace.
- מידע נוסף על אפליקציות ציבוריות ופנימיות
- במאמר בנושא שאלות נפוצות מוסבר איך מסמנים אפליקציה כפנימית בלבד
התקנה ברמת הדומיין
אם אתם מתכננים שהאפליקציה שלכם תפנה רק למשתמשים בארגון Google Workspace או Cloud Identity ותמיד תשתמשו בהתקנה בכל הדומיין, לא תצטרכו לאמת את המותג שלכם. עם זאת, אם האפליקציה משתמשת בהיקפים מוגבלים או רגישים, נדרש אימות האפליקציה. הסיבה לכך היא שהתקנה ברמת הדומיין מאפשרת לאדמין של הדומיין להעניק לאפליקציות פנימיות ולאפליקציות של צד שלישי גישה לנתונים של המשתמשים. רק אדמינים בארגון יכולים להוסיף את האפליקציה לרשימת ההיתרים לשימוש בדומיינים שלהם.
במאמר בנושא שאלות נפוצות My application has users with enterprise accounts from another Google Workspace Domain (יש לאפליקציה שלי משתמשים עם חשבונות ארגוניים מדומיין אחר ב-Google Workspace) מוסבר איך להפוך את האפליקציה להתקנה בכל הדומיין.