Udostępnij za pośrednictwem


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.