Gibt es in AWS eine Möglichkeit, einzuschränken, welche Art von Rollen und Richtlinien eine andere Rolle erstellen kann?
In meinem Setup habe ich zwei Arten von Administratorrollen: AccountAdmin
und InfraAdmin
. Die AccountAdmin
eine hat mehr Rechte, während die andere InfraAdmin
nur die nötigen Rechte hat, um das Tagesgeschäft auszuführen.
Jetzt habe ich eine Situation, in der die InfraAdmin
Rolle Rechte zum Erstellen von Paketen benötigt, in denen ich eine EC2-Instanz, eine RDS-Datenbank und einen S3-Bucket habe (leicht vereinfachte Beschreibung, damit wir uns auf das Wesentliche konzentrieren können). Zusammen bilden diese einen logischen Einzeldienst und ich habe mehrere dieser Pakete, die nicht auf die RDS-Datenbanken oder S3-Buckets anderer zugreifen können sollten. Um der EC2-Instanz den Zugriff auf ihre RDS-Datenbank und ihren S3-Bucket zu ermöglichen, erstelle ich ein Instanzprofil, eine Rolle und Richtlinien. Derzeit muss ich dafür Rechte zum InfraAdmin
Erstellen von Rollen und Richtlinien erteilen, was das Prinzip der geringsten Privilegien zerstört und die Trennung zwischen AccountAdmin
beiden InfraAdmin
sinnlos macht.
Gibt es eine Möglichkeit, die Art der Richtlinien und Rollen einzuschränken, die eine InfraAdmin
Rolle erstellen kann, sodass sie nicht dazu verwendet werden kann, sich selbst zusätzliche Rechte zu gewähren oder neue, mächtigere Rollen zu erstellen?
Antwort1
Ja, Sie können AWS Organizations verwenden, um ein richtlinienbasiertes Governance-Framework einzurichten, mit dem Sie Regeln und Richtlinien festlegen können, die für alle AWS-Konten in Ihrer Organisation gelten. Auf diese Weise können Sie steuern, welche Dienste und Aktionen Ihre InfraAdmin-Rolle verwenden kann, und die Richtlinien und Rollen einschränken, die sie erstellen kann.
Dazu müssen Sie zunächst eine Organisationseinheit (OU) für Ihre InfraAdmin-Rolle erstellen und dieser OU dann eine Service Control Policy (SCP) zuordnen, die die Services und Aktionen angibt, die die InfraAdmin-Rolle verwenden darf. Anschließend können Sie AWS Identity and Access Management (IAM) verwenden, um die Richtlinien und Rollen zu definieren, die die InfraAdmin-Rolle erstellen darf, und diese Richtlinien der InfraAdmin-Rolle zuordnen.
Sie könnten beispielsweise einen SCP erstellen, der es der InfraAdmin-Rolle erlaubt, nur die Dienste EC2, RDS und S3 zu verwenden, und die Aktionen, die sie für diese Dienste ausführen kann, auf diejenigen beschränken, die zum Erstellen und Verwalten der von Ihnen beschriebenen Pakete erforderlich sind. Anschließend könnten Sie IAM verwenden, um Richtlinien zu erstellen, die es der InfraAdmin-Rolle ermöglichen, Instanzprofile, Rollen und Richtlinien für diese Dienste zu erstellen und zu verwalten, und diese Richtlinien der InfraAdmin-Rolle zuordnen. Dadurch könnte die InfraAdmin-Rolle die erforderlichen Ressourcen für die Pakete erstellen, ohne sich selbst zusätzliche Rechte erteilen oder neue, leistungsstärkere Rollen erstellen zu können.
Insgesamt können Sie durch die Verwendung von AWS Organizations und IAM auf diese Weise ein feineres und sichereres Zugriffskontrollsystem für Ihre AWS-Konten und -Ressourcen einrichten.