Authorization
Na aba AUTHORIZATION é possível criar e aplicar regras de política de autorização para um determinado serviço, bem como visualizar as regras já aplicadas.
Ou seja, é aqui que você estabelece como será feita a verificação das permissões de acesso quando requisições são enviadas a um serviço dentro de um namespace.
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 Authorizations |
Permite visualizar a lista com as regras de política de autorização criadas. |
Read Api Authorizations |
Permite visualizar os detalhes das configurações das regras de política de autorização já criadas. |
Write Api Authorizations |
Permite ao usuário criar, editar e excluir regras de política de autorização para os serviços. |
Listagem de regras
A aba AUTHORIZATION lista as regras de política de autorização que já estão aplicadas a um serviço, exibindo as seguintes informações:
-
nome identificador para a regra;
-
métodos que estão dentro do escopo da regra;
-
endpoints a que a regra se aplica;
-
status do serviço;
-
data de criação da regra.
Além disso, a lista contém ícones de ação:
-
para editar a regra; e
-
para removê-la.
Configurando autorização
Para configurar uma nova regra de política de autorização, clique no botão ADD NEW RULE e preencha os campos abaixo:
-
Name: nome identificador para a nova regra, que deve ser único para o namespace.
-
Methods: métodos HTTP incluídos no escopo a ser configurado.
-
Paths: endpoint ao qual a regra de autorização se aplica. Mais de um endpoint pode ser inserido.
-
CONDITIONS: seção opcional para incluir condições, ou seja, atributos opcionais formados por chave (Key) e valor (Value). Note que é possível adicionar mais de um valor por chave. Veja aqui as condições que você pode utilizar.
Actions
Dentro de uma política de autorização do Istio, existe um campo denominado action
que é responsável por dizer ao Istio qual a política que será aplicada para as requisições.
Veja abaixo um exemplo de objeto Authorization
:
apiVersion: security.istio.io/v1beta1
kind: AuthorizationPolicy
metadata:
name: httpbin
namespace: foo
spec:
action: ALLOW
rules:
- from:
- source:
principals: ["cluster.local/ns/default/sa/sleep"]
- source:
namespaces: ["test"]
to:
- operation:
methods: ["GET"]
paths: ["/info*"]
- operation:
methods: ["POST"]
paths: ["/data"]
when:
- key: request.auth.claims[iss]
values: ["https://accounts.google.com"]
Dentro do Sensedia Service Mesh, as políticas de autorização são criadas sempre com action: ALLOW
;
portanto, as requisições serão aceitas somente se elas estiverem em conformidade com as regras descritas dentro da chave rules
(e rejeitadas caso não estejam).
Você pode consultar esta documentação para mais informações sobre os objetos de Authorization.
Caso a opção Mesh Security esteja ativa (em | ), os serviços do mesh serão bloqueados por padrão. Então, será necessário criar políticas de autorização para todos os serviços para os quais você deseja liberar acesso.
Share your suggestions with us!
Click here and then [+ Submit idea]