Citrix Hypervisor

Utiliser RBAC avec l’interface de ligne de commande

Commandes CLI RBAC xe

Utilisez les commandes suivantes pour travailler avec les rôles et les sujets.

Pour répertorier tous les rôles définis disponibles

Exécutez la commande : xe role-list

Cette commande renvoie une liste des rôles actuellement définis, par exemple :

    uuid( RO): 0165f154-ba3e-034e-6b27-5d271af109ba
    name ( RO): pool-admin
    description ( RO): The Pool Administrator role has full access to all
    features and settings, including accessing Dom0 and managing subjects,
    roles and external authentication

    uuid ( RO): b9ce9791-0604-50cd-0649-09b3284c7dfd
    name ( RO): pool-operator
    description ( RO): The Pool Operator role manages host-  and pool-wide resources,
    including setting up storage, creating resource pools and managing patches, and
    high availability (HA).

    uuid( RO): 7955168d-7bec-10ed-105f-c6a7e6e63249
    name ( RO): vm-power-admin
    description ( RO): The VM Power Administrator role has full access to VM and
    template management and can choose where to start VMs and use the dynamic memory
    control and VM snapshot features

    uuid ( RO): aaa00ab5-7340-bfbc-0d1b-7cf342639a6e
    name ( RO): vm-admin
    description ( RO):  The VM Administrator role can manage VMs and templates

    uuid ( RO): fb8d4ff9-310c-a959-0613-54101535d3d5
    name ( RO): vm-operator
    description ( RO):  The VM Operator role can use VMs and interact with VM consoles

    uuid ( RO): 7233b8e3-eacb-d7da-2c95-f2e581cdbf4e
    name ( RO): read-only
    description ( RO): The Read-Only role can log in with basic read-only access
<!--NeedCopy-->

Remarque :

Cette liste de rôles est statique. Vous ne pouvez pas ajouter, supprimer ou modifier des rôles.

Pour afficher une liste des sujets actuels

Exécutez la commande suivante :

xe subject-list
<!--NeedCopy-->

Cette commande renvoie la liste des utilisateurs Citrix Hypervisor, leur UUID et les rôles auxquels ils sont associés :

    uuid ( RO): bb6dd239-1fa9-a06b-a497-3be28b8dca44
    subject-identifier ( RO): S-1-5-21-1539997073-1618981536-2562117463-2244
    other-config (MRO): subject-name: example01\user_vm_admin; subject-upn: \
      user_vm_admin@XENDT.NET; subject-uid: 1823475908; subject-gid: 1823474177; \
      subject-sid: S-1-5-21-1539997073-1618981536-2562117463-2244; subject-gecos: \
      user_vm_admin; subject-displayname: user_vm_admin; subject-is-group: false; \
      subject-account-disabled: false; subject-account-expired: false; \
      subject-account-locked: false;subject-password-expired: false
    roles (SRO): vm-admin

    uuid ( RO): 4fe89a50-6a1a-d9dd-afb9-b554cd00c01a
    subject-identifier ( RO): S-1-5-21-1539997073-1618981536-2562117463-2245
    other-config (MRO): subject-name: example02\user_vm_op; subject-upn: \
      user_vm_op@XENDT.NET; subject-uid: 1823475909; subject-gid: 1823474177; \
      subject-sid: S-1-5-21-1539997073-1618981536-2562117463-2245; \
      subject-gecos: user_vm_op; subject-displayname: user_vm_op; \
      subject-is-group: false; subject-account-disabled: false; \
      subject-account-expired: false; subject-account-locked: \
      false; subject-password-expired: false
    roles (SRO): vm-operator

    uuid ( RO): 8a63fbf0-9ef4-4fef-b4a5-b42984c27267
    subject-identifier ( RO): S-1-5-21-1539997073-1618981536-2562117463-2242
    other-config (MRO): subject-name: example03\user_pool_op; \
      subject-upn: user_pool_op@XENDT.NET; subject-uid: 1823475906; \
      subject-gid: 1823474177; subject-s id:
      S-1-5-21-1539997073-1618981536-2562117463-2242; \
      subject-gecos: user_pool_op; subject-displayname: user_pool_op; \
      subject-is-group: false; subject-account-disabled: false; \
      subject-account-expired: false; subject-account-locked: \
      false; subject-password-expired: false
      roles (SRO): pool-operator
<!--NeedCopy-->

Pour ajouter un sujet au RBAC

Pour permettre aux utilisateurs AD existants d’utiliser RBAC, créez une instance d’objet dans Citrix Hypervisor, soit pour l’utilisateur AD directement, soit pour les groupes contenant :

Exécutez la commande suivante pour ajouter une nouvelle instance d’objet :

xe subject-add subject-name=AD user/group
<!--NeedCopy-->

Pour attribuer un rôle RBAC à un sujet

Après avoir ajouté un sujet, vous pouvez l’affecter à un rôle RBAC. Vous pouvez faire référence au rôle par son UUID ou son nom :

Exécutez la commande :

xe subject-role-add uuid=subject uuid role-uuid=role_uuid
<!--NeedCopy-->

Ou

xe subject-role-add uuid=subject uuid role-name=role_name
<!--NeedCopy-->

Par exemple, la commande suivante ajoute un objet avec l’uuid b9b3d03b-3d10-79d3-8ed7-a782c5ea13b4 au rôle d’administrateur de pool :

xe subject-role-add uuid=b9b3d03b-3d10-79d3-8ed7-a782c5ea13b4 role-name=pool-admin
<!--NeedCopy-->

Pour modifier le rôle RBAC d’un sujet

Pour modifier le rôle d’un utilisateur, il est nécessaire de le supprimer de son rôle existant et de l’ajouter à un nouveau rôle :

Exécutez les commandes suivantes :

xe subject-role-remove uuid=subject_uuid role-name=role_name_to_remove
xe subject-role-add uuid=subject_uuid role-name=role_name_to_add
<!--NeedCopy-->

L’utilisateur doit se déconnecter puis se reconnecter pour s’assurer que le nouveau rôle prend effet. Cela nécessite l’autorisation « Déconnexion des connexions utilisateur actives » disponible pour un administrateur de pool ou un opérateur de pool).

Si vous supprimez le rôle Admin du pool d’un utilisateur, pensez également à modifier le mot de passe racine du serveur et à faire pivoter le secret du pool. Pour plus d’informations, consultez la section Sécurité du pool.

Avertissement :

Lorsque vous ajoutez ou supprimez un sujet administrateur de pool, cela peut prendre quelques secondes pour que tous les hôtes du pool acceptent les sessions SSH associées à ce sujet.

Audit

Le journal d’audit RBAC enregistre toute opération effectuée par un utilisateur connecté.

  • Le message enregistre l’ID d’objet et le nom d’utilisateur associés à la session qui a appelé l’opération.

  • Si un sujet appelle une opération qui n’est pas autorisée, l’opération est consignée.

  • Toute opération réussie est également enregistrée. Si l’opération a échoué, le code d’erreur est enregistré.

Commandes CLI du journal d’audit xe

La commande suivante télécharge tous les enregistrements disponibles du fichier d’audit RBAC dans le pool dans un fichier. Si le paramètre facultatif « since » est présent, il télécharge uniquement les enregistrements à partir de ce moment précis.

xe audit-log-get [since=timestamp] filename=output filename
<!--NeedCopy-->

Pour obtenir tous les enregistrements d’audit du pool

Exécutez la commande suivante :

xe audit-log-get filename=/tmp/auditlog-pool-actions.out
<!--NeedCopy-->

Pour obtenir des enregistrements d’audit du pool depuis un horodatage précis en millisecondes

Exécutez la commande suivante :

xe audit-log-get since=2009-09-24T17:56:20.530Z \
    filename=/tmp/auditlog-pool-actions.out
<!--NeedCopy-->

Pour obtenir des enregistrements d’audit du pool depuis un horodatage précis

Exécutez la commande suivante :

xe audit-log-get since=2009-09-24T17:56Z \
    filename=/tmp/auditlog-pool-actions.out
<!--NeedCopy-->
Utiliser RBAC avec l’interface de ligne de commande