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.