Verwenden von RBAC mit der CLI

RBAC xe CLI-Befehle

Verwenden Sie die folgenden Befehle, um mit Rollen und Themen zu arbeiten.

So listen Sie alle verfügbaren definierten Rollen auf

Führen Sie den Befehl aus:xe role-list

Dieser Befehl gibt eine Liste der aktuell definierten Rollen zurück, zum Beispiel:

    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

Hinweis:

Diese Liste der Rollen ist statisch. Rollen können nicht hinzugefügt, entfernt oder geändert werden.

So zeigen Sie eine Liste der aktuellen Themen an

Führen Sie den folgenden Befehl aus:

xe subject-list

Dieser Befehl gibt eine Liste der Citrix Hypervisor Benutzer, deren uuid und die Rollen zurück, denen sie zugeordnet sind:

    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

So fügen Sie einen Betreff zu RBAC hinzu

Um vorhandenen AD-Benutzern die Verwendung von RBAC zu ermöglichen, erstellen Sie eine Betreffinstanz in Citrix Hypervisor, entweder direkt für den AD-Benutzer oder für die enthaltenen Gruppen:

Führen Sie den folgenden Befehl aus, um eine neue Betreffinstanz hinzuzufügen:

xe subject-add subject-name=AD user/group

So weisen Sie einem Betreff eine RBAC-Rolle zu

Nachdem Sie einen Betreff hinzugefügt haben, können Sie ihn einer RBAC-Rolle zuweisen. Sie können auf die Rolle entweder durch ihre uuid oder den Namen verweisen:

Führen Sie den Befehl aus:

xe subject-role-add uuid=subject uuid role-uuid=role_uuid

Oder

xe subject-role-add uuid=subject uuid role-name=role_name

Mit dem folgenden Befehl wird der Pooladministratorrolle beispielsweise ein Betreff mit der uuidb9b3d03b-3d10-79d3-8ed7-a782c5ea13b4 hinzugefügt:

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

So ändern Sie die RBAC-Rolle eines Betreffs

Um die Rolle eines Benutzers zu ändern, müssen Sie diese aus der vorhandenen Rolle entfernen und einer neuen Rolle hinzufügen:

Führen Sie die folgenden Befehle aus:

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

Der Benutzer muss sich abmelden und wieder anmelden, um sicherzustellen, dass die neue Rolle wirksam wird. Dies erfordert die Berechtigung „Aktive Benutzerverbindungen abmelden“, die einem Pooladministrator oder Pooloperator zur Verfügung steht.)

Warnung:

Wenn Sie ein Pool-Admin-Betreff hinzufügen oder entfernen, kann es einige Sekunden dauern, bis alle Hosts im Pool SSH-Sitzungen akzeptieren, die diesem Betreff zugeordnet sind.

Auditing

Das RBAC-Überwachungsprotokoll zeichnet alle Vorgänge auf, die von einem angemeldeten Benutzer ausgeführt werden.

  • Die Nachricht zeichnet die Betreff-ID und den Benutzernamen auf, die der Sitzung zugeordnet sind, die den Vorgang aufgerufen hat.

  • Wenn ein Betreff einen Vorgang aufruft, der nicht autorisiert ist, wird der Vorgang protokolliert.

  • Jede erfolgreiche Operation wird ebenfalls aufgezeichnet. Wenn der Vorgang fehlgeschlagen ist, wird der Fehlercode protokolliert.

Überwachungsprotokoll-XE-CLI-Befehle

Mit dem folgenden Befehl werden alle verfügbaren Datensätze der RBAC-Überwachungsdatei im Pool in eine Datei heruntergeladen. Wenn der optionale Parameter ‘since’ vorhanden ist, lädt er nur die Datensätze von diesem bestimmten Zeitpunkt herunter.

xe audit-log-get [since=timestamp] filename=output filename

So erhalten Sie alle Überwachungsdatensätze aus dem Pool

Führen Sie den folgenden Befehl aus:

xe audit-log-get filename=/tmp/auditlog-pool-actions.out

So erhalten Sie Überwachungsdatensätze des Pools seit einem genauen Millisekundenzeitstempel

Führen Sie den folgenden Befehl aus:

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

So erhalten Sie Audit-Datensätze des Pools seit einem genauen Minutenzeitstempel

Führen Sie den folgenden Befehl aus:

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

Verwenden von RBAC mit der CLI