Sdílet prostřednictvím


Obměna přihlašovacích údajů instančního objektu pro cluster Azure Red Hat OpenShift (ARO)

Tento článek obsahuje nezbytné podrobnosti o obměně přihlašovacích údajů instančního objektu v clusterech Azure Red Hat OpenShift (ARO).

Než začnete

Článek předpokládá, že existuje existující cluster ARO s nejnovějšími použitými aktualizacemi.

Minimální požadavky Azure CLI na obměnu přihlašovacích údajů instančního objektu v clusteru ARO jsou 2.24.0.

Pokud chcete zkontrolovat verzi Azure CLI, spusťte:

# Azure CLI version
az --version

Pokud chcete nainstalovat nebo upgradovat Azure CLI, postupujte podle pokynů k instalaci Azure CLI.

Následující pokyny používají syntaxi bashe.

Obměna přihlašovacích údajů instančního objektu

Důležité

Obměna přihlašovacích údajů instančního objektu může trvat až 2 hodiny v závislosti na stavu clusteru.

Obměna přihlašovacích údajů instančního objektu má dvě metody:

Automatizovaná obměna přihlašovacích údajů instančního objektu

Důležité

Automatizovaná obměna přihlašovacích údajů instančního objektu vyžaduje vytvoření clusteru ARO pomocí Azure CLI verze 2.24.0 nebo vyšší.

Automatizovaná obměna přihlašovacích údajů instančního objektu zkontroluje, jestli instanční objekt existuje, a obměna nebo vytvoří nový instanční objekt.

Automaticky obměňujte přihlašovací údaje instančního objektu pomocí následujícího příkazu:

# Automatically rotate service principal credentials
az aro update --refresh-credentials --name MyManagedCluster --resource-group MyResourceGroup

Uživatelem poskytnuté ID klienta a obměna přihlašovacích údajů instančního objektu tajných klíčů klienta

Ruční obměna přihlašovacích údajů instančního objektu pomocí id klienta a tajného klíče klienta pomocí následujících pokynů:

Načtěte id klienta instančního objektu (--client-id) a nastavte ho jako SP_ID proměnnou prostředí.

# Retrieve the service principal clientId
SP_ID=$(az aro show --name MyManagedCluster --resource-group MyResourceGroup \
    --query servicePrincipalProfile.clientId -o tsv)

Pomocí výše uvedené proměnné vygenerujte nový zabezpečený tajný klíč (--client-secret) pro instanční objekt SP_ID . Uložte nový zabezpečený tajný klíč jako SP_SECRET proměnnou prostředí.

# Generate a new secure secret for the service principal
SP_SECRET=$(az ad sp credential reset --id $SP_ID --query password -o tsv)

Obměňte přihlašovací údaje instančního objektu pomocí výše uvedených proměnných prostředí.

# Rotate service principal credentials
az aro update --client-id $SP_ID --client-secret $SP_SECRET \
    --name MyManagedCluster --resource-group MyResourceGroup

Odstranění potíží

Datum vypršení platnosti instančního objektu

Přihlašovací údaje instančního objektu mají nastavené datum vypršení platnosti roku a měly by se v daném časovém rámci obměňovat.

Pokud datum vypršení platnosti uplynulo, jsou možné následující chyby:

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.

Pokud chcete zkontrolovat datum vypršení platnosti přihlašovacích údajů instančního objektu, spusťte následující příkaz:

# 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

Pokud vypršela platnost přihlašovacích údajů instančního objektu, aktualizujte je pomocí jedné ze dvou metod obměny přihlašovacích údajů.

Aplikace AAD clusteru obsahuje tajný klíč klienta s prázdným popisem.

Při použití obměny přihlašovacích údajů automatizovaného instančního objektu dojde k následující chybě:

$ 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>`.

Cluster se nevytvořil pomocí Azure CLI 2.24.0 nebo vyšší. Místo toho použijte id klienta a metodu obměny přihlašovacích údajů instančního objektu client-secret.

Nápověda k aktualizaci ARO v Azure CLI

Další podrobnosti najdete v příkazu nápovědy k aktualizaci ARO v Azure CLI:

# Azure CLI ARO update help
az aro update -h