Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In dit artikel gebruikt u Azure CLI om Microsoft Entra-verificatie in te stellen voor een Azure Red Hat OpenShift-cluster. U maakt variabelen die worden gebruikt in opdrachten die een OAuth callback-URL, een toepassingsregistratie en clientgeheim maken en de machtigingen van de toepassing bijwerken.
Vereiste voorwaarden
- Een bestaand Azure Red Hat OpenShift-cluster. Als u geen cluster hebt, raadpleegt u een nieuw cluster maken.
- Azure CLI 2.30.0 of hoger geïnstalleerd op uw computer. Gebruik
az --versiondit om de geïnstalleerde versie van Azure CLI te vinden. Als u Azure CLI 2.0 wilt installeren of upgraden, raadpleegt u Azure CLI 2.0 installeren. U kunt Azure Cloud Shell ook gebruiken met Bash om opdrachten uit te voeren. - OpenShift CLI geïnstalleerd op uw computer of in uw Bash Cloud Shell. Zie De OpenShift CLI installeren voor meer informatie.
Variabelen maken
Haal uw clusterspecifieke URL's op die worden gebruikt om de Microsoft Entra-toepassing te configureren.
Stel de variabelen in voor de resourcegroep en de clusternaam. Vervang door <resourceGroupName> de naam van uw resourcegroep en <aroClusterName> door de naam van uw cluster.
resourceGroup=<resourceGroupName>
aroCluster=<aroClusterName>
Maak de volgende variabelen die worden gebruikt in andere opdrachten om de stappen in dit artikel uit te voeren.
domain=$(az aro show --resource-group $resourceGroup --name $aroCluster --query clusterProfile.domain --output tsv)
location=$(az aro show --resource-group $resourceGroup --name $aroCluster --query location --output tsv)
apiServer=$(az aro show --resource-group $resourceGroup --name $aroCluster --query apiserverProfile.url --output tsv)
webConsole=$(az aro show --resource-group $resourceGroup --name $aroCluster --query consoleProfile.url --output tsv)
Maak de callback-URL van OAuth het cluster en sla deze op in de variabele oauthCallbackURL. De entraID aan het einde van de callback-URL moet overeenkomen met de naam van de OAuthOAuth id-provider die u later in het bestand oidc.yaml maakt.
De indeling van de indeling oauthCallbackURL is afhankelijk van als u een aangepast domein gebruikt.
Als u een aangepast domein hebt, voert
contoso.comu de volgende opdracht uit.oauthCallbackURL=https://oauth-openshift.apps.$domain/oauth2callback/entraIDAls u geen aangepast domein gebruikt, is het
$domaineen alfanumerieke tekenreeks van acht tekens die voorafgaat aan de$location.aroapp.iotekenreeks.oauthCallbackURL=https://oauth-openshift.apps.$domain.$location.aroapp.io/oauth2callback/entraID
Een Microsoft Entra-toepassing maken voor verificatie
Maak een Microsoft Entra-toepassing en stel een clientgeheim in voor de toepassing.
appId=$(az ad app create \
--display-name aro-auth \
--web-redirect-uris $oauthCallbackURL \
--query appId --output tsv)
clientSecret=$(az ad app credential reset --id $appId --query password --output tsv)
De waarden worden opgeslagen in variabelen en clientSecret geeft een consolebericht weer dat de opdrachtuitvoer referenties bevat. De waarde wordt verderop in dit artikel gebruikt en wanneer u klaar bent, kunt u de variabele wissen met behulp van de clientSecret="" opdracht.
Zie az ad app create en az ad app credential reset voor meer informatie over de opdrachten voor het maken van de app en referenties.
Haal de tenant-id op van het abonnement dat eigenaar is van de toepassing.
tenantId=$(az account show --query tenantId --output tsv)
Een manifestbestand maken om de optionele claims te definiëren die moeten worden opgenomen in het id-token
Toepassingsontwikkelaars kunnen optionele claims gebruiken in hun Microsoft Entra-toepassingen om op te geven welke claims ze willen in tokens die naar hun toepassing worden verzonden.
U kunt optionele claims gebruiken voor het volgende:
- Selecteer andere claims die u wilt opnemen in tokens voor uw toepassing.
- Wijzig het gedrag van bepaalde claims die Microsoft Entra ID in tokens teruggeeft.
- Voeg aangepaste claims toe en krijg er toegang toe voor uw toepassing.
U configureert OpenShift om de email claim te gebruiken en terug te vallen om upn de gebruikersnaam van voorkeur in te stellen door het upn als onderdeel van het id-token toe te voegen dat wordt geretourneerd door Microsoft Entra-id.
Maak een manifest.json-bestand om de Microsoft Entra-toepassing te configureren.
cat > manifest-test-file.json<< EOF
{
"idToken": [
{
"name": "email",
"source": null,
"essential": false,
"additionalProperties": []
},
{
"name": "upn",
"source": null,
"essential": false,
"additionalProperties": []
}
]
}
EOF
De optioneleClaims van de Microsoft Entra-toepassing bijwerken met een manifest
Als u het manifestbestand wilt gebruiken en de toepassing wilt bijwerken optionalClaims, voert u de volgende opdracht uit.
az ad app update \
--id $appId \
--optional-claims @manifest.json
De microsoft Entra-toepassingsbereikmachtigingen bijwerken
Om de gebruikersgegevens van Microsoft Entra ID te kunnen lezen, moeten we de juiste bereiken definiëren.
Voeg machtigingen toe voor het Microsoft Graph-bereik User.Read om aanmelding in te schakelen en gebruikersprofiel te lezen. Zie User.Read voor meer informatie.
az ad app permission add \
--api 00000003-0000-0000-c000-000000000000 \
--api-permissions e1fe6dd8-ba31-4d61-89e7-88639da4683d=Scope \
--id $appId
U kunt het bericht negeren om de toestemming te verlenen, tenzij u bent geverifieerd als globale beheerder voor deze Microsoft Entra-id. Standaarddomeingebruikers worden gevraagd toestemming te verlenen wanneer ze zich voor het eerst aanmelden bij het cluster met hun Microsoft Entra-referenties.
Gebruikers en groepen toewijzen aan het cluster (optioneel)
Toepassingen die zijn geregistreerd in een Microsoft Entra-tenant zijn standaard beschikbaar voor alle gebruikers van de tenant die zijn geverifieerd. Met Microsoft Entra ID kunnen tenantbeheerders en ontwikkelaars een app beperken tot een specifieke set gebruikers of beveiligingsgroepen in de tenant.
Volg de instructies in de Microsoft Entra-documentatie om een Microsoft Entra-app te beperken tot een set gebruikers.
OpenShift OpenID-verificatie configureren
Haal de kubeadmin referenties op. Voer de volgende opdracht uit om het wachtwoord voor de kubeadmin-gebruiker te vinden.
kubeadminPassword=$(az aro list-credentials \
--name $aroCluster \
--resource-group $resourceGroup \
--query kubeadminPassword --output tsv)
Meld u aan bij de API-server van het OpenShift-cluster met behulp van de volgende opdracht.
oc login $apiServer --username kubeadmin --password $kubeadminPassword
Maak een OpenShift-geheim om het Microsoft Entra-toepassingsgeheim op te slaan.
oc create secret generic openid-client-secret-azuread \
--namespace openshift-config \
--from-literal=clientSecret=$clientSecret
Maak een oidc.yaml-bestand om OpenShift OpenID-verificatie te configureren voor Microsoft Entra ID.
cat > oidc.yaml<< EOF
apiVersion: config.openshift.io/v1
kind: OAuth
metadata:
name: cluster
spec:
identityProviders:
- name: entraID
mappingMethod: claim
type: OpenID
openID:
clientID: $appId
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/$tenantId
EOF
Pas de configuratie toe op het cluster.
oc apply -f oidc.yaml
U krijgt een antwoord zoals in het volgende voorbeeld.
oauth.config.openshift.io/cluster configured
Aanmelden verifiëren met behulp van Microsoft Entra-id
Meld u af bij de OpenShift-webconsole en meld u opnieuw aan en u ziet een nieuwe optie om u aan te melden met entraID. Mogelijk moet u enkele minuten wachten totdat de optie beschikbaar is.