Restrinja as permissões da função do Resource Access Management (RAM) atribuída aos nós worker com base no princípio do menor privilégio para aumentar a segurança dos seus clusters gerenciados pelo ACK.
Modificar políticas de RAM pode causar falhas em aplicações ou add-ons caso as permissões necessárias sejam removidas. Teste em um ambiente de staging antes de aplicar alterações na produção.
Pré-requisitos
Antes de começar, verifique se você possui:
Um cluster gerenciado pelo ACK (Pro ou Basic) executando Kubernetes 1.18 ou posterior. Crie um cluster gerenciado pelo ACK ou atualize manualmente um cluster se necessário. Alternativamente, migre um cluster dedicado do ACK para um cluster gerenciado Pro do ACK.
As funções de service padrão exigidas pelo cluster gerenciado pelo ACK concedidas. Para mais informações, consulte Conceda permissões às funções de service.
Etapa 1: Avaliar as permissões atuais
Verifique se a função RAM de worker possui permissões excessivas que exigem restrição.
Faça login no ACK console. No painel de navegação à esquerda, clique em Clusters.
Na página Clusters, clique no nome do cluster desejado. Na aba Basic Information, clique no link ao lado de Worker RAM Role.
-
No console do RAM, acesse a aba Permissions da página Role.
Caso não haja políticas anexadas, nenhuma ação adicional é necessária. A função RAM de worker não possui permissões extras.
Se existirem políticas anexadas (por exemplo,
k8sWorkerRolePolicy-db8ad5c7***), a função pode ter mais permissões do que o necessário. Avalie-as em relação às suas necessidades de negócio seguindo o princípio do menor privilégio e prossiga para a próxima etapa.
Revise cada política anexada para identificar as ações da API da Alibaba Cloud concedidas. Isso estabelece uma linha de base antes das alterações.
Etapa 2: Atualizar add-ons
Historicamente, os add-ons do ACK dependiam da função RAM de worker do nó para acessar recursos da cloud. Os add-ons atuais utilizam autenticação baseada em token (funções de service gerenciadas). Atualize os add-ons do cluster e analise os logs de auditoria para remover permissões desnecessárias da função RAM de worker e limitar o impacto de possíveis incidentes de segurança.
Atualize os add-ons um por vez. Confirme o sucesso de cada atualização antes de iniciar a próxima. Leia as observações de cada add-on antes de atualizar.
Para mais informações, consulte Gerencie add-ons.
Add-ons instalados via Add-ons
Na página Add-ons, atualize cada add-on instalado para pelo menos a versão mínima mostrada abaixo. Para add-ons que já estão na versão mínima ou superior, implante-os novamente com o comando listado na tabela ou reimplante pelo console.
Monitoramento e observabilidade
|
Add-on |
Versão mínima |
Comando de nova implantação |
Observações |
|
|
v0.3.9.4-ff225cd-aliyun |
|
Nenhuma |
|
|
v1.5.5 |
|
Nenhuma |
|
|
1.1.11 |
|
Nenhuma |
|
|
1.0.10 |
|
Antes de atualizar, conceda permissões para a função gerenciada de custos. |
|
|
1.2.16 |
|
Nenhuma |
Rede
|
Add-on |
Versão mínima |
Comando de nova implantação |
Observações |
|
|
v1.0.10.333-gfd2b7b8-aliyun |
|
Atualize o Terway de acordo com o modo Terway do seu cluster. Para mais informações, consulte Use the Terway network plug-in. Após a atualização, verifique a configuração do Terway. |
|
|
v1.0.10.333-gfd2b7b8-aliyun |
|
Consulte as observações para |
|
|
v1.0.10.333-gfd2b7b8-aliyun |
|
Consulte as observações para |
|
|
v1.2.1 |
|
Nenhuma |
|
|
1.1.5 |
|
Antes de atualizar, conceda permissões para a função gerenciada do Microservices Engine (MSE). |
Armazenamento
|
Add-on |
Versão mínima |
Comando de nova implantação |
Observações |
|
|
v1.18.8.45-1c5d2cd1-aliyun |
|
Nenhuma |
|
|
v1.18.8.45-1c5d2cd1-aliyun |
|
Nenhuma |
|
|
v1.18.8.55-e398ce5-aliyun |
|
Nenhuma |
|
|
v1.14.8.51-842f0a81-aliyun |
|
Nenhuma |
|
|
v1.14.8.109-649dc5a-aliyun |
|
Logs
|
Add-on |
Versão mínima |
Comando de nova implantação |
Observações |
|
|
v1.0.29.1-0550501-aliyun |
|
Nenhuma |
|
|
v3.0.2 |
|
Nenhuma |
Segurança e gerenciamento de imagens
|
Add-on |
Versão mínima |
Comando de nova implantação |
Observações |
|
|
v23.02.06.2-74e2172-aliyun |
|
Antes de atualizar, conceda permissões para a função gerenciada do Container Registry (ACR). Se você não tiver permissões personalizadas de RAM e não precisar baixar imagens entre contas, acesse Add-ons e defina tokenMode como managedRole. Caso não precise baixar imagens privadas sem credenciais, desinstale este add-on. |
|
|
3.0.11 |
|
Antes de atualizar, conceda permissões para a função gerenciada do MSE. |
Cluster Autoscaler (instalado via node pool)
Add-on | Versão mínima | Comando de nova implantação | Observações |
| v1.3.1-bcf13de9-aliyun |
| Para verificar a versão atual, use um dos métodos:
|
Verificar a configuração do Terway
Se o seu cluster tiver terway, terway-eni ou terway-eniip instalado, verifique se o ConfigMap do Terway contém o caminho correto das credenciais.
-
Execute o seguinte comando para editar o ConfigMap do Terway:
kubectl edit cm eni-config -n kube-system -
Na seção
eni_conf, procure pela seguinte linha:"credential_path": "/var/addon/token-config",Se esta linha estiver presente, nenhuma alteração é necessária.
Caso esta linha esteja ausente, adicione-a abaixo da configuração
min_pool_size.
Implante novamente a carga de trabalho do Terway executando o comando correspondente da tabela de rede acima.
Etapa 3: Coletar logs de auditoria
Configure o registro de auditoria para rastrear quais operações da API da Alibaba Cloud a função RAM de worker executa. Esses dados indicam quais permissões ainda estão em uso e quais podem ser removidas com segurança.
Colete logs de auditoria por pelo menos uma semana.
Faça login no console do ActionTrail.
Crie uma trilha de conta única para a região onde o cluster está localizado. Ao criar a trilha, selecione Delivery to Log Service. Para mais informações, consulte Crie uma trilha de conta única.
Para obter a lista completa de services suportados pelo ActionTrail, consulte Services da Alibaba Cloud suportados.
Etapa 4: Testar recursos do cluster
Após atualizar os add-ons e implantar novamente as cargas de trabalho, verifique se os recursos principais do cluster continuam funcionando corretamente.
|
Categoria |
Caso de teste |
Referência |
|
Computação |
Escale nós para fora e para dentro. |
|
|
Rede |
Verifique se endereços IP são atribuídos aos pods. |
|
|
Armazenamento |
Implante cargas de trabalho que usam armazenamento externo (se aplicável). |
|
|
Monitoramento |
Confirme se os dados de monitoramento e alerta estão disponíveis. |
|
|
Elasticidade |
Acione o dimensionamento automático de nós (se aplicável). |
|
|
Segurança |
Baixe uma imagem privada sem credenciais (se aplicável). |
Use o aliyun-acr-credential-helper para baixar imagens sem usar um segredo |
Além dos testes acima, teste a lógica de negócio das aplicações implantadas no seu cluster.
Etapa 5: Analisar logs de auditoria
Após coletar logs por pelo menos uma semana, consulte os dados para identificar quais operações de API a função RAM de worker executou.
Faça login no console do Simple Log Service (SLS).
-
Na seção Projects, clique no projeto especificado na Etapa 3.

Na aba , clique no Logstore de destino. O Logstore é nomeado como
actiontrail_<trail_name>.-
Execute a seguinte consulta para listar as operações de API chamadas por meio do token do Security Token Service (STS) da função RAM de worker. Substitua
<worker_role_name>pelo nome da função RAM de worker do seu cluster. Os resultados mostram quais services e operações de API da Alibaba Cloud estão sendo chamados. Utilize esses dados na Etapa 6 para decidir quais permissões manter e quais remover.* and event.userIdentity.userName: <worker_role_name> | select "event.serviceName", "event.eventName", count(*) as total GROUP BY "event.eventName", "event.serviceName"
Etapa 6: Remover permissões não utilizadas
Com base na análise dos logs de auditoria, remova as permissões desnecessárias à função RAM de worker.
Faça login no ACK console. No painel de navegação à esquerda, clique em Clusters.
Na página Clusters, clique no nome do cluster desejado. Na aba Basic Information, clique no link ao lado de Worker RAM Role.
-
Na aba Permissions da página Role, clique na política de acesso de destino para ir à aba Policy Content. Clique em Modify Policy.
ImportanteAntes de modificar o documento de política, faça backup dele. Isso permite reverter a configuração de permissões, se necessário.
Exclua as permissões desnecessárias com base na análise de logs de auditoria da Etapa 5. Por exemplo, exclua as permissões de
Actionda política não invocadas durante o período de auditoria. Se a consulta não retornar resultados, desanexe toda a política da função com segurança.Implante novamente as cargas de trabalho usando os comandos listados na Etapa 2.
Repita as Etapas 4, 5 e 6 até que a função RAM de worker tenha apenas as permissões mínimas exigidas pelos add-ons ou aplicações.
Referências
Para uma visão geral do sistema de autorização do ACK, consulte Melhores práticas para autorização.