XenServer

RBAC mit der CLI verwenden

RBAC xe CLI-Befehle

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

Alle verfügbaren definierten Rollen auflisten

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
<!--NeedCopy-->

Hinweis:

Diese Rollenliste ist statisch. Sie können keine Rollen hinzufügen, entfernen oder ändern.

Eine Liste der aktuellen Subjekte anzeigen

Führen Sie den folgenden Befehl aus:

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

Dieser Befehl gibt eine Liste der XenServer®-Benutzer, deren UUID und die ihnen zugewiesenen Rollen zurück:

    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-->

Ein Subjekt zu RBAC hinzufügen

Um bestehenden AD-Benutzern die Verwendung von RBAC zu ermöglichen, erstellen Sie eine Subjektinstanz in XenServer, entweder direkt für den AD-Benutzer oder für die enthaltenden Gruppen:

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

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

Eine RBAC-Rolle einem Subjekt zuweisen

Nach dem Hinzufügen eines Subjekts können Sie es einer RBAC-Rolle zuweisen. Sie können die Rolle entweder über ihre UUID oder ihren Namen referenzieren:

Führen Sie den Befehl aus:

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

Oder

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

Zum Beispiel fügt der folgende Befehl ein Subjekt mit der UUID b9b3d03b-3d10-79d3-8ed7-a782c5ea13b4 zur Rolle des Pool-Administrators hinzu:

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

So ändern Sie die RBAC-Rolle eines Subjekts

Um die Rolle eines Benutzers zu ändern, ist es notwendig, ihn aus seiner bestehenden Rolle zu entfernen und ihn einer neuen Rolle hinzuzufü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
<!--NeedCopy-->

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 Pool-Administrator oder Pool-Operator zur Verfügung steht.

Wenn Sie die Pool-Admin-Rolle von einem Benutzer entfernen, ziehen Sie in Betracht, auch das Root-Passwort zu ändern und das Pool-Geheimnis zu rotieren. Weitere Informationen finden Sie unter Pool-Sicherheit.

Warnung:

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

Überwachung

Das RBAC-Audit-Protokoll zeichnet jeden Vorgang auf, der von einem angemeldeten Benutzer ausgeführt wird.

  • Die Nachricht protokolliert die Subjekt-ID und den Benutzernamen, die der Sitzung zugeordnet sind, die den Vorgang aufgerufen hat.

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

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

Audit-Protokoll xe CLI-Befehle

Der folgende Befehl lädt alle verfügbaren Datensätze der RBAC-Audit-Datei im Pool in eine Datei herunter. Wenn der optionale Parameter „since“ vorhanden ist, werden nur die Datensätze ab diesem bestimmten Zeitpunkt heruntergeladen.

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

So rufen Sie alle Audit-Datensätze aus dem Pool ab

Führen Sie den folgenden Befehl aus:

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

So rufen Sie Audit-Datensätze des Pools seit einem präzisen Millisekunden-Zeitstempel ab

Führen Sie den folgenden Befehl aus:

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

So rufen Sie Audit-Datensätze des Pools seit einem präzisen Minuten-Zeitstempel ab

Führen Sie den folgenden Befehl aus:

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