Berechtigungsverwaltung von Docker

Berechtigungsverwaltung von Docker

Ich habe einen Docker auf einem Server, der in unserer Gruppe gemeinsam genutzt wird. Allerdings stelle ich fest, dass andere den von mir erstellten Container löschen können. Das ist nicht sicher. Ich frage mich, ob es eine Möglichkeit gibt, Berechtigungen für Container festzulegen. So haben beispielsweise unter Linux verschiedene Benutzer unterschiedliche Berechtigungen für den Zugriff auf unterschiedliche Dateien.

Antwort1

Jeder, der direkten Zugriff auf den Docker-Socket hat (z. B. der Docker-Gruppe hinzugefügt wurde), ist effektiv Root auf dem Host. Sie können Container als Root ausführen, wobei das Host-Dateisystem und andere Namespaces in den Container abgebildet werden, und mit Berechtigungen, die es einem Container ermöglichen, als Root auf dem Host zu entkommen. Angesichts dieser Situation scheint die Besorgnis, dass sie Zugriff auf andere Container auf dem Host haben, fehlgeleitet.

Sie sollten sich darauf konzentrieren, nur denjenigen Zugriff auf die Docker-API zu gewähren, denen Sie als Systemadministrator auf dem Host vertrauen. Alle anderen sollten nur über Tools Zugriff haben, die die entsprechenden Sicherheitsmaßnahmen implementieren. Dies beinhaltet häufig die Konfiguration zentralisierter Protokollierungs- und Metriksysteme und die Bereitstellung von Änderungen nur über ein CI/CD-System.

Andernfalls können Sie versuchen, etwas wie OPA als Auth-Plugin auf der Docker-Engine zu konfigurieren. Dazu müssen Sie allerdings vom Zugriff auf den Docker-Socket über das Dateisystem auf die Verwendung für jeden Benutzer eindeutiger TLS-Anmeldeinformationen umsteigen.

Alternativ bietet Docker eine Unternehmenslösung, bei der diese Funktionalität in das Produkt integriert ist.

verwandte Informationen