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 Opcionalmente, use o elemento |
N/A | Obrigatório |
continueOnError |
Defina como Defina como |
false | Opcional |
enabled |
Defina como Defina como |
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 |
|---|---|
| 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 |