Informando Tokens para Funções de Autorizador para Adicionar Autenticação e Autorização a Implantações de API

Descubra como usar funções de autorizador de argumento único e tokens de acesso para adicionar funcionalidade de autenticação e autorização a gateways de API com o serviço API Gateway.

Você pode adicionar a funcionalidade de autenticação e autorização a um gateway de API fazendo com que o gateway de API passe um token de acesso de vários argumentos ou de um único argumento incluído em uma solicitação para uma função de autorizador implantada no OCI Functions para validação (conforme descrito neste tópico). Como alternativa, você pode fazer com que o próprio gateway de API valide os tokens incluídos em uma solicitação (conforme descrito em Validando Tokens para Adicionar Autenticação e Autorização a Implantações de API).

Você pode adicionar a funcionalidade de autenticação e autorização aos gateways de API gravando uma "função de autorizador" que:

  • Processe atributos de solicitação para verificar a identidade de um cliente de API com um provedor de identidades.
  • Determina as operações que o cliente da API tem permissão para executar.
  • Retorna as operações que o cliente da API tem permissão para executar como uma lista de 'escopos de acesso' (um ' escopo de acesso' é uma string arbitrária usada para determinar o acesso).
  • Opcionalmente, retorna um par chave-valor para uso pela implantação da API. Por exemplo, como uma variável de contexto para usar em uma definição de backend HTTP (consulte Adicionando Variáveis de Contexto a Políticas e Definições de Backend HTTP).

Dependendo da funcionalidade necessária, você pode escrever:

  • (Recomendado) Uma função de autorizador com vários argumentos que aceita um token de acesso com vários argumentos definido pelo usuário que compreende um ou mais elementos de uma solicitação (consulte Criando uma Função de Autorizador com Vários Argumentos (Recomendado)). Observe que as funções de autorizador de vários argumentos podem aceitar tokens de acesso único contidos em um cabeçalho de solicitação ou parâmetro de consulta.
  • Uma função de autorizador de argumento único que aceita um token de acesso de argumento único que compreende um único valor contido em um cabeçalho de solicitação ou parâmetro de consulta em uma solicitação (consulte Criando uma Função de Autorizador de Argumento Único).

O uso de uma função de autorizador com vários argumentos (em vez de um argumento único) permite que um gateway de API execute uma autenticação baseada em solicitação mais refinada. Uma função de autorizador de vários argumentos pode consultar serviços de decisão e agentes de política com atributos do token de acesso e com outros elementos de solicitação, como parâmetros de consulta, nome do host e subdomínio.

Observação

A Oracle recomenda o uso de funções de autorizador com vários argumentos em vez de funções de autorizador com argumento único por causa de sua versatilidade adicional. As funções de autorizador de argumento único foram fornecidas em versões anteriores e continuam a ser suportadas. No entanto, como as funções de autorizador de vários argumentos também podem aceitar tokens de acesso de argumento único contidos nos cabeçalhos de solicitação e no parâmetro de consulta, não há motivo para criar novas funções de autorizador de argumento único. Além disso, as funções de autorizador de argumento único estão planejadas para descontinuação em uma versão futura.

Depois de gravar a função de autorizador, você poderá implantá-la no OCI Functions (consulte Implantando uma Função de Autorizador).

Para um Tutorial do Desenvolvedor relacionado que contém um exemplo de função do autorizador de argumento único, consulte Funções: Validar uma Chave da API com o API Gateway.

Tendo implantado a função de autorizador, você ativa a autenticação e a autorização de uma implantação de API incluindo dois tipos distintos de política de solicitação na especificação de implantação de API:

  • Uma política de solicitação de autenticação para toda a implantação da API que especifica:
    • O OCID da função de autorizador que você implantou no OCI Functions que executará a autenticação e a autorização.
    • Os atributos da solicitação para passar para a função do autorizador.
    • Se os clientes de API não autenticados podem acessar rotas na implantação de API.
  • Uma política de solicitação de autorização para cada rota que especifica as operações que um cliente de API tem permissão para executar, com base nos escopos de acesso do cliente de API conforme retornado pela função de autorizador.

Você pode adicionar políticas de solicitação de autenticação e autorização a uma especificação de implantação da API fazendo o seguinte:

  • Usando a Console.
  • Editando um arquivo JSON.
Dica

Para ajudar a solucionar problemas com a função de autorizador, considere adicionar um log de execução à implantação de API, com seu nível de log definido como Info (consulte Adicionando Registro em Log a Implantações de API).

Para ver detalhes nos arquivos de log relacionados a autenticação e autorização, procure customAuth.