AWS Single Sign-On und Multi-Account Cloud Setup
August 19, 2019Mit den Features der AWS Organizations lassen sich eine Vielzahl an AWS Konten in einem sogenannten AWS Multi-Account Setup verwalten. Unserer Überzeugung und Erfahrung nach bringt das Verwenden unterschiedlicher AWS Konten für unterschiedliche Use-Cases viele grundlegende Vorteile und Sicherheiten im täglichen Umgang mit AWS mit sich. Es gehört daher zu einem nachhaltigen AWS Cloud Setup. Um einen schnellen Zugriff auf die vorhandenen AWS Konten zu ermöglichen, bietet AWS den AWS Single Sign-On Service als Erweiterung für Multi-Account Setups an.
Ihr könnt den Service für Single Sign-On in euren Konten sowohl mit Landing Zone wie auch mit AWS Control Tower installieren. Beide Lösungen zielen auf ein gesamtheitlich Setup ab, falls euch das im ersten Schritt zu komplex erscheint, könnt ihr AWS Single Sign-On auch einzeln und losgelöst betreiben.
Wir erklären euch in diesem Artikel was ihr dafür konfigurieren müsst, alternativ könnt ihr es auch von uns in einem AWS Cloud Setup Workshop erlernen.
Grundlagen
Als erstes muss eines eurer AWS Konten in ein sogenanntes Master-Konto umgewandelt werden. Nutzt ihr bereits AWS Organizations, so habt ihr dies schon erledigt! Nutzt ihr mehrere AWS Konten ohne AWS Organizations, so sind hier noch ein paar kleine Schritte vorab notwendig.
Das Master-Konto ist das AWS-Konto, welches zur Erstellung und Verwaltung der Organisation verwendet wird. Von eurem Master-Konto aus können neue Accounts in der Organisation erstellt werden oder Einladungen an bestehende Accounts verschickten werden, damit diese der Organisation beitreten können.
Das Master-Konto ist außerdem das Zahlungskonto. Über dieses Konto werden alle Rechnungen und Gebühren bezahlt, die für das Master-Konto und alle andere Konten in eurer Organisation auflaufen.
Vorsicht: Das einmal festgesetzte Master-Konto eurer Organisation könnt ihr nicht mehr ändern.
Master-Konto Konfigurieren
Die notwendigen Schritte zum Konfigurieren des Master-Kontos sind ausführlich in der Liste der Häufig gestellten Fragen zu AWS Organizations aufgezeigt. Habt ihr diese Schritte erfolgreich durchgeführt, könnt ihr nun eure vorhandenen AWS Accounts verwalten und sogar zusätzlich hierarchisch in “Gruppen” sortierten um Zugehörigkeiten besser sichtbar zu machen. AWS nennt dies Organizational Units:
Um nun den AWS Single Sing-On Service zu aktivieren, müsst ihr euch in eurer Master-Konto einloggen und dann über die Service-Auswahl den Eintrag Single Sign-On auswählen.
Single Sign-On aktivieren
Beim ersten Aufruf begrüßt euch AWS mit einer der üblichen Willkommensseiten und einer kleinen Übersicht der wichtigsten Features. Solltet ihr den Wechsel in euer Master-Konto vergessen haben, steht hier ein Hinweis, dass AWS Single Sign-On nur dort aktiviert werden kann.
Wichtig: Die Nutzung von AWS Single Sign-On ist generell kostenlos! Es fallen keinerlei Kosten für Benutzeraccounts oder -Gruppen an; auch spielt die Anzahl der verwalteten AWS Konten keine Rolle. Es gibt also keinen Grund nicht direkt mit der Konfiguration von AWS Single Sign-On zu beginnen!
Mit einem Klick auf den zentralen Button, und nach einer kurzen Wartezeit, könnt ihr nun auf den Service zugreifen. Mit den üblichen Features einer Benutzerverwaltung – wie Gruppen und Benutzeraccounts – lassen sich hier nun einfache bis komplexe Szenarien zur Zugriffsverwaltung abbilden.
Hinweis: Bei Bedarf lässt sich AWS Single Sign-On auch mit bestehenden Benutzerverzeichnissen wie Microsoft Active Directory verbinden und nutzen.
Benutzer und Gruppen verwalten
Die Verwaltung von Benutzeraccounts und -Gruppen ist eine Erweiterung für den bereits vorhandenen AWS Identity and Access Management Service, bzw. baut auf diesem auf.
Wie für einen Single Sign-On Service (oder auch Einmalanmeldung wie Wikipedia schreibt; oder abgekürzt SSO) üblich, bietet auch AWS eine zentrale Webseite zum Login an. Die URL bzw. die Subdomain zum Login wird initial automatisch generiert, kann aber über die AWS Console einmalig angepasst werden. Ein nachträgliches ändern ist nicht möglich!
Erstellt zum Start am besten eine Gruppe für Administratoren; schließlich wollt ihr erstmal uneingeschränkt auf euer Unterkonto zugreifen. Die verwalteten Gruppen haben zu Beginn noch keinerlei Verbindung zu IAM Zugriffsrechten, diese wird im nächsten Schritt erstellt:
Habt ihr eure Benutzergruppe erstellt, könnt ihr einen neuen Benutzer hinzufügen und diesen der Gruppe zuordnen. Nachdem ihr den Benutzer mit Namen und E-Mail Adresse angelegt habt, verschickt AWS eine E-Mail mit einem Link zum Aktivieren des Accounts.
Habt ihr bereits eure URL für den Login angepasst, so wird diese natürlich auch in der E-Mail gezeigt. Nach einem Klick auf den Button in der E-Mail wird der Benutzeraccount aktiviert und ihr könnt ihn zum Login auf eurer SSO Seite nutzen. Einen Zugriff auf eure AWS Konten ist aber noch nicht möglich.
Zugriff aus AWS Konto verwalten
Die Verwaltung der Benutzeraccounts und -Gruppen ist losgelöst von der eigentlichen Zugriffsverwaltung. Mit den sogenannten Permission Sets definiert ihr nun die jeweilige IAM Berechtigungen, die eure SSO Benutzeraccounts oder -Gruppen für ausgewählte AWS Konten besitzen können.
Als erstes erstellt ihr ein neues Permission Set. Dies ist bei einem einfachen Setup nur eine Referenz auf eine bereits bestehende IAM Policy. Da ihr zuvor eine Benutzergruppe für den administrativen Zugriff erstellt habt, wählt ihr natürlich die passende AdministratorAccess -Policy aus.
Nachdem ihr nun Benutzer, Gruppen und ein Permission Set angelegt habt, könnt ihr diese miteinander verknüpfen. Hierzu wechselt ihr auf den Reiter AWS Organisation und wählt das AWS Konto, für das ihr den Zugriff konfigurieren wollt, aus.
Die Zuordnung kann jederzeit nachträglich angepasst und verwaltet werden. Startet also ruhig klein und wählt nur einen Account aus, falls ihr euch unsicher seid, wie eurer finales Setup aussehen soll.
Nach dem Setzen der Checkbox am gewünschten AWS Konto und einem Klick auf den blauen Button, könnt ihr nun Benutzer oder Gruppen auswählen die Zugriff auf das AWS Konto erhalten sollen. Natürlich solltet ihr dort die Gruppe der Administratoren auswählen.
Im folgenden und letzten Schritt definiert ihr noch welches vorhandene Permission Set für die ausgewählte Gruppe und das AWS Konto genutzt werden soll.
Rückblick: Die notwendigen Schritte mögen auf den ersten Blick komplex wirken, aber eigentlich habt ihr nur einen Benutzer angelegt und diesen einer Gruppe zugeordnet. Danach habt ihr ein Permission Set als Verbindung zu einer IAM Policy angelegt und danach konfiguriert, dass Benutzer, die der Gruppe zugeordnet sind, dieses Permission Set nutzen dürfen, um auf das AWS Konto zugriff zu bekommen.
Single Sign-On Login
Habt ihr bereits auf den Link in der E-Mail mit der Einladung zum AWS Single Sign-On geklickt? Falls nicht, ist jetzt der richtige Moment dazu. Falls ihr eure Einladung bereits angenommen habt, solltet ihr nun nach dem Login die Liste der verfügbaren AWS Konten sehen.
Die AWS Konten sind nach ihrer Account ID sortiert und nach einem Klick auf den jeweiligen Account zeigt euch AWS nun eine Liste der verfügbaren Permission Sets für den Zugriff an.
Neben dem Permission Set findet ihr zwei Links; einer führt euch zur AWS Console und der andere ermöglicht es temporäre Zugangsdaten für den Zugriff auf das jeweilige AWS Konto zu erhalten. Wie ihr vielleicht bereits vermutet habt, könnt ihr auch unterschiedliche Permission Sets für identische Gruppen und AWS Konten konfigurieren.
Temporäre Zugangsdaten
Einer der größten Vorteile von AWS Single Sign-On ist die einfache und systemweite Konfiguration der temporären Zugangsdaten für eure AWS Konten. Diese generiert AWS bei Bedarf, und sie haben eine konfigurierbare Laufzeit von bis zu maximal 12 Stunden.
Hinweis: Die Laufzeit der temporären Zugangsdaten kann für jedes Permission Set individuell konfiguriert werden! Ihr könnt also den administrativen Zugang auf eure AWS Konten mit einer kurzen Gültigkeit versehen und einen lesenden Zugriff mit einem größeren Zeitfenster konfigurieren.
Ausblick
Habt ihr noch Fragen zu AWS Single Sign-On oder wollt wissen auf welche Dinge ihr zusätzlich bei einem Multi-Account Setup achten solltet? Genau dafür bieten wir zwei Workshops zum Thema AWS Cloud Setup an!
Im “Cloud Setup” Workshop besprechen wir mit euch vor eurem Einsatz oder Neustart von AWS das optimale Setup, und im “Cloud Optimierung” Workshop werfen wir einen detaillierten Blick auf eurer bestehendes Setup und helfen euch bei der Priorisierung und Behebung von Schwachstellen, um ein nachhaltiges Multi-Account AWS Setup zu gewährleisten.