Cloud OAuth API (cloudoauth.googleapis.com) מספק אימות והחלפת אסימונים של OAuth 2.0 ו-OpenID Connect (OIDC) לאיחוד שירותי אימות הזהות של כוח עבודה.
Cloud OAuth API מאמת Google Cloud משתמשים. ה-API הזה מאפשר לאפליקציות להפנות את המשתמשים לנקודת הקצה של ההרשאה (https://auth.cloud.google/authorize) כדי לקבל קודי הרשאה. לאחר מכן, האפליקציות יכולות להחליף פרטי כניסה חיצוניים, קודי הרשאה או אסימוני רענון באסימוני גישה לטווח קצר של OAuth 2.0 ובאסימוני מזהה של OIDC.
ה-API מבוסס על המפרטים של OAuth 2.0 Token Exchange (RFC 8693) ו-OAuth 2.0 Authorization Framework (RFC 6749).
השוואה ל-Security Token Service
בעבר,Security Token Service (sts.googleapis.com) של Google Cloudטיפל בהחלפת אסימונים גם באיחוד שירותי אימות הזהות של כוח העבודה וגם באיחוד שירותי אימות הזהות של עומסי עבודה.
Cloud OAuth API תומך באותן החלפות אסימונים כמו Security Token Service, אבל הוא מיועד לתנועה של איחוד שירותי אימות הזהות של כוח עבודה. ההפרדה הזו מבודדת את החלפות האסימונים של כוח העבודה מהתנועה של עומסי העבודה, וכך עוזרת למנוע שיבושים בין השירותים ומאפשרת להגדיל את הקיבולת של כוח העבודה בלי קשר ל-Security Token Service. בהתאם לסטטוס השילוב, פועלים לפי ההנחיות הבאות:
- שילובים חדשים: מפנים את המשתמשים לנקודת הקצה להרשאה (
https://auth.cloud.google/authorize) ומחליפים טוקנים באמצעות Cloud OAuth API (cloudoauth.googleapis.com). - שילובים קיימים: אם אתם משתמשים ב-Security Token Service (
sts.googleapis.com/v1/oauthtokenאוsts.googleapis.com/v1/token), עברו אלcloudoauth.googleapis.com.
נקודות קצה (endpoints) נתמכות
בטבלה הבאה מפורטות נקודות הקצה שבהן משתמשים בשילובים של Cloud OAuth API. רוב נקודות הקצה האלה הן ברמת הארגון (דייר יחיד), והן מספקות ניהול מפתחות וגילוי מבודדים כשאפליקציית הלקוח והמשאבים מוגבלים לארגון Google Cloudיחיד.
בכתובות ה-URL של נקודות הקצה ברמת הארגון, מחליפים את ORGANIZATION_ID במזהה הארגון המספרי ב- Google Cloud:
| נקודת קצה (endpoint) | Method | כתובת URL | תיאור |
|---|---|---|---|
| OpenID Connect discovery | GET |
https://auth.cloud.google/oidc/organizations/ORGANIZATION_ID/.well-known/openid-configuration
|
הפונקציה מחזירה את המטא-נתונים של הגדרות הספק של OpenID Connect Discovery 1.0 (מסמך Discovery) של הארגון. |
| הרשאה | GET |
https://auth.cloud.google/authorize |
מפנה משתמשים מאוחדים להיכנס באמצעות ספק הזהויות (IdP) שלהם ומחזירה קוד הרשאה ל-URI להפניה אוטומטית של האפליקציה. |
| החלפת אסימונים | POST |
https://cloudoauth.googleapis.com/v1/organizations/ORGANIZATION_ID/token
|
החלפת קודי הרשאה או טוקנים של רענון בטוקנים של גישה מסוג OAuth 2.0 ובטוקנים של מזהה OIDC. |
| קבוצת מפתחות JWK (JWKS) | GET |
https://cloudoauth.googleapis.com/v1/organizations/ORGANIZATION_ID/.well-known/jwks.json
|
החזרת מפתחות ה-JSON Web Keys (JWK) הציבוריים שמשמשים לאימות החתימות של טוקני המזהה של OIDC שהונפקו לארגון. |
| פרטי המשתמש | GET |
https://cloudoauth.googleapis.com/v1/organizations/ORGANIZATION_ID/userinfo
|
אחזור של הצהרות סטנדרטיות של OIDC, הצהרות של ספריות בהתאמה אישית וחברויות בקבוצות של המשתמש המאומת. |
| קבוצות Enterprise | GET |
https://cloudoauth.googleapis.com/v1/common/groups |
אחזור של חברויות בקבוצות ארגוניות עם חלוקה לדפים עבור המשתמש המאומת. |
נקודת קצה להרשאה
בתהליך הרשאה באמצעות קוד של OAuth 2.0 ו-OIDC, האפליקציה מפנה משתמשים מאוחדים לנקודת הקצה המאוחדת להרשאה של Google Cloud(https://auth.cloud.google/authorize) כדי להיכנס באמצעות ה-IdP שלהם. אחרי שהאימות מצליח, נקודת הקצה של ההרשאות מפנה את המשתמש לכתובת ה-URI להפניה מחדש של האפליקציה עם קוד הרשאה. לאחר מכן, האפליקציה מחליפה את הקוד הזה בטוקנים בנקודת הקצה (endpoint) להחלפת טוקנים.
נקודות קצה של גילוי OIDC ו-JWKS
בשילובי Looker OIDC, Cloud OAuth API מספק נקודות קצה ציבוריות, לא מאומתות ובהיקף של הארגון, להגדרת לקוח ולאימות טוקנים:
- נקודת קצה (endpoint) לאיתור של OpenID Connect: מספקת את המטא-נתונים של הגדרות הספק (מסמך Discovery) של OpenID Connect Discovery 1.0 לארגון.
מסמך ה-Discovery כולל את המזהה של הארגון ב-
issuerואת כתובות ה-URL של נקודות הקצה (authorization_endpoint,token_endpoint,userinfo_endpointו-jwks_uri). הוא גם מפרט את ההיקפים הנתמכים, ההצהרות, אלגוריתמי החתימה (RS256) ושיטות האתגר של קוד Proof Key for Code Exchange (PKCE) (S256). - נקודת קצה (endpoint) של JSON Web Key Set (JWKS): מספקת את JSON Web Key Set (JWKS) הציבורי של הארגון. אפליקציות משתמשות במפתחות האינטרנט הציבוריים מסוג JSON (JWKs) במערך
keysכדי לאמת את החתימה הקריפטוגרפית של טוקן מזהה OIDC (id_token) שהונפק על ידי Cloud OAuth API.
בשילוב אופייני של OIDC, האפליקציה משתמשת בנקודות הקצה האלה ברצף הבא:
- אחזור מסמך ה-Discovery: שולחים בקשת
GETלנקודת הקצה של OpenID Connect Discovery (/.well-known/openid-configuration) וקוראים את כתובות ה-URL של נקודות הקצה (authorization_endpoint,token_endpoint,jwks_uriו-userinfo_endpoint). - בקשת קוד הרשאה: מפנים את המשתמש אל
authorization_endpoint(https://auth.cloud.google/authorize) כדי שייכנס באמצעות ה-IdP שלו ויקבל קוד הרשאה ב-URI להפניה אוטומטית של האפליקציה. - החלפת קוד ההרשאה באסימונים: שולחים בקשת
POSTאלtoken_endpoint(/token) כדי להחליף את קוד ההרשאה באסימון גישה מסוג OAuth 2.0 ובאסימון מזהה של OIDC (id_token). - אימות של טוקן המזהה: מאחזרים את המפתחות הציבוריים של הארגון מ-
jwks_uri(/.well-known/jwks.json) ומשתמשים בהם כדי לאמת את החתימה הקריפטוגרפית שלid_token. - אופציונלי: אחזור פרטי משתמש: שולחים בקשת
GETעם אסימון הגישה אלuserinfo_endpoint(/userinfo) כדי לאחזר הצהרות נוספות של פרופיל המשתמש וחברויות בקבוצות.
המאמרים הבאים
- החלפת טוקנים באמצעות Cloud OAuth API
- אחזור פרטי משתמשים באמצעות Cloud OAuth API
- אחזור קבוצות ארגוניות באמצעות Cloud OAuth API
- ניהול אפליקציות OAuth לאיחוד שירותי אימות הזהות של כוח עבודה
- מאמרי העזרה של Cloud OAuth REST API