O Kf oferece um conjunto de papéis do Kubernetes que permitem que várias equipes compartilhem um cluster do Kf. Nesta página, descrevemos os papéis e as práticas recomendadas a serem seguidas ao usá-los.
Quando usar papéis do Kf
Os papéis do Kf permitem que várias equipes compartilhem um cluster do Kubernetes com o Kf instalado. Os papéis dão acesso a Spaces individuais do Kf.
Use papéis do Kf para compartilhar acesso a um cluster se o seguinte for verdadeiro:
- O cluster é usado por equipes confiáveis.
- As cargas de trabalho no cluster compartilham as mesmas suposições sobre o nível de segurança fornecido pelo ambiente.
- O cluster existe em um projeto do Google Cloud altamente controlado.
Os papéis do Kf não irão:
- Proteger seu cluster contra desenvolvedores ou cargas de trabalho não confiáveis. Consulte o modelo de responsabilidade compartilhada do GKE para mais informações.
- Fornecer isolamento para suas cargas de trabalho. Consulte o guia para aumentar a proteção do cluster para mais informações.
- Impedir que papéis adicionais do Kubernetes sejam definidos que interajam com o Kf.
- Impedir o acesso de administradores que têm acesso ao cluster ou projeto do Google Cloud.
Papéis do Kf
As seções a seguir descrevem os papéis de RBAC do Kubernetes fornecidos pelo Kf e como eles interagem com o IAM do Google Kubernetes Engine (GKE).
Papéis predefinidos
O Kf oferece vários papéis predefinidos do Kubernetes para ajudar você a conceder acesso a diferentes indivíduos que desempenham diferentes papéis. Cada papel predefinido pode ser vinculado a um indivíduo em um namespace gerenciado do Kubernetes por um Space do Kf.
Quando um indivíduo está vinculado a um papel em um namespace do Kubernetes, o acesso dele é limitado a objetos que existem no namespace que correspondem às concessões listadas no papel. No Kf, alguns recursos são definidos no escopo do cluster. O Kf observa as alterações nos indivíduos do namespace e concede papéis adicionais e limitados ao escopo do cluster.
Role | Nome | Descrição | Escopo |
---|---|---|---|
space-auditor |
Auditor do Space | Permite acesso somente leitura a um Space. | Espaço |
space-developer |
Desenvolvedor do Space | Permite que os desenvolvedores de aplicativos implantem e gerenciem aplicativos em um Space. | Espaço |
space-manager |
Gerente do Space | Permite a administração e a capacidade de gerenciar auditores, desenvolvedores e gerentes em um Space. | Espaço |
SPACE_NAME-manager |
Gerenciador dinâmico do Space | Dá acesso de gravação a um único objeto do Space, concedido automaticamente a todos os indivíduos com o papel space-manager no Space nomeado. |
Cluster |
kf-cluster-reader |
Leitor de cluster | Permite acesso somente leitura a objetos do Kf com escopo de cluster, automaticamente concedidos a todos os space-auditor , space-developer e space-manager . |
Cluster |
As informações sobre as regras de política que compõem cada papel predefinido podem ser encontradas na documentação de referência de papéis do Kf.
Papéis IAM
Os papéis do Kf fornecem controle de acesso para objetos em um cluster do Kubernetes. Os indivíduos também precisam receber um papel do IAM para se autenticar no cluster:
Os administradores da plataforma precisam receber o papel do IAM
roles/container.admin
. Assim, será possível instalar, fazer upgrade e excluir o Kf, além de criar e excluir objetos Kf com escopo de cluster, como Spaces ou ClusterServiceBrokers.Os usuários finais do Kf precisam receber o papel
roles/container.viewer
do IAM. Esse papel permitirá que eles se autentiquem em um cluster com permissões limitadas que podem ser expandidas usando papéis do Kf.
O IAM oferece papéis predefinidos adicionais para o GKE para solucionar casos de uso mais avançados:
Role | Title | Description | Lowest resource |
---|---|---|---|
roles/ |
Kubernetes Engine Admin |
Provides access to full management of clusters and their Kubernetes API objects.
To set a service account on nodes, you must also have the Service Account User role
( |
|
roles/ |
Kubernetes Engine KMS Crypto Key User | Allow the Kubernetes Engine service agent in the cluster project to call KMS with user provided crypto keys to sign payloads. | |
roles/ |
Kubernetes Engine Cluster Admin |
Provides access to management of clusters.
To set a service account on nodes, you must also have the Service Account User role
( |
|
roles/ |
Kubernetes Engine Cluster Viewer |
Provides access to get and list GKE clusters. |
|
roles/ |
Kubernetes Engine Default Node Service Account | Least privilege role to use as the default service account for GKE Nodes. | |
roles/ |
Kubernetes Engine Developer |
Provides access to Kubernetes API objects inside clusters. |
|
roles/ |
Kubernetes Engine Host Service Agent User |
Allows the Kubernetes Engine service account in the host project to configure shared network resources for cluster management. Also gives access to inspect the firewall rules in the host project. |
|
roles/ |
Kubernetes Engine Viewer |
Provides read-only access to resources within GKE clusters, such as nodes, pods, and GKE API objects. |
|
Mapear papéis do Cloud Foundry para Kf
O Cloud Foundry fornece papéis que são semelhantes aos papéis predefinidos do Kf. O Cloud Foundry tem dois tipos principais de papéis:
- Papéis atribuídos pelo subsistema de conta de usuário e autenticação (UAA, na sigla em inglês) que fornecem escopos OAuth granulares para todos os endpoints da API Cloud Foundry.
- Papéis concedidos na API Cloud Controller (CAPI) que fornecem acesso detalhado aos recursos da API.
Funções de UAA
Os papéis fornecidos pelas UAA são mais parecidos com os papéis do IAM com escopo do projeto:
- Os usuários administradores no Cloud Foundry podem realizar atividades administrativas para todas as
organizações e espaços do Cloud Foundry. O papel é mais semelhante ao
papel
roles/container.admin
do IAM. - Os usuários administradores somente leitura no Cloud Foundry podem acessar todos os endpoints
da API Cloud Foundry. O papel é mais semelhante ao papel
roles/container.admin
do IAM. - Os usuários de auditores globais no Cloud Foundry têm acesso de leitura a todos os endpoints da API Cloud Foundry, exceto para secrets. Não há um papel do IAM equivalente, mas é possível criar um papel personalizado com permissões semelhantes.
Papéis da API Cloud Controller
Os papéis fornecidos pela CAPI são mais semelhantes aos papéis do Kf concedidos em um cluster
para indivíduos que têm o papel roles/container.viewer
do IAM no projeto do proprietário:
- Os auditores do Space no Cloud Foundry têm acesso de leitura aos recursos em um Space do CF.
O papel é mais semelhante ao papel
space-auditor
do Kf. - Os desenvolvedores do Space no Cloud Foundry podem implantar e gerenciar
aplicativos em um Space do CF.
O papel é mais semelhante ao papel
space-developer
do Kf. - Os gerentes do Space no Cloud Foundry podem modificar as configurações do Space do CF e
atribuir papéis aos usuários.
O papel é mais semelhante ao papel
space-manager
do Kf.
A seguir
- Saiba mais sobre segurança no GKE na Visão geral da segurança.
- Entenda o modelo de responsabilidade compartilhada do GKE.
- Saiba mais sobre o controle de acesso no GKE.
- Leia a visão geral de multilocação do GKE.
- Saiba sobre como aumentar a proteção do seu cluster do GKE.
- Entenda as permissões do Kubernetes que compõem cada papel predefinido do Kf.