Seite 1 von 1

Berechtigungen dokumentieren

Verfasst: 12.05.2009, 08:20
von flaesch
Hallo,

wie kann ich die vergebenen Berechtigungen am besten dokumentieren?
Mittlerweile haben wir eine ziemlich komplexe Rechtestruktur.
Als ich letztens eine VM aus dem Inventory entfernen musste und wieder hinzugefügt habe, waren natürlich auch die Berechtigungen weg. Nun suche ich nach einer Möglichkeit diese zu dokumentieren. Vielen Dank im voraus.

flaesch

Verfasst: 12.05.2009, 08:49
von mangold
Das hört sich so an, als ob Ihr Berechtigungen auf VMs setzen würdet!? Ich würde Grundsätzlich Empfehlen nur Berechtigungen auf Container zu setzen, dann vermeidest du in deinem speziellen Fall zukünftig Probleme.

Ansonsten habe ich direkt zu deiner Frage keine Antwort.

Verfasst: 12.05.2009, 08:57
von Oculus
Genau - zum einen auf Container und zum andern würde ich verschiedene, entsprechend der zu vergebenen Rechte, Gruppen anlegen, die ich dann mit den Benutzern 'fülle'. So bleibt dir die Übersicht am besten erhalten, weil du einfach eine überschaubare Menge an Gruppen hast.

Verfasst: 12.05.2009, 10:25
von mangold
eigentlich gilt zusammengefasst das Gleich wie z.B. bei Dateisystemen:

Gruppen verwenden und ACLs nur auf Container setzen :D

Lösung

Verfasst: 12.05.2009, 13:19
von flaesch
Danke für die Antworten. Ja, Berechtigungen auf einzelne VMs. Leider lassen sich Eure Vorschläge so bei uns nicht realisieren, da ich dann für fast jede VM eine Gruppe und einen Container (Ordner) anlegen müsste. Viele Admins für viele VMs.
Hier eine Lösung über Powershell-Script und VI Toolkit. Die reicht mir:

Code: Alles auswählen


Connect-VIServer <VCenter-Server>

filter Get-Permissions{
    $report = @()
   $object = Get-View -Id $_.ID
   if($object.Name -ne "vm" -and $object.Name -ne "host"){
      $path = get-path $object
      $perms = $authMgr.RetrieveEntityPermissions($object.MoRef, $false)

      if($perms.Count -gt 0){
         foreach($perm in $perms){
            foreach($role in $authMgr.RoleList){
                  if($role.RoleId -eq $perm.RoleId){
                    $row = "" | select roleName, objName, principalName
               $row.roleName = $role.Name
               $row.objName = $path
               $row.principalName = $perm.Principal
               $report += $row
              }
            }
         }
      }
   }
   $report
}

function get-path($entity){
   $path = $entity.Name
   while($entity.Parent -ne $null){
      $entity = Get-View -Id $entity.Parent
      if($entity.Name -ne "vm" -and $entity.Name -ne "host"){
         $path = $entity.Name + "\" + $path
      }
   }
   return $path
}

$authMgr = Get-View AuthorizationManager

Get-Inventory | Get-Permissions | Export-Csv -Path "<LW:>\permissions.csv" -NoTypeInformation


Verfasst: 12.05.2009, 21:07
von Saturnous
Das ist aus dem pool and role guide ... es gehört sich da eine Quellangabe zu setzen.

?

Verfasst: 13.05.2009, 13:01
von flaesch
keine ahnung was das pool and role guide ist???
ich habe das script aus verschiedenen forenbeiträgen zusammengebastelt.