Aktualizowanie lub obracanie poświadczeń klastra usługi Azure Kubernetes Service (AKS)
Klastry usługi AKS utworzone za pomocą jednostki usługi mają roczny czas wygaśnięcia. Gdy zbliżasz się do daty wygaśnięcia, możesz zresetować poświadczenia, aby przedłużyć jednostkę usługi przez dodatkowy okres. Możesz również zaktualizować lub obrócić poświadczenia w ramach zdefiniowanych zasad zabezpieczeń. Klastry usługi AKS zintegrowane z identyfikatorem Entra firmy Microsoft jako dostawcą uwierzytelniania mają jeszcze dwie tożsamości: aplikację Microsoft Entra Server i aplikację kliencką firmy Microsoft Entra. W tym artykule opisano sposób aktualizowania jednostki usługi i poświadczeń usługi Microsoft Entra dla klastra usługi AKS.
Uwaga
Alternatywnie można użyć tożsamości zarządzanej dla uprawnień zamiast jednostki usługi. Tożsamości zarządzane nie wymagają aktualizacji ani rotacji. Aby uzyskać więcej informacji, zobacz Używanie tożsamości zarządzanych.
Zanim rozpoczniesz
Potrzebny jest interfejs wiersza polecenia platformy Azure w wersji 2.0.65 lub nowszej, zainstalowany i skonfigurowany. Uruchom polecenie az --version
, aby dowiedzieć się, jaka wersja jest używana. Jeśli konieczna będzie instalacja lub uaktualnienie, zobacz Instalowanie interfejsu wiersza polecenia platformy Azure.
Aktualizowanie lub tworzenie nowej jednostki usługi dla klastra usługi AKS
Jeśli chcesz zaktualizować poświadczenia klastra usługi AKS, możesz wybrać jedną z następujących opcji:
- Zaktualizuj poświadczenia dla istniejącej jednostki usługi.
- Utwórz nową jednostkę usługi i zaktualizuj klaster, aby używał tych nowych poświadczeń.
Ostrzeżenie
Jeśli zdecydujesz się utworzyć nową jednostkę usługi, poczekaj około 30 minut na propagację uprawnień jednostki usługi we wszystkich regionach. Aktualizowanie dużego klastra usługi AKS w celu używania tych poświadczeń może zająć dużo czasu.
Sprawdzanie daty wygaśnięcia jednostki usługi
Aby sprawdzić datę wygaśnięcia jednostki usługi, użyj az ad app credential list
polecenia . Poniższy przykład pobiera identyfikator jednostki usługi dla klastra $CLUSTER_NAME
w $RESOURCE_GROUP_NAME
grupie zasobów przy użyciu az aks show
polecenia . Identyfikator jednostki usługi jest ustawiany jako zmienna o nazwie 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
Resetowanie istniejących poświadczeń jednostki usługi
Aby zaktualizować poświadczenia dla istniejącej jednostki usługi, pobierz identyfikator jednostki usługi klastra az aks show
przy użyciu polecenia . Poniższy przykład pobiera identyfikator klastra $CLUSTER_NAME
w $RESOURCE_GROUP_NAME
grupie zasobów. Zmienna o nazwie SP_ID przechowuje identyfikator jednostki usługi używany w następnym kroku. Te polecenia używają języka poleceń powłoki Bash.
Ostrzeżenie
Po zresetowaniu poświadczeń klastra w klastrze usługi AKS używającym zestawów skalowania maszyn wirtualnych platformy Azure uaktualnienie obrazu węzła jest wykonywane w celu zaktualizowania węzłów przy użyciu nowych informacji o poświadczeniach.
SP_ID=$(az aks show --resource-group $RESOURCE_GROUP_NAME --name $CLUSTER_NAME \
--query servicePrincipalProfile.clientId -o tsv)
Użyj zmiennej SP_ID zawierającej identyfikator jednostki usługi, aby zresetować poświadczenia przy użyciu az ad app credential reset
polecenia . Poniższy przykład umożliwia platformie Azure wygenerowanie nowego bezpiecznego wpisu tajnego dla jednostki usługi i zapisanie go jako zmiennej o nazwie SP_SECRET.
SP_SECRET=$(az ad app credential reset --id "$SP_ID" --query password -o tsv)
Następnie zaktualizujesz klaster usługi AKS przy użyciu poświadczeń jednostki usługi. Ten krok jest niezbędny do zaktualizowania jednostki usługi w klastrze usługi AKS.
Utwórz nową nazwę główną usługi
Uwaga
Jeśli w poprzedniej sekcji zaktualizowano istniejące poświadczenia jednostki usługi, pomiń tę sekcję i zamiast tego zaktualizuj klaster usługi AKS przy użyciu poświadczeń jednostki usługi.
Aby utworzyć jednostkę usługi i zaktualizować klaster usługi AKS w celu użycia nowego poświadczenia, użyj az ad sp create-for-rbac
polecenia .
az ad sp create-for-rbac --role Contributor --scopes /subscriptions/$SUBSCRIPTION_ID
Dane wyjściowe są podobne do następujących przykładowych danych wyjściowych. Zanotuj własny appId
element i password
użyj go w następnym kroku.
{
"appId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"name": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"password": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"tenant": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
Zdefiniuj zmienne dla identyfikatora jednostki usługi i klucza tajnego klienta przy użyciu danych wyjściowych z uruchomienia az ad sp create-for-rbac
polecenia . SP_ID to appId, a SP_SECRET to hasło.
SP_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
SP_SECRET=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Następnie zaktualizujesz klaster usługi AKS przy użyciu nowego poświadczenia jednostki usługi. Ten krok jest niezbędny do zaktualizowania klastra usługi AKS przy użyciu nowego poświadczenia jednostki usługi.
Aktualizowanie klastra usługi AKS przy użyciu poświadczeń jednostki usługi
Ważne
W przypadku dużych klastrów aktualizowanie klastra usługi AKS przy użyciu nowej jednostki usługi może zająć dużo czasu. Rozważ przejrzenie i dostosowanie ustawień uaktualniania wzrostu węzła w celu zminimalizowania zakłóceń podczas aktualizacji. W przypadku małych i średnich klastrów aktualizacja nowych poświadczeń w klastrze trwa kilka minut.
Zaktualizuj klaster usługi AKS przy użyciu nowych lub istniejących poświadczeń, uruchamiając az aks update-credentials
polecenie .
az aks update-credentials \
--resource-group $RESOURCE_GROUP_NAME \
--name $CLUSTER_NAME \
--reset-service-principal \
--service-principal "$SP_ID" \
--client-secret "${SP_SECRET}"
Aktualizowanie klastra usługi AKS przy użyciu nowych poświadczeń aplikacji firmy Microsoft Entra
Możesz utworzyć nowy serwer Microsoft Entra i aplikacje klienckie, wykonując kroki integracji firmy Microsoft Entra lub resetując istniejące aplikacje firmy Microsoft Entra zgodnie z tą samą metodą resetowania jednostki usługi. Następnie należy zaktualizować poświadczenia aplikacji Microsoft Entra klastra przy użyciu az aks update-credentials
polecenia ze zmiennymi --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
Następne kroki
W tym artykule przedstawiono sposób aktualizowania lub obracania jednostki usługi i poświadczeń aplikacji Microsoft Entra. Aby uzyskać więcej informacji na temat używania tożsamości zarządzania dla obciążeń w klastrze usługi AKS, zobacz Najlepsze rozwiązania dotyczące uwierzytelniania i autoryzacji w usłudze AKS.
Azure Kubernetes Service