Share via


Microsoft Entra-hitelesítés konfigurálása Azure Red Hat OpenShift 4-fürthöz (CLI)

Ha úgy dönt, hogy helyileg telepíti és használja a parancssori felületet, ehhez a cikkhez az Azure CLI 2.30.0-s vagy újabb verzióját kell futtatnia. A verzió azonosításához futtassa a következőt: az --version. Ha telepíteni vagy frissíteni szeretne: Az Azure CLI telepítése.

Kérje le a Microsoft Entra-alkalmazás konfigurálásához használni kívánt fürtspecifikus URL-címeket.

Állítsa be az erőforráscsoport és a fürt nevének változóit.

Cserélje le <resource_group> az erőforráscsoport nevére, aro_cluster<> pedig a fürt nevére.

resource_group=<resource_group>
aro_cluster=<aro_cluster>

Hozza létre a fürt OAuth visszahívási URL-címét, és tárolja egy változóban , az oauthCallbackURL-ben.

Megjegyzés:

Az AAD OAuth visszahívási URL-címének szakaszának meg kell egyeznie a később beállítandó OAuth-identitásszolgáltató nevével.

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)

Az oauthCallbackURL formátuma kissé eltér az egyéni tartományoktól:

  • Futtassa a következő parancsot, ha egyéni tartományt használ, például. contoso.com

    oauthCallbackURL=https://oauth-openshift.apps.$domain/oauth2callback/AAD
    
  • Ha nem egyéni tartományt használ, akkor a $domain függvény egy nyolc karakteres alnum sztring lesz, és kiterjeszti.$location.aroapp.io

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

Megjegyzés:

Az AAD OAuth visszahívási URL-címének szakaszának meg kell egyeznie a később beállítandó OAuth-identitásszolgáltató nevével.

Microsoft Entra-alkalmazás létrehozása hitelesítéshez

Cserélje le <client_secret> az alkalmazás biztonságos jelszavára.

client_secret=<client_secret>

Hozzon létre egy Microsoft Entra-alkalmazást, és kérje le a létrehozott alkalmazásazonosítót.

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

Kérje le annak az előfizetésnek a bérlőazonosítóját, amely az alkalmazást birtokolja.

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

Jegyzékfájl létrehozása az azonosító jogkivonatba felvenni kívánt opcionális jogcímek definiálásához

Az alkalmazásfejlesztők a Microsoft Entra-alkalmazásokban választható jogcímeket használhatnak annak meghatározására, hogy mely jogcímeket szeretnék az alkalmazásuknak küldött jogkivonatokban megadni.

A nem kötelező jogcímekkel:

  • Kiválaszthat további jogcímeket az alkalmazás tokenjeihez való hozzáadáshoz.
  • Módosíthatja bizonyos jogcímek viselkedését, amelyeket a Microsoft Entra ID tokenekben ad vissza.
  • Hozzáadhat egyéni jogcímeket az alkalmazáshoz, és elérheti őket.

Az OpenShiftet úgy konfiguráljuk, hogy használja a email jogcímet, és a upn Microsoft Entra ID által visszaadott azonosító jogkivonat részeként adja hozzá az upn előnyben részesített felhasználónevet.

Hozzon létre egy manifest.json fájlt a Microsoft Entra alkalmazás konfigurálásához.

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

A Microsoft Entra-alkalmazás opcionális igényléseinek frissítése jegyzékkel

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

A Microsoft Entra alkalmazás hatókörének engedélyeinek frissítése

Ahhoz, hogy a Microsoft Entra-azonosítóból beolvashassuk a felhasználói adatokat, meg kell határoznunk a megfelelő hatóköröket.

Adjon hozzá engedélyt az Azure Active Directory Graph.User.Read hatókörhöz a bejelentkezés engedélyezéséhez és a felhasználói profil olvasásához.

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

Megjegyzés:

Nyugodtan figyelmen kívül hagyhatja az üzenetet a hozzájárulás megadásához, kivéve, ha ön globális Rendszergazda istratorként van hitelesítve ehhez a Microsoft Entra-azonosítóhoz. A standard tartomány felhasználóinak hozzájárulást kell adniuk, amikor először jelentkeznek be a fürtbe a Microsoft Entra hitelesítő adataikkal.

Felhasználók és csoportok hozzárendelése a fürthöz (nem kötelező)

A Microsoft Entra-bérlőben regisztrált alkalmazások alapértelmezés szerint a sikeres hitelesítést végző bérlő összes felhasználója számára elérhetők. A Microsoft Entra ID lehetővé teszi a bérlői rendszergazdák és fejlesztők számára, hogy az alkalmazásokat a bérlő adott felhasználói vagy biztonsági csoportjaira korlátozzák.

Kövesse a Microsoft Entra dokumentációjában található utasításokat, hogy felhasználókat és csoportokat rendeljen az alkalmazáshoz.

OpenShift OpenID-hitelesítés konfigurálása

Kérje le a kubeadmin hitelesítő adatokat. Futtassa a következő parancsot a felhasználó jelszavának megkereséséhez kubeadmin .

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

Jelentkezzen be az OpenShift-fürt API-kiszolgálójára az alábbi paranccsal.

oc login $apiServer -u kubeadmin -p $kubeadmin_password

Hozzon létre egy OpenShift-titkos kulcsot a Microsoft Entra alkalmazás titkos kódjának tárolásához.

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

Hozzon létre egy oidc.yaml fájlt az OpenShift OpenID-hitelesítés Microsoft Entra-azonosítóval való konfigurálásához.

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

Alkalmazza a konfigurációt a fürtre.

oc apply -f oidc.yaml

A következőhöz hasonló választ kap.

oauth.config.openshift.io/cluster configured

Bejelentkezés ellenőrzése a Microsoft Entra-azonosítón keresztül

Ha most kijelentkezik az OpenShift webkonzolról, és újra megpróbál bejelentkezni, megjelenik egy új lehetőség, amellyel bejelentkezhet a Microsoft Entra-azonosítóval. Előfordulhat, hogy várnia kell néhány percet.

Log in screen with Microsoft Entra option