בדף הזה מפורטים פתרונות לשגיאות נפוצות באיחוד שירותי אימות הזהות של עומסי עבודה.
Google Cloud API לא מקבל את פרטי הכניסה שהונפקו על ידי SecurityTokenService
טוקני הגישה שמוחזרים על ידי ה-API SecurityTokenService הם טוקני גישה מאוחדים.
למרות שרוב ממשקי ה-API Google Cloud תומכים באיחוד שירותי אימות הזהות, יכול להיות שיש מגבלות על שיטות מסוימות של API. רשימת המגבלות זמינה במאמר איחוד שירותי אימות הזהות: מוצרים ומגבלות.
אם מתקבלת השגיאה הבאה, יכול להיות שמנסים להשתמש באסימון גישה מאוחד עם שירות שלא תומך באסימונים כאלה.
{
"error": {
"code": 401,
"message": "Request had invalid authentication credentials. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.",
"status": "UNAUTHENTICATED",
}
}
כדי לפתור את השגיאה הזו, צריך להמיר את אסימון הגישה של איחוד שירותי האימות לאסימון גישה לא מוגבל באמצעות הקריאה ל-GenerateAccessToken.
למידע נוסף ראו קבלת פרטי כניסה לטווח קצר עם איחוד זהויות.
הוספת ספק זהויות לרשימת ההיתרים לשימוש באיחוד שירותי אימות הזהות של עומסי עבודה
אם מנסים להגדיר ספק זהויות אסור כספק של מאגר זהויות של עומסי עבודה, תופיע השגיאה הבאה:
FAILED_PRECONDITION: Precondition check failed.
- '@type': type.googleapis.com/google.rpc.PreconditionFailure
violations:
- description: "Org Policy violated for value: '{PROVIDER}'."
subject: orgpolicy:projects/{PROJECT}/locations/global/workloadIdentityPools/{POOL}
type: constraints/iam.workloadIdentityPoolProviders
כדי לפתור את הבעיה, פועלים לפי ההוראות במאמר הגדרת הגבלות על ספק זהויות כדי להוסיף את ספק הזהויות לרשימת ההיתרים לשימוש באיחוד שירותי אימות הזהויות של עומסי עבודה.
קובץ ה-JWK שהוזן לא בפורמט JSON תקין
אם אתם מגדירים ספק OIDC ומופיעה השגיאה Input JWK is
not in a valid json format, יכול להיות שהסיבה לכך היא שנקודות קצה שמאובטחות באמצעות אישורים בחתימה עצמית לא נתמכות על ידי Google Cloud. ספציפית, השדות x5c ו-x5t לא נתמכים וחובה להסיר אותם מ-OIDC JWK.
כדי לפתור בעיות ב-JWK, מבצעים את הפעולות הבאות:
עורכים את ה-JWK ומסירים את השדות
x5c(שרשרת אישורי X.509) ו-x5t(טביעת אצבע של אישור X.509 מסוג SHA-1).{ "kty": "RSA", "use": "sig", "kid": "example-key-id", "alg": "RS256", "n": "base64url-modulus", "e": "AQAB" }מוודאים שהפורמט של שאר השדות ב-JWK תקין, כפי שמתואר במפרט OIDC.
מגדירים את ספק ה-OIDC עם מפתח ה-JWK המעודכן.
שגיאה בחיבור למנפיק פרטי הכניסה
אם התקבלה השגיאה הבאה, יכול להיות ש- Google Cloud לא יכול לאחזר את מסמך המטא-נתונים של ה-OIDC או את ה-JWKS של ספק הזהויות:
{
"error": "invalid_grant",
"error_description":"Error connecting to the given credential's issuer."
}
בדרך כלל שגיאה זו מתרחשת מכיוון שנקודות הקצה (endpoints) אינן מוגדרות כך שיוכלו להגיע אליהן מהאינטרנט הציבורי. כדי לפתור את השגיאה,צריך לוודא שנקודת הקצה (endpoints) זמינות לציבור ועומדות בדרישות של מפרט ה-OIDC. למידע נוסף ראו הכנת ספק הזהויות החיצוני.
אם השגיאה עדיין מופיעה, צריך לוודא שמנפיק האסימון, לפי ההצהרה iss באסימון, נכון.
המיפוי של התביעה google.subject חורג מהמגבלה של 127 בייט
אם קיבלתם את השגיאה הבאה, הסיבה לכך היא שהאישורים הנכנסים שמתקבלים על ידי SecurityTokenService API יוצרים תביעת בעלות על google.subject שחורגת ממגבלת התווים:
{
"error": "invalid_request",
"error_description":"The size of mapped attribute google.subject exceeds the 127 bytes limit. Either modify your attribute mapping or the incoming assertion to produce a mapped attribute that is less than 127 bytes."
}
כדי לפתור את הבעיה, משתמשים בפונקציה extract כדי להסיר תווים מיותרים ולחלץ מזהה נושא ייחודי מטענת נכונות ארוכה יותר, לדוגמה:
google.subject=assertion.sub.extract('/users/{sub_claim}')
שגיאה 429 Too Many Requests
אם אתם מקבלים את השגיאה 429 Too Many Requests כשאתם שולחים בקשה לטוקן מ-SecurityTokenService API, המשמעות היא ש Google Cloud הפרויקט שלכם חרג ממגבלת המכסה לקצב הגשת בקשות ל-API.
השגיאה כוללת הודעה שדומה להודעה הבאה:
{
"error": "quota_exceeded",
"error_description":"The request was throttled due to rate limit: sts.googleapis.com/requests. Please retry after a few seconds."
}
כדי לפתור את הבעיה, צריך לזהות את שם המדד sts.googleapis.com/requests שמופיע בהודעת השגיאה, לאתר את שם המדד התואם בדף המכסות של IAM, לוודא שאחוז השימוש חורג מהמכסה ואז לבקש הגדלה של המכסה.