Partilhar via


Atualizar ou fazer a rotação das credenciais de um cluster do AKS (Serviço de Kubernetes do Azure)

Os clusters AKS criados com uma entidade de serviço têm validade de um ano. Conforme você se aproxima da data do término, pode redefinir as credenciais para estender a entidade de serviço por um período adicional. Você também pode querer atualizar ou rotacionar as credenciais como parte de uma política de segurança definida. Os clusters do AKS integrados ao Microsoft Entra ID como um provedor de autenticação têm duas outras identidades: o Aplicativo de Servidor do Microsoft Entra e o Aplicativo Cliente do Microsoft Entra. Este artigo detalha como atualizar a entidade de serviço e as credenciais do Microsoft Entra de um cluster do AKS.

Observação

Como alternativa, é possível usar uma identidade gerenciada para permissões em vez de uma entidade de serviço. As identidades gerenciadas não exigem atualizações nem rotações. Para obter mais informações, confira Usar identidades gerenciadas.

Antes de começar

Você precisará da CLI do Azure versão 2.0.65 ou posterior instalada e configurada. Execute az --version para encontrar a versão. Se você precisa instalar ou atualizar, consulte Instalar a CLI do Azure.

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

Quando quiser atualizar as credenciais para um cluster do AKS, você poderá optar por:

  • Atualizar as credenciais para a entidade de serviço existente.
  • Criar uma nova entidade de serviço e atualizar o cluster para usar essas novas credenciais.

Aviso

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

Verificar a data de validade da entidade de serviço

Para verificar a data de validade de sua entidade de serviço, use o comando az ad app credential list. O exemplo a seguir obtém a ID da entidade de serviço para o cluster $CLUSTER_NAME no grupo de recursos $RESOURCE_GROUP_NAME usando o comando az aks show. A ID da entidade de serviço é definida como uma variável chamada SP_ID.

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

Redefinir a credencial 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 comando az aks show. O exemplo a seguir obtém a ID do cluster $CLUSTER_NAME no grupo de recursos $RESOURCE_GROUP_NAME. 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 comandos Bash.

Aviso

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

SP_ID=$(az aks show --resource-group $RESOURCE_GROUP_NAME --name $CLUSTER_NAME \
    --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 comando az ad app credential reset. O exemplo a seguir permite que a plataforma do Azure gere um novo segredo seguro para a entidade de serviço e armazene-o como uma variável chamada SP_SECRET.

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

Depois, você atualiza o cluster do AKS com as credenciais da entidade de serviço. Essa etapa é necessária para atualizar a entidade de serviço no cluster do AKS.

Criar uma nova entidade de serviço

Observação

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

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

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

A saída é semelhante ao exemplo de saída a seguir. Anote a appId e a password para usá-las na próxima etapa.

{
  "appId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "name": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "password": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "tenant": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

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

SP_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
SP_SECRET=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

Depois, atualize o cluster do AKS com a nova credencial de entidade de serviço. Essa etapa é necessária para atualizar o cluster do AKS com a nova credencial de entidade de serviço.

Atualizar o cluster do AKS com as credenciais da entidade de serviço

Importante

No caso de clusters grandes, a atualização do seu cluster do AKS com uma nova entidade de serviço pode levar um longo tempo para ser concluída. Considere examinar e personalizar as configurações de atualização de surtos de nó para minimizar a interrupção durante a atualização. Para clusters pequenos e médios, as novas credenciais demoram alguns minutos para serem atualizadas no cluster.

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

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

Atualizar o cluster do AKS com novas credenciais de aplicativo do Microsoft Entra

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

az aks update-credentials \
    --resource-group $RESOURCE_GROUP_NAME \
    --name $CLUSTER_NAME \
    --reset-aad \
    --aad-server-app-id $SERVER_APPLICATION_ID \
    --aad-server-app-secret $SERVER_APPLICATION_SECRET \
    --aad-client-app-id $CLIENT_APPLICATION_ID

Próximas etapas

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