Proxmox Domain Integration: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(27 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}}
Zeile 6: Zeile 12:
 
*LDAP utils installieren
 
*LDAP utils installieren
 
  apt install ldap-utils
 
  apt install ldap-utils
*Stammzertifkat einbauen
+
*Stammzertifikat einbauen
  cd /usr/local/share/ca-certificates/
+
cd /usr/local/share/ca-certificates/
 
+
wget https://web.samogo.de/dc.lab.int/lab.int-ca.crt
  wget https://web.samogo.de/dc.lab.int/lab.int-ca.crt
+
  update-ca-certificates
   
+
*DC als Nameserver eintragen
  update-ca-certificates
+
echo "nameserver 10.0.10.100" > /etc/resolv.conf
*dc als nameserver eintragen
+
oder statisch:
oder  
+
  echo "10.0.10.100 win2k22.lab.int win2k22" >> /etc/hosts
  echo 10.0.10.100 win2k22.lab.int win2k22 >> /etc/hosts
+
*LDAPS-Funktion testen
*check
 
 
  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
=Anbinden der AD über LDAP=
+
 
 +
=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“==
 +
{| class="wikitable"
 +
! 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)==
 +
{| 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>
 +
 
 +
==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
 +
 
 +
<pre>
 +
User:    spielwiese\LG_Benutzer
 +
Role:    VMPowerOnly
 +
Path:    /vms/101
 +
</pre>
 +
 
 +
==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

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