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