Service-principalreferenties roteren voor uw ARO-cluster (Azure Red Hat OpenShift)
Het artikel bevat de benodigde details voor het roteren van referenties voor de service-principal in Azure Red Hat OpenShift-clusters (ARO).
Voordat u begint
In het artikel wordt ervan uitgegaan dat er een bestaand ARO-cluster is waarop de meest recente updates zijn toegepast.
De minimale Azure CLI-vereisten voor het roteren van referenties voor de service-principal binnen een ARO-cluster is 2.24.0.
Voer de volgende opdracht uit om de versie van Azure CLI te controleren:
# Azure CLI version
az --version
Als u Azure CLI wilt installeren of upgraden, volgt u Azure CLI installeren.
In de volgende instructies wordt bash-syntaxis gebruikt.
Rotatie van referenties voor service-principal
Belangrijk
Het rouleren van referenties van de service-principal kan 2 uur duren, afhankelijk van de clusterstatus.
Rotatie van referenties voor de service-principal heeft twee methoden:
- Automatische rotatie van referenties voor service-principal
- Door de gebruiker opgegeven client-id en clientgeheime service-principal referentierotatie
Automatische rotatie van referenties voor service-principal
Belangrijk
Voor het automatisch roteren van referenties voor de service-principal moet het ARO-cluster worden gemaakt met Azure CLI versie 2.24.0 of hoger.
Er wordt gecontroleerd of de service-principal bestaat en of er een nieuwe service-principal wordt gemaakt.
Draai de referenties van de service-principal automatisch met de volgende opdracht:
# Automatically rotate service principal credentials
az aro update --refresh-credentials --name MyManagedCluster --resource-group MyResourceGroup
Door de gebruiker opgegeven client-id en clientgeheime service-principal referentierotatie
Draai de referenties van de service-principal handmatig met door de gebruiker opgegeven client-id en clientgeheim met de volgende instructies:
Haal de clientId van de service-principal (--client-id
) op en stel deze in als SP_ID
omgevingsvariabele.
# Retrieve the service principal clientId
SP_ID=$(az aro show --name MyManagedCluster --resource-group MyResourceGroup \
--query servicePrincipalProfile.clientId -o tsv)
Genereer een nieuw beveiligd geheim (--client-secret
) voor de service-principal met behulp van de SP_ID
bovenstaande variabele. Sla het nieuwe beveiligde geheim op als SP_SECRET
omgevingsvariabele.
# Generate a new secure secret for the service principal
SP_SECRET=$(az ad sp credential reset --id $SP_ID --query password -o tsv)
Draai service-principalreferenties met behulp van de bovenstaande omgevingsvariabelen.
# Rotate service principal credentials
az aro update --client-id $SP_ID --client-secret $SP_SECRET \
--name MyManagedCluster --resource-group MyResourceGroup
Problemen oplossen
Vervaldatum service-principal
Referenties van de service-principal hebben een ingestelde vervaldatum van een jaar en moeten binnen die opgegeven periode worden geroteerd.
Als de vervaldatum is verstreken, zijn de volgende fouten mogelijk:
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.
Voer de volgende opdracht uit om de vervaldatum van referenties van de service-principal te controleren:
# 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
Als de referenties van de service-principal zijn verlopen, werkt u bij met een van de twee methoden voor het rouleren van referenties.
Cluster AAD-toepassing bevat een clientgeheim met een lege beschrijving
Wanneer u automatische rotatie van referenties voor de service-principal gebruikt, treedt de volgende fout op:
$ 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>`.
Het cluster is niet gemaakt met behulp van Azure CLI 2.24.0 of hoger. Gebruik in plaats daarvan de door de gebruiker opgegeven client-id en clientgeheime service-principalreferentierotatiemethode .
Help bijwerken voor Azure CLI ARO
Zie de Help-opdracht voor het bijwerken van Azure CLI ARO voor meer informatie:
# Azure CLI ARO update help
az aro update -h