Rotera autentiseringsuppgifter för tjänstens huvudnamn för ditt Azure Red Hat OpenShift-kluster (ARO)
Artikeln innehåller den information som krävs för att rotera autentiseringsuppgifterna för tjänstens huvudnamn i Azure Red Hat OpenShift-kluster (ARO).
Innan du börjar
Artikeln förutsätter att det finns ett befintligt ARO-kluster med de senaste uppdateringarna.
De minsta Azure CLI-kraven för att rotera autentiseringsuppgifter för tjänstens huvudnamn i ett ARO-kluster är 2.24.0.
Så här kontrollerar du versionen av Azure CLI:s körning:
# Azure CLI version
az --version
Om du vill installera eller uppgradera Azure CLI följer du Installera Azure CLI.
Följande instruktioner använder bash-syntax.
Rotation av autentiseringsuppgifter för tjänstens huvudnamn
Viktigt!
Rotation av autentiseringsuppgifter för tjänstens huvudnamn kan ta upp till 2 timmar beroende på klustertillstånd.
Rotation av autentiseringsuppgifter för tjänstens huvudnamn har två metoder:
- Automatiserad rotation av autentiseringsuppgifter för tjänstens huvudnamn
- Användardefinerat klient-ID och klienthemlighetstjänstens huvudnamnsrotation för autentiseringsuppgifter
Automatiserad rotation av autentiseringsuppgifter för tjänstens huvudnamn
Viktigt!
Automatisk rotation av autentiseringsuppgifter för tjänstens huvudnamn kräver att ARO-klustret skapas med Azure CLI version 2.24.0 eller senare.
Automatisk rotation av autentiseringsuppgifter för tjänstens huvudnamn kontrollerar om tjänstens huvudnamn finns och roterar eller skapar ett nytt huvudnamn för tjänsten.
Rotera autentiseringsuppgifterna för tjänstens huvudnamn automatiskt med följande kommando:
# Automatically rotate service principal credentials
az aro update --refresh-credentials --name MyManagedCluster --resource-group MyResourceGroup
Användardefinerat klient-ID och klienthemlighetstjänstens huvudnamnsrotation för autentiseringsuppgifter
Rotera autentiseringsuppgifterna för tjänstens huvudnamn manuellt med användardefinerat klient-ID och klienthemlighet med följande instruktioner:
Hämta klient-ID för tjänstens huvudnamn (--client-id
) och ange det som SP_ID
miljövariabel.
# Retrieve the service principal clientId
SP_ID=$(az aro show --name MyManagedCluster --resource-group MyResourceGroup \
--query servicePrincipalProfile.clientId -o tsv)
Generera en ny säker hemlighet (--client-secret
) för tjänstens huvudnamn med hjälp av variabeln SP_ID
ovan. Lagra den nya säkra hemligheten som SP_SECRET
miljövariabel.
# Generate a new secure secret for the service principal
SP_SECRET=$(az ad sp credential reset --id $SP_ID --query password -o tsv)
Rotera autentiseringsuppgifterna för tjänstens huvudnamn med hjälp av miljövariablerna ovan.
# Rotate service principal credentials
az aro update --client-id $SP_ID --client-secret $SP_SECRET \
--name MyManagedCluster --resource-group MyResourceGroup
Felsöka
Förfallodatum för tjänstens huvudnamn
Autentiseringsuppgifterna för tjänstens huvudnamn har ett angivet förfallodatum på ett år och bör roteras inom den angivna tidsramen.
Om förfallodatumet har passerat är följande fel möjliga:
Failed to refresh the Token for request to MyResourceGroup StatusCode=401
Original Error: Request failed. Status Code = '401'.
[with]
Response body: {"error":"invalid_client","error_description": The provided client secret keys are expired.
[or]
Response body: {"error":"invalid_client","error_description": Invalid client secret is provided.
Kontrollera förfallodatumet för autentiseringsuppgifterna för tjänstens huvudnamn genom att köra följande:
# Service principal expiry in ISO 8601 UTC format
SP_ID=$(az aro show --name MyManagedCluster --resource-group MyResourceGroup \
--query servicePrincipalProfile.clientId -o tsv)
az ad app credential list --id $SP_ID --query "[].endDateTime" -o tsv
Om autentiseringsuppgifterna för tjänstens huvudnamn har upphört att gälla uppdaterar du med någon av de två rotationsmetoderna för autentiseringsuppgifter.
Klustrets AAD-program innehåller en klienthemlighet med en tom beskrivning
När du använder automatisk rotation av autentiseringsuppgifter för tjänstens huvudnamn uppstår följande fel:
$ az aro update --refresh-credentials --name MyManagedCluster --resource-group MyResourceGroup
Cluster AAD application contains a client secret with an empty description.
Please either manually remove the existing client secret and run `az aro update --refresh-credentials`,
or manually create a new client secret and run `az aro update --client-secret <ClientSecret>`.
Klustret har inte skapats med Azure CLI 2.24.0 eller senare. Använd roteringsmetoden för klient-ID och klienthemlighetstjänstens huvudnamn för autentiseringsuppgifter i stället.
Azure CLI ARO-uppdateringshjälp
Mer information finns i hjälpkommandot för Azure CLI ARO-uppdatering:
# Azure CLI ARO update help
az aro update -h