Aracılığıyla paylaş


Azure Red Hat OpenShift (ARO) Kümeniz için hizmet sorumlusu kimlik bilgilerini döndürme

Makale, Azure Red Hat OpenShift kümelerinde (ARO) hizmet sorumlusu kimlik bilgilerini döndürmek için gerekli ayrıntıları sağlar.

Başlamadan önce

Makalede, en son güncelleştirmelerin uygulandığı mevcut bir ARO kümesi olduğu varsayılır.

ARO kümesinde hizmet sorumlusu kimlik bilgilerini döndürmek için en düşük Azure CLI gereksinimleri 2.24.0'dır.

Azure CLI sürümünü denetlemek için komutunu çalıştırın:

# Azure CLI version
az --version

Azure CLI'yı yüklemek veya yükseltmek için lütfen Azure CLI'yı yükleme'yi izleyin.

Aşağıdaki yönergelerde bash söz dizimi kullanılır.

Hizmet sorumlusu kimlik bilgisi döndürme

Önemli

Hizmet sorumlusu kimlik bilgisi döndürme işlemi küme durumuna bağlı olarak 2 saat kadar sürebilir.

Hizmet sorumlusu kimlik bilgisi döndürmenin iki yöntemi vardır:

Otomatik hizmet sorumlusu kimlik bilgisi döndürme

Önemli

Otomatik hizmet sorumlusu kimlik bilgisi döndürme, ARO kümesinin Azure CLI sürüm 2.24.0 veya üzeri ile oluşturulmasını gerektirir.

Otomatik hizmet sorumlusu kimlik bilgisi döndürme, hizmet sorumlusunun mevcut olup olmadığını denetler ve yeni bir hizmet sorumlusu döndürür veya oluşturur.

Aşağıdaki komutla hizmet sorumlusu kimlik bilgilerini otomatik olarak döndürün:

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

Kullanıcı tarafından sağlanan istemci kimliği ve istemci gizli hizmet sorumlusu kimlik bilgisi döndürme

Kullanıcı tarafından sağlanan client-id ve client-secret ile hizmet sorumlusu kimlik bilgilerini aşağıdaki yönergelerle el ile döndürün:

Hizmet sorumlusu clientId değerini (--client-id) alın ve ortam değişkeni olarak SP_ID ayarlayın.

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

Yukarıdaki değişkeni kullanarak SP_ID hizmet sorumlusu için yeni bir güvenli gizli dizi (--client-secret) oluşturun. Yeni güvenli gizli diziyi ortam değişkeni olarak SP_SECRET depolayın.

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

Yukarıdaki ortam değişkenlerini kullanarak hizmet sorumlusu kimlik bilgilerini döndürün.

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

Sorun giderme

Hizmet sorumlusu son kullanma tarihi

Hizmet sorumlusu kimlik bilgilerinin belirli bir son kullanma tarihi bir yıldır ve bu zaman çerçevesi içinde döndürülmelidir.

Süre sonu tarihi geçmişse aşağıdaki hatalar mümkündür:

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.

Hizmet sorumlusu kimlik bilgilerinin son kullanma tarihini denetlemek için aşağıdakileri çalıştırın:

# 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

Hizmet sorumlusu kimlik bilgilerinin süresi dolduysa lütfen iki kimlik bilgisi döndürme yönteminden birini kullanarak güncelleştirin.

Küme AAD uygulaması boş açıklaması olan bir istemci gizli dizisi içeriyor

Otomatik hizmet sorumlusu kimlik bilgisi döndürme kullanılırken aşağıdaki hata oluşur:

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

Küme Azure CLI 2.24.0 veya üzeri kullanılarak oluşturulmadı. Bunun yerine kullanıcı tarafından sağlanan istemci kimliği ve istemci gizli hizmet sorumlusu kimlik bilgisi döndürme yöntemini kullanın.

Azure CLI ARO güncelleştirme yardımı

Daha fazla ayrıntı için lütfen Azure CLI ARO güncelleştirme yardımı komutuna bakın:

# Azure CLI ARO update help
az aro update -h