Verwenden von RBAC mit der Befehlszeilenschnittstelle
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 folgenden 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. Sie können keine Rollen hinzufügen, entfernen oder ändern.
So zeigen Sie eine Liste der aktuellen Themen an
Führen Sie den folgenden Befehl aus:
xe subject-list
Mit diesem Befehl werden eine Liste der Citrix Hypervisor Benutzer, ihre UUID und die Rollen zurückgegeben, 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 Subjekt 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 über ihre UUID oder den Namen verweisen:
Führen Sie folgenden 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 Pooladministrator-Rolle beispielsweise ein Betreff mit der uuid b9b3d03b-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 Subjekts
Um die Rolle eines Benutzers zu ändern, müssen Sie sie aus der vorhandenen Rolle entfernen und zu 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 mit diesem Betreff verknüpft sind.
Überwachung
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, werden die Datensätze nur von diesem bestimmten Zeitpunkt heruntergeladen.
xe audit-log-get [since=timestamp] filename=output filename
So rufen Sie alle Überwachungsdatensätze aus dem Pool ab
Führen Sie den folgenden Befehl aus:
xe audit-log-get filename=/tmp/auditlog-pool-actions.out
So erhalten Sie Audit-Datensätze des Pools seit einem genauen Zeitstempel in Millisekunden
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