מזהה אזור
REGION_ID הוא קוד מקוצר ש-Google מקצה על סמך האזור שבוחרים כשיוצרים את האפליקציה. הקוד לא תואם למדינה או למחוז, למרות שחלק ממזהי האזורים עשויים להיראות דומים לקודים נפוצים של מדינות ומחוזות. באפליקציות שנוצרו אחרי פברואר 2020, המחרוזת REGION_ID.r כלולה בכתובות ה-URL של App Engine. באפליקציות קיימות שנוצרו לפני התאריך הזה, מזהה האזור הוא אופציונלי בכתובת ה-URL.
ממשק ה-API של זהות האפליקציה מאפשר לאפליקציה לגלות את מזהה האפליקציה שלה (שנקרא גם מזהה הפרויקט). באמצעות המזהה, אפליקציית App Engine יכולה לאמת את הזהות שלה באפליקציות אחרות של App Engine, ב-Google APIs ובאפליקציות ובשירותים של צד שלישי. אפשר גם להשתמש במזהה האפליקציה כדי ליצור כתובת URL או כתובת אימייל, או כדי לקבל החלטה בזמן ריצה.
איך מקבלים את מזהה הפרויקט
אפשר למצוא את מזהה הפרויקט באמצעות ה-method
app_identity.get_application_id() method. סביבת WSGI או CGI
חושפת פרטים מסוימים על ההטמעה, שמטופלים על ידי ה-API.
איך מקבלים את שם המארח של האפליקציה
כברירת מחדל, אפליקציות ב-App Engine מוצגות מכתובות URL בצורה https://PROJECT_ID.REGION_ID.r.appspot.com, שבה מזהה הפרויקט הוא חלק משם המארח.
אם אפליקציה מוגשת מדומיין מותאם אישית, יכול להיות שיהיה צורך לאחזר את כל רכיב שם המארח. אפשר לעשות את זה באמצעות המאפיין
app_identity.get_default_version_hostname() method.
הצהרת זהות באפליקציות אחרות של App Engine
אם רוצים לקבוע את הזהות של אפליקציית App Engine ששולחת בקשה לאפליקציית App Engine, אפשר להשתמש בכותרת הבקשה X-Appengine-Inbound-Appid. הכותרת הזו מתווספת לבקשה על ידי שירות URLFetch, ואי אפשר לשנות אותה. לכן, היא מציינת בצורה בטוחה את מזהה הפרויקט של האפליקציה ששולחת את הבקשה, אם הוא קיים.
דרישות:
רק שיחות שמתבצעות לדומיין
appspot.comשל האפליקציה יכללו את הכותרתX-Appengine-Inbound-Appid. שיחות לדומיינים מותאמים אישית לא מכילות את הכותרת.הבקשות צריכות להיות מוגדרות כך שלא יתבצע מעקב אחרי הפניות אוטומטיות.
מגדירים את הפרמטר
urlfetch.fetch()follow_redirectsלערךFalse.
במטפל הבקשות של האפליקציה, אפשר לבדוק את המזהה הנכנס על ידי קריאת הכותרת X-Appengine-Inbound-Appid והשוואה שלה לרשימה של מזהים שמורשים לשלוח בקשות.
הצהרת זהות ל-Google APIs
ממשקי Google API משתמשים בפרוטוקול OAuth 2.0 לצורך אימות ומתן הרשאות. ה-App Identity API יכול ליצור טוקנים של OAuth שאפשר להשתמש בהם כדי לקבוע שמקור הבקשה הוא האפליקציה עצמה. ה-method
ה-method get_access_token()
ה-method
מחזירה אסימון גישה להיקף או לרשימה של היקפים. אחר כך אפשר להגדיר את האסימון הזה בכותרות ה-HTTP של שיחה כדי לזהות את האפליקציה שמבצעת את השיחה.
שימו לב שהזהות של האפליקציה מיוצגת על ידי שם חשבון השירות, שבדרך כלל הוא applicationid@appspot.gserviceaccount.com. אפשר לקבל את הערך המדויק באמצעות ה-method
get_service_account_name() או ה-method. בשירותים שמציעים רשימות ACL, אפשר לתת לאפליקציה גישה על ידי מתן גישה לחשבון הזה.
אימות הזהות בשירותים של צד שלישי
האסימון שנוצר על ידי השיטה
השיטה get_access_token()
פועל רק בשירותי Google.getAccessToken()
עם זאת, אפשר להשתמש בטכנולוגיית החתימה הבסיסית כדי לאמת את הזהות של האפליקציה שלכם בשירותים אחרים. השיטה
sign_blob() השיטה
תחתום על בייטים באמצעות מפתח פרטי ייחודי לאפליקציה שלכם, והשיטה
השיטה
get_public_certificates()
תחזיר אישורים שאפשר להשתמש בהם כדי לאמת את החתימה.
איך מאחזרים את שם הקטגוריה של Cloud Storage שמוגדר כברירת מחדל
לכל אפליקציה יכולה להיות קטגוריה אחת של Cloud Storage כברירת מחדל, שכוללת 5GB של אחסון בחינם ומכסת שימוש בחינם לפעולות קלט/פלט.
כדי לקבל את השם של הקטגוריה שמוגדרת כברירת מחדל, אפשר להשתמש ב-App Identity API. Call
google.appengine.api.app_identity.app_identity.get_default_gcs_bucket_name
.