49.2. Création d'une référence à un fournisseur d'identité externe
Pour connecter des fournisseurs d'identité externes (IdP) à votre environnement de gestion des identités (IdM), créez des références IdP dans IdM. Ces exemples montrent comment configurer les références aux fournisseurs d'identité externes en fonction des différents modèles IdP. Utilisez les options suivantes pour spécifier vos paramètres :
--provider
- le modèle prédéfini pour l'un des fournisseurs d'identité connus
--client-id
- l'identifiant du client OAuth 2.0 émis par l'IdP lors de l'enregistrement de l'application. La procédure d'enregistrement de l'application étant spécifique à chaque IdP, reportez-vous à leur documentation pour plus de détails. Si l'IdP externe est Red Hat Single Sign-On (SSO), voir Création d'un client OpenID Connect.
--base-url
- uRL de base pour les modèles IdP, requis par Keycloak et Okta
--organization
- ID de domaine ou d'organisation de l'IdP, requis par Microsoft Azure
--secret
(optional) Utilisez cette option si vous avez configuré votre IdP externe pour qu'il demande un secret aux clients OAuth 2.0 confidentiels. Si vous utilisez cette option lors de la création d'une référence IdP, le secret vous est demandé de manière interactive. Protéger le secret du client sous forme de mot de passe.
NoteSSSD dans RHEL 9.1 prend uniquement en charge les clients OAuth 2.0 non confidentiels qui n'utilisent pas de secret client. Si vous souhaitez utiliser des IdP externes qui exigent un secret client pour les clients confidentiels, vous devez utiliser SSSD dans RHEL 9.2 et les versions ultérieures.
Conditions préalables
- Vous avez enregistré IdM en tant qu'application OAuth auprès de votre IdP externe et obtenu un identifiant client.
- Vous pouvez vous authentifier en tant que compte administrateur IdM.
- Vos serveurs IdM utilisent RHEL 9.1 ou une version ultérieure.
- Vos serveurs IdM utilisent SSSD 2.7.0 ou une version ultérieure.
Procédure
S'authentifier en tant qu'administrateur IdM sur un serveur IdM.
[root@server ~]# kinit admin
Créer une référence à l'IdP requis dans IdM comme indiqué dans le tableau suivant.
Identity Provider Options importantes Exemple de commande Microsoft Identity Platform,
Azure AD--provider microsoft
--organization
# ipa idp-add my-azure-idp \ --provider microsoft \ --organization main \ --client-id <azure_client_id>
Google
--provider google
# ipa idp-add my-google-idp \ --provider google \ --client-id <google_client_id>
GitHub
--provider github
# ipa idp-add my-github-idp \ --provider github \ --client-id <github_client_id>
Keycloak,
Red Hat Single Sign-On--provider keycloak
--organization
--base-url
# ipa idp-add my-keycloak-idp \ --provider keycloak \ --organization main \ --base-url keycloak.idm.example.com:8443/auth \ --client-id <keycloak_client_id>
NoteLa version Quarkus de Keycloak 17 et les versions ultérieures ont supprimé la partie
/auth/
de l'URI. Si vous utilisez la distribution non Quarkus de Keycloak dans votre déploiement, incluez/auth/
dans l'option--base-url
.Okta
--provider okta
# ipa idp-add my-okta-idp \ --provider okta --base-url dev-12345.okta.com \ --client-id <okta_client_id>
Par exemple, la commande suivante crée une référence appelée
my-keycloak-idp
à un IdP basé sur le modèle Keycloak, où l'option--base-url
spécifie l'URL du serveur Keycloak au formatserver-name.$DOMAIN:$PORT/prefix
.[root@server ~]# ipa idp-add my-keycloak-idp \ --provider keycloak --organization main \ --base-url keycloak.idm.example.com:8443/auth \ --client-id id13778 ------------------------------------------------ Added Identity Provider server "my-keycloak-idp" ------------------------------------------------ Identity Provider server name: my-keycloak-idp Authorization URI: https://keycloak.idm.example.com:8443/auth/realms/main/protocol/openid-connect/auth Device authorization URI: https://keycloak.idm.example.com:8443/auth/realms/main/protocol/openid-connect/auth/device Token URI: https://keycloak.idm.example.com:8443/auth/realms/main/protocol/openid-connect/token User info URI: https://keycloak.idm.example.com:8443/auth/realms/main/protocol/openid-connect/userinfo Client identifier: ipa_oidc_client Scope: openid email External IdP user identifier attribute: email
Vérification
Vérifiez que la sortie de la commande
ipa idp-show
indique la référence IdP que vous avez créée.[root@server ~]# ipa idp-show my-keycloak-idp
Ressources supplémentaires
- Liste des modèles pour les fournisseurs d'identité externes
-
ipa help idp-add
sortie de commande