AWS SCP und Account Root User: Sicherheit durch Einschränkung
Der AWS Account Root User besitzt unbegrenzte Macht über einen Account. Doch in modernen Organisationen wird er nur für wenige Ausnahmen benötigt. Service Control Policies (SCPs) sind der Schlüssel, um dieses Risiko zu minimieren.
Ein grundlegendes Prinzip der IT-Sicherheit ist das "Principle of Least Privilege". Der Root User in einem AWS-Account widerspricht diesem Prinzip diametral, da er standardmäßig alles darf und seine Berechtigungen nicht durch IAM-Policies eingeschränkt werden können. Deshalb empfiehlt AWS dringend, den Root User nicht für tägliche Aufgaben zu verwenden.
Wann wird der Root User überhaupt benötigt?
In einer gut verwalteten AWS-Organisation gibt es nur sehr wenige Szenarien, in denen der Zugriff mit dem Root User unvermeidbar ist. Dazu gehören unter anderem:
- Wiederherstellung von S3-Berechtigungen: Wenn eine Bucket Policy so konfiguriert wurde, dass sie versehentlich alle Zugriffe (inklusive Administratoren) aussperrt, kann nur der Root User diese Policy löschen oder ändern.
- Änderung des AWS-Supportplans: Bestimmte Änderungen an Verträgen oder Support-Leveln erfordern Root-Rechte.
- Schließen eines Accounts: Das endgültige Löschen eines Member-Accounts.
Für fast alle anderen administrativen Aufgaben sollten IAM-User oder besser IAM-Rollen mit AdministratorAccess verwendet werden.
Root User einschränken mit SCPs
Da wir den Root User nicht vollständig deaktivieren können (er ist untrennbar mit dem Account verbunden), müssen wir sicherstellen, dass er nicht missbräuchlich verwendet wird. Hier kommen Service Control Policies (SCPs) ins Spiel.
SCPs sind Teil von AWS Organizations und erlauben es, Berechtigungen auf Account-Ebene zentral zu steuern. Eine SCP kann Aktionen verbieten, selbst wenn der User im Account (inklusive Root!) eigentlich die Erlaubnis dazu hätte. Das "Deny" in einer SCP gewinnt immer.
Praxisbeispiel: Root Access Deny
Eine effektive Strategie ist es, eine SCP auf die gesamte Organisation oder bestimmte OUs (Organizational Units) anzuwenden, die alle Aktionen für den Root User verbietet.
Damit wird der Root User effektiv "kaltgestellt". Sollte doch einmal einer der oben genannten Notfälle eintreten (z.B. S3 Bucket Lockout), kann ein Administrator der AWS Organization die SCP kurzzeitig vom betroffenen Account lösen, die Reparatur durchführen und die Policy wieder anhängen.
Beispiel-Code
Einen konkreten Terraform-Code für eine solche SCP finden Sie in meinem GitHub-Repository. Dieses Beispiel zeigt, wie man den Root-Zugriff standardmäßig blockiert:
GitHub: AWS SCP Examples / Root UserFazit
Die Absicherung des Root Users ist ein kritischer Schritt beim Aufbau einer sicheren AWS-Landezone. Durch den Einsatz von SCPs können Organisationen sicherstellen, dass dieser mächtige Zugang nicht für alltägliche Aufgaben genutzt wird und potenzielle Angriffsvektoren minimiert werden.
Sicherheit Ihrer Cloud-Umgebung prüfen?
Wir analysieren Ihre AWS-Organisation und implementieren Sicherheitsstandards nach Best Practices.
Security Check anfordern