Permita a implementação com acesso controlado para AKS utilizando a API do cluster gerido

Este artigo mostra-lhe como configurar a implementação controlada para o Azure Kubernetes Service (AKS) utilizando a API do cluster gerido. Também podes instalar o sensor Defender for Containers usando o Helm.

A implementação controlada utiliza um controlador de admissão para avaliar imagens de contentores antes de serem admitidas num cluster do Kubernetes. Para o AKS, o agente de implementação controlado precisa de acesso de leitura aos Azure Container Registries (ACRs) usados pelo cluster para poder aceder a artefactos de descoberta de vulnerabilidades gerados pelo Defender for Containers.

Antes de configurar a implantação bloqueada usando a API do cluster gerido, ative os componentes Defender for Containers necessários para o cluster AKS e os ACRs.

Para fornecer o acesso ACR necessário, criar uma identidade gerida atribuída pelo utilizador, atribuir-lhe permissões de leitura nos ACRs relevantes, configurar credenciais de identidade federada e referenciar a identidade gerida na API do cluster gerido.

Pré-requisitos

Antes de começar, certifique-se de que:

  • Tens uma subscrição do Microsoft Azure. Se não tiver uma subscrição do Azure, pode inscrever-se numa subscrição gratuita.

  • O Defender para a Cloud está ativado na sua subscrição do Azure.

  • O Defender for Containers está ativado para a subscrição ou subscrições do Azure que contêm o seu cluster AKS e os Registos de Contentores do Azure (ACRs), com os seguintes componentes ativados:

    • Sensor do Defender com controlo de segurança
    • Acesso ao registo com conclusões de segurança

    Note

    A grade de segurança só precisa de ser instalada uma vez. Na primeira vez que ativas a opção de bloqueio de segurança, instala-se o bloqueio de segurança. Depois disso, o bloqueio de segurança já está instalado. Quando a instalação corre novamente, o sistema deteta isso e não faz nada. Se tentares instalá-lo novamente através da API, falha porque o bloqueio de segurança já existe.

    Captura de ecrã que mostra o controlo de segurança ativado.

  • O seu cluster AKS tem:

  • Tem permissão para criar e atribuir uma identidade gerida atribuída pelo utilizador.

  • Tens permissão para atribuir a função AcrPull, ou uma função de leitura equivalente, a todos os ACRs utilizados pelo cluster.

Configurar a identidade gerenciada

Execute os seguintes passos para configurar a identidade gerida para implementação com bloqueio:

  1. Crie uma Identidade de Serviço Gerido (MSI) que o agente de implementação por fases utilize.

  2. Atribuir o papel AcrPull (ou um papel equivalente de leitura) ao MSI em todos os ACRs que o cluster utiliza.

  3. Adicione uma Credencial de Identidade Federada (FIC) ao MSI que permita ao agente de implementação bloqueada autenticar-se usando a Identidade de Carga de Trabalho AKS, com os seguintes parâmetros FIC:

    • Emissor: URL do emissor AKS OIDC
    • Assunto: A conta de serviço usada pelo agente system:serviceaccount:kube-system:defender-admission-controller-serviceaccountde implementação bloqueada.
    • Público: api://AzureADTokenExchange
  4. Na secção securityGating da configuração da API do cluster gerido, defina o objectId do MSI no parâmetro identities da secção de bloqueio de segurança da configuração da API do cluster gerido.

    Captura de ecrã da configuração da API do cluster gerido mostrando o parâmetro de identidade na secção de bloqueio de segurança.

    Definir o objectId do MSI no parâmetro identities garante que o agente de implementação com bloqueio pode usar o MSI em tempo de execução.

Passo seguinte