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. בהתאם לשילוב שלכם, פועלים לפי ההנחיות הבאות:
- שילובים חדשים של Looker: הפניית משתמשים לנקודת הקצה לאימות (
https://auth.cloud.google/authorize) והחלפת טוקנים באמצעות Cloud OAuth API (cloudoauth.googleapis.com). - שילובים קיימים של Looker: אם השילוב של Looker משתמש בשירות אסימוני אבטחה (
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 (JWKs) הציבוריים שמשמשים לאימות החתימות של טוקני מזהה OIDC שהונפקו לארגון. |
| פרטי המשתמש | GET |
https://cloudoauth.googleapis.com/v1/organizations/ORGANIZATION_ID/userinfo
|
אחזור של הצהרות סטנדרטיות של OIDC, הצהרות של ספריות בהתאמה אישית וחברויות בקבוצות של המשתמש המאומת. |
| קבוצות ארגוניות | 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 (JWK) במערך
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) כדי לאחזר הצהרות נוספות של פרופיל המשתמש וחברויות בקבוצות.