Kubernetes: Autenticacao Autorizacao e Controle de Admissao: Difference between revisions

From Wiki
(Criou a página com "Como todo sistema de TI, precisamos controlar o acesso ao ambiente * '''Autenticação''': Login um usuário. * '''Autorização''': Autoriza as solicitações da API adic...")
 
No edit summary
 
(One intermediate revision by the same user not shown)
Line 5: Line 5:
* '''Autorização''': Autoriza as solicitações da API adicionadas pelo usuário conectado.
* '''Autorização''': Autoriza as solicitações da API adicionadas pelo usuário conectado.
* '''Controle de admissão''': Controla os requests com base em algumas verificações adicionais, como por exemplo, definir Cota para recursos.
* '''Controle de admissão''': Controla os requests com base em algumas verificações adicionais, como por exemplo, definir Cota para recursos.
= Detalhes =
== Autenticação ==
Não existe um objeto ''Usuário'' no Kubernetes, mas mesmo assim existem os seguintes tipos de usuários:
* Usuário Normal: provido por um serviço de terceiro. Com uma arquivo de usernames/passwords, User/Client Certificates.
* Service Account: São usados para comunicação dentro do cluster através da API Server, afim de executar diferentes operações.
Para autenticar o K8s utiliza por exemplo: Client Certificates ('''--client-ca-file=SOMEFILE'''), Static Token File ('''--token-auth-file=SOMEFILE'''), Static Password File ('''--basic-auth-file=SOMEFILE'''), Service Account Tokens, OpenID Connect Token.
== Autorização ==
Após uma autenticação bem-sucedida, os usuários podem enviar requests para a API afim de executar operações diferentes. Então, essas solicitações de API são autorizadas pelo Kubernetes usando vários módulos de autorização e políticas (polices).
Para autenticar o K8s utiliza por exemplo: Node Authorizer, Attribute-Based Access Control (ABAC) Authorizer, Webhook Authorizer, Role-Based Access Control (RBAC) Authorizer
== Controle de Admissão ==
Admission Control é usado para especificar políticas de controle de acesso granular, que incluem a permissão de contêineres privilegiados, como a verificação da cota de recursos etc.
Para usar estes controle, é preciso iniciar Kubernetes API server com a opção '''admission-control''', como abaixo:
--admission-control=NamespaceLifecycle,ResourceQuota,PodSecurityPolicy,DefaultStorageClass.





Latest revision as of 12:26, 25 February 2019

Como todo sistema de TI, precisamos controlar o acesso ao ambiente


  • Autenticação: Login um usuário.
  • Autorização: Autoriza as solicitações da API adicionadas pelo usuário conectado.
  • Controle de admissão: Controla os requests com base em algumas verificações adicionais, como por exemplo, definir Cota para recursos.

Detalhes

Autenticação

Não existe um objeto Usuário no Kubernetes, mas mesmo assim existem os seguintes tipos de usuários:


  • Usuário Normal: provido por um serviço de terceiro. Com uma arquivo de usernames/passwords, User/Client Certificates.
  • Service Account: São usados para comunicação dentro do cluster através da API Server, afim de executar diferentes operações.

Para autenticar o K8s utiliza por exemplo: Client Certificates (--client-ca-file=SOMEFILE), Static Token File (--token-auth-file=SOMEFILE), Static Password File (--basic-auth-file=SOMEFILE), Service Account Tokens, OpenID Connect Token.


Autorização

Após uma autenticação bem-sucedida, os usuários podem enviar requests para a API afim de executar operações diferentes. Então, essas solicitações de API são autorizadas pelo Kubernetes usando vários módulos de autorização e políticas (polices).

Para autenticar o K8s utiliza por exemplo: Node Authorizer, Attribute-Based Access Control (ABAC) Authorizer, Webhook Authorizer, Role-Based Access Control (RBAC) Authorizer

Controle de Admissão

Admission Control é usado para especificar políticas de controle de acesso granular, que incluem a permissão de contêineres privilegiados, como a verificação da cota de recursos etc.

Para usar estes controle, é preciso iniciar Kubernetes API server com a opção admission-control, como abaixo:

--admission-control=NamespaceLifecycle,ResourceQuota,PodSecurityPolicy,DefaultStorageClass.


Ver também