Chapitre 18. Synchronisation des groupes LDAP
En tant qu'administrateur, vous pouvez utiliser les groupes pour gérer les utilisateurs, modifier leurs autorisations et améliorer la collaboration. Votre organisation a peut-être déjà créé des groupes d'utilisateurs et les a stockés dans un serveur LDAP. OpenShift Container Platform peut synchroniser ces enregistrements LDAP avec les enregistrements internes d'OpenShift Container Platform, ce qui vous permet de gérer vos groupes en un seul endroit. OpenShift Container Platform prend actuellement en charge la synchronisation des groupes avec les serveurs LDAP en utilisant trois schémas communs pour définir l'appartenance à un groupe : RFC 2307, Active Directory et Active Directory augmenté.
Pour plus d'informations sur la configuration de LDAP, voir Configuration d'un fournisseur d'identité LDAP.
Vous devez disposer des privilèges cluster-admin
pour synchroniser les groupes.
18.1. À propos de la configuration de la synchronisation LDAP
Avant de pouvoir exécuter la synchronisation LDAP, vous avez besoin d'un fichier de configuration de la synchronisation. Ce fichier contient les informations suivantes sur la configuration du client LDAP :
- Configuration de la connexion à votre serveur LDAP.
- Options de configuration de la synchronisation qui dépendent du schéma utilisé dans votre serveur LDAP.
- Une liste définie par l'administrateur de correspondances de noms qui associe les noms de groupes de OpenShift Container Platform aux groupes de votre serveur LDAP.
Le format du fichier de configuration dépend du schéma utilisé : RFC 2307, Active Directory ou Active Directory augmenté.
- Configuration du client LDAP
- La section de configuration du client LDAP de la configuration définit les connexions à votre serveur LDAP.
La section de configuration du client LDAP de la configuration définit les connexions à votre serveur LDAP.
Configuration du client LDAP
url: ldap://10.0.0.0:389 1 bindDN: cn=admin,dc=example,dc=com 2 bindPassword: password 3 insecure: false 4 ca: my-ldap-ca-bundle.crt 5
- 1
- Le protocole de connexion, l'adresse IP du serveur LDAP hébergeant votre base de données et le port auquel se connecter, formaté comme
scheme://host:port
. - 2
- Nom distinctif (DN) facultatif à utiliser comme DN de liaison. OpenShift Container Platform l'utilise si des privilèges élevés sont nécessaires pour récupérer les entrées pour l'opération de synchronisation.
- 3
- Mot de passe facultatif à utiliser pour la liaison. OpenShift Container Platform l'utilise si des privilèges élevés sont nécessaires pour récupérer les entrées pour l'opération de synchronisation. Cette valeur peut également être fournie dans une variable d'environnement, un fichier externe ou un fichier crypté.
- 4
- Lorsque
false
, les URL LDAP sécurisées (ldaps://
) se connectent en utilisant TLS, et les URL LDAP non sécurisées (ldap://
) sont mises à niveau vers TLS. Lorsquetrue
, aucune connexion TLS n'est établie avec le serveur et vous ne pouvez pas utiliser les schémas d'URLldaps://
. - 5
- Le paquet de certificats à utiliser pour valider les certificats de serveur pour l'URL configurée. S'il est vide, OpenShift Container Platform utilise les racines de confiance du système. Cela ne s'applique que si
insecure
est défini surfalse
.
- Définition d'une requête LDAP
- Les configurations de synchronisation consistent en des définitions de requêtes LDAP pour les entrées nécessaires à la synchronisation. La définition spécifique d'une requête LDAP dépend du schéma utilisé pour stocker les informations sur les membres dans le serveur LDAP.
Définition d'une requête LDAP
baseDN: ou=users,dc=example,dc=com 1 scope: sub 2 derefAliases: never 3 timeout: 0 4 filter: (objectClass=person) 5 pageSize: 0 6
- 1
- Le nom distinctif (DN) de la branche du répertoire à partir de laquelle toutes les recherches seront effectuées. Vous devez spécifier le sommet de l'arborescence de votre répertoire, mais vous pouvez également spécifier une sous-arborescence du répertoire.
- 2
- L'étendue de la recherche. Les valeurs valables sont
base
,one
ousub
. Si cette valeur n'est pas définie, l'étendue desub
est prise en compte. Les descriptions des options d'étendue se trouvent dans le tableau ci-dessous. - 3
- Comportement de la recherche par rapport aux alias dans l'arbre LDAP. Les valeurs valides sont
never
,search
,base
, oualways
. Si cette valeur n'est pas définie, le déréférencement des alias se fait par défaut à l'aide dealways
. Les descriptions des comportements de déréférencement se trouvent dans le tableau ci-dessous. - 4
- La limite de temps autorisée pour la recherche par le client, en secondes. Une valeur de
0
n'impose aucune limite côté client. - 5
- Un filtre de recherche LDAP valide. Si ce paramètre n'est pas défini, la valeur par défaut est
(objectClass=*)
. - 6
- Taille maximale facultative des pages de réponse du serveur, mesurée en entrées LDAP. Si la valeur est
0
, aucune restriction de taille ne sera appliquée aux pages de réponses. La définition de la taille des pages est nécessaire lorsque les requêtes renvoient plus d'entrées que le client ou le serveur n'en autorise par défaut.
Étendue de la recherche LDAP | Description |
---|---|
| Ne prendre en compte que l'objet spécifié par le DN de base donné pour la requête. |
| Tous les objets situés au même niveau de l'arbre sont considérés comme le DN de base de la requête. |
| Considérer le sous-arbre entier enraciné dans le DN de base donné pour la requête. |
Comportement de déréférencement | Description |
---|---|
| Ne jamais déréférencer les alias trouvés dans l'arbre LDAP. |
| Ne déréférencer que les alias trouvés lors de la recherche. |
| Ne déréférencer que les alias lors de la recherche de l'objet de base. |
| Toujours déréférencer tous les alias trouvés dans l'arbre LDAP. |
- Mappage de noms définis par l'utilisateur
- Un mappage de nom défini par l'utilisateur fait explicitement correspondre les noms des groupes OpenShift Container Platform à des identifiants uniques qui trouvent les groupes sur votre serveur LDAP. Le mappage utilise la syntaxe YAML normale. Un mappage défini par l'utilisateur peut contenir une entrée pour chaque groupe dans votre serveur LDAP ou seulement un sous-ensemble de ces groupes. S'il y a des groupes sur le serveur LDAP qui n'ont pas de mappage de nom défini par l'utilisateur, le comportement par défaut pendant la synchronisation est d'utiliser l'attribut spécifié comme nom du groupe OpenShift Container Platform.
Mappage de noms définis par l'utilisateur
groupUIDNameMapping: "cn=group1,ou=groups,dc=example,dc=com": firstgroup "cn=group2,ou=groups,dc=example,dc=com": secondgroup "cn=group3,ou=groups,dc=example,dc=com": thirdgroup
18.1.1. À propos du fichier de configuration RFC 2307
Le schéma RFC 2307 exige que vous fournissiez une définition de requête LDAP pour les entrées d'utilisateurs et de groupes, ainsi que les attributs avec lesquels les représenter dans les enregistrements internes d'OpenShift Container Platform.
Pour plus de clarté, le groupe que vous créez dans OpenShift Container Platform devrait utiliser des attributs autres que le nom distinctif dans la mesure du possible pour les champs orientés vers l'utilisateur ou l'administrateur. Par exemple, identifiez les utilisateurs d'un groupe OpenShift Container Platform par leur e-mail et utilisez le nom du groupe comme nom commun. Le fichier de configuration suivant crée ces relations :
Si vous utilisez des correspondances de noms définies par l'utilisateur, votre fichier de configuration sera différent.
Configuration de la synchronisation LDAP qui utilise le schéma RFC 2307 : rfc2307_config.yaml
kind: LDAPSyncConfig apiVersion: v1 url: ldap://LDAP_SERVICE_IP:389 1 insecure: false 2 rfc2307: groupsQuery: baseDN: "ou=groups,dc=example,dc=com" scope: sub derefAliases: never pageSize: 0 groupUIDAttribute: dn 3 groupNameAttributes: [ cn ] 4 groupMembershipAttributes: [ member ] 5 usersQuery: baseDN: "ou=users,dc=example,dc=com" scope: sub derefAliases: never pageSize: 0 userUIDAttribute: dn 6 userNameAttributes: [ mail ] 7 tolerateMemberNotFoundErrors: false tolerateMemberOutOfScopeErrors: false
- 1
- L'adresse IP et l'hôte du serveur LDAP où l'enregistrement de ce groupe est stocké.
- 2
- Lorsque
false
, les URL LDAP sécurisées (ldaps://
) se connectent en utilisant TLS, et les URL LDAP non sécurisées (ldap://
) sont mises à niveau vers TLS. Lorsquetrue
, aucune connexion TLS n'est établie avec le serveur et vous ne pouvez pas utiliser les schémas d'URLldaps://
. - 3
- L'attribut qui identifie de manière unique un groupe sur le serveur LDAP. Vous ne pouvez pas spécifier de filtres
groupsQuery
lorsque vous utilisez DN pourgroupUIDAttribute
. Pour un filtrage plus fin, utilisez la méthode whitelist / blacklist. - 4
- L'attribut à utiliser comme nom du groupe.
- 5
- L'attribut du groupe qui stocke les informations relatives à l'appartenance.
- 6
- L'attribut qui identifie de manière unique un utilisateur sur le serveur LDAP. Vous ne pouvez pas spécifier de filtres
usersQuery
lorsque vous utilisez DN pour userUIDAttribute. Pour un filtrage plus fin, utilisez la méthode whitelist / blacklist. - 7
- L'attribut à utiliser comme nom de l'utilisateur dans l'enregistrement du groupe OpenShift Container Platform.
18.1.2. A propos du fichier de configuration d'Active Directory
Le schéma Active Directory exige que vous fournissiez une définition de requête LDAP pour les entrées utilisateur, ainsi que les attributs pour les représenter dans les enregistrements de groupe internes d'OpenShift Container Platform.
Pour plus de clarté, le groupe que vous créez dans OpenShift Container Platform devrait utiliser des attributs autres que le nom distinctif chaque fois que possible pour les champs orientés vers l'utilisateur ou l'administrateur. Par exemple, identifiez les utilisateurs d'un groupe OpenShift Container Platform par leur e-mail, mais définissez le nom du groupe par le nom du groupe sur le serveur LDAP. Le fichier de configuration suivant crée ces relations :
Configuration de la synchronisation LDAP qui utilise le schéma Active Directory : active_directory_config.yaml
kind: LDAPSyncConfig apiVersion: v1 url: ldap://LDAP_SERVICE_IP:389 activeDirectory: usersQuery: baseDN: "ou=users,dc=example,dc=com" scope: sub derefAliases: never filter: (objectclass=person) pageSize: 0 userNameAttributes: [ mail ] 1 groupMembershipAttributes: [ memberOf ] 2
18.1.3. À propos du fichier de configuration Active Directory augmenté
Le schéma Active Directory augmenté vous oblige à fournir une définition de requête LDAP pour les entrées d'utilisateurs et de groupes, ainsi que les attributs avec lesquels les représenter dans les enregistrements de groupes internes d'OpenShift Container Platform.
Pour plus de clarté, le groupe que vous créez dans OpenShift Container Platform devrait utiliser des attributs autres que le nom distinctif dans la mesure du possible pour les champs orientés vers l'utilisateur ou l'administrateur. Par exemple, identifiez les utilisateurs d'un groupe OpenShift Container Platform par leur e-mail et utilisez le nom du groupe comme nom commun. Le fichier de configuration suivant crée ces relations.
Configuration de la synchronisation LDAP qui utilise le schéma Active Directory augmenté : augmented_active_directory_config.yaml
kind: LDAPSyncConfig apiVersion: v1 url: ldap://LDAP_SERVICE_IP:389 augmentedActiveDirectory: groupsQuery: baseDN: "ou=groups,dc=example,dc=com" scope: sub derefAliases: never pageSize: 0 groupUIDAttribute: dn 1 groupNameAttributes: [ cn ] 2 usersQuery: baseDN: "ou=users,dc=example,dc=com" scope: sub derefAliases: never filter: (objectclass=person) pageSize: 0 userNameAttributes: [ mail ] 3 groupMembershipAttributes: [ memberOf ] 4
- 1
- L'attribut qui identifie de manière unique un groupe sur le serveur LDAP. Vous ne pouvez pas spécifier de filtres
groupsQuery
lorsque vous utilisez DN pour groupUIDAttribute. Pour un filtrage plus fin, utilisez la méthode whitelist / blacklist. - 2
- L'attribut à utiliser comme nom du groupe.
- 3
- L'attribut à utiliser comme nom de l'utilisateur dans l'enregistrement du groupe OpenShift Container Platform.
- 4
- L'attribut de l'utilisateur qui stocke les informations relatives à l'adhésion.