Política VerifyIAM

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

Consulta la documentación de Apigee Edge.

Descripción general

VerifyIAM es parte de un método basado en IAM de Google Cloud para administrar la autenticación y la autorización para el acceso a la API, similar a la política de OAuthv2. Para obtener información sobre cómo incluir VerifyIAM en una solución de control de acceso basada en IAM, consulta Descripción general de la autenticación de API basada en IAM.

Esta 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 con cada tipo de entorno, consulta Tipos de políticas.

Referencia de elementos

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 principales de las políticas:

Atributo Descripción Configuración predeterminada Presence
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.

De forma opcional, usa el elemento <DisplayName> para etiquetar la política en el editor de proxy de la IU de administración con un nombre de lenguaje natural diferente.

N/A Obligatorio
continueOnError

Configúralo como false para mostrar un error cuando una política falla. Este es el comportamiento previsto para la mayoría de las políticas.

Configúralo como true para continuar con la ejecución del flujo incluso después de que una política falle. También consulta lo siguiente:

false Opcional
enabled

Configúralo como true para aplicar la política.

Configúralo como false para desactivar la política. La política no se aplicará incluso si permanece adjunta a un flujo.

true Opcional
async

Este atributo dejó de estar disponible.

false Obsoleto

Elemento <DisplayName>

Se usan además del atributo name para etiquetar la política en el editor de proxy de la IU de administración con un nombre de lenguaje natural diferente.

<DisplayName>Policy Display Name</DisplayName>
Configuración predeterminada

N/A

Si omites este elemento, se usa el valor del atributo name de la política.

Presence Opcional
Tipo String

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:

  • Por lo general, 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 en el formato request.queryparam.token.
  • Cuando se lee desde la referencia, se espera un valor directo. Por ejemplo, "Bearer" no debe estar presente como prefijo.
  • Si se omite, la ejecución de la política supone que el valor está en el encabezado de autorización y en el formato estándar "Bearer xyz".
Predeterminado N/A
Presence 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

En esta sección, se describen los códigos de falla y los mensajes de error que se muestran, y las variables de falla que establece Apigee cuando esta política activa un error. Esta información es importante para saber si estás desarrollando reglas de fallas con el propósito de manejar fallas. Para obtener más información, consulta Lo que necesitas saber sobre los errores de políticas y Controla fallas.

Errores de entorno de ejecución

Estos errores pueden producirse cuando se ejecuta la política.

Código de falla Estado de HTTP Causa
steps.verifyiam.CredentialSourceRefUnresolved 400 No se pudo resolver la variable de flujo proporcionada dentro de la fuente de credenciales.
steps.verifyiam.CredentialValueNotProvided 400 No se encontró la credencial. Si no se proporciona la referencia de la fuente de credenciales, buscamos el lugar predeterminado como el encabezado de autorización.
steps.verifyiam.Forbidden 403 No se pudo reenviar la solicitud debido a que no hay permisos suficientes, faltan permisos de acceso o cualquier otro problema relacionado.
steps.verifyiam.MiscellaneousAuthorizationConfigurationError 500 Hay un problema con la solicitud de autenticación a IAM. El productor de la API debe corregir este error según los detalles de la respuesta de error.
steps.verifyiam.Unauthorized 401 Hay un problema con la credencial, por ejemplo, el valor no es válido o venció.
steps.verifyiam.UnexpectedAuthorizationInfrastructureError 500 Error interno.

Errores en la implementación

Esta política no muestra ningún error de implementación específico de la política.

Variables con fallas

Estas variables se configuran cuando esta política activa un error en el entorno de ejecución.

Variables Dónde Ejemplo
fault.name="fault_name" fault_name es el nombre de la falla, como se indica en la tabla de Errores del entorno de ejecución anterior. El nombre de la falla es la última parte del código de la falla. fault.name="Unauthorized"
verifyiam.policy_name.failed policy_name es el nombre especificado por el usuario de la política que generó la falla. verifyiam.Verify-IAMToken.failed = true