בדף הזה מוסבר איך ליצור ולערוך מפתחות API ואיך להגביל את השימוש בהם. במאמר שימוש במפתחות API לגישה לממשקי API מוסבר איך משתמשים במפתחות API כדי לגשת לממשקי API של Google.
מבוא למפתחות API
יש שני סוגים של מפתחות API: מפתחות API רגילים ומפתחות API שמקושרים לחשבון שירות.
מפתחות API רגילים
מפתחות API רגילים מאפשרים לשייך בקשה לפרויקט לצורכי חיוב ומכסה. כשמשתמשים במפתח API רגיל (מפתח API שלא קושר לחשבון שירות) כדי לגשת ל-API, מפתח ה-API לא מזהה חשבון משתמש. בלי חשבון משתמש, הבקשה לא יכולה להשתמש בניהול זהויות והרשאות גישה (IAM) כדי לבדוק אם למבצע הקריאה יש הרשאה לבצע את הפעולה המבוקשת.
אפשר להשתמש במפתחות API רגילים עם כל API שמקבל מפתחות API, אלא אם נוספו למפתח הגבלות על API. אי אפשר להשתמש במפתחות API רגילים בשירותים שלא תומכים במפתחות API, כולל במצב אקספרס.
מפתחות API שמקושרים לחשבון שירות
מפתחות API שמקושרים לחשבון שירות מספקים את הזהות וההרשאה של חשבון השירות לבקשה. כשמשתמשים במפתח API שקשור לחשבון שירות כדי לגשת ל-API, הבקשה מעובדת כאילו השתמשתם בחשבון השירות הקשור כדי לשלוח את הבקשה.
ממשק ה-API היחיד שתומך במפתחות API עם הגבלות הוא aiplatform.googleapis.com.
אילוץ ברירת מחדל של מדיניות הארגון מונע קישור של מפתחות לחשבון שירות. כדי לשנות את זה, אפשר לעיין במאמר הפעלת קישור מפתחות לחשבונות שירות.
רכיבים של מפתח API
מפתח API כולל את הרכיבים הבאים, שתוכלו להשתמש בהם כדי לנהל את המפתח ולהשתמש בו:
- String
- המחרוזת של מפתח API היא מחרוזת מוצפנת, כמו
AIzaSyDaGmWKa4JsXZ-HjGw7ISLn_3namBGewQe. כשמשתמשים במפתח API כדי לגשת ל-API, משתמשים תמיד במחרוזת של המפתח. למפתחות API לא משויך קובץ JSON. - מזהה
- בכלי הניהול נעשה שימוש במזהה של מפתח API כדי לזהות את המפתח באופן ייחודי. Cloud de Confiance אי אפשר להשתמש במזהה המפתח כדי לגשת לממשקי API. תוכלו לאתר את מזהה המפתח בכתובת ה-URL של דף העריכה של המפתח במסוף Cloud de Confiance . אפשר לאתר את מזהה המפתח גם כשרושמים את המפתחות שבפרויקט באמצעות Google Cloud CLI.
- השם המוצג
- השם המוצג הוא שם תיאורי אופציונלי למפתח, ואפשר להגדיר אותו כשיוצרים את המפתח וכשמעדכנים אותו.
- חשבון שירות שמוגדר כברירת מחדל מפתחות API שמשויכים לחשבון שירות כוללים את כתובת האימייל של חשבון השירות.
לפני שמתחילים
כדי להשתמש בדוגמאות בדף הזה, צריך לבצע את המשימות הבאות.
מגדירים אימות
Select the tab for how you plan to use the samples on this page:
Console
When you use the Cloud de Confiance console to access Cloud de Confiance by S3NS services and APIs, you don't need to set up authentication.
gcloud
Install the Google Cloud CLI, and then sign in to the gcloud CLI with your federated identity. After signing in, initialize the Google Cloud CLI by running the following command:
gcloud initC++
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של C++ שבדף הזה, מתקינים ומפעילים את ה-CLI של gcloud, ואז מגדירים את Application Default Credentials באמצעות פרטי הכניסה של המשתמש.
-
Install the Google Cloud CLI.
-
Configure the gcloud CLI to use your federated identity.
For more information, see Sign in to the gcloud CLI with your federated identity.
-
Create local authentication credentials for your user account:
gcloud auth application-default login
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
למידע נוסף, ראו הגדרת ADC לסביבת פיתוח מקומית במאמרי העזרה בנושא אימות Cloud de Confiance .
Java
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של Java שבדף הזה, מתקינים ומפעילים את ה-CLI של gcloud, ואז מגדירים את Application Default Credentials באמצעות פרטי הכניסה של המשתמש.
-
Install the Google Cloud CLI.
-
Configure the gcloud CLI to use your federated identity.
For more information, see Sign in to the gcloud CLI with your federated identity.
-
Create local authentication credentials for your user account:
gcloud auth application-default login
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
למידע נוסף, ראו הגדרת ADC לסביבת פיתוח מקומית במאמרי העזרה בנושא אימות Cloud de Confiance .
Python
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של Python שבדף הזה, מתקינים ומפעילים את ה-CLI של gcloud, ואז מגדירים את Application Default Credentials באמצעות פרטי הכניסה של המשתמש.
-
Install the Google Cloud CLI.
-
Configure the gcloud CLI to use your federated identity.
For more information, see Sign in to the gcloud CLI with your federated identity.
-
Create local authentication credentials for your user account:
gcloud auth application-default login
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
למידע נוסף, ראו הגדרת ADC לסביבת פיתוח מקומית במאמרי העזרה בנושא אימות Cloud de Confiance .
REST
כדי להשתמש בדוגמאות של API בארכיטקטורת REST שבדף הזה בסביבת פיתוח מקומית, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.
Install the Google Cloud CLI, and then sign in to the gcloud CLI with your federated identity.
מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Cloud de Confiance .
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות לניהול מפתחות API, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט:
-
API Keys Admin (
roles/serviceusage.apiKeysAdmin) -
כדי להגביל מפתח API לממשקי API ספציפיים, משתמשים ב Cloud de Confiance מסוף:
הכלי לצפייה בשימוש בשירות (
roles/serviceusage.serviceUsageViewer)
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
הפעלת קישור מפתחות לחשבונות שירות
לפני שמקשרים מפתח API לחשבון שירות, צריך להגדיר את האילוץ constraints/iam.managed.disableServiceAccountApiKeyCreation של מדיניות הארגון לערך false. כדי לשנות את מדיניות הארגון צריך משאב ארגוני משויך.
אין תמיכה בפרויקטים שלא משויכים לארגון.
כדי לשנות את הגבלת המדיניות, מבצעים את ההוראות הבאות.
המסוף
במסוף Cloud de Confiance , נכנסים לדף מדיניות הארגון.
עוברים לארגון, לתיקייה או לפרויקט שרוצים לשנות את המדיניות שלהם.
בתיבה Filter, מזינים
Block serviceולוחצים על שם המסנן Block service account API key bindings.לוחצים על ניהול המדיניות.
בקטע Policy source, בוחרים באפשרות Override parent's policy.
לוחצים על Add a rule (הוספת כלל) ומגדירים את Enforcement (אכיפה) לOff (מושבת).
לוחצים על סיום.
אופציונלי: לוחצים על בדיקת שינויים כדי לקבל תובנות לגבי האופן שבו מדיניות מוצעת עלולה לגרום להפרות או לשיבושים בתאימות.
לוחצים על הגדרת מדיניות.
gcloud
יוצרים קובץ בשם
spec.yamlעם התוכן הבא:name: SCOPE/SCOPE_ID/policies/iam.managed.disableServiceAccountApiKeyCreation spec: rules: - enforce: falseמספקים את הערכים הבאים:
SCOPE:organizations,foldersאוprojects.
SCOPE_ID: בהתאם ל-SCOPE, המזהה של הארגון, התיקייה או הפרויקט שאליהם חלה מדיניות הארגון.
מריצים את הפקודה
gcloudהבאה כדי לאפשר קישור של מפתחות API לחשבונות שירות:gcloud org-policies set-policy spec.yaml \ --update-mask spec
יצירה של מפתח API
יש כמה דרכים ליצור מפתח API:
המסוף
נכנסים לדף Credentials במסוף Cloud de Confiance :
לוחצים על Create credentials ובתפריט בוחרים באפשרות API key.
אופציונלי: כדי לקשר את מפתח ה-API לחשבון שירות, מסמנים את התיבה Authenticate API calls through a service account ולוחצים על Select a service account כדי לבחור את חשבון השירות שרוצים לקשר למפתח.
מידע נוסף מופיע במאמר מפתחות API שמקושרים לחשבון שירות.
מוסיפים הגבלות על מפתחות API.
הגבלת מפתחות API היא שיטה מומלצת. מידע נוסף זמין במאמר בנושא החלת הגבלות על מפתחות API.
לוחצים על יצירה. בתיבת הדו-שיח API key created מוצגת המחרוזת של המפתח החדש שיצרתם.
gcloud
משתמשים בפקודה gcloud services api-keys create כדי ליצור מפתח API.
מחליפים את DISPLAY_NAME בשם שמתאר את המפתח.
gcloud services api-keys create \
--display-name=DISPLAY_NAME
אופציונלי: כדי לקשר את מפתח ה-API לחשבון שירות, משתמשים בפקודה gcloud beta במקום זאת, עם הדגל --service-account:
gcloud beta services api-keys create \
--display-name=DISPLAY_NAME \
--service-account=SERVICE_ACCOUNT_EMAIL_ADDRESS
מידע נוסף מופיע במאמר מפתחות API שמקושרים לחשבון שירות.
C++
כדי להריץ את הדוגמה הזו, צריך להתקין את ספריית הלקוח של מפתחות API.
Java
כדי להריץ את הדוגמה הזו, צריך להתקין את ספריית הלקוח google-cloud-apikeys.
Python
כדי להריץ את הדוגמה הזו, צריך להתקין את ספריית הלקוח של מפתחות API.
REST
משתמשים ב-method keys.create כדי ליצור מפתח API. בעקבות הבקשה הזו מתקבלת פעולה ממושכת, וצריך לדגום את הפעולה כדי לאתר את המידע על המפתח החדש.
מחליפים את הערכים הבאים:
DISPLAY_NAME: אופציונלי. שם תיאורי למפתח.PROJECT_ID: מזהה הפרויקט או השם שלכם ב- Cloud de Confiance by S3NS .
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d {'"displayName" : "DISPLAY_NAME"'} \ "https://apikeys.s3nsapis.fr/v2/projects/PROJECT/locations/global/keys"
אופציונלי: כדי לקשר את מפתח ה-API לחשבון שירות במקום זאת, משתמשים בפקודה הבאה:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d {'"displayName" : "DISPLAY_NAME", "serviceAccountEmail" : "SERVICE_ACCOUNT_EMAIL"'} \ "https://apikeys.s3nsapis.fr/v2/projects/PROJECT/locations/global/keys"
מידע נוסף מופיע במאמר מפתחות API שמקושרים לחשבון שירות.
מידע נוסף על יצירת מפתחות API באמצעות API ל-REST מופיע במאמר יצירת מפתח API במאמרי העזרה בנושא API של מפתחות API.
החלת הגבלות על מפתחות API
כברירת מחדל, על מפתחות API אין הגבלות. מפתחות לא מוגבלים הם לא מאובטחים כי כולם יכולים להשתמש בהם בכל מקום. באפליקציות בסביבת ייצור מומלץ להגדיר גם הגבלות על אפליקציות וגם הגבלות על ממשקי API.
הוספת הגבלות על אפליקציות
הגבלות על אפליקציות מציינות אילו כתובות IP, אפליקציות ואתרים יכולים להשתמש במפתח API.
ניתן להחיל רק סוג אחד של הגבלה על אפליקציות בכל פעם. מומלץ לבחור את סוג ההגבלה בהתאם לסוג האפליקציה:
| אפשרות | סוג האפליקציה | הערות |
|---|---|---|
| אתרים | אפליקציות אינטרנט | קובעת באילו אתרים אפשר להשתמש במפתח. |
| כתובות IP | אפליקציות שנקראו על ידי שרתים ספציפיים | קובעת באילו שרתים או משימות cron אפשר להשתמש במפתח. זו ההגבלה היחידה שזמינה אם מקשרים את מפתח ה-API לחשבון שירות. |
| אפליקציות ל-Android | אפליקציות ל-Android | קובעת באיזו אפליקציית Android אפשר להשתמש במפתח. |
| אפליקציות ל-iOS | אפליקציות ל-iOS | קובעת באילו חבילות ל-iOS אפשר להשתמש במפתח. |
Websites
כדי לקבוע באילו אתרים אפשר להשתמש במפתחות ה-API, אפשר להוסיף גורם מפנה אחד או יותר מסוג HTTP כהגבלות גישה לאתרים. לדוגמה, אם מוסיפים את https://example.com להגבלות גישה לאתרים של מפתח API, רק קריאות מ-https://example.com יכולות להשתמש במפתח ה-API הזה.
יש תמיכה מוגבלת בתווים כלליים בגורמים המפנים מסוג HTTP שמשמשים להגבלות גישה לאתרים.
אפשר להחליף תת-דומיין או נתיב בתו כללי לחיפוש (*), אבל אי אפשר להוסיף תו כללי לחיפוש באמצע כתובת ה-URL. לדוגמה, ההגבלה *.example.com תקינה, והיא מקבלת את כל האתרים שמסתיימים ב-.example.com.
עם זאת, ההגבלה mysubdomain*.example.com לא תקינה.
אפשר לכלול מספרי יציאות בהגבלות גישה לאתרים. אם כוללים מספר יציאה, מתבצעת התאמה רק לבקשות שנשלחות באמצעות אותה היציאה. אם לא מציינים מספר יציאה, מתבצעת התאמה לבקשות שנשלחות מכל מספרי היציאות.
בטבלה הבאה מוצגים תרחישים לדוגמה והגבלות לדפדפנים:
| תרחיש | הגבלות |
|---|---|
| הרשאה של כתובת URL ספציפית | צריך להוסיף כתובת URL עם נתיב מדויק, לדוגמה:www.example.com/pathwww.example.com/path/pathבדפדפנים מסוימים חלה מדיניות לגורם מפנה ששולחת רק את כתובת ה-URL המקורית של בקשות ממקורות שונים. משתמשים בדפדפנים האלה לא יכולים להשתמש במפתחות עם מגבלות לכתובות URL ספציפיות לדף. |
| הרשאה של כל כתובת URL באתר שלכם | צריך להגדיר שתי כתובות URL ברשימה allowedReferers.
|
| הרשאה של כל כתובת URL בתת-דומיין יחיד או בדומיין ללא קידומת |
צריך להגדיר שתי כתובות URL ברשימה
|
אפשר להגביל את מפתח ה-API לאתרים ספציפיים באמצעות אחת מהאפשרויות הבאות:
המסוף
נכנסים לדף Credentials במסוף Cloud de Confiance :
לוחצים על השם של מפתח ה-API שרוצים להגביל.
בקטע Application restrictions, בוחרים באפשרות Websites.
לכל הגבלה שרוצים להוסיף, לוחצים על Add, מזינים את ההגבלה ולוחצים על Done.
כדי לשמור את השינויים ולחזור לרשימה של מפתחות ה-API, לוחצים על Save.
gcloud
מאתרים את המזהה של המפתח שרוצים להגביל.
המזהה הוא לא השם המוצג או מחרוזת המפתח. כדי לאתר אותו, בעזרת הפקודה
gcloud services api-keys listתוכלו להציג את רשימת המפתחות בפרויקט.משתמשים בפקודה
gcloud services api-keys updateכדי להוסיף למפתח API הגבלות גישה לאתרים.מחליפים את הערכים הבאים:
KEY_ID: המזהה של המפתח שרוצים להגביל.
ALLOWED_REFERRER_1: ההגבלה על האתר.אפשר להוסיף כמה הגבלות שרוצים, ולהפריד ביניהן באמצעות פסיקים. אתם צריכים לפרט בפקודת העדכון את כל ההגבלות על גורמים מפנים, והן יחליפו את כל ההגבלות הקיימות במפתח על גורמים מפנים.
gcloud services api-keys update KEY_ID \ --allowed-referrers="ALLOWED_REFERRER_1"
Java
כדי להריץ את הדוגמה הזו, צריך להתקין את ספריית הלקוח google-cloud-apikeys.
Python
כדי להריץ את הדוגמה הזו, צריך להתקין את ספריית הלקוח של מפתחות API.
REST
מאתרים את המזהה של המפתח שרוצים להגביל.
המזהה הוא לא השם המוצג או מחרוזת המפתח. אפשר לאתר אותו באמצעות method keys.list. המזהה מופיע בשדה
uidשל התשובה.מחליפים את
PROJECT_IDבמזהה הפרויקט או בשם הפרויקט ב- Cloud de Confiance by S3NS .curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://apikeys.s3nsapis.fr/v2/projects/PROJECT_ID/locations/global/keys/"
משתמשים ב-method keys.patch כדי להוסיף למפתח ה-API הגבלות גישה לאתרים.
בעקבות הבקשה מתקבלת פעולה ממושכת, וצריך לדגום את הפעולה כדי לדעת מתי היא הושלמה ומה הסטטוס שלה.
מחליפים את הערכים הבאים:
ALLOWED_REFERRER_1: ההגבלה על האתר.אפשר להוסיף כמה הגבלות שרוצים, ולהפריד ביניהן באמצעות פסיקים. עליכם לפרט בבקשה את כל ההגבלות על הגורמים המפנים, והן יחליפו את כל ההגבלות הקיימות על גורמים מפנים במפתח.
PROJECT_ID: השם או מזהה הפרויקט ב- Cloud de Confiance by S3NS .KEY_ID: המזהה של המפתח שרוצים להגביל.
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data '{ "restrictions" : { "browserKeyRestrictions": { "allowedReferrers": ["ALLOWED_REFERRER_1"] } } }' \ "https://apikeys.s3nsapis.fr/v2/projects/PROJECT_ID/locations/global/keys/KEY_ID?updateMask=restrictions"
למידע נוסף על הוספת הגבלות גישה לאתרים למפתח באמצעות API בארכיטקטורת REST, ראו הוספת הגבלות על דפדפנים במאמרי העזרה של ה-API של מפתחות API.
כתובות IP
אתם יכולים לציין את כתובות ה-IP החיצוניות של מבצעי הקריאות (כמו שרתי אינטרנט או משימות cron) שמורשים להשתמש במפתחות ה-API שלכם. אפשר לציין כתובות IP בפורמטים הבאים:
IPv4 (
198.51.100.1)IPv6 (
2001:db8::1)תת-רשת עם סימון CIDR (
198.51.100.0/24,2001:db8::/64)
אין תמיכה בכתובות IP פנימיות וב-localhost.
כדי להגביל את מפתח ה-API לכתובות IP חיצוניות ספציפיות, אפשר להשתמש באחת מהאפשרויות הבאות:
המסוף
נכנסים לדף Credentials במסוף Cloud de Confiance :
לוחצים על השם של מפתח ה-API שרוצים להגביל.
בקטע Application restrictions, בוחרים באפשרות IP addresses.
לכל כתובת IP שרוצים להוסיף, לוחצים על Add, מזינים את הכתובת ולוחצים על Done.
כדי לשמור את השינויים ולחזור לרשימה של מפתחות ה-API, לוחצים על Save.
gcloud
מאתרים את המזהה של המפתח שרוצים להגביל.
המזהה הוא לא השם המוצג או מחרוזת המפתח. כדי לאתר אותו, בעזרת הפקודה
gcloud services api-keys listתוכלו להציג את רשימת המפתחות בפרויקט.משתמשים בפקודה
gcloud services api-keys updateכדי להוסיף למפתח API הגבלות על שרתים (כתובת IP).מחליפים את הערכים הבאים:
KEY_ID: המזהה של המפתח שרוצים להגביל.ALLOWED_IP_ADDR_1: כתובת ה-IP המורשית.אפשר להוסיף כמה כתובות IP שרוצים, ולהפריד ביניהן באמצעות פסיקים.
gcloud services api-keys update KEY_ID \ --allowed-ips="ALLOWED_IP_ADDR_1"
Java
כדי להריץ את הדוגמה הזו, צריך להתקין את ספריית הלקוח google-cloud-apikeys.
Python
כדי להריץ את הדוגמה הזו, צריך להתקין את ספריית הלקוח של מפתחות API.
REST
מאתרים את המזהה של המפתח שרוצים להגביל.
המזהה הוא לא השם המוצג או מחרוזת המפתח. אפשר לאתר אותו באמצעות method keys.list. המזהה מופיע בשדה
uidשל התשובה.מחליפים את
PROJECT_IDבמזהה הפרויקט או בשם של הפרויקט ב- Cloud de Confiance by S3NS .curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://apikeys.s3nsapis.fr/v2/projects/PROJECT_ID/locations/global/keys/"
משתמשים ב-method keys.patch כדי להוסיף למפתח API הגבלות על שרתים (כתובת IP).
בעקבות הבקשה מתקבלת פעולה ממושכת, וצריך לדגום את הפעולה כדי לדעת מתי היא הושלמה ומה הסטטוס שלה.
מחליפים את הערכים הבאים:
ALLOWED_IP_ADDR_1: כתובת ה-IP המורשית.אפשר להוסיף כמה כתובות IP שרוצים, ולהפריד ביניהן באמצעות פסיקים. עליכם לפרט בבקשה את כל כתובות ה-IP, כשההגבלות על גורמים מפנים יחליפו את כל ההגבלות הקיימות כתובות IP במפתח.
PROJECT_ID: השם או מזהה הפרויקט ב- Cloud de Confiance by S3NS .KEY_ID: המזהה של המפתח שרוצים להגביל.
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data '{ "restrictions" : { "serverKeyRestrictions": { "allowedIps": ["ALLOWED_IP_ADDR_1"] } } }' \ "https://apikeys.s3nsapis.fr/v2/projects/PROJECT_ID/locations/global/keys/KEY_ID?updateMask=restrictions"
למידע נוסף על הוספת הגבלות על כתובות IP למפתח באמצעות API ל-REST, ראו הוספת הגבלות על שרתים במאמרי העזרה בנושא API של מפתחות API.
אפליקציות ל-Android
תוכלו להגביל את השימוש במפתח API לאפליקציות מסוימות ל-Android. צריך להעביר לכל אפליקציה את שם החבילה ואת טביעת האצבע לאישור SHA-1 בגודל 20 בייטים.
אם משתמשים במפתח ה-API בבקשה, צריך לציין את שם החבילה ואת טביעת האצבע לאישור באמצעות כותרות ה-HTTP האלה:
X-Android-PackageX-Android-Cert
כדי להגביל את מפתח ה-API לאפליקציה אחת או יותר ל-Android, תוכלו להשתמש באחת מהאפשרויות הבאות:
המסוף
נכנסים לדף Credentials במסוף Cloud de Confiance :
לוחצים על השם של מפתח ה-API שרוצים להגביל.
בקטע Application restrictions, בוחרים באפשרות Android apps.
לכל אפליקציה ל-Android שרוצים להוסיף, לוחצים על Add, מזינים את שם החבילה ואת טביעת האצבע לאישור SHA-1 ולוחצים על Done.
כדי לשמור את השינויים ולחזור לרשימה של מפתחות ה-API, לוחצים על Save.
gcloud
מאתרים את המזהה של המפתח שרוצים להגביל.
המזהה הוא לא השם המוצג או מחרוזת המפתח. כדי לאתר אותו, בעזרת הפקודה
gcloud services api-keys listתוכלו להציג את רשימת המפתחות בפרויקט.משתמשים בפקודה
gcloud services api-keys updateכדי לציין את האפליקציות ל-Android שבהן אפשר להשתמש במפתח API.מחליפים את הערכים הבאים:
KEY_ID: המזהה של המפתח שרוצים להגביל.SHA1_FINGERPRINTו-PACKAGE_NAME: הפרטים של האפליקציה ל-Android שבה אפשר להשתמש במפתח.אפשר להוסיף כמה אפליקציות שרוצים, תוך שימוש בדגלי
--allowed-applicationנוספים.
gcloud services api-keys update KEY_ID \ --allowed-application=sha1_fingerprint=SHA1_FINGERPRINT_1,package_name=PACKAGE_NAME_1 \ --allowed-application=sha1_fingerprint=SHA1_FINGERPRINT_2,package_name=PACKAGE_NAME_2
Java
כדי להריץ את הדוגמה הזו, צריך להתקין את ספריית הלקוח google-cloud-apikeys.
Python
כדי להריץ את הדוגמה הזו, צריך להתקין את ספריית הלקוח של מפתחות API.
REST
מאתרים את המזהה של המפתח שרוצים להגביל.
המזהה הוא לא השם המוצג או מחרוזת המפתח. אפשר לאתר אותו באמצעות method keys.list. המזהה מופיע בשדה
uidשל התשובה.מחליפים את
PROJECT_IDבמזהה הפרויקט או בשם הפרויקט ב- Cloud de Confiance by S3NS .curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://apikeys.s3nsapis.fr/v2/projects/PROJECT_ID/locations/global/keys/"
משתמשים ב-method keys.patch כדי לציין את האפליקציות ל-Android שבהן אפשר להשתמש במפתח API.
בעקבות הבקשה מתקבלת פעולה ממושכת, וצריך לדגום את הפעולה כדי לדעת מתי היא הושלמה ומה הסטטוס שלה.
מחליפים את הערכים הבאים:
SHA1_FINGERPRINT_1ו-PACKAGE_NAME_1: הפרטים של האפליקציה ל-Android שבה אפשר להשתמש במפתח.אפשר להוסיף את המידע לכמה אפליקציות שרוצים, ולהפריד בין האובייקטים AndroidApplication באמצעות פסיקים. עליכם לפרט בבקשה את כל האפליקציות, והן יחליפו את כל האפליקציות המורשות הקיימות במפתח.
PROJECT_ID: השם או מזהה הפרויקט ב- Cloud de Confiance by S3NS .KEY_ID: המזהה של המפתח שרוצים להגביל.
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data '{ "restrictions" : { "androidKeyRestrictions": { "allowedApplications": [ { "sha1Fingerprint": "SHA1_FINGERPRINT_1", "packageName": "PACKAGE_NAME_1" }, ] } } }' \ "https://apikeys.s3nsapis.fr/v2/projects/PROJECT_ID/locations/global/keys/KEY_ID?updateMask=restrictions"
למידע נוסף על הוספת הגבלות על אפליקציות ל-Android למפתח באמצעות API ל-REST, ראו הוספת הגבלות על Android במאמרי העזרה בנושא API של מפתחות API.
אפליקציות ל-iOS
תוכלו להגביל את השימוש במפתח API לאפליקציות ספציפיות ל-iOS באמצעות מזהה החבילה של כל אפליקציה.
אם משתמשים במפתח ה-API בבקשה, צריך לציין את מזהה החבילה באמצעות כותרת ה-HTTP X-Ios-Bundle-Identifier.
כדי להגביל את מפתח ה-API לאפליקציה אחת או יותר ל-iOS, תוכלו להשתמש באחת מהאפשרויות הבאות:
המסוף
נכנסים לדף Credentials במסוף Cloud de Confiance :
לוחצים על השם של מפתח ה-API שרוצים להגביל.
בקטע Application restrictions, בוחרים באפשרות iOS apps.
לכל אפליקציה ל-iOS שרוצים להוסיף, לוחצים על הוספה, מזינים את מזהה החבילה ולוחצים על סיום.
כדי לשמור את השינויים ולחזור לרשימה של מפתחות ה-API, לוחצים על Save.
gcloud
מאתרים את המזהה של המפתח שרוצים להגביל.
המזהה הוא לא השם המוצג או מחרוזת המפתח. כדי לאתר אותו, בעזרת הפקודה
gcloud services api-keys listתוכלו להציג את רשימת המפתחות בפרויקט.משתמשים ב-method
gcloud services api-keys updateכדי לציין את האפליקציות ל-iOS שבהן אפשר להשתמש במפתח.מחליפים את הערכים הבאים:
KEY_ID: המזהה של המפתח שרוצים להגביל.ALLOWED_BUNDLE_ID: מזהה החבילה של אפליקציה ל-iOS שבה רוצים להשתמש במפתח ה-API הזה.אפשר להוסיף כמה מזהי חבילות שרוצים, ולהפריד ביניהם באמצעות פסיקים.
gcloud services api-keys update KEY_ID \ --allowed-bundle-ids=ALLOWED_BUNDLE_ID_1,ALLOWED_BUNDLE_ID_2
Java
כדי להריץ את הדוגמה הזו, צריך להתקין את ספריית הלקוח google-cloud-apikeys.
Python
כדי להריץ את הדוגמה הזו, צריך להתקין את ספריית הלקוח של מפתחות API.
REST
מאתרים את המזהה של המפתח שרוצים להגביל.
המזהה הוא לא השם המוצג או מחרוזת המפתח. אפשר לאתר אותו באמצעות method keys.list. המזהה מופיע בשדה
uidשל התשובה.מחליפים את
PROJECT_IDבמזהה הפרויקט או בשם הפרויקט ב- Cloud de Confiance by S3NS .curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://apikeys.s3nsapis.fr/v2/projects/PROJECT_ID/locations/global/keys/"
משתמשים ב-method keys.patch כדי לציין את האפליקציות ל-iOS שבהן אפשר להשתמש במפתח API.
בעקבות הבקשה מתקבלת פעולה ממושכת, וצריך לדגום את הפעולה כדי לדעת מתי היא הושלמה ומה הסטטוס שלה.
מחליפים את הערכים הבאים:
ALLOWED_BUNDLE_ID: מזהה החבילה של אפליקציה ל-iOS שבה אפשר להשתמש במפתח.אפשר להוסיף את המידע לכמה אפליקציות שרוצים, ולהפריד בין מזהי החבילות באמצעות פסיקים. עליכם לפרט בבקשה את כל מזהי החבילות, והם יחליפו את כל האפליקציות המורשות הקיימות במפתח.
PROJECT_ID: השם או מזהה הפרויקט ב- Cloud de Confiance by S3NS .KEY_ID: המזהה של המפתח שרוצים להגביל.
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data '{ "restrictions" : { "iosKeyRestrictions": { "allowedBundleIds": ["ALLOWED_BUNDLE_ID_1","ALLOWED_BUNDLE_ID_2"] } } }' \ "https://apikeys.s3nsapis.fr/v2/projects/PROJECT_ID/locations/global/keys/KEY_ID?updateMask=restrictions"
למידע נוסף על הוספת הגבלות על אפליקציות ל-iOS למפתח באמצעות API ל-REST, ראו הוספת הגבלות על iOS במאמרי העזרה בנושא API של מפתחות API.
הוספת הגבלות על ממשקי API
ההגבלות על ממשקי API מציינות לאילו ממשקי API אפשר לקרוא באמצעות מפתח ה-API.
אפשר להוסיף הגבלות API באמצעות אחת מהאפשרויות הבאות:
המסוף
נכנסים לדף Credentials במסוף Cloud de Confiance :
לוחצים על השם של מפתח ה-API שרוצים להגביל.
בקטע API restrictions, לוחצים על Restrict key.
בוחרים את כל ממשקי ה-API שאפשר לגשת אליהם באמצעות מפתח ה-API שלכם.
כדי לשמור את השינויים ולחזור לרשימה של מפתחות ה-API, לוחצים על Save.
gcloud
מאתרים את המזהה של המפתח שרוצים להגביל.
המזהה הוא לא השם המוצג או מחרוזת המפתח. כדי לאתר אותו, בעזרת הפקודה
gcloud services api-keys listתוכלו להציג את רשימת המפתחות בפרויקט.משתמשים בפקודה
gcloud services api-keys updateכדי לציין את השירותים שאליהם אפשר לגשת באמצעות מפתח API.מחליפים את הערכים הבאים:
KEY_ID: המזהה של המפתח שרוצים להגביל.SERVICE_1,SERVICE_2: שמות השירותים של ממשקי ה-API שאפשר לגשת אליהם באמצעות המפתח.עליכם לפרט בפקודת העדכון את כל שמות השירותים, והם יחליפו את כל השירותים הקיימים במפתח.
תוכלו למצוא את שם השירות על ידי חיפוש ה-API במרכז הבקרה של ה-API. השמות של השירותים הם מחרוזות כמו
bigquery.googleapis.com.gcloud services api-keys update KEY_ID \ --api-target=service=SERVICE_1 --api-target=service=SERVICE_2
Java
כדי להריץ את הדוגמה הזו, צריך להתקין את ספריית הלקוח google-cloud-apikeys.
Python
כדי להריץ את הדוגמה הזו, צריך להתקין את ספריית הלקוח של מפתחות API.
REST
מאתרים את המזהה של המפתח שרוצים להגביל.
המזהה הוא לא השם המוצג או מחרוזת המפתח. אפשר לאתר אותו באמצעות method keys.list. המזהה מופיע בשדה
uidשל התשובה.מחליפים את
PROJECT_IDבמזהה הפרויקט או בשם הפרויקט ב- Cloud de Confiance by S3NS .curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://apikeys.s3nsapis.fr/v2/projects/PROJECT_ID/locations/global/keys/"
משתמשים ב-method keys.patch כדי לציין את השירותים שאפשר לגשת אליהם באמצעות מפתח API.
בעקבות הבקשה הזו מתקבלת פעולה ממושכת, וצריך לדגום את הפעולה כדי לדעת מתי היא הושלמה ומה הסטטוס שלה.
מחליפים את הערכים הבאים:
SERVICE_1,SERVICE_2: שמות השירותים של ממשקי ה-API שאפשר לגשת אליהם באמצעות המפתח.עליכם לפרט בבקשה את כל שמות השירותים, והם יחליפו את כל השירותים הקיימים במפתח.
תוכלו למצוא את שם השירות על ידי חיפוש ה-API במרכז הבקרה של ה-API. השמות של השירותים הם מחרוזות כמו
bigquery.googleapis.com.PROJECT_ID: השם או מזהה הפרויקט ב- Cloud de Confiance by S3NS .KEY_ID: המזהה של המפתח שרוצים להגביל.
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data '{ "restrictions" : { "apiTargets": [ { "service": "SERVICE_1" }, { "service" : "SERVICE_2" }, ] } }' \ "https://apikeys.s3nsapis.fr/v2/projects/PROJECT_ID/locations/global/keys/KEY_ID?updateMask=restrictions"
למידע נוסף על הוספת הגבלות על ממשקי API למפתח באמצעות API ל-REST, ראו הוספת הגבלות על ממשקי API במאמרי העזרה בנושא API של מפתחות API.
איתור הפרטים של פרויקט ממחרוזת של מפתח
בעזרת המחרוזת של מפתח API אפשר לדעת לאיזה Cloud de Confiance פרויקט הוא משויך.
מחליפים את הערך KEY_STRING במחרוזת המפתח עם פרטי הפרויקט הנדרשים.
gcloud
משתמשים בפקודה gcloud services api-keys lookup כדי לאתר את מזהה הפרויקט במחרוזת של מפתח.
gcloud services api-keys lookup KEY_STRING
Java
כדי להריץ את הדוגמה הזו, צריך להתקין את ספריית הלקוח google-cloud-apikeys.
Python
כדי להריץ את הדוגמה הזו, צריך להתקין את ספריית הלקוח של מפתחות API.
REST
משתמשים ב-method lookupKey כדי לאתר את מזהה הפרויקט במחרוזת של מפתח.
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ "https://apikeys.s3nsapis.fr/v2/keys:lookupKey?keyString=KEY_STRING"
יצירת עותק של מפתח API
אם אתם צריכים מפתח API חדש עם אותן הגבלות כמו מפתח API קיים, אתם יכולים ליצור עותק של מפתח ה-API הקיים. הפעולה הזו יוצרת מפתח API חדש עם מחרוזת מפתח ומזהה ייחודיים, עם ההגבלות של מפתח ה-API הקיים.
הפעולה 'העתקה' זמינה רק ב Cloud de Confiance מסוף. כדי להשתמש בשיטות אחרות, צריך לפעול לפי השלבים ליצירת מפתח API, ואז להחיל את אותן הגבלות על מפתח ה-API שנוצר.
נכנסים לדף Credentials במסוף Cloud de Confiance :
לוחצים על השם של מפתח ה-API שרוצים להעתיק.
נפתח דף הפרטים של מפתח ה-API.
לוחצים על יצירת עותק.
מזינים שם למפתח ה-API החדש ומוודאים שההגבלות נכונות.
לוחצים על יצירה.
החלפת מפתח API
החלפה תקופתית של מפתחות API מאפשרת להגביל את ההשפעה של מפתחות API שנמצאים בסיכון.
כשמבצעים רוטציה של מפתח API, יוצרים מפתח חדש עם אותן הגבלות כמו המפתח הישן, ומעדכנים את האפליקציות כך שישתמשו במפתח החדש. אחרי שמעדכנים את כל האפליקציות, מוחקים את המפתח הישן.
פעולת הרוטציה זמינה רק ב Cloud de Confiance מסוף. כדי להשתמש בשיטות אחרות, צריך לפעול לפי השלבים ליצירת מפתח API, ואז להחיל את אותן הגבלות על מפתח ה-API שנוצר. אחרי שמעדכנים את האפליקציות כך שישתמשו במפתח החדש, מוחקים את המפתח הישן.
נכנסים לדף Credentials במסוף Cloud de Confiance :
לוחצים על השם של מפתח ה-API שרוצים להחליף כדי לפתוח את דף הפרטים שלו.
לוחצים על ביצוע רוטציה למפתח.
מזינים שם למפתח ה-API החדש ומוודאים שההגבלות נכונות.
לוחצים על יצירה.
מעתיקים את מחרוזת המפתח ומעדכנים את האפליקציות כדי להשתמש במחרוזת החדשה.
אחרי שמעדכנים את כל האפליקציות כדי להשתמש במפתח החדש, חוזרים לדף הפרטים של המפתח החדש. בקטע Previous key (מפתח קודם), לוחצים על Delete the previous key (מחיקת המפתח הקודם) כדי למחוק את המפתח הישן.
אם גיליתם שמחקתם את המפתח הישן מוקדם מדי, אתם יכולים לבטל את המחיקה שלו.
ביטול המחיקה של מפתח API
אם מחקתם בטעות מפתח API, תוכלו לבטל את המחיקה (לשחזר אותו) עד 30 יום ממחיקת המפתח. אחרי 30 יום אי אפשר לבטל את המחיקה של מפתח ה-API.
המסוף
נכנסים לדף Credentials במסוף Cloud de Confiance :
לוחצים על Restore deleted credentials.
מאתרים את מפתח ה-API שרוצים לבטל את המחיקה שלו ולוחצים על Restore.
ביטול המחיקה של מפתח API יכול להימשך כמה דקות. אחרי ההפצה, מפתח ה-API שהמחיקה שלו בוטלה מוצג ברשימת מפתחות ה-API.
gcloud
מאתרים את המזהה של המפתח שרוצים לבטל את המחיקה שלו.
המזהה הוא לא השם המוצג או מחרוזת המפתח. כדי לאתר אותו, בעזרת הפקודה
gcloud services api-keys list --show-deletedתוכלו להציג את רשימת המפתחות שנמחקו בפרויקט.משתמשים בפקודה
gcloud services api-keys undeleteכדי לבטל את המחיקה של מפתח ה-API.gcloud services api-keys undelete KEY_ID
מחליפים את הערכים הבאים:
-
KEY_ID: המזהה של המפתח שרוצים לבטל את המחיקה שלו.
-
Java
כדי להריץ את הדוגמה הזו, צריך להתקין את ספריית הלקוח google-cloud-apikeys.
REST
מאתרים את המזהה של המפתח שרוצים לבטל את המחיקה שלו.
המזהה הוא לא השם המוצג או מחרוזת המפתח. אפשר לאתר אותו באמצעות ה-method keys.list, כשפרמטר השאילתה
showDeletedמוגדר ל-true. מזהה המפתח מופיע בשדהuidשל התשובה.מחליפים את
PROJECT_IDבמזהה הפרויקט או בשם הפרויקט ב- Cloud de Confiance by S3NS .curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://apikeys.s3nsapis.fr/v2/projects/PROJECT_ID/locations/global/keys?showDeleted=true"
משתמשים ב-method undelete כדי לבטל את המחיקה של מפתח ה-API.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ "https://apikeys.s3nsapis.fr/v2/projects/PROJECT_ID/locations/global/keys/KEY_ID:undelete"
בעקבות הבקשה מתקבלת פעולה ממושכת, וצריך לדגום את הפעולה כדי לדעת מתי היא הושלמה ומה הסטטוס שלה.
מחליפים את הערכים הבאים:
PROJECT_ID: השם או מזהה הפרויקט ב- Cloud de Confiance by S3NS .KEY_ID: המזהה של המפתח שרוצים להגביל.
קביעת סוג מפתח ה-API
כדי לדעת אם מפתח ה-API משויך לחשבון שירות, צריך לבדוק את המפתח.
המסוף
נכנסים לדף Credentials במסוף Cloud de Confiance :
אם מפתח ה-API משויך לחשבון שירות, מזהה חשבון השירות מוצג.
gcloud
מאתרים את המזהה של המפתח.
המזהה הוא לא השם המוצג או מחרוזת המפתח. כדי לאתר אותו, בעזרת הפקודה
gcloud services api-keys listתוכלו להציג את רשימת המפתחות בפרויקט.משתמשים בפקודה
gcloud services api-keys describeכדי להוסיף תיאור למפתח ה-API.gcloud services api-keys describe KEY_ID
אם מפתח ה-API מקושר לחשבון שירות, מוצג השדה
serviceAccountEmail.
דגימה של פעולות ממושכות
ב-methods של API של מפתחות API נעשה שימוש בפעולות ממושכות. אם משתמשים ב-API ל-REST כדי ליצור ולנהל מפתחות API, מבַקשת ה-method הראשונית מתקבל אובייקט פעולה. עליכם להשתמש בשם הפעולה כדי לבצע דגימה של הפעולה הממושכת. כשהתהליך הממושך של הבקשה יסתיים, תוכלו לדגום את הפעולה כדי להציג נתונים מהבקשה.
כדי לדגום פעולה ממושכת של API של מפתחות API, עליכם להשתמש ב-method operations.get.
מחליפים את OPERATION_NAME בשם הפעולה שהתקבל מהפעולה הממושכת. למשל, operations/akmf.p7-358517206116-cd10a88a-7740-4403-a8fd-979f3bd7fe1c.
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ "https://apikeys.s3nsapis.fr/v2/OPERATION_NAME"
מגבלות על מפתחות API
בכל פרויקט ניתן ליצור עד 300 מפתחות API. זוהי מגבלת מערכת ולא ניתן לבקש הגדלה של המכסה. אם דרושים לכם מפתחות API נוספים, עליכם להשתמש במספר פרויקטים.
אפשר להוסיף למפתח API עד 1,200 הגבלות על אפליקציות.
המאמרים הבאים
אלא אם צוין אחרת, התוכן של דף זה הוא ברישיון Creative Commons Attribution 4.0 ודוגמאות הקוד הן ברישיון Apache 2.0. לפרטים, ניתן לעיין במדיניות האתר Google Developers. Java הוא סימן מסחרי רשום של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2026-03-04 (שעון UTC).