Esta página se aplica a Apigee, pero no a Apigee Hybrid.
Consulta la documentación de
Apigee Edge.
Información general
Usa VerifyIAM para aplicar comprobaciones de autorización en el acceso a la API, basadas en Google Cloud IAM. Esta política 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 Opcionalmente, usa el elemento |
N/A | Obligatorio |
continueOnError |
Asigna el valor Asigna el valor |
falso | Opcional |
enabled |
Asigna el valor Selecciona |
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 |
---|---|
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
En esta sección se describen los códigos de error y los mensajes de error que se devuelven, así como las variables de error que define Apigee cuando esta política activa un error. Es importante conocer esta información si vas a desarrollar reglas de errores para gestionarlos. Para obtener más información, consulta Qué debes saber sobre los errores de políticas y Gestionar errores.
Errores de tiempo de ejecución
Estos errores pueden producirse cuando se ejecuta la política.
Código de fallo | Estado de HTTP | Causa |
---|---|---|
steps.verifyiam.CredentialSourceRefUnresolved |
400 |
No se ha podido resolver la variable de flujo proporcionada en el origen de las credenciales. |
steps.verifyiam.CredentialValueNotProvided |
400 |
No se ha encontrado la credencial. Si no se proporciona la referencia de la fuente de credenciales, buscamos en la ubicación predeterminada, como el encabezado de autorización. |
steps.verifyiam.Forbidden |
403 |
No se ha podido reenviar la solicitud porque no se tienen permisos suficientes, faltan ámbitos de acceso o se han producido otros problemas relacionados. |
steps.verifyiam.MiscellaneousAuthorizationConfigurationError |
500 |
Un problema con la solicitud de autenticación a la gestión de identidades y accesos. El productor de la API debe corregir este error según los detalles de la respuesta de error. |
steps.verifyiam.Unauthorized |
401 |
Problema con la credencial, como que el valor no sea válido o haya caducado. |
steps.verifyiam.UnexpectedAuthorizationInfrastructureError |
500 |
Error interno. |
Errores de implementación
Esta política no devuelve ningún error de implementación específico de la política.
Variables de error
Estas variables se definen cuando esta política activa un error en el tiempo de ejecución.
Variables | Dónde | Ejemplo |
---|---|---|
fault.name="fault_name" |
fault_name es el nombre del fallo, tal como se indica en la tabla Errores de tiempo de ejecución de arriba. El nombre del error es la última parte del código de error. | fault.name="Unauthorized" |
verifyiam.policy_name.failed |
policy_name es el nombre de la política especificado por el usuario que ha provocado el error. | verifyiam.Verify-IAMToken.failed = true |