Delen via


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

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