AWS Single Sign-On und Multi-Account Cloud Setup

August 19, 2019

Mit 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 ge­samt­heit­lich 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:

AWS Organizations mit Organizational Units in einem AWS Multi-Account Cloud Setup

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!

AWS Single Sign-On Willkommensseite vor der Aktivierung

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.

AWS Single Sign-On Startseite nach Aktivierung

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:

AWS Single Sign-On Benutzerverwaltung mit Useraccounts und Gruppen

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.

AWS Single Sign-On E-Mail mit Link zur Einladung

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.

AWS Single Sign-On Permission Sets

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.

AWS Single Sign-On Permission Set Auswahl der IAM Policy

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.

AWS Single Sign-On Permission Set und AWS Account Zuordnung

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.

AWS Single Sign-On Permission Set und Gruppenzuordnung

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.

AWS Single Sign-On Permission Set Zuordnung

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.

AWS Single Sign-On Login Webseite

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.

AWS Single Sign-On und Temporäre Zugangsdaten und Credentials

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.

photo of Sebastian

Sebastian is a Senior Cloud Consultant at superluminar GmbH, AWS Serverless Hero and AWS Certified Solutions Architect. He writes here in German about AWS, Serverless, Software development, Go, TypeScript and React. English Articles can be found on his Website sbstjn.com and he can be found on Twitter under @sbstjn.