VerifyIAM policy

Esta página aplica-se ao Apigee, mas não ao Apigee Hybrid.

Veja a documentação do Apigee Edge.

Vista geral

Use o VerifyIAM para aplicar verificações de autorização no acesso à API, com base no Google Cloud IAM. Esta é uma alternativa à política OAuthv2 e à política VerifyAPIKey. Para informações sobre como incluir o VerifyIAM numa solução de controlo de acesso baseada na IAM, consulte a vista geral da autenticação de API baseada na IAM.

Esta política é uma política padrão e pode ser implementada em qualquer tipo de ambiente. Para obter informações sobre os tipos de políticas e a disponibilidade com cada tipo de ambiente, consulte Tipos de políticas.

Referência do elemento

Esta referência mostra os elementos e os atributos da 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">

A tabela seguinte descreve os atributos comuns a todos os elementos principais de políticas:

Atributo Descrição Predefinição Presença
name

O nome interno da política. O valor do atributo name pode conter letras, números, espaços, hífenes, sublinhados e pontos finais. Este valor não pode exceder 255 carateres.

Opcionalmente, use o elemento <DisplayName> para etiquetar a política no editor de proxy da IU de gestão com um nome diferente em linguagem natural.

N/A Obrigatória
continueOnError

Definido como false para devolver um erro quando uma política falha. Este comportamento é o esperado para a maioria das políticas.

Definido como true para que a execução do fluxo continue mesmo depois de uma política falhar. Veja também:

falso Opcional
enabled

Defina como true para aplicar a política.

Defina como false para desativar a política. A política não é aplicada, mesmo que permaneça associada a um fluxo.

verdadeiro Opcional
async

Este atributo foi descontinuado.

falso Descontinuado

Elemento <DisplayName>

Use em conjunto com o atributo name para etiquetar a política no editor de proxy da IU de gestão com um nome diferente em linguagem natural.

<DisplayName>Policy Display Name</DisplayName>
Predefinição

N/A

Se omitir este elemento, é usado o valor do atributo name da política.

Presença Opcional
Tipo String

Elemento <CredentialSource>

<CredentialSource>flow_variable_name_containing_credential_value</CredentialSource>

Este elemento especifica a variável de fluxo que contém o valor da credencial e tem as seguintes características:

  • Normalmente, o cliente envia o valor num parâmetro de consulta, num cabeçalho HTTP ou num parâmetro de formulário. A string tem de especificar a variável de fluxo correspondente no formato request.queryparam.token.
  • Quando lido a partir da referência, é esperado um valor direto. Por exemplo, "Bearer" não deve estar presente como prefixo.
  • Se for omitido, a execução da política assume que o valor está no cabeçalho de autorização e no formato padrão "Bearer xyz".
Predefinição N/A
Presença Opcional
Tipo Variável de fluxo

Exemplo:

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

Referência de erros

Esta seção descreve os códigos de falha e as mensagens de erro que são retornadas e as variáveis de falha definidas pela Apigee quando essa política aciona um erro. Essas informações são importantes para saber se você está desenvolvendo regras de falha para lidar com falhas. Para saber mais, consulte O que você precisa saber sobre erros de política e Como lidar com falhas.

Erros de execução

Esses erros podem ocorrer quando a política é executada.

Código de falha Status HTTP Causa
steps.verifyiam.CredentialSourceRefUnresolved 400 Não foi possível resolver a variável de fluxo fornecida na origem de credenciais.
steps.verifyiam.CredentialValueNotProvided 400 Credencial não encontrada. Se a referência da origem da credencial não for fornecida, vamos analisar o local padrão, como o cabeçalho de autorização.
steps.verifyiam.Forbidden 403 Não foi possível encaminhar a solicitação devido à falta de permissões suficientes ou à falta de escopos de acesso ou a outros problemas relacionados.
steps.verifyiam.MiscellaneousAuthorizationConfigurationError 500 Um problema com a solicitação de autenticação para o IAM. O produtor da API precisa corrigir esse erro com base nos detalhes na resposta de erro.
steps.verifyiam.Unauthorized 401 Problema com a credencial, como o valor inválido ou expirado.
steps.verifyiam.UnexpectedAuthorizationInfrastructureError 500 Erro interno.

Erros de implantação

Essa política não retorna erros de implantação específicos da política.

Variáveis de falha

Essas variáveis são definidas quando essa política aciona um erro no ambiente de execução.

Variáveis Onde Exemplo
fault.name="fault_name" fault_name é o nome da falha, conforme listado na tabela Erros de ambiente de execução acima. O nome da falha é a última parte do código de falha. fault.name="Unauthorized"
verifyiam.policy_name.failed policy_name é o nome da política especificada pelo usuário que gerou a falha. verifyiam.Verify-IAMToken.failed = true