VerifyIAM policy

Esta página se aplica a Apigee, pero no a Apigee Hybrid.

Consulta la documentación de Apigee Edge.

Usa la política VerifyIAM para aplicar comprobaciones de autorización en el acceso a la API, basadas en la gestión de identidades y accesos de Google Cloud. Es una alternativa a la política OAuthv2 y a la política VerifyAPIKey. Para obtener información sobre cómo incluir VerifyIAM en una solución de control de acceso basada en IAM, consulta el artículo Información general sobre la autenticación de APIs basada en IAM.

Esta política es una política estándar y se puede implementar en cualquier tipo de entorno. Para obtener información sobre los tipos de políticas y la disponibilidad de cada tipo de entorno, consulta Tipos de políticas.

Referencia de elemento

En esta referencia se muestran los elementos y atributos de la política 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>

Atributos <VerifyIAM>

<VerifyIAM async="false" continueOnError="false" enabled="true" name="MyVerifyIAMPolicy">

En la siguiente tabla se describen los atributos que son comunes a todos los elementos superiores de la política:

Atributo Descripción Predeterminado Presencia
name

El nombre interno de la política. El valor del atributo name puede contener letras, números, espacios, guiones, guiones bajos y puntos. Este valor no puede superar los 255 caracteres.

Opcionalmente, usa el elemento <DisplayName> para etiquetar la política en el editor de proxy de la interfaz de gestión con un nombre diferente en lenguaje natural.

N/A Obligatorio
continueOnError

Asigna el valor false para devolver un error cuando falle una política. Este es el comportamiento esperado de la mayoría de las políticas.

Asigna el valor true para que la ejecución del flujo continúe incluso después de que falle una política. Consulta también:

falso Opcional
enabled

Asigna el valor true para aplicar la política.

Selecciona false para desactivar la política. La política no se aplicará aunque siga adjunta a un flujo.

true Opcional
async

Este atributo está obsoleto.

falso Obsoleto

Elemento <DisplayName>

Úsalo junto con el atributo name para etiquetar la política en el editor de proxy de la interfaz de gestión con un nombre diferente en lenguaje natural.

<DisplayName>Policy Display Name</DisplayName>
Predeterminado

N/A

Si omite este elemento, se usará el valor del atributo name de la política.

Presencia Opcional
Tipo Cadena

Elemento <CredentialSource>

<CredentialSource>flow_variable_name_containing_credential_value</CredentialSource>

Este elemento especifica la variable de flujo que contiene el valor de la credencial y tiene las siguientes características:

  • Normalmente, el cliente envía el valor en un parámetro de consulta, un encabezado HTTP o un parámetro de formulario. La cadena debe especificar la variable de flujo correspondiente con el formato request.queryparam.token.
  • Cuando se lee de la referencia, se espera un valor directo. Por ejemplo, no debe incluir el prefijo "Bearer".
  • Si se omite, la ejecución de la política asume que el valor está en el encabezado de autorización y en el formato estándar "Bearer xyz".
Predeterminado N/A
Presencia Opcional
Tipo Variable de flujo

Ejemplo:

<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>

Referencia de errores

This section describes the fault codes and error messages that are returned and fault variables that are set by Apigee when this policy triggers an error. This information is important to know if you are developing fault rules to handle faults. To learn more, see What you need to know about policy errors and Handling faults.

Runtime errors

These errors can occur when the policy executes.

Fault code HTTP status Cause
steps.verifyiam.CredentialSourceRefUnresolved 400 Flow variable provided inside credential source could not be resolved.
steps.verifyiam.CredentialValueNotProvided 400 Credential not found. If the credential source reference is not provided, we look at the default place like authorization header.
steps.verifyiam.Forbidden 403 Request could not be forwarded due to lack of sufficient permissions or missing access scopes or any other related issues.
steps.verifyiam.MiscellaneousAuthorizationConfigurationError 500 An issue with the authentication request to IAM. The API producer needs to fix this error based on details in the error response.
steps.verifyiam.Unauthorized 401 Problem with the credential, such as the value being invalid or expired.
steps.verifyiam.UnexpectedAuthorizationInfrastructureError 500 Internal error.

Deployment errors

This policy does not return any policy-specific deployment errors.

Fault variables

These variables are set when this policy triggers an error at runtime.

Variables Where Example
fault.name="fault_name" fault_name is the name of the fault, as listed in the Runtime errors table above. The fault name is the last part of the fault code. fault.name="Unauthorized"
verifyiam.policy_name.failed policy_name is the user-specified name of the policy that threw the fault. verifyiam.Verify-IAMToken.failed = true