Criterio VerifyIAM

Questa pagina si applica a Apigee, ma non a Apigee ibrido.

Visualizza la documentazione di Apigee Edge.

Panoramica

VerificationIAM fa parte di un metodo di gestione dell'autenticazione basato su Google Cloud IAM per l'accesso alle API, in modo 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">

The following table describes attributes that are common to all policy parent elements:

Attribute Description Default Presence
name

The internal name of the policy. The value of the name attribute can contain letters, numbers, spaces, hyphens, underscores, and periods. This value cannot exceed 255 characters.

Optionally, use the <DisplayName> element to label the policy in the management UI proxy editor with a different, natural-language name.

N/A Required
continueOnError

Set to false to return an error when a policy fails. This is expected behavior for most policies.

Set to true to have flow execution continue even after a policy fails. See also:

false Optional
enabled

Set to true to enforce the policy.

Set to false to turn off the policy. The policy will not be enforced even if it remains attached to a flow.

true Optional
async

This attribute is deprecated.

false Deprecated

<DisplayName> element

Use in addition to the name attribute to label the policy in the management UI proxy editor with a different, natural-language name.

<DisplayName>Policy Display Name</DisplayName>
Default

N/A

If you omit this element, the value of the policy's name attribute is used.

Presence Optional
Type String

Elemento <CredentialSource>

<CredentialSource>flow_variable_name_containing_credential_value</CredentialSource>

Questo elemento specifica la variabile di flusso contenente il valore della credenziale e presenta questi 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 incluso nell'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>

Informazioni sugli errori

Questa sezione descrive i codici e i messaggi di errore restituiti, nonché 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ù, vedi Cosa devi sapere sugli errori relativi ai criteri e sulla gestione di errore.

Errori di runtime

Questi errori possono verificarsi quando il criterio viene eseguito.

Codice di errore 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 il riferimento all'origine delle credenziali non viene fornito, esamineremo come l'intestazione dell'autorizzazione.
steps.verifyiam.Forbidden 403 Non è stato possibile inoltrare la richiesta perché non dispone di autorizzazioni sufficienti o non è presente gli ambiti di accesso 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 del criterio.

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