Aracılığıyla paylaş


Azure Red Hat OpenShift 4 kümesi (CLI) için Microsoft Entra kimlik doğrulamasını yapılandırma

CLI'yi yerel olarak yükleyip kullanmayı seçerseniz, bu makale Azure CLI 2.30.0 veya sonraki bir sürümünü çalıştırmanızı gerektirir. Sürümü bulmak için az --version komutunu çalıştırın. Yüklemeniz veya yükseltmeniz gerekirse, bkz. Azure CLI yükleme.

Microsoft Entra uygulamasını yapılandırmak için kullanılacak kümeye özgü URL'lerinizi alın.

Kaynak grubu ve küme adı için değişkenleri ayarlayın.

resource_group kaynak grubunuzun adıyla,< aro_cluster> ise kümenizin adıyla değiştirin<.>

resource_group=<resource_group>
aro_cluster=<aro_cluster>

Kümenin OAuth geri çağırma URL'sini oluşturun ve oauthCallbackURL değişkeninde depolayın.

Dekont

AAD OAuth geri arama URL'sindeki bölüm, daha sonra ayarlayacağımız OAuth kimlik sağlayıcısı adıyla eşleşmelidir.

domain=$(az aro show -g $resource_group -n $aro_cluster --query clusterProfile.domain -o tsv)
location=$(az aro show -g $resource_group -n $aro_cluster --query location -o tsv)
apiServer=$(az aro show -g $resource_group -n $aro_cluster --query apiserverProfile.url -o tsv)
webConsole=$(az aro show -g $resource_group -n $aro_cluster --query consoleProfile.url -o tsv)

oauthCallbackURL biçimi özel etki alanlarıyla biraz farklıdır:

  • Örneğin, özel bir etki alanı kullanıyorsanız aşağıdaki komutu çalıştırın. contoso.com

    oauthCallbackURL=https://oauth-openshift.apps.$domain/oauth2callback/AAD
    
  • Özel etki alanı $domain kullanmıyorsanız sekiz karakterli bir mezun dizesi olur ve tarafından $location.aroapp.iogenişletilir.

    oauthCallbackURL=https://oauth-openshift.apps.$domain.$location.aroapp.io/oauth2callback/AAD
    

Dekont

AAD OAuth geri arama URL'sindeki bölüm, daha sonra ayarlayacağımız OAuth kimlik sağlayıcısı adıyla eşleşmelidir.

Kimlik doğrulaması için Microsoft Entra uygulaması oluşturma

client_secret> yerine uygulama için güvenli bir parola yazın<.

client_secret=<client_secret>

Bir Microsoft Entra uygulaması oluşturun ve oluşturulan uygulama tanımlayıcısını alın.

app_id=$(az ad app create \
  --query appId -o tsv \
  --display-name aro-auth \
  --reply-urls $oauthCallbackURL \
  --password $client_secret)

Uygulamanın sahibi olan aboneliğin kiracı kimliğini alın.

tenant_id=$(az account show --query tenantId -o tsv)

Kimlik Belirtecine eklenecek isteğe bağlı talepleri tanımlamak için bir bildirim dosyası oluşturun

Uygulama geliştiricileri, uygulamalarına gönderilen belirteçlerde hangi talepleri istediklerini belirtmek için Microsoft Entra uygulamalarında isteğe bağlı beyanları kullanabilir.

İsteğe bağlı beyanları kullanarak:

  • Uygulamanız için belirteçlere eklenecek ek beyanları seçebilirsiniz.
  • Microsoft Entra ID'nin belirteçlerde döndürdüğü belirli taleplerin davranışını değiştirin.
  • Uygulamanız için özel beyanlar ekleyebilir ve bunlara erişebilirsiniz.

OpenShift'i talebi kullanacak email şekilde yapılandıracak ve Microsoft Entra Id tarafından döndürülen kimlik belirtecinin bir parçası olarak ekleyerek upn Tercih Edilen Kullanıcı Adı'nı ayarlamak için geri upn döneceğiz.

Microsoft Entra uygulamasını yapılandırmak için bir manifest.json dosyası oluşturun.

cat > manifest.json<< EOF
[{
  "name": "upn",
  "source": null,
  "essential": false,
  "additionalProperties": []
},
{
"name": "email",
  "source": null,
  "essential": false,
  "additionalProperties": []
}]
EOF

Microsoft Entra uygulamasının isteğe bağlıClaims'lerini bir bildirimle güncelleştirme

az ad app update \
  --set optionalClaims.idToken=@manifest.json \
  --id $app_id

Microsoft Entra uygulama kapsamı izinlerini güncelleştirme

Microsoft Entra Id'den kullanıcı bilgilerini okuyabilmek için uygun kapsamları tanımlamamız gerekir.

Oturum açmayı ve kullanıcı profilini okumayı etkinleştirmek için Azure Active Directory Graph.User.Read kapsamı için izin ekleyin.

az ad app permission add \
 --api 00000002-0000-0000-c000-000000000000 \
 --api-permissions 311a71cc-e848-46a1-bdf8-97ff7156d8e6=Scope \
 --id $app_id

Dekont

Bu Microsoft Entra Kimliği için Genel Yönetici istrator olarak kimliğiniz doğrulanmadığı sürece, onay vermek için iletiyi güvenle yoksayabilirsiniz. Standart etki alanı kullanıcılarından, Microsoft Entra kimlik bilgilerini kullanarak kümede ilk kez oturum açtıklarında onay vermeleri istenir.

Kümeye kullanıcı ve grup atama (isteğe bağlı)

Microsoft Entra kiracısına kayıtlı uygulamalar, kiracının başarıyla kimlik doğrulaması yapan tüm kullanıcıları tarafından varsayılan olarak kullanılabilir. Microsoft Entra Id, kiracı yöneticilerinin ve geliştiricilerin bir uygulamayı kiracıdaki belirli bir kullanıcı veya güvenlik grubu kümesiyle kısıtlamasına olanak tanır.

Uygulamaya kullanıcı ve grup atamak için Microsoft Entra belgelerinde yer alan yönergeleri izleyin.

OpenShift OpenID kimlik doğrulamayı yapılandırma

kubeadmin Kimlik bilgilerini alın. Kullanıcının parolasını bulmak için kubeadmin aşağıdaki komutu çalıştırın.

kubeadmin_password=$(az aro list-credentials \
  --name $aro_cluster \
  --resource-group $resource_group \
  --query kubeadminPassword --output tsv)

Aşağıdaki komutu kullanarak OpenShift kümesinin API sunucusunda oturum açın.

oc login $apiServer -u kubeadmin -p $kubeadmin_password

Microsoft Entra uygulama gizli dizisini depolamak için bir OpenShift gizli dizisi oluşturun.

oc create secret generic openid-client-secret-azuread \
  --namespace openshift-config \
  --from-literal=clientSecret=$client_secret

Microsoft Entra kimliğine göre OpenShift OpenID kimlik doğrulamasını yapılandırmak için bir oidc.yaml dosyası oluşturun.

cat > oidc.yaml<< EOF
apiVersion: config.openshift.io/v1
kind: OAuth
metadata:
  name: cluster
spec:
  identityProviders:
  - name: AAD
    mappingMethod: claim
    type: OpenID
    openID:
      clientID: $app_id
      clientSecret:
        name: openid-client-secret-azuread
      extraScopes:
      - email
      - profile
      extraAuthorizeParameters:
        include_granted_scopes: "true"
      claims:
        preferredUsername:
        - email
        - upn
        name:
        - name
        email:
        - email
      issuer: https://login.microsoftonline.com/$tenant_id
EOF

Yapılandırmayı kümeye uygulayın.

oc apply -f oidc.yaml

Aşağıdakine benzer bir yanıt alırsınız.

oauth.config.openshift.io/cluster configured

Microsoft Entra Id aracılığıyla oturum açmayı doğrulama

OpenShift Web Konsolu'nun oturumunu kapatıp yeniden oturum açmayı denerseniz, Microsoft Entra Id ile oturum açmak için yeni bir seçenek sunulur. Birkaç dakika beklemeniz gerekebilir.

Log in screen with Microsoft Entra option