Atualizar ou girar as credenciais de um cluster do Serviço Kubernetes do Azure (AKS)

Os clusters AKS criados com uma entidade de serviço têm um tempo de expiração de um ano. À medida que se aproxima da data de expiração, você pode redefinir as credenciais para estender a entidade de serviço por um período adicional de tempo. Você também pode querer atualizar ou girar as credenciais como parte de uma diretiva de segurança definida. Os clusters AKS integrados com o Microsoft Entra ID como um provedor de autenticação têm mais duas identidades: o Microsoft Entra Server App e o Microsoft Entra Client App. Este artigo detalha como atualizar a entidade de serviço e as credenciais do Microsoft Entra para um cluster AKS.

Nota

Como alternativa, você pode usar uma identidade gerenciada para permissões em vez de uma entidade de serviço. As identidades gerenciadas não exigem atualizações ou rotações. Para obter mais informações, consulte Usar identidades gerenciadas.

Antes de começar

Você precisa da CLI do Azure versão 2.0.65 ou posterior instalada e configurada. Executar az --version para localizar a versão. Se precisar de instalar ou atualizar, veja Install Azure CLI (Instalar o Azure CLI).

Atualizar ou criar uma nova entidade de serviço para o cluster AKS

Quando quiser atualizar as credenciais de um cluster AKS, você pode optar por:

  • Atualize as credenciais da entidade de serviço existente.
  • Crie uma nova entidade de serviço e atualize o cluster para usar essas novas credenciais.

Aviso

Se você optar por criar uma nova entidade de serviço, aguarde cerca de 30 minutos para que a permissão da entidade de serviço se propague por todas as regiões. A atualização de um cluster AKS grande para usar essas credenciais pode levar muito tempo para ser concluída.

Verificar a data de expiração do principal de serviço

Para verificar a data de expiração da entidade de serviço, use o az ad app credential list comando. O exemplo a seguir obtém a ID da entidade de serviço para o cluster chamado myAKSCluster no grupo de recursos myResourceGroup usando o az aks show comando. O ID da entidade de serviço é definido como uma variável chamada SP_ID.

SP_ID=$(az aks show --resource-group myResourceGroup --name myAKSCluster \
    --query servicePrincipalProfile.clientId -o tsv)
az ad app credential list --id "$SP_ID" --query "[].endDateTime" -o tsv

Redefinir as credenciais da entidade de serviço existente

Para atualizar as credenciais de uma entidade de serviço existente, obtenha a ID da entidade de serviço do cluster usando o az aks show comando. O exemplo a seguir obtém a ID para o cluster chamado myAKSCluster no grupo de recursos myResourceGroup . A variável chamada SP_ID armazena a ID da entidade de serviço usada na próxima etapa. Esses comandos usam a linguagem de comando Bash.

Aviso

Quando você redefine suas credenciais de cluster em um cluster AKS que usa Conjuntos de Escala de Máquina Virtual do Azure, uma atualização de imagem de nó é executada para atualizar seus nós com as novas informações de credencial.

SP_ID=$(az aks show --resource-group myResourceGroup --name myAKSCluster \
    --query servicePrincipalProfile.clientId -o tsv)

Use a variável SP_ID que contém a ID da entidade de serviço para redefinir as credenciais usando o az ad app credential reset comando. O exemplo a seguir permite que a plataforma Azure gere um novo segredo seguro para a entidade de serviço e o armazene como uma variável chamada SP_SECRET.

SP_SECRET=$(az ad app credential reset --id "$SP_ID" --query password -o tsv)

Em seguida, atualize o cluster AKS com as credenciais da entidade de serviço. Esta etapa é necessária para atualizar a entidade de serviço em seu cluster AKS.

Criar um novo principal de serviço

Nota

Se você atualizou as credenciais da entidade de serviço existente na seção anterior, ignore esta seção e, em vez disso , atualize o cluster AKS com as credenciais da entidade de serviço.

Para criar uma entidade de serviço e atualizar o cluster AKS para usar a nova credencial, use o az ad sp create-for-rbac comando.

az ad sp create-for-rbac --role Contributor --scopes /subscriptions/mySubscriptionID

A saída é semelhante à saída de exemplo a seguir. Anote o seu próprio appId e password para usar na próxima etapa.

{
  "appId": "7d837646-b1f3-443d-874c-fd83c7c739c5",
  "name": "7d837646-b1f3-443d-874c-fd83c7c739c",
  "password": "a5ce83c9-9186-426d-9183-614597c7f2f7",
  "tenant": "a4342dc8-cd0e-4742-a467-3129c469d0e5"
}

Defina variáveis para o ID da entidade de serviço e o segredo do cliente usando sua saída da execução do az ad sp create-for-rbac comando. O SP_ID é o appId e o SP_SECRET é a sua senha.

SP_ID=7d837646-b1f3-443d-874c-fd83c7c739c5
SP_SECRET=a5ce83c9-9186-426d-9183-614597c7f2f7

Em seguida, atualize o cluster AKS com a nova credencial da entidade de serviço. Esta etapa é necessária para atualizar o cluster AKS com a nova credencial da entidade de serviço.

Atualizar cluster AKS com credenciais de entidade de serviço

Importante

Para clusters grandes, a atualização do cluster AKS com uma nova entidade de serviço pode levar muito tempo para ser concluída. Considere revisar e personalizar as configurações de atualização de aumento de aumento do nó para minimizar a interrupção durante a atualização. Para clusters pequenos e médios, leva alguns minutos para que as novas credenciais sejam atualizadas no cluster.

Atualize o cluster AKS com suas credenciais novas ou existentes executando o az aks update-credentials comando.

az aks update-credentials \
    --resource-group myResourceGroup \
    --name myAKSCluster \
    --reset-service-principal \
    --service-principal "$SP_ID" \
    --client-secret "${SP_SECRET}"

Atualizar cluster AKS com novas credenciais de aplicativo Microsoft Entra

Você pode criar novos aplicativos cliente e servidor Microsoft Entra seguindo as etapas de integração do Microsoft Entra ou redefinir seus aplicativos Microsoft Entra existentes seguindo o mesmo método da redefinição da entidade de serviço. Depois disso, você precisa atualizar as credenciais do aplicativo Microsoft Entra do cluster usando o az aks update-credentials comando com as variáveis --reset-aad .

az aks update-credentials \
    --resource-group myResourceGroup \
    --name myAKSCluster \
    --reset-aad \
    --aad-server-app-id <SERVER APPLICATION ID> \
    --aad-server-app-secret <SERVER APPLICATION SECRET> \
    --aad-client-app-id <CLIENT APPLICATION ID>

Próximos passos

Neste artigo, você aprendeu como atualizar ou girar a entidade de serviço e as credenciais do aplicativo Microsoft Entra. Para obter mais informações sobre como usar uma identidade de gerenciamento para cargas de trabalho dentro de um cluster AKS, consulte Práticas recomendadas para autenticação e autorização no AKS.