Zugriff auf Ihr AWS-Konto

(Nicolo Marchesi) (3. Dezember 2020)

So greifen Sie auf Ihr AWS-Konto zu

Hey there. Sie haben gerade Ihr erstes AWS-Konto erstellt und können es kaum erwarten, in all die aufregenden Services und Technologien einzutauchen, die AWS Ihnen bietet, um mit dem Aufbau der nächsten großen Sache zu beginnen. Aber warten Sie eine Sekunde. Werden Sie sich mit Ihren Anmeldeinformationen für das Root-Konto anmelden? Oder ist es besser, einen neuen Benutzer zu generieren? Oder vielleicht eine Rolle verwenden?

Verlangsamen Sie eine Minute, und am Ende des Blog-Beitrags verspreche ich Ihnen, dass Sie den besten Weg wählen können Um sicher auf Ihr AWS-Konto zuzugreifen, .

Beachten Sie jedoch, dass wir den Zugriff auf ein einzelnes aws-Konto in Betracht ziehen, da wir beim nächsten Mal Strategien für mehrere Konten behandeln . Wir müssen gehen, bevor wir rennen können, oder?

Konten und Ressourcen

Jede unglaubliche Reise mit AWS beginnt mit Konten und Ressourcen, und ein Konto ist wie ein leeres Kästchen.

Die Dinge, die Sie in Ihr Konto einfügen können, können alles sein, was mit den Diensten von AWS zu tun hat, z. B. Netzwerke, virtuelle Maschinen, Container usw.

Aber das Wichtigste ist das Standardmäßig teilt kein Konto eine Ressource, sodass zwischen zwei verschiedenen AWS-Konten nichts ein- oder ausgehen kann. Dies ist ideal, um Ihre Workloads aufzuteilen und sicherzustellen, dass nur die richtigen Personen auf alles zugreifen.

IAM – Identität & Zugriffsverwaltung

In jedem Konto schützt IAM die Ressourcen in Ihrem Konto, indem verwaltet wird, welche Entitäten einige Aktionen für diese Ressourcen ausführen können:

  • WHO – Welche Identitäten
  • WAS – kann einige Aktionen ausführen
  • WO – auf einigen Ressourcen
  • WIE – und einige Bedingungen erfüllt

Ich definiere diese als 4W , und im Moment müssen wir uns nur auf die ersten 3 konzentrieren.

Am Anfang – der Root-Benutzer

Wenn Sie sich nach dem Erstellen des AWS-Kontos angemeldet haben, haben Sie dieses Konto verwendet. Root-Benutzer .

Das unterscheidet sich von den anderen, die Sie erstellen können, weil:

  • Erstellt bei der Kontoregistrierung
  • Sie Sie können sich mit der E-Mail-Adresse und dem Kennwort anmelden, mit denen Sie das Konto erstellt haben.
  • Sie können auf die Rechnungsinformationen zugreifen
  • Es hat uneingeschränkten Zugriff auf alle Ressourcen in Ihrem Konto

Dieser Benutzer ist sehr wichtig, und Sie sollten ihn so gut wie möglich schützen. Es ist ein Superadministrator für Steroide, da es die Rechnungsinformationen anzeigen und alles mit all Ihren Ressourcen erledigen kann.

Das erste, was zu tun ist, sollte sein:

  • Aktivieren Sie die Multi-Faktor-Authentifizierung (MFA) und speichern Sie den QR-Code an einem sicheren Ort.
  • Löschen Sie alle Zugriffsschlüssel für diesen Benutzer, um den programmgesteuerten Zugriff zu deaktivieren (Sie würden dies sowieso nicht benötigen!).

Als Nächstes sollten Sie entscheiden, wie Sie von nun an auf dieses Konto zugreifen.

Von AWS aus

Konzentrieren wir uns zunächst auf das, was AWS uns bietet, ohne auf Dritte angewiesen zu sein. Dies ist besonders nützlich, wenn wir uns auf dieses einzelne Konto konzentrieren, da wir die drei IAM-Bausteine ​​beherrschen müssen: Benutzer, Gruppen und Rollen.

Benutzer

Erinnern Sie sich an den Root-Benutzer? IAM-Benutzer sind vom gleichen Entitätstyp, unterscheiden sich jedoch vom Root-Benutzer. Sie haben keine Standardabrechnungsberechtigungen und keinen Administratorzugriff (es sei denn, Sie geben ihnen … was Sie nicht sollten).

Mit einem Benutzer können wir eine Entität erstellen, die sich bei der AWS-Webkonsole anmelden kann oder mit programmgesteuertem Zugriff über eine Reihe von Anmeldeinformationen (einen Zugriffsschlüssel und einen geheimen Zugriffsschlüssel), die festgelegt sind und sich im Laufe der Zeit nicht ändern. Zusammen mit SSH / HTTPS-Schlüsseln für AWS CodeCommit oder Anmeldeinformationen für Amazon Keyspaces (für Apache Cassandra)

  • Anmeldeinformationen für die Webkonsole
  • Zugriffs- und geheime Schlüsselanmeldeinformationen für den programmgesteuerten Zugriff auf APIs, CLI und SDK
  • SSH / HTTPS-Schlüssel für AWS CodeCommit
  • Anmeldeinformationen für Amazon Keyspaces (für Apache Cassandra)

Granularer Zugriff

Mit einem IAM-Benutzer ist es durchaus möglich, einen oder mehrere Zugriffsschlüssel zu aktivieren, je nachdem, wie sich dieser Benutzer verhalten soll.Beispiel:

  • Ein Datenanalyst, der nur die Analysen auf der Webkonsole überprüfen muss, jedoch keinen programmgesteuerten Zugriff benötigt.
  • Serverlose DevOps, die Aktionen auf dem Computer ausführen müssen Konsole und Verwendung der CLI zur Bereitstellung einiger Ressourcen benötigen beide Zugriffsrechte.
  • Ein Entwickler, der an einem einzelnen Repository arbeitet und nicht mit AWS-Ressourcen interagieren muss, verfügt über SSH / HTTPS-Schlüssel für AWS CodeCommit.

Beachten Sie, dass IAM-Benutzeranmeldeinformationen ist ein großes Nein-Nein, , da dies der erste Schritt ist, um Anmeldeinformationen und Governance zu verlieren und sich Sicherheitsbedrohungen auszusetzen.

Sie tun es nicht. Sie möchten nicht, dass Ihr Produktionskonto vollständig zugunsten einer vollständigen Gruppe von Bitcoin-Minern gelöscht wird?

Sicherheit erzwingen

Eine weitere coole Funktion von AWS IAM-Benutzern besteht darin, das Kennwort erzwingen zu können Komplexität (die standardmäßig mit einer Länge zwischen 8 und 128 Zeichen ziemlich hoch ist cters, mindestens 3 Sonderzeichen und nicht identisch mit Ihrem AWS-Kontonamen oder Ihrer E-Mail-Adresse) und der Ablaufzeit des Kennworts, um sicherzustellen, dass Ihre Benutzer das Kennwort nach einer bestimmten Zeit ändern.

Oben Davon können Sie MFA mit verschiedenen Geräten aktivieren:

  • Ein virtuelles MFA-Gerät mit einer Authentifizierungs-App, die auf Ihrem mobilen Gerät oder Computer installiert ist.
  • Ein U2F-Sicherheitsschlüssel wie ein YubiKey oder ein anderes kompatibles U2F-Gerät
  • Ein anderes Hardware-MFA-Gerät wie das Gemalto-Token

Im Allgemeinen gibt es einen detaillierten Ansatz, da Sie für jeden IAM-Benutzer spezifische Mittel haben können

Verwendungszweck

Wenn Sie haben,

nur sehr wenige Benutzer (zwischen 1–5) Mit präzisen Berechtigungen können IAM-Benutzer Zeit bei der Erstkonfiguration und beim Konsolenzugriff sparen. Achten Sie auf statische Anmeldeinformationen , da es sich um erhebliche Sicherheitsprobleme handelt. Gehen Sie daher äußerst vorsichtig vor. Oder verwenden Sie das AWS CLI-Get-Session-Token, um temporäre Anmeldeinformationen aus statischen zu generieren.

Gruppen

Keine Entität an sich, aber IAM-Gruppen dienen dazu, IAM-Benutzer zu bündeln und geben Sie einer Gruppe von Benutzern die gleichen Berechtigungen. Dadurch werden die Ecken und Kanten von IAM-Benutzern ein wenig geglättet, aber insgesamt gelten die gleichen Dinge, die wir für IAM-Benutzer gesehen haben.

Beachten Sie, dass ein IAM-Benutzer weiterhin persönliche Richtlinien haben kann, während er zugeordnet ist Bei einer Gruppe entspricht die resultierende Berechtigung der Zusammenführung der Gruppe und der persönlichen Berechtigung.

Dies sollte eher die Ausnahme als der typische Workflow sein. Bei zu vielen Einzelberechtigungen erstellen wir viele nicht verwaltbare Richtlinien und verlieren den Gesamtüberblick über die Berechtigungen im Konto.

Verwendungszweck

Wenn Sie wenige Benutzer (zwischen 5 und 15), IAM-Gruppen können einige der Probleme beim Verwalten und Konfigurieren jedes IAM-Benutzers ersparen. Es gilt jedoch die gleiche Überlegung wie bei IAM-Benutzern. Vermeiden Sie sie daher nach Möglichkeit, es sei denn, Sie arbeiten nur an einem einzelnen Konto.

Rollen

Und hier sind die AWS-Rollen. IAM-Rollen können Berechtigungen haben (genau wie Benutzer) und sich an der Konsole anmelden (wieder wie Benutzer…). Anstatt eindeutig mit einer Person verbunden zu sein, kann jeder, der sie benötigt, eine Rolle übernehmen.

Also Eine Person trägt die Kappe der Rolle, die sie übernehmen möchte, und

das IAM-Rollenlogo hat gerade viel mehr Sinn gewonnen, oder?

Temporäre Anmeldeinformationen

Ein weiterer wesentlicher Unterschied zu IAM-Benutzern besteht darin, dass IAM-Rollen keine statischen Anmeldeinformationen haben. Wenn jemand die Rollen übernimmt, wird eine Reihe von temporären Anmeldeinformationen generiert und angegeben. Es ist möglich, die Dauer dieser Anmeldeinformationen anzupassen und den Zugriff bei Bedarf weiter einzuschränken.

Die Zeit kann von 900 Sekunden (15 Minuten) bis zu 12 Stunden eingestellt werden, aber meiner Meinung nach beträgt die Einstellung eine Stunde. Ein langer Ablauf ist der beste Kompromiss zwischen Sicherheit und Leistung.

CloudTrail-Überwachung

Ich erwähne dies, weil einige Leute keine Rollen verwenden, weil sie denken, dass sie nicht prüfen können, was Rollen können tun. Die Wahrheit ist, dass Sie können und sollten. Durch Aktivieren der Cloudtrail-Überwachung können Sie alle in Ihrem Konto ausgeführten Aktionen anzeigen, sodass Sie immer wissen, was los ist.

Kontoübergreifend

Dies wird in einem anderen Blog ausführlicher erläutert Da wir uns auf einzelne Konten konzentrieren, sollten Sie sich jedoch vorerst darüber im Klaren sein, dass IAM-Rollen verwendet werden können, um Zugriff auf andere IAM-Rollen oder IAM-Benutzer zu gewähren.

Und das ist unglaublich nützlich.

Einstiegspunkt erforderlich

Und jetzt zu den Nachteilen. Leider können Sie einer IAM-Rolle keinen direkten Zugriff auf die Konsole und keine temporären Anmeldeinformationen gewähren. Zunächst müssen Sie einen Benutzer oder eine Verbundrolle eingerichtet haben (mehr dazu in einigen Absätzen), um Zugriff auf eine IAM-Rolle zu erhalten.

Verwendungszeitpunkt

Immer. Die einzige Tatsache, dass IAM-Rollen vorhanden sind Wenn sie nicht an statische Anmeldeinformationen gebunden sind, sind sie der beste Weg, um auf Ihre Cloud zuzugreifen. Kombinieren Sie sie mit der Fähigkeit, IAM-Rollenaktionen zu überwachen und die Sicherheit auch mit MFA zu erzwingen. Der einzige Nachteil ist, dass es etwas mehr Konfiguration gibt, aber meiner Meinung nach ist es ein niedriger Preis.

Von außerhalb von AWS

Und jetzt wollen wir sehen, was wir tun können, wenn wir Gehen Sie in den Bereich Corporate Identities. Ich beziehe mich auf die Verwendung eines Identitätsanbieters als Identitätsquelle und die Anmeldung mit unserer Unternehmens-E-Mail-Adresse und unserem Kennwort.

Föderation

Aber was verstehen wir unter Föderation? Auf der einen Seite haben wir den Identitätsanbieter. Diese Systeme enthalten ein Benutzerverzeichnis und einige Software, die über bestimmte Verbundprotokolle kommunizieren können. Alle Daten unserer Benutzer befinden sich als Identitäten .

Auf der anderen Seite befindet sich Ihr AWS Konto als Identitätsverbraucher . Es wird ein Verweis auf die Identitäten beibehalten, ohne sie zu speichern. Auf dieser Seite haben wir im Allgemeinen viel detailliertere Berechtigungsstufen (danke, IAM!).

Also der Verbund ist das Vertrauensverhältnis, mit dem der Identity Consumer auf die Identitäten im Identity Provider verweisen kann.

SAML Federation

Die am häufigsten verwendete Definition für Security Assertion Markup Language (SAML) ) ist ein offener Standard für den Austausch von Authentifizierungs- und Autorisierungsdaten zwischen Parteien. Dies bedeutet, dass wir unsere Identitäten verwenden können, um uns bei AWS anzumelden und sogar temporäre Anmeldeinformationen zu erhalten, indem wir Rollen übernehmen. Dies ist ein allgemeiner Ansatz, den Sie auf fast alle Identitätsanbieter anwenden können.

Die Vertrauensbeziehung

Um den Verbund zwischen den beiden Parteien einzurichten, müssen Sie eine IAM-Identitätsanbieter . Dies ist erforderlich, da es den tatsächlichen Identitätsanbieter darstellt und das gemeinsame Geheimnis enthält, mit dem die beiden Parteien kommunizieren können. Darüber hinaus definieren wir in jeder Rolle, die unsere Benutzer übernehmen sollen, eine Vertrauensrichtlinie , um Entitäten zuzulassen, die sich auf das IAM beziehen Identitätsanbieter, der die Rolle übernimmt:

Benutzerdefinierte Verwaltung

Die Verwaltung des Verbunds selbst kann zunächst schwierig und zeitaufwändig sein. Es gibt einige Konzepte, die Sie gut verstehen müssen, und Sie müssen eine Reihe von Entitäten, Beziehungen und benutzerdefinierten Dingen erstellen, um dies zu erreichen. Um sich ein Bild zu machen, finden Sie hier ein vollständiges Tutorial-Beispiel .

Wann wird

verwendet? Dies ist ein ausgezeichneter und kampferprobter Ansatz, der in fast allen Fällen funktioniert. Die benutzerdefinierte Verwaltung von Identitäten kann für unerfahrene Personen jedoch schwierig und zeitaufwändig sein.

Typische Anwendungsfälle sind, wenn Sie dies aus Sicherheits- oder Compliance-Gründen selbst verwalten möchten. Sie haben keinen Zugriff auf Ihre AWS-Organisation oder AWS SSO unterstützt Ihren Identitätsanbieter noch nicht.

AWS SSO

Dies ist der Cloud-basierte und verwaltete SSO-Dienst, mit dem dies möglich ist Sie verbinden Ihren Identitätsanbieter mit Ihrem AWS-Konto.

AWS-Organisation

Um AWS SSO einzurichten, müssen Sie AWS-Organisationen konfigurieren, und Sie können sich dies zunächst vorstellen Verwalten Sie mehrere AWS-Konten. Um die Dinge kurz zu halten, müssen Sie wissen, dass zum Einrichten einer AWS-Organisation umfangreiche Berechtigungen erforderlich sind (nämlich der Root-Benutzer).

Interner Identitätsspeicher

Standardmäßig stellt AWS SSO ein Verzeichnis bereit um Ihre Benutzerinformationen und Anmeldeinformationen zu speichern und direkt als Identitätsanbieter zu fungieren. Es ist großartig, wenn Sie noch keinen Identitätsanbieter haben oder sich nicht die Mühe machen möchten, einen einzurichten.

Externer Identitätsspeicher

Angenommen, Ihre Organisation verwendet bereits einige Benutzerverzeichnis wie Microsoft Active Directory. In diesem Fall können Sie eine Verbindung zu AWS SSO herstellen, sodass nicht mehr zwei unterschiedliche Verzeichnisse mit automatischer Bereitstellung verwaltet werden müssen.

Beachten Sie jedoch, dass diese Funktion nur von einer begrenzten Anzahl von Identitätsanbietern unterstützt wird:

Multi-Faktor-Authentifizierung

Mit AWS SSO, Sie können ein MFA-Gerät für Ihre Benutzer innerhalb des Dienstes konfigurieren. Derzeit werden Authenticator-Apps wie Google Authenticator und Sicherheitsschlüssel wie Yubikey unterstützt. Die interne Lösung ist aufregend, es fehlt jedoch die MFA-Unterstützung, wenn sie auf der Seite eines externen Identitätsanbieters eingerichtet wird.

Verwendungszweck

Dies ist der von AWS vorgeschlagene Standard. Wenn Sie sich nicht sicher sind, wie Sie vorgehen sollen, kann dies der Standard sein. Es gibt jedoch mindestens einige Anforderungen, die Sie erfüllen müssen, um diese Lösung optimal zu nutzen:

Sie haben Ihre AWS-Organisation bereits eingerichtet, und Sie haben Zugriff auf das Root-Konto. Sie möchten Ihre Identitäten in AWS SSO behalten oder einen Identitätsanbieter verwenden, der von der automatischen Bereitstellung unterstützt wird.

Schlussbemerkungen

Wir haben also die Grundlagen für den Zugriff auf ein einzelnes AWS-Konto festgelegt. und jetzt sollten Sie die Elemente haben, um die beste Methode für Ihren spezifischen Anwendungsfall auszuwählen. Wir werden dies verwenden, um den Grundstein für die Verwaltung mehrerer Konten und AWS-Organisationen im nächsten Blog-Beitrag zu legen.

Leapp

Als letzten Hinweis rate ich allen dringend, ein Tool zu verwenden, das dies ermöglicht hilft ihnen beim Speichern aller Daten, die für die Verbindung mit ihrem AWS-Konto erforderlich sind. Mein Team und ich entwickeln ein Open-Source-Tool, das all diese Anwendungsfälle unterstützt. Schauen Sie sich also Folgendes an:

Noovolari / leapp

Leapp ist Ihr täglicher Begleiter für den Zugriff auf Ihre Cloud. Entwickelt für die Verwendung mit Cloud Providers-APIs, CLIs und SDKs. Es ist…

github.com

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.