Proxmox Domain Integration: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(23 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
 +
=Download=
 +
sudo -i
 +
cd /var/lib/libvirt/images
 +
wget http://192.168.<hs>.200:8000/win2k22-pmx-anbindung.tar.zst
 +
tar -I unzstd -xvf win2k22-pmx-anbindung.tar.zst
  
 
=Einbinden in die Domain=
 
=Einbinden in die Domain=
 
{{#drawio:proxmox-domain.png}}
 
{{#drawio:proxmox-domain.png}}
 
 
=Auf allen PMXen=
 
=Auf allen PMXen=
 
*SUDO
 
*SUDO
Zeile 18: Zeile 22:
 
*LDAPS-Funktion testen
 
*LDAPS-Funktion testen
 
  ldapsearch -xLLL + -H ldaps://win2k22.lab.int -D ldap@lab -w 123Start$ -b dc=lab,dc=int
 
  ldapsearch -xLLL + -H ldaps://win2k22.lab.int -D ldap@lab -w 123Start$ -b dc=lab,dc=int
 +
 +
=Anmerkung=
 +
AGDLP ist ein Gruppen- und Berechtigungsmodell in Microsoft Active Directory. Dabei werden Benutzerkonten (Accounts) zunächst Globalen Gruppen (Global Groups) zugeordnet, diese wiederum in Domänenlokale Gruppen (Domain Local Groups) geschachtelt, die schließlich Berechtigungen (Permissions) auf Ressourcen erhalten. Dieses Modell erlaubt eine saubere Trennung von Benutzerverwaltung und Rechtevergabe – funktioniert aber in Proxmox nicht, da verschachtelte Gruppen dort nicht aufgelöst werden.
  
 
=Anbinden der AD über LDAP (LDAPS)=
 
=Anbinden der AD über LDAP (LDAPS)=
Zeile 23: Zeile 30:
 
*Gehe zu: Datacenter → Permissions → Realms → Add: LDAP
 
*Gehe zu: Datacenter → Permissions → Realms → Add: LDAP
 
==LDAP-Konfiguration – Reiter „General“==
 
==LDAP-Konfiguration – Reiter „General“==
Realm:              spielwiese
+
{| class="wikitable"
Server:            win2k22.lab.int
+
! Feld !! Wert
Port:              636
+
|-
Mode:              LDAPS
+
| Realm || spielwiese
Base Domain NameOU=spielwiese,DC=lab,DC=int
+
|-
User Attribute:    sAMAccountName
+
| Server || win2k22.lab.int
Verify Certificate: (aktivieren, falls CA importiert wurde)
+
|-
Require TFA:        none
+
| Port || 636
Check connectionaktiviert lassen
+
|-
 +
| Mode || LDAPS
 +
|-
 +
| Base Domain Name || OU=spielwiese,DC=lab,DC=int
 +
|-
 +
| User Attribute || sAMAccountName
 +
|-
 +
| Verify Certificate || (aktivieren, falls CA importiert wurde)
 +
|-
 +
| Require TFA || none
 +
|-
 +
| Check connection || aktiviert lassen
 +
|}
 +
 
 +
==LDAP-Realm-Konfiguration (Sync Options)==
 +
{| class="wikitable"
 +
! Feld !! Wert
 +
|-
 +
| Bind User || CN=ldap,OU=dienste,OU=spielwiese,DC=lab,DC=int
 +
|-
 +
| Bind Password || 123Start$
 +
|-
 +
| Groupname attr. || sAMAccountName
 +
|-
 +
| User classes || user
 +
|-
 +
| Group classes || group
 +
|-
 +
| Scope || none
 +
|-
 +
| Enable new users || Yes (Default)
 +
|-
 +
| Remove vanished || alles deaktiviert lassen
 +
|}
 +
==Realm Sync – Felder zum Ausfüllen==
 +
{| class="wikitable"
 +
! Feld || Wert
 +
|-
 +
| Scope || Users and Groups
 +
|-
 +
| Enable new || Yes
 +
|-
 +
| Remove ACL || deaktiviert lassen
 +
|-
 +
| Remove Entry || deaktiviert lassen
 +
|-
 +
| Remove Properties || deaktiviert lassen
 +
|}
 +
==Preview sollte so aussehen==
 +
[[Datei:Pmx-ldap1.png]]
 +
==Danach Syncen==
 +
[[Datei:Pmx-ldap2.png]]
 +
==Realm Sync Job nach Bedarf==
 +
[[Datei:Pmx-ldap3.png]]
 +
==Benutzerberechtigung==
 +
*Gehe zu: Datacenter → Permissions → Add → Group Permission
 +
[[Datei:Pmx-ldap4.png]]
 +
 
 +
=Rollen für LG_Benutzer: Gucken auf alles, Schalten einer VM=
 +
 
 +
==1. Rollen anlegen (einmalig auf einem Proxmox-Host)==
 +
Auf einem beliebigen Cluster-Knoten als root:
 +
 
 +
<pre>
 +
pveum roleadd ReadOnly -privs "VM.Audit"
 +
pveum roleadd VMPowerOnly -privs "VM.PowerMgmt VM.Audit"
 +
</pre>
 +
 
 +
==2. Rechte auf alle VMs zum Anschauen geben==
 +
Alle Benutzer der Gruppe '''LG_Benutzer''' dürfen den Status aller VMs sehen:
 +
 
 +
*WebGUI: Datacenter → Permissions → Add
 +
 
 +
<pre>
 +
User:    spielwiese\LG_Benutzer
 +
Role:    ReadOnly
 +
Path:    /
 +
</pre>
  
==LDAP-Konfiguration – Reiter „Sync Options“==
+
==3. Rechte zum Ein-/Ausschalten einer bestimmten VM geben==
Bind User:          CN=ldap,OU=dienste,OU=spielwiese,DC=lab,DC=int
+
Zusätzliche Rechte nur für z. B. VM 101 (Start, Stop, Shutdown):
Bind Password:      123Start$
 
Groupname attr.:    sAMAccountName
 
User classes:      user
 
Group classes:      group
 
Scope:              Subtree
 
Enable new users:  Yes (Default)
 
Remove vanished:   alles deaktiviert lassen
 
  
Danach mit OK bestätigen.
+
*WebGUI: Datacenter Permissions Add
Jetzt kannst du unter „Permissions → Add“ Benutzer oder Gruppen wie „spielwiese\GG_Admins“ berechtigen.
 
  
=Benutzerberechtigung=
+
<pre>
*Gehe zu: Datacenter → Permissions → Add
+
User:   spielwiese\LG_Benutzer
*Füge einen Benutzer hinzu im Format:
+
Role:   VMPowerOnly
spielwiese\tic
+
Path:   /vms/101
*Wähle Role: PVEVMAdmin (oder passend)
+
</pre>
*Scope: / oder spezifischen Pfad auswählen
 
  
=Hinweise=
+
==Ergebnis==
*Das Realm wird nur synchronisiert, wenn ein Benutzer erstmals angemeldet wird
+
* '''LG_Benutzer''' sieht alle VMs im Webinterface
*Benutzergruppen können zentral im AD gepflegt werden
+
* Nur bei VM 101 ist der Power-Button aktiv
*Gruppenberechtigungen sind ebenfalls möglich (z. B. GG_Admins)
+
* Kein Zugriff auf Konsole, Snapshot, Konfiguration oder andere Aktionen

Aktuelle Version vom 11. Juli 2025, 07:13 Uhr

Download

sudo -i
cd /var/lib/libvirt/images
wget http://192.168.<hs>.200:8000/win2k22-pmx-anbindung.tar.zst
tar -I unzstd -xvf win2k22-pmx-anbindung.tar.zst

Einbinden in die Domain

Auf allen PMXen

  • SUDO
sudo
  • LDAP utils installieren
apt install ldap-utils
  • Stammzertifikat einbauen
cd /usr/local/share/ca-certificates/
wget https://web.samogo.de/dc.lab.int/lab.int-ca.crt
update-ca-certificates
  • DC als Nameserver eintragen
echo "nameserver 10.0.10.100" > /etc/resolv.conf

oder statisch:

echo "10.0.10.100 win2k22.lab.int win2k22" >> /etc/hosts
  • LDAPS-Funktion testen
ldapsearch -xLLL + -H ldaps://win2k22.lab.int -D ldap@lab -w 123Start$ -b dc=lab,dc=int

Anmerkung

AGDLP ist ein Gruppen- und Berechtigungsmodell in Microsoft Active Directory. Dabei werden Benutzerkonten (Accounts) zunächst Globalen Gruppen (Global Groups) zugeordnet, diese wiederum in Domänenlokale Gruppen (Domain Local Groups) geschachtelt, die schließlich Berechtigungen (Permissions) auf Ressourcen erhalten. Dieses Modell erlaubt eine saubere Trennung von Benutzerverwaltung und Rechtevergabe – funktioniert aber in Proxmox nicht, da verschachtelte Gruppen dort nicht aufgelöst werden.

Anbinden der AD über LDAP (LDAPS)

  • Proxmox WebGUI öffnen
  • Gehe zu: Datacenter → Permissions → Realms → Add: LDAP

LDAP-Konfiguration – Reiter „General“

Feld Wert
Realm spielwiese
Server win2k22.lab.int
Port 636
Mode LDAPS
Base Domain Name OU=spielwiese,DC=lab,DC=int
User Attribute sAMAccountName
Verify Certificate (aktivieren, falls CA importiert wurde)
Require TFA none
Check connection aktiviert lassen

LDAP-Realm-Konfiguration (Sync Options)

Feld Wert
Bind User CN=ldap,OU=dienste,OU=spielwiese,DC=lab,DC=int
Bind Password 123Start$
Groupname attr. sAMAccountName
User classes user
Group classes group
Scope none
Enable new users Yes (Default)
Remove vanished alles deaktiviert lassen

Realm Sync – Felder zum Ausfüllen

Feld Wert
Scope Users and Groups
Enable new Yes
Remove ACL deaktiviert lassen
Remove Entry deaktiviert lassen
Remove Properties deaktiviert lassen

Preview sollte so aussehen

Pmx-ldap1.png

Danach Syncen

Pmx-ldap2.png

Realm Sync Job nach Bedarf

Pmx-ldap3.png

Benutzerberechtigung

  • Gehe zu: Datacenter → Permissions → Add → Group Permission

Pmx-ldap4.png

Rollen für LG_Benutzer: Gucken auf alles, Schalten einer VM

1. Rollen anlegen (einmalig auf einem Proxmox-Host)

Auf einem beliebigen Cluster-Knoten als root:

pveum roleadd ReadOnly -privs "VM.Audit"
pveum roleadd VMPowerOnly -privs "VM.PowerMgmt VM.Audit"

2. Rechte auf alle VMs zum Anschauen geben

Alle Benutzer der Gruppe LG_Benutzer dürfen den Status aller VMs sehen:

  • WebGUI: Datacenter → Permissions → Add
User:    spielwiese\LG_Benutzer
Role:    ReadOnly
Path:    /

3. Rechte zum Ein-/Ausschalten einer bestimmten VM geben

Zusätzliche Rechte nur für z. B. VM 101 (Start, Stop, Shutdown):

  • WebGUI: Datacenter → Permissions → Add
User:    spielwiese\LG_Benutzer
Role:    VMPowerOnly
Path:    /vms/101

Ergebnis

  • LG_Benutzer sieht alle VMs im Webinterface
  • Nur bei VM 101 ist der Power-Button aktiv
  • Kein Zugriff auf Konsole, Snapshot, Konfiguration oder andere Aktionen