Esta página se aplica à Apigee, mas não à Apigee híbrida.
Confira a documentação da Apigee Edge.
Visão geral
O VerifyIAM faz parte de um método baseado no IAM do Google Cloud para gerenciar a autenticação e a autorização de acesso à API, semelhante à política OAuthv2. Para saber 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 |
---|---|
Presence | 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 |