Diese Seite gilt für Apigee, aber nicht für Apigee Hybrid.
Apigee Edge-Dokumentation aufrufen
Übersicht
Mit VerifyIAM können Sie Autorisierungsprüfungen für den API-Zugriff auf Grundlage von Google Cloud IAM erzwingen. Dies ist eine Alternative zur OAuthv2-Richtlinie und zur VerifyAPIKey-Richtlinie. Informationen dazu, wie Sie VerifyIAM in eine IAM-basierte Zugriffssteuerungslösung einbinden, finden Sie unter IAM-basierte API-Authentifizierung – Übersicht.
Diese Richtlinie ist eine Standardrichtlinie, die in jeder Umgebung bereitgestellt werden kann. Informationen zu Richtlinientypen und zur Verfügbarkeit bei jedem Umgebungstyp finden Sie unter Richtlinientypen.
Elementverweis
In dieser Referenz werden die Elemente und Attribute der VerifyIAM-Richtlinie beschrieben.
<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>-Attribute
<VerifyIAM async="false" continueOnError="false" enabled="true" name="MyVerifyIAMPolicy">
In der folgenden Tabelle werden Attribute beschrieben, die für alle übergeordneten Richtlinienelemente gelten:
Attribut | Beschreibung | Standard | Presence |
---|---|---|---|
name |
Der interne Name der Richtlinie. Der Wert des Attributs Optional können Sie das Element |
– | Erforderlich |
continueOnError |
Legen Sie Legen Sie |
false | Optional |
enabled |
Setzen Sie den Wert auf Legen Sie |
true | Optional |
async |
Dieses Attribut wurde verworfen. |
false | Verworfen |
<DisplayName>-Element
Wird zusätzlich zum Attribut name
verwendet, um die Richtlinie im Proxy-Editor der Verwaltungs-UI mit einem anderen Namen in einer natürlichen Sprache zu versehen.
<DisplayName>Policy Display Name</DisplayName>
Standard |
– Wenn Sie dieses Element weglassen, wird der Wert des Namensattributs |
---|---|
Presence | Optional |
Typ | String |
<CredentialSource>-Element
<CredentialSource>flow_variable_name_containing_credential_value</CredentialSource>
Mit diesem Element wird die Ablaufvariable angegeben, die den Anmeldedatenwert enthält. Es hat die folgenden Merkmale:
- In der Regel sendet der Client den Wert in einem Abfrageparameter, einem HTTP-Header oder einem Formularparameter. Im String muss die entsprechende Ablaufvariable im Format
request.queryparam.token
angegeben werden. - Beim Lesen aus dem Verweis wird ein direkter Wert erwartet. Das Präfix „Bearer“ sollte beispielsweise nicht vorhanden sein.
- Wird er weggelassen, wird bei der Richtlinienausführung davon ausgegangen, dass sich der Wert im Autorisierungsheader und im Standardformat „Bearer xyz“ befindet.
Standard | – |
---|---|
Präsenz | Optional |
Typ | Ablaufvariable |
Beispiel:
<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>
Fehlerreferenz
In diesem Abschnitt werden die zurückgegebenen Fehlercodes und Fehlermeldungen beschrieben, die von Apigee festgelegt werden, wenn die Richtlinie einen Fehler auslöst. Diese Informationen sind wichtig, wenn Sie Fehlerregeln zur Behebung von Fehlern entwickeln. Weitere Informationen finden Sie unter Was Sie über Richtlinienfehler wissen müssen und Fehler beheben.
Laufzeitfehler
Diese Fehler können bei Ausführung der Richtlinie auftreten.
Fehlercode | HTTP-Status | Ursache |
---|---|---|
steps.verifyiam.CredentialSourceRefUnresolved |
400 |
Die in der Anmeldedatenquelle angegebene Ablaufvariable konnte nicht aufgelöst werden. |
steps.verifyiam.CredentialValueNotProvided |
400 |
Anmeldedaten nicht gefunden. Wenn die Referenz auf die Anmeldedatenquelle nicht angegeben ist, wird der Standardspeicherort wie der Autorisierungsheader verwendet. |
steps.verifyiam.Forbidden |
403 |
Die Anfrage konnte aufgrund unzureichender Berechtigungen, fehlender Zugriffsbereiche oder anderer damit zusammenhängender Probleme nicht weitergeleitet werden. |
steps.verifyiam.MiscellaneousAuthorizationConfigurationError |
500 |
Ein Problem mit der Authentifizierungsanfrage an IAM. Der API-Ersteller muss diesen Fehler anhand der Details in der Fehlerantwort beheben. |
steps.verifyiam.Unauthorized |
401 |
Problem mit den Anmeldedaten, z. B. ungültiger oder abgelaufener Wert |
steps.verifyiam.UnexpectedAuthorizationInfrastructureError |
500 |
Interner Fehler. |
Bereitstellungsfehler
Diese Richtlinie gibt keine richtlinienspezifischen Bereitstellungsfehler zurück.
Fehlervariablen
Diese Variablen werden festgelegt, wenn diese Richtlinie zur Laufzeit einen Fehler auslöst.
Variablen | Wo | Beispiel |
---|---|---|
fault.name="fault_name" |
fault_name ist der Name des Fehlers, der in der obigen Tabelle Laufzeitfehler aufgeführt ist. Der Fehlername ist der letzte Teil des Fehlercodes. | fault.name="Unauthorized" |
verifyiam.policy_name.failed |
policy_name ist der benutzerdefinierte Name der Richtlinie, die den Fehler ausgelöst hat. | verifyiam.Verify-IAMToken.failed = true |