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_NAME
cluster no grupo de recursos usando o $RESOURCE_GROUP_NAME
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 $RESOURCE_GROUP_NAME --name $CLUSTER_NAME \
--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 do $CLUSTER_NAME
cluster no grupo de $RESOURCE_GROUP_NAME
recursos. 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 $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 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 no 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/$SUBSCRIPTION_ID
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": "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 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=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
SP_SECRET=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
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 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 $RESOURCE_GROUP_NAME \
--name $CLUSTER_NAME \
--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 $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ó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.
Azure Kubernetes Service