Política VerifyIAM

Política padrão

Esta página se aplica à Apigee, mas não à Apigee híbrida.

Confira a documentação da Apigee Edge.

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

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

Referência de elemento

Esta referência mostra os elementos e 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 a seguir descreve atributos comuns a todos os elementos pai de políticas:

Atributo Descrição Padrão Presence
name

O nome interno da política. O valor do atributo name pode conter letras, números, espaços, hifens, sublinhados e pontos. Esse valor não pode exceder 255 caracteres.

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

N/A Obrigatório
continueOnError

Defina como false para retornar um erro quando uma política falhar. Esse é o comportamento esperado na maioria das políticas.

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

false Opcional
enabled

Defina como true para aplicar a política.

Defina como false para desativar a política. A política não será aplicada mesmo se ela permanecer anexada a um fluxo.

true Opcional
async

Esse atributo está obsoleto.

false Descontinuado

Elemento <DisplayName>

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

<DisplayName>Policy Display Name</DisplayName>
Padrão

N/A

Se você omitir esse elemento, será usado o valor do atributo name da política.

Presence Opcional
Tipo String

Elemento <CredentialSource>

<CredentialSource>flow_variable_name_containing_credential_value</CredentialSource>

Esse 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 em um parâmetro de consulta, um cabeçalho HTTP ou um parâmetro de formulário. A string precisa especificar a variável de fluxo correspondente no formato request.queryparam.token.
  • Ao ler da referência, um valor direto é esperado. Por exemplo, "Bearer" não pode estar presente como prefixo.
  • Se 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".
Padrã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 secção descreve os códigos de falha e as mensagens de erro devolvidas, bem como as variáveis de falha definidas pelo Apigee quando esta política aciona um erro. Estas informações são importantes para saber se estiver a desenvolver regras de falhas para processar falhas. Para saber mais, consulte os artigos O que precisa de saber sobre os erros de políticas e Como resolver falhas.

Erros de tempo de execução

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

Código de falha Estado de HTTP Causa
steps.verifyiam.CredentialSourceRefUnresolved 400 Não foi possível resolver a variável de fluxo fornecida na origem das credenciais.
steps.verifyiam.CredentialValueNotProvided 400 Não foi possível encontrar a credencial. Se a referência da origem das credenciais não for facultada, procuramos no local predefinido, como o cabeçalho de autorização.
steps.verifyiam.Forbidden 403 Não foi possível encaminhar o pedido devido à falta de autorizações suficientes, âmbitos de acesso ou outros problemas relacionados.
steps.verifyiam.MiscellaneousAuthorizationConfigurationError 500 Um problema com o pedido de autenticação ao IAM. O produtor da API tem de corrigir este erro com base nos detalhes na resposta de erro.
steps.verifyiam.Unauthorized 401 Problema com a credencial, como o valor ser inválido ou ter expirado.
steps.verifyiam.UnexpectedAuthorizationInfrastructureError 500 Erro interno.

Erros de implementação

Esta política não devolve erros de implementação específicos da política.

Variáveis de falha

Estas variáveis são definidas quando esta política aciona um erro no tempo de execução.

Variáveis Onde Exemplo
fault.name="fault_name" fault_name é o nome da falha, conforme indicado na tabela Erros de tempo 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 especificado pelo utilizador da política que gerou a falha. verifyiam.Verify-IAMToken.failed = true