Consumidores de API
Visão Geral
Consumidor é uma entidade que representa um indivíduo ou aplicação que consumirá recursos de uma API. A partir da identificação de consumidores é possível proteger e restringir o acesso às APIs com mecanismos de autenticação, autorização e políticas de controle de acesso (ACL). Com isso é possível também monitorar o uso das APIs e impor limites de consumo para cada consumidor.
Por estarem relacionados ao acesso a APIs, a identificação de um consumidor está condicionada a dois fatores:
- A existência de um mecanismo de autenticação configurado na API
- A existência de uma credencial de acesso à API válida, vinculada ao consumidor
Por estarem relacionados ao acesso a APIs, a identificação de um consumidor está atrelada a uma credencial. As credenciais são necessárias para autenticar os consumidores por meio de um mecanismo de autenticação, como Basic Authentication, Key Authentication, OAuth, entre outros.
O tipo de credencial depende do tipo de autenticação presente na API. Por exemplo, uma API protegida por autenticação Basic Authentication requer uma credencial composta por um usuário e uma senha; uma API protegida por Key Authentication requer uma credencial composta por uma API key. Portanto, se uma API é protegida por um mecanismo de autenticação, é necessário possuir um consumidor e credenciais correspondentes ao tipo de autenticação para acessá-la.
O DHuO possibilita a criação de credenciais para os seguintes tipos de autenticação:
- Basic Authentication
- Key Authentication
- JWT Authentication
Após criar a credencial correspondente ao tipo de autenticação suportado pela API, é possível consumi-la. A forma de envio das credenciais varia conforme o tipo de autenticação configurado na API.
Dado que uma API pode estar disponível em diversos ambientes (como produção, sandbox, entre outros), o consumidor tem uma identidade única para cada ambiente disponível da API. No cenário anterior, é necessário ter um consumidor específico para o ambiente de sandbox e outro para o ambiente de produção.
Assim como as APIs, os consumidores e suas credenciais criados no DHuO são provisionados em um API Gateway, para que eles tenham acesso às APIs.
O Manager não é o único meio para geração de consumidores e credenciais de acesso de APIs. É possível habilitar essa funcionalidade como autosserviço no Dev Portal para que os próprios usuários do portal consigam gerar consumidores e credenciais.
Porém, a geração de credenciais pelo Dev Portal é recomendada para ambientes internos e não produtivos. Para ambientes produtivos, recomenda-se gerar credenciais pela interface do Manager. Para saber mais, acesse a seção Consumidores de API do Dev Portal.
Configuração
Os consumidores são gerenciados no contexto da Organização. A partir da home, acesse o ícone de configurações da Organização ⚙ menu > Consumidores
. Na página de consumidores, eles podem ser cadastrados, editados e excluídos.
Caso existam consumidores criados por usuários do Dev Portal, eles também serão listados na página de consumidores da interface do Manager para poderem ser gerenciados pelos provedores de API (por exemplo, serem excluídos, serem associados a planos de consumo).
Permissões
Apenas usuários com papel de administrador da organização (Org Admin) ou operador de APIs (API Operator) podem gerenciar consumidores. Para saber mais, acesse a seção Papéis e permissões.
Parâmetros
Aqui estão os parâmetros para configuração de um consumidor de APIs:
- Nome: Obrigatório. Nome do consumidor.
Os consumidores são únicos por gateway. Não é possível ter mais de um consumidor com o mesmo nome em um mesmo gateway.
- Ambiente: Obrigatório. Ambiente no qual pertence o API Gateway onde o consumidor será criado.
- Gateway: Obrigatório. API Gateway no qual o consumidor será criado.
- Plano: Plano de consumo opcional para limitar a quantidade de requisições às APIs específicas do consumidor.
Para saber mais sobre planos de consumo e como limitar a quantidade de requisições às APIs específicas do consumidor, acesse a seção Planos de consumo da Administração do Dev Portal.
Não é possível alterar o ambiente e gateway após a criação do consumidor. Caso seja necessário alterá-los, é preciso excluir o consumidor e criar um novo no ambiente e gateway desejados.
Ao excluir um consumidor, todas as credenciais de acesso associadas serão removidas e, consequentemente, o acesso às APIs.