Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Artikeln beskriver hur du roterar servicehuvudnamn autentiseringsuppgifter för Microsoft Entra ID för ett Azure Red Hat OpenShift-kluster. Azure CLI-kommandona använder Bash-syntax och kan köras i Azure Cloud Shell.
Förutsättningar
- Ett befintligt Azure Red Hat OpenShift-kluster med de senaste uppdateringarna.
- Azure CLI version 2.24.0 krävs för att rotera autentiseringsuppgifterna för tjänstens huvudnamn. Om du vill kontrollera versionen av Azure CLI kör du
az --version
. Om du behöver uppgradera läser du Så här installerar du Azure CLI .
Rotation av autentiseringsuppgifter för tjänstens huvudnamn
Rotation av autentiseringsuppgifter för tjänstens huvudnamn kan ta två timmar beroende på klustertillstånd. Det finns två metoder för rotation av autentiseringsuppgifter för service principal:
- Automatiserad autentiseringsuppgiftsrotation för tjänstehuvudnamn
- Användardefinerat klient-ID och autentiseringsrotation för klienthemlighetstjänstens huvudnamn
För båda metoderna skapar du variabler för klustrets namn och resursgrupp. Ersätt <clusterName>
och <resourceGroupName>
med klustrets värden.
CLUSTER=<clusterName>
RESOURCEGROUP=<resourceGroupName>
Automatiserad rotation av behörighetsuppgifter för tjänstehuvudkonto
Metoden för automatisk rotation av autentiseringsuppgifter för tjänstens huvudnamn kräver att klustret skapades med Azure CLI version 2.24.0 eller senare. Automatiserad rotation av autentiseringsuppgifter för tjänstehuvud kontrollerar om tjänstehuvudet finns och roterar det eller skapar ett nytt tjänstehuvud.
Du kan automatiskt rotera autentiseringsuppgifter för service principal med följande kommando.
az aro update --refresh-credentials --name $CLUSTER --resource-group $RESOURCEGROUP
Användardefinerat klient-ID och autentiseringsrotation för klienthemlighetstjänstens huvudnamn
Du kan manuellt rotera autentiseringsuppgifterna för tjänstens huvudnamn med användardefinerat klient-ID och klienthemlighet med följande instruktioner.
Hämta klient-ID:t för tjänstens huvudnamn (--client-id
) och ange det som SP_ID
miljövariabel.
SP_ID=$(az aro show --name $CLUSTER --resource-group $RESOURCEGROUP \
--query servicePrincipalProfile.clientId --output tsv)
Generera en ny säker hemlighet (--client-secret
) för tjänstens huvudnamn med hjälp av variabeln SP_ID
. Lagra den nya säkra hemligheten som SP_SECRET
miljövariabel.
SP_SECRET=$(az ad sp credential reset --id $SP_ID --query password --output tsv)
Rotera autentiseringsuppgifterna för serviceprincipalen med hjälp av miljövariablerna.
az aro update --client-id $SP_ID --client-secret $SP_SECRET \
--name $CLUSTER --resource-group $RESOURCEGROUP
Felsökning
Förfallodatum för tjänstprincipalen
Tjänsthuvudnamnets autentiseringsuppgifter har en års giltighetstid och bör bytas ut inom den tidsramen. Om autentiseringsuppgifterna har upphört att gälla är följande fel möjliga.
Failed to refresh the Token for request to <resourceGroupName> 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.
För att kontrollera utgångsdatum för autentiseringsuppgifter för tjänstens servicekonto, kör följande kommandon. Datumet är utdata i ISO 8601 UTC-format.
SP_ID=$(az aro show --name $CLUSTER --resource-group $RESOURCEGROUP \
--query servicePrincipalProfile.clientId --output tsv)
az ad app credential list --id $SP_ID --query "[].endDateTime" --output tsv
Om autentiseringsuppgifterna för tjänstehuvudnamnet har upphört att gälla uppdaterar du autentiseringsuppgifterna med någon av de två metoderna för rotationshantering av autentiseringsuppgifter.
Klusterprogrammet innehåller en klienthemlighet med en tom beskrivning
Följande fel uppstår när du använder az aro update
kommandot för automatisk rotation av autentiseringsuppgifter för tjänstens huvudnamn.
Cluster application contains a client secret with an empty description.
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 skapades inte med Azure CLI 2.24.0 eller senare. Använd metoden för rotation av autentiseringsuppgifter som tillhandahålls av användaren för klient-ID och klienthemlighetstjänstens huvudnamn i stället.
Azure CLI-kommandon
Mer information om Azure CLI-kommandon finns i az aro
dokumentationen. Du kan också använda kommandon som az aro update --help
på kommandoraden.
Rensa resurser
När du är klar bör du rensa variablerna för att ta bort känsliga data.
SP_SECRET=""
SP_ID=""
CLUSTER=""
RESOURCEGROUP=""
Relaterat innehåll
Mer information om tjänstens huvudnamn finns i Skapa och använda ett huvudnamn för tjänsten för att distribuera ett Azure Red Hat OpenShift-kluster.