28.2. Gestion des autorisations IdM dans l'interface de programmation
Cette section explique comment gérer les autorisations de gestion des identités (IdM) à l'aide de l'interface de ligne de commande (CLI).
Conditions préalables
- Privilèges d'administrateur pour la gestion de l'IdM ou le rôle User Administrator.
- Un ticket Kerberos actif. Pour plus de détails, voir Utilisation de kinit pour se connecter manuellement à IdM.
Procédure
Créez de nouvelles entrées d'autorisation à l'aide de la commande
ipa permission-add
.
Par exemple, pour ajouter une autorisation nommée dns admin:$ ipa permission-add "dns admin"
Spécifiez les propriétés de l'autorisation à l'aide des options suivantes :
--bindtype
spécifie le type de règle de liaison. Cette option accepte les argumentsall
,anonymous
, etpermission
. Le type de règle de liaisonpermission
signifie que seuls les utilisateurs auxquels cette autorisation a été accordée par l'intermédiaire d'un rôle peuvent l'exercer.
Par exemple :$ ipa permission-add "dns admin" --bindtype=all
Si vous n'indiquez pas
--bindtype
, la valeur par défaut estpermission
.NoteIl n'est pas possible d'ajouter aux privilèges des autorisations dont le type de règle de liaison n'est pas par défaut. Il n'est pas non plus possible de définir une autorisation déjà présente dans un privilège avec un type de règle de liaison autre que celui par défaut.
--right
énumère les droits accordés par la permission, elle remplace l'option--permissions
qui est obsolète. Les valeurs disponibles sontadd
,delete
,read
,search
,compare
,write
,all
.Vous pouvez définir plusieurs attributs en utilisant plusieurs options
--right
ou une liste séparée par des virgules à l'intérieur d'accolades. Par exemple :$ ipa permission-add "dns admin" --right=read --right=write
$ ipa permission-add "dns admin" --right={read,write}
Noteadd
etdelete
sont des opérations d'entrée de gamme (par exemple, supprimer un utilisateur, ajouter un groupe, etc.) tandis queread
,search
,compare
etwrite
sont davantage des opérations de niveau attributaire : vous pouvez écrire suruserCertificate
mais pas lireuserPassword
.--attrs
donne la liste des attributs sur lesquels l'autorisation est accordée.
Vous pouvez définir plusieurs attributs en utilisant plusieurs options--attrs
ou en énumérant les options dans une liste séparée par des virgules à l'intérieur d'accolades. Par exemple :$ ipa permission-add "dns admin" --attrs=description --attrs=automountKey
$ ipa permission-add "dns admin" --attrs={description,automountKey}
Les attributs fournis avec
--attrs
doivent exister et être des attributs autorisés pour le type d'objet donné, sinon la commande échoue avec des erreurs de syntaxe de schéma.--type
définit le type d'objet d'entrée auquel l'autorisation s'applique, tel que l'utilisateur, l'hôte ou le service. Chaque type possède son propre ensemble d'attributs autorisés.
Par exemple :$ ipa permission-add "manage service" --right=all --type=service --attrs=krbprincipalkey --attrs=krbprincipalname --attrs=managedby
--subtree
donne une entrée de sous-arbre ; le filtre cible alors toutes les entrées situées sous cette entrée de sous-arbre. Fournir une entrée de sous-arbre existante ;--subtree
n'accepte pas les caractères génériques ou les noms de domaine (DN) inexistants. Inclure un DN dans le répertoire.
Comme IdM utilise une arborescence simplifiée et plate,--subtree
peut être utilisé pour cibler certains types d'entrées, comme les emplacements de montage automatique, qui sont des conteneurs ou des entrées parentes pour d'autres configurations. Par exemple :$ ipa permission-add "manage automount locations" --subtree="ldap://ldap.example.com:389/cn=automount,dc=example,dc=com" --right=write --attrs=automountmapname --attrs=automountkey --attrs=automountInformation
NoteLes options
--type
et--subtree
s'excluent mutuellement : vous pouvez considérer l'inclusion de filtres pour--type
comme une simplification de--subtree
, destinée à faciliter la vie de l'administrateur.--filter
utilise un filtre LDAP pour identifier les entrées auxquelles l'autorisation s'applique.
L'IdM vérifie automatiquement la validité du filtre donné. Le filtre peut être n'importe quel filtre LDAP valide, par exemple :$ ipa permission-add \N "Gérer les groupes Windows" --filtre="( !(objectclass=posixgroup))\N" -droit=écriture --attrs=description --right=write --attrs=description
--memberof
définit le filtre cible pour les membres du groupe donné après avoir vérifié que le groupe existe. Par exemple, pour permettre aux utilisateurs disposant de cette autorisation de modifier le shell de connexion des membres du groupe des ingénieurs :$ ipa permission-add ManageShell --right="write" --type=user --attr=loginshell --memberof=engineers
--targetgroup
attribue la cible au groupe d'utilisateurs spécifié après avoir vérifié que le groupe existe. Par exemple, pour permettre à ceux qui ont l'autorisation d'écrire l'attribut membre dans le groupe d'ingénieurs (afin qu'ils puissent ajouter ou supprimer des membres) :$ ipa permission-add ManageMembers --right="write" --subtree=cn=groups,cn=accounts,dc=example,dc=test --attr=member --targetgroup=engineers
En option, vous pouvez spécifier un nom de domaine cible (DN) :
-
--target
spécifie le DN auquel appliquer l'autorisation. Les caractères génériques sont acceptés. -
--targetto
spécifie le sous-arbre DN dans lequel une entrée peut être déplacée. -
--targetfrom
spécifie le sous-arbre DN à partir duquel une entrée peut être déplacée.
-