Authentication

A aba AUTHENTICATION permite configurar as regras de autenticação de um serviço.

authentication
A configuração de autenticação pode ser feita pela interface do Sensedia Service Mesh ou pela linha de comando, aplicando um arquivo .yaml. Mesmo quando aplicada pela linha de comando, o usuário consegue visualizar e editar a configuração pela interface.

Permissões de acesso

As ações que você poderá realizar nesta tela dependem das permissões definidas para seu usuário no Sensedia Access Control.

A tabela a seguir apresenta as permissões possíveis e as respectivas ações:

Permissão Descrição

List Api Authentications

Permite visualizar as informações básicas de uma configuração de autenticação na tabela da aba AUTHENTICATION.

Read Api Authentications

Permite visualizar os detalhes de uma configuração de autenticação criada para um serviço.

Write Api Authentications

Permite criar, editar e excluir configurações de autenticação para os serviços.

Configurando autenticação

Para começar, clique no botão CONFIGURE AUTHENTICATION e preencha os seguintes campos:

authentication configure
  • Name: nome identificador para a configuração.

  • Port: porta que expõe o serviço no Kubernetes.

  • Audiences: campo não obrigatório para inserir a audiência da autenticação, ou seja, o destinatário do token de autenticação.

  • Issuer: informar aqui o endereço do provedor de OpenID utilizado.

  • JKWS URI: endereço das chaves de criptografia do tipo JSON Web Key Set utilizadas para assinar os tokens JWT.

Nas seções EXCLUDED PATHS e INCLUDED PATHS o usuário pode customizar os endereços que deverão contar ou não com autenticação para cada serviço.

Para inserir endereços que não deverão contar com autenticação, escolha o tipo do caminho (Path), que pode ser Exact ou Prefix, e um nome (Name) dentro da seção EXCLUDED PATHS.

Se escolhido Exact, o endereço exato não precisará de autenticação para ser acessado, mas requisições feitas para sub-endereços ainda deverão ter autenticação. Por exemplo, se o caminho /api for inserido como Exact Path, ele não precisará de autenticação, mas /api/orders precisará. Por sua vez, se o caminho /api for inserido como Prefix, todos os sub-caminhos, incluindo /api/orders, não precisarão de autenticação.

Para inserir endereços que deverão contar com autenticação, escolha o tipo do caminho (Path), que pode ser Exact ou Prefix, e um nome (Name) dentro da seção INCLUDED PATHS. As mesmas regras referentes a caminhos/sub-caminhos escritas acima se aplicam.

Há alguns comportamentos a ter em mente aqui. Se nenhum caminho for adicionado às seções EXCLUDED PATHS e INCLUDED PATHS, todos os endpoints do serviço necessitarão de autenticação.

Por que então adicionar Included Paths e não somente Excluded Paths, no caso em que você deseje desabilitar a autenticação para um caminho específico?

A ideia é facilitar a customização. Se você, por exemplo, quiser desabilitar a autenticação para todos os endpoints iniciados por /api, com a exceção de apenas um sub-caminho, (/api/orders, digamos), consegue aplicar isso facilmente inserindo o caminho /api como tipo Prefix em EXCLUDED PATHS — ou seja, desabilitando autenticação para o caminho e sub-domínios — , mas inserindo o caminho /api/orders como tipo Exact em INCLUDED PATHS.

Feito isso, /api/orders requerirá autenticação, mas /api e /api/demo, por exemplo, não requerirão.

Você pode inserir quantos caminhos quiser nas seções EXCLUDED PATHS e INCLUDED PATHS clicando no ícone +.

Editando e excluindo uma configuração de autenticação

Se já houver uma configuração de autenticação, ela será exibida na aba AUTHENTICATION:

authentication edit

Para editar a configuração, clique sobre o ícone icon edit. Isso abrirá uma janela com todas as informações configuradas para que você faça as alterações desejadas. O único campo que não pode ser editado é o nome (Name).

Também é possível excluir a configuração inteira (e, então, você poderá configurar a autenticação novamente quando desejar). Para remover a configuração, clique sobre o ícone icon delete.

Thanks for your feedback!
EDIT
How useful was this article to you?