Todos os produtos
Search
Central de documentação

Alibaba Cloud Service Mesh:Enable a mandatory Sidecar injection security policy for a cluster

Última atualização: Jun 28, 2026

O recurso de governança de políticas do ACK (Container Service for Kubernetes) oferece políticas de segurança para ambientes Kubernetes. Este tópico explica como ativar essa política em um cluster ACK e demonstra seu efeito.

Informações básicas

Governança de políticas

A partir do Kubernetes v1.21, o PodSecurityPolicy (PSP) foi descontinuado. Em resposta, o ACK atualizou seu recurso original de gerenciamento de políticas baseado em PSP. Construído sobre o controlador de admissão Gatekeeper com políticas do Open Policy Agent (OPA), o ACK aprimora o recurso com estatísticas de status de governança, relatórios e pesquisa de logs. O ACK também inclui uma vasta biblioteca de políticas com regras adaptadas a diversos cenários de aplicação Kubernetes. Configure essas políticas pela interface intuitiva no console ACK para simplificar a governança.

Os tipos de política dividem-se nas seguintes categorias:

  • infra: políticas relacionadas a recursos da camada de infraestrutura.

  • compliance: políticas personalizadas conforme padrões de conformidade do Kubernetes, como o Alibaba Cloud Kubernetes Security Hardening.

  • psp: políticas que substituem as funcionalidades do Pod Security Policy (PSP).

  • k8s-general: políticas gerais que impõem restrições de segurança às configurações de recursos do Kubernetes segundo as melhores práticas.

Injeção de sidecar

Você pode abstrair funcionalidades do contêiner de uma aplicação para um proxy sidecar, executado como contêiner separado no mesmo pod. Para aproveitar totalmente esses recursos, cada serviço da aplicação deve ter um proxy sidecar em seu pod. Esse proxy intercepta todo o tráfego TCP de entrada e saída do serviço e se comunica com o plano de controle do Service Mesh.

Pré-requisitos

  • O cluster executa o Kubernetes 1.16 ou posterior. Para atualizar o cluster, consulte Atualizar manualmente um cluster ACK.

  • Caso utilize um usuário RAM para gerenciar políticas, garanta que ele tenha as permissões abaixo:

    • cs:DescribePolicies: lista as políticas na biblioteca.

    • cs:DescribePolicyDetails: obtém detalhes de um modelo de política.

    • cs:DescribePolicyGovernanceInCluster: obtém detalhes da governança de políticas de um cluster.

    • cs:DescribePolicyInstances: lista instâncias de política implantadas em um cluster.

    • cs:DescribePolicyInstancesStatus: obtém o status de implantação das instâncias de política por tipo em um cluster.

    • cs:DeployPolicyInstance: implanta uma instância de política em um cluster específico.

    • cs:DeletePolicyInstance: exclui uma instância de política de um cluster específico.

    • cs:ModifyPolicyInstance: modifica uma instância de política em um cluster específico.

    Para mais informações sobre criação de políticas RAM personalizadas, consulte Conceder permissões de acesso a clusters e recursos de nuvem usando o RAM.

Procedimento

Com esta política ativada, tentativas de criar pods nos namespaces especificados falharão ou gerarão alertas de segurança de alto risco e logs de auditoria de violação.

image
  1. Faça login no console ACK. No painel de navegação à esquerda, clique em Clusters.

  2. Na página Clusters, clique no nome do cluster desejado. No painel de navegação à esquerda, escolha Security > Policy Governance.

  3. Na página Policy Governance, instale ou atualize o componente se solicitado. Depois, ative a política por um dos métodos a seguir.

    1. Ative a política de injeção obrigatória na lista de políticas de segurança.

      1. Clique na aba My Policies para visualizar todas as políticas disponíveis para implantação no cluster.

      2. Localize a política ASMSidecarInjectionEnforced na lista e clique em Enable na coluna Actions.

      3. Configure a política conforme a tabela abaixo e clique em Create.

        Parâmetro

        Descrição

        Action

        Selecione uma ação:

        • Block: bloqueia a implantação de recursos especificados que violem a regra da política.

        • Alert: permite a implantação de recursos especificados que violem a regra da política, mas gera um log de alerta de auditoria correspondente.

        Applicable Scope

        Especifique os namespaces do cluster onde a instância de política se aplica. Embora seja possível aplicar a política a todos os namespaces, essa prática não é recomendada.

        Parameters

        Deixe este campo vazio.

    2. Crie uma instância de política diretamente.

      Acesse a aba My Policies e clique em Create Policy Instance. Na caixa de diálogo Create Policy Instance, defina os parâmetros.

      Parâmetro

      Descrição

      Policy Type

      Selecione o tipo de política infra. Para mais informações, consulte Políticas de segurança predefinidas para ACK.

      Policy Name

      Na lista suspensa Policy Name, selecione o modelo de política ASMSidecarInjectionEnforced.

      Action

      Selecione uma ação:

      • Block: bloqueia a implantação de recursos especificados que violem a regra da política.

      • Alert: permite a implantação de recursos especificados que violem a regra da política, mas gera um log de alerta de auditoria correspondente.

      Applicable Scope

      Especifique os namespaces do cluster onde a instância de política se aplica. Embora seja possível aplicar a política a todos os namespaces, essa prática não é recomendada.

      Parameters

      Deixe este campo vazio.

  4. Verifique a política.

    1. Este teste pressupõe que a injeção automática esteja desativada para o namespace default e que a política de injeção obrigatória esteja ativada com Action definida como Block.

      1. Implante a aplicação httpbin.

      2. Verifique a carga de trabalho.

        A criação do pod falha.

        O Deployment httpbin apresenta status de réplica 0/1 e exibe a seguinte mensagem de erro: admission webhook "validation.gatekeeper.sh" denied the request: Pod must contain at least one container or initContainer named 'istio-proxy'.

      3. Clique na aba Overview. Um registro de bloqueio aparecerá na lista Actions within Last 7 Days.

        O registro indica tipo de política infra, nome ASMSidecarInjectionEnforced e descrição "Requires ASM sidecar injection for pods". Os detalhes exibem a mensagem Pod must contain at least one container or initContainer named 'istio-proxy'.

    2. Edite a política e altere a Action para Warning.

      1. Reimplante a aplicação httpbin.

      2. Verifique a carga de trabalho.

        A aplicação é implantada com sucesso.

        Na página Stateless, o status do pod da aplicação httpbin muda para 1/1 e a execução ocorre conforme esperado.

      3. Clique na aba Overview. Um registro de alerta aparecerá na lista Actions within Last 7 Days.

        O registro de alerta indica tipo de política infra, nome ASMSidecarInjectionEnforced, descrição "Requires ASM sidecar injection for pods", ação Alert e detalhes com a mensagem Pod must contain at least one sidecar.