הדף הזה מתייחס ל-Apigee, אבל לא ל-Apigee Hybrid.
לעיון במסמכי התיעוד של
Apigee Edge
אפשר להשתמש במדיניות VerifyIAM כדי לאכוף בדיקות הרשאות לגישה ל-API, על סמך Google Cloud IAM. זוהי חלופה למדיניות OAuthv2 ולמדיניות VerifyAPIKey. למידע על הכללת VerifyIAM בפתרון לבקרת גישה שמבוסס על IAM, אפשר לעיין במאמר סקירה כללית על אימות API שמבוסס על IAM.
המדיניות הזו היא מדיניות רגילה ואפשר לפרוס אותה בכל סוג של סביבה. מידע על סוגי המדיניות והזמינות שלהם בכל סוג סביבה זמין במאמר סוגי מדיניות.
הפניה לרכיב
במאמר הזה מפורטים הרכיבים והמאפיינים של מדיניות VerifyIAM.
<VerifyIAM async="false" continueOnError="false" enabled="true" name="MyVerifyIAMPolicy"> <DisplayName>Custom label used in UI</DisplayName> <CredentialSource>flow_variable_name_containing_credential_value</CredentialSource> </VerifyIAM>
מאפייני <VerifyIAM>
<VerifyIAM async="false" continueOnError="false" enabled="true" name="MyVerifyIAMPolicy">
בטבלה הבאה מתוארים מאפיינים שמשותפים לכל רכיבי ההורה של המדיניות:
| מאפיין | תיאור | ברירת מחדל | נוכחות |
|---|---|---|---|
name |
השם הפנימי של המדיניות. הערך של מאפיין אפשר להשתמש ברכיב |
לא רלוונטי | חובה |
continueOnError |
מגדירים את הערך הגדרה ל- |
FALSE | אופציונלי |
enabled |
מגדירים את המדיניות למצב מגדירים את הערך |
TRUE | אופציונלי |
async |
המאפיין הזה הוצא משימוש. |
FALSE | הוצא משימוש |
אלמנט <DisplayName>
משתמשים בו בנוסף למאפיין name כדי לתת למדיניות שם אחר בשפה טבעית, לסימון המדיניות בכלי לעריכת פרוקסי בממשק המשתמש לניהול.
<DisplayName>Policy Display Name</DisplayName>
| ברירת מחדל |
לא רלוונטי אם לא מציינים את הרכיב הזה, המערכת משתמשת בערך של המאפיין |
|---|---|
| נוכחות | אופציונלי |
| סוג | String |
אלמנט <CredentialSource>
<CredentialSource>flow_variable_name_containing_credential_value</CredentialSource>
הרכיב הזה מציין את משתנה הזרימה שמכיל את ערך האישורים, והוא כולל את המאפיינים הבאים:
- בדרך כלל, הלקוח שולח את הערך בפרמטר של שאילתה, בכותרת HTTP או בפרמטר של טופס. במחרוזת צריך לציין את משתנה הזרימה המתאים בפורמט
request.queryparam.token. - כשקוראים מההפניה, צפוי ערך ישיר. לדוגמה, אסור להשתמש ב-'Bearer' כתחילית.
- אם לא מציינים ערך, ההנחה היא שהערך נמצא בכותרת ההרשאה בפורמט הרגיל Bearer xyz.
| ברירת מחדל | לא רלוונטי |
|---|---|
| נוכחות | אופציונלי |
| סוג | משתנה בתהליך |
דוגמה:
<VerifyIAM async="false" continueOnError="false" enabled="true" name="Verify-IAM-Permissions-1">
<DisplayName>VerifyIAM policy for flow 1</DisplayName>
<CredentialSource>request.queryparam.token</CredentialSource>
</VerifyIAM>הפניה לשגיאה
בקטע הזה מתוארים קודי התקלה והודעות השגיאה שמוחזרים ומשתני התקלה שמוגדרים על ידי Apigee כשהמדיניות הזו מפעילה שגיאה. חשוב להכיר את המידע הזה אם מפתחים כללי תקלה לטיפול בתקלות. מידע נוסף זמין במאמרים מה שצריך לדעת על שגיאות במדיניות וטיפול בתקלות.
שגיאות זמן ריצה
השגיאות האלה יכולות להתרחש כשהמדיניות מופעלת.
| קוד תקלה | סטטוס HTTP | מטרה |
|---|---|---|
steps.verifyiam.CredentialSourceRefUnresolved |
400 |
לא הייתה אפשרות לפתור את משתנה הזרימה שסופק בתוך מקור האישורים. |
steps.verifyiam.CredentialValueNotProvided |
400 |
לא נמצאו פרטי כניסה. אם לא מסופק הפניה למקור פרטי הכניסה, אנחנו בודקים את המקום שמוגדר כברירת מחדל, כמו כותרת הרשאה. |
steps.verifyiam.Forbidden |
403 |
לא ניתן להעביר את הבקשה בגלל חוסר הרשאות מספיק או היקפי גישה חסרים או בעיות אחרות שקשורות לכך. |
steps.verifyiam.MiscellaneousAuthorizationConfigurationError |
500 |
בעיה בבקשת האימות ל-IAM. הגורם שמפיק את ה-API צריך לתקן את השגיאה הזו על סמך הפרטים בתגובת השגיאה. |
steps.verifyiam.Unauthorized |
401 |
בעיה בפרטי הכניסה, למשל ערך לא תקין או שתוקף השימוש בהם פג. |
steps.verifyiam.UnexpectedAuthorizationInfrastructureError |
500 |
שגיאה פנימית. |
שגיאות בהטמעה
המדיניות הזו לא מחזירה שגיאות פריסה ספציפיות למדיניות.
משתני תקלות
המשתנים האלה מוגדרים כשהמדיניות הזו מפעילה שגיאה בזמן הריצה.
| משתנים | כאשר: | דוגמה |
|---|---|---|
fault.name="fault_name" |
fault_name הוא שם התקלה, כפי שמופיע בטבלה Runtime errors שלמעלה. שם התקלה הוא החלק האחרון של קוד התקלה. | fault.name="Unauthorized" |
verifyiam.policy_name.failed |
policy_name הוא השם שהמשתמש הגדיר למדיניות שגרמה לשגיאה. | verifyiam.Verify-IAMToken.failed = true |