Verifica il criterio IAM

Questa pagina si applica ad Apigee, ma non ad Apigee hybrid.

Visualizza la documentazione di Apigee Edge.

Panoramica

VerifyIAM fa parte di un metodo basato su IAM di Google Cloud per la gestione dell'autenticazione e dell'autorizzazione per l'accesso alle API, simile al criterio OAuthv2. Per informazioni su come includere VerifyIAM in una soluzione di controllo dell'accesso basata su IAM, consulta la Panoramica dell'autenticazione API basata su IAM.

Questo criterio è un criterio standard e può essere implementato in qualsiasi tipo di ambiente. Per informazioni sui tipi di criteri e sulla loro disponibilità in base a ciascun tipo di ambiente, consulta Tipi di criteri.

Riferimento elemento

Questo riferimento mostra gli elementi e gli attributi del criterio 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>

Attributi <VerifyIAM>

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

La tabella seguente descrive gli attributi comuni a tutti gli elementi principali dei criteri:

Attributo Descrizione Predefinito Presenza
name

Il nome interno del criterio. Il valore dell'attributo name può contenere lettere, numeri, spazi, trattini, trattini bassi e punti. Questo valore non può superare i 255 caratteri.

Se vuoi, utilizza l'elemento <DisplayName> per etichettare il criterio nell'editor proxy dell'interfaccia utente di gestione con un nome diverso in linguaggio naturale.

N/D Obbligatorio
continueOnError

Imposta su false per restituire un errore quando un criterio non va a buon fine. Questo è un comportamento previsto per la maggior parte dei criteri.

Imposta su true per continuare l'esecuzione del flusso anche dopo un fallimento del criterio. Vedi anche:

falso Facoltativo
enabled

Imposta su true per applicare il criterio.

Imposta false per disattivare il criterio. Il criterio non verrà applicato anche se rimane collegato a un flusso.

true Facoltativo
async

Questo attributo è stato ritirato.

falso Ritirato

Elemento <DisplayName>

Da utilizzare insieme all'attributo name per etichettare il criterio nell'editor proxy dell'interfaccia utente di gestione con un nome diverso in linguaggio naturale.

<DisplayName>Policy Display Name</DisplayName>
Predefinito

N/D

Se ometti questo elemento, viene utilizzato il valore dell'attributo name del criterio.

Presenza Facoltativo
Tipo Stringa

Elemento <CredentialSource>

<CredentialSource>flow_variable_name_containing_credential_value</CredentialSource>

Questo elemento specifica la variabile di flusso contenente il valore della credenziale e presenta le seguenti caratteristiche:

  • In genere, il client invia il valore in un parametro di query, in un'intestazione HTTP o in un parametro del modulo. La stringa deve specificare la variabile di flusso corrispondente nel formato request.queryparam.token.
  • Quando viene letto dal riferimento, è previsto un valore diretto. Ad esempio, "Bearer" non deve essere presente come prefisso.
  • Se omesso, l'esecuzione del criterio presuppone che il valore sia nell'intestazione di autorizzazione e nel formato standard "Bearer xyz".
Predefinito N/D
Presenza Facoltativo
Tipo Variabile di flusso

Esempio:

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

Riferimento all'errore

Questa sezione descrive i codici di errore e i messaggi di errore restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti se stai sviluppando regole di errore per gestire gli errori. Per saperne di più, consulta Informazioni importanti sugli errori delle norme e Gestione degli errori.

Errori di runtime

Questi errori possono verificarsi durante l'esecuzione del criterio.

Codice guasto Stato HTTP Causa
steps.verifyiam.CredentialSourceRefUnresolved 400 Impossibile risolvere la variabile di flusso fornita all'interno dell'origine delle credenziali.
steps.verifyiam.CredentialValueNotProvided 400 Autenticazione non trovata. Se non viene fornito il riferimento all'origine delle credenziali, viene esaminato il luogo predefinito, ad esempio l'intestazione di autorizzazione.
steps.verifyiam.Forbidden 403 Impossibile inoltrare la richiesta a causa di autorizzazioni insufficienti, ambiti di accesso mancanti o altri problemi correlati.
steps.verifyiam.MiscellaneousAuthorizationConfigurationError 500 Un problema con la richiesta di autenticazione a IAM. Il produttore dell'API deve correggere questo errore in base ai dettagli nella risposta all'errore.
steps.verifyiam.Unauthorized 401 Problema con le credenziali, ad esempio il valore non valido o scaduto.
steps.verifyiam.UnexpectedAuthorizationInfrastructureError 500 Errore interno.

Errori di deployment

Questo criterio non restituisce errori di deployment specifici dei criteri.

Variabili di errore

Queste variabili vengono impostate quando questo criterio attiva un errore in fase di runtime.

Variabili Dove Esempio
fault.name="fault_name" fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice dell'errore. fault.name="Unauthorized"
verifyiam.policy_name.failed policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. verifyiam.Verify-IAMToken.failed = true