Skip to main content

AWS Identitäts- und Zugriffsverwaltung

DAIRY IS SCARY! The industry explained in 5 minutes (Juni 2025)

DAIRY IS SCARY! The industry explained in 5 minutes (Juni 2025)
Anonim

2011 gab Amazon die Verfügbarkeit von AWS Identity & Access Management (IAM) für CloudFront bekannt. IAM wurde 2010 eingeführt und beinhaltete die S3-Unterstützung. Mit AWS Identity & Access Management (IAM) können Sie mehrere Benutzer in einem AWS-Konto einrichten. Wenn Sie Amazon Web Services (AWS) verwendet haben, wissen Sie, dass die einzige Möglichkeit zur Verwaltung von Inhalten in AWS darin bestand, Ihren Benutzernamen, Ihr Kennwort oder Ihre Zugriffsschlüssel anzugeben. Dies ist für die meisten von uns ein echtes Sicherheitsbedenken. IAM macht das Teilen von Passwörtern und Zugriffsschlüsseln überflüssig.

Das ständige Ändern unseres AWS-Hauptkennworts oder das Generieren neuer Schlüssel ist nur eine unübersichtliche Lösung, wenn ein Mitarbeiter unser Team verlässt. AWS Identity & Access Management (IAM) war ein guter Anfang, um individuelle Benutzerkonten mit individuellen Schlüsseln zu ermöglichen. Wir sind jedoch ein S3 / CloudFront-Benutzer. Daher haben wir darauf geachtet, dass CloudFront zu IAM hinzugefügt wird, was schließlich geschehen ist.

Ich fand die Dokumentation zu diesem Service etwas zerstreut. Es gibt einige Produkte von Drittanbietern, die eine Reihe von Unterstützung für Identity & Access Management (IAM) bieten. Die Entwickler sind jedoch in der Regel sparsam, also suchte ich nach einer kostenlosen Lösung für die Verwaltung von IAM mit unserem Amazon S3-Dienst.

In diesem Artikel wird das Einrichten der Befehlszeilenschnittstelle, die IAM unterstützt, und das Einrichten einer Gruppe / eines Benutzers mit S3-Zugriff beschrieben. Sie müssen ein Amazon AWS S3-Konto einrichten, bevor Sie mit der Konfiguration von Identity & Access Management (IAM) beginnen. In meinem Artikel, Amazon Simple Storage Service (S3) verwenden, werden Sie durch das Einrichten eines AWS S3-Kontos geführt.

Hier sind die Schritte zum Einrichten und Implementieren eines Benutzers in IAM. Dies ist für Windows geschrieben, Sie können jedoch für die Verwendung unter Linux, UNIX und / oder Mac OSX optimieren.

  1. Installieren und Konfigurieren der Befehlszeilenschnittstelle (CLI)
  2. Erstellen Sie eine Gruppe
  3. Erteilen Sie Gruppenzugriff auf S3-Bucket und CloudFront
  4. Benutzer erstellen und zur Gruppe hinzufügen
  5. Anmeldeprofil erstellen und Schlüssel erstellen
  6. Testen Sie den Zugriff

Installieren und Konfigurieren der Befehlszeilenschnittstelle (CLI)

Das IAM Command Line Toolkit ist ein Java-Programm, das in den AWS Developers Tools von Amazon verfügbar ist. Mit dem Tool können Sie IAM-API-Befehle über ein Shell-Dienstprogramm (DOS für Windows) ausführen.

  • Sie müssen Java 1.6 oder höher ausführen. Sie können die neueste Version von Java.com herunterladen. Um zu sehen, welche Version auf Ihrem Windows-System installiert ist, öffnen Sie die Eingabeaufforderung und geben Sie java -version ein. Dies setzt voraus, dass sich java.exe in Ihrem PFAD befindet.
  • Laden Sie das IAM CLI-Toolkit herunter und entpacken Sie es irgendwo auf Ihrem lokalen Laufwerk.
  • Es gibt zwei Dateien im Stammverzeichnis des CLI-Toolkits, die Sie aktualisieren müssen.
    • aws-credential.template: Diese Datei enthält Ihre AWS-Berechtigungsnachweise. Fügen Sie Ihre AWSAccessKeyId und Ihren AWSSecretKey hinzu, speichern und schließen Sie die Datei.
    • client-config.template: Sie müssen diese Datei nur aktualisieren, wenn Sie einen Proxyserver benötigen. Entfernen Sie die Zeichen # und aktualisieren Sie ClientProxyHost, ClientProxyPort, ClientProxyUsername und ClientProxyPassword. Speichern und schließen Sie die Datei.
  • Im nächsten Schritt fügen Sie Umgebungsvariablen hinzu. Gehen Sie zu Systemsteuerung | Systemeigenschaften | Erweiterte Systemeinstellungen | Umgebungsvariablen. Fügen Sie die folgenden Variablen hinzu:
    • AWS_IAM_HOME: Setzen Sie diese Variable auf das Verzeichnis, in das Sie das CLI-Toolkit entpackt haben. Wenn Sie Windows ausführen und es im Stammverzeichnis Ihres Laufwerks C entpackt haben, lautet die Variable C: IAMCli-1.2.0.
    • JAVA_HOME: Setzen Sie diese Variable auf das Verzeichnis, in dem Java installiert ist. Dies wäre der Speicherort der Datei java.exe. In einer normalen Windows 7-Java-Installation wäre dies etwa C: Programme (x86) Java jre6.
    • AWS_CREDENTIAL_FILE: Setzen Sie diese Variable auf den Pfad und den Dateinamen der Datei aws-credential.template, die Sie oben aktualisiert haben. Wenn Sie Windows ausführen und es im Stammverzeichnis Ihres Laufwerks C entpackt haben, lautet die Variable C: IAMCli-1.2.0 aws-credential.template.
    • CLIENT_CONFIG_FILE: Sie müssen diese Umgebungsvariable nur hinzufügen, wenn Sie einen Proxyserver benötigen. Wenn Sie Windows ausführen und es im Stammverzeichnis Ihres Laufwerks C entpackt haben, lautet die Variable C: IAMCli-1.2.0 client-config.template. Fügen Sie diese Variable nur hinzu, wenn Sie sie benötigen.
  • Testen Sie die Installation, indem Sie an der Eingabeaufforderung iam-userlistbypath eingeben. Solange Sie keine Fehlermeldung erhalten, sollten Sie gut sein.

Alle IAM-Befehle können an der Eingabeaufforderung ausgeführt werden. Alle Befehle beginnen mit "iam-".

Erstellen Sie eine Gruppe

Für jedes AWS-Konto können maximal 100 Gruppen erstellt werden. Sie können zwar Berechtigungen auf Benutzerebene im IAM festlegen, die Verwendung von Gruppen ist jedoch die beste Methode. Hier ist der Prozess zum Erstellen einer Gruppe in IAM.

  • Die Syntax zum Erstellen einer Gruppe lautet iam-groupcreate -g GROUPNAME -p PFAD -v, wobei die Optionen -p und -v Optionen sind. Eine vollständige Dokumentation zur Befehlszeilenschnittstelle ist in AWS Docs verfügbar.
  • Wenn Sie eine Gruppe namens "Awesomeusers" erstellen möchten, geben Sie iam-groupcreate -g awesomeusers an der Eingabeaufforderung ein.
  • Sie können überprüfen, ob die Gruppe richtig erstellt wurde, indem Sie an der Eingabeaufforderung iam-grouplistbypath eingeben. Wenn Sie nur diese Gruppe erstellt hätten, würde die Ausgabe etwa wie "arn: aws: iam :: 123456789012: group / awesomeusers" lauten.

Erteilen Sie Gruppenzugriff auf S3-Bucket und CloudFront

Richtlinien steuern, was Ihre Gruppe in S3 oder CloudFront tun kann. Standardmäßig hat Ihre Gruppe keinen Zugriff auf AWS.Ich fand die Dokumentation zu den Richtlinien in Ordnung, aber beim Erstellen einer Handvoll Richtlinien habe ich ein paar Versuche gemacht, um die Dinge so zu gestalten, wie ich sie wollte.

Sie haben mehrere Möglichkeiten, Richtlinien zu erstellen. Eine Option ist, dass Sie sie direkt in die Eingabeaufforderung eingeben können. Da Sie möglicherweise eine Richtlinie erstellen und anpassen, schien es mir einfacher, die Richtlinie in eine Textdatei einzufügen und dann die Textdatei mit dem Befehl iam-groupuploadpolicy als Parameter hochzuladen. Hier ist der Prozess, der eine Textdatei verwendet und zu IAM hochlädt.

  • Verwenden Sie so etwas wie Notepad, geben Sie den folgenden Text ein und speichern Sie die Datei:
    • {
    • "Aussage":{
    • "Wirkung": "Zulassen",
    • "Aktion": "s3: *",
    • "Ressource":
    • "arn: aws: s3 ::: BUCKETNAME",
    • "arn: aws: s3 ::: BUCKETNAME / *"
    • },
    • {
    • "Wirkung": "Zulassen",
    • "Aktion": "s3: ListAllMyBuckets",
    • "Ressource": "arn: aws: s3 ::: *"
    • },
    • {
    • "Wirkung": "Zulassen",
    • "Aktion": "cloudfront: *",
    • "Ressource":"*"
    • }
    • }
  • Diese Richtlinie umfasst drei Abschnitte. Der Effekt wird verwendet, um einen Zugriff zuzulassen oder zu verweigern. Die Aktion ist das spezifische, was die Gruppe tun kann. Die Ressource würde verwendet, um Zugriff auf einzelne Buckets zu gewähren.
  • Sie können die Aktionen individuell einschränken. In diesem Beispiel "Action": "s3: GetObject", "s3: ListBucket", "s3: GetObjectVersion" kann die Gruppe den Inhalt eines Buckets auflisten und Objekte herunterladen.
  • Der erste Abschnitt "Erlaubt" der Gruppe, alle S3-Aktionen für den Bucket "BUCKETNAME" auszuführen.
  • Der zweite Abschnitt "Erlaubt" der Gruppe, alle Buckets in S3 aufzulisten. Sie benötigen dies, damit Sie tatsächlich die Liste der Buckets sehen können, wenn Sie etwas wie AWS Console verwenden.
  • Der dritte Abschnitt gewährt der Gruppe vollen Zugriff auf CloudFront.

Es gibt viele Optionen, wenn es um IAM-Richtlinien geht. Amazon bietet ein wirklich cooles Tool namens AWS Policy Generator. Dieses Tool bietet eine grafische Benutzeroberfläche, auf der Sie Ihre Richtlinien erstellen und den Code generieren können, den Sie zum Implementieren der Richtlinie benötigen. Sie können auch den Abschnitt "Zugriffsrichtliniensprache" der Online-Dokumentation "Verwenden von AWS Identity and Access Management" auschecken.

Benutzer erstellen und zur Gruppe hinzufügen

Das Erstellen eines neuen Benutzers und das Hinzufügen zu einer Gruppe, um ihm Zugriff zu gewähren, umfasst mehrere Schritte.

  • Die Syntax zum Erstellen eines Benutzers lautet iam-usercreate -u USERNAME -p PFAD -g GROUPS … -k -v, wobei die Optionen -p, -g, -k und -v Optionen sind. Eine vollständige Dokumentation zur Befehlszeilenschnittstelle ist in AWS Docs verfügbar.
  • Wenn Sie einen Benutzer "bob" erstellen möchten, geben Sie an der Eingabeaufforderung iam-usercreate -u bob -g awesomeusers ein.
  • Sie können überprüfen, ob der Benutzer ordnungsgemäß erstellt wurde, indem Sie an der Eingabeaufforderung iam-grouplistusers -g awesomeusers eingeben. Wenn Sie nur diesen Benutzer erstellt hätten, würde die Ausgabe etwa wie "arn: aws: iam :: 123456789012: user / bob" lauten, wobei die Nummer Ihre AWS-Kontonummer ist.

Anmeldeprofil erstellen und Schlüssel erstellen

Zu diesem Zeitpunkt haben Sie einen Benutzer erstellt, aber Sie müssen ihm die Möglichkeit geben, Objekte tatsächlich zu S3 hinzuzufügen und daraus zu entfernen. Es gibt zwei Optionen, um Ihren Benutzern den Zugriff auf S3 mithilfe von IAM zu ermöglichen. Sie können ein Anmeldeprofil erstellen und Ihren Benutzern ein Kennwort mitteilen. Sie können sich mit ihren Anmeldeinformationen bei der Amazon AWS Console anmelden. Die andere Möglichkeit ist, Ihren Benutzern einen Zugangsschlüssel und einen geheimen Schlüssel zu geben. Sie können diese Schlüssel in Tools von Drittanbietern wie S3 Fox, CloudBerry S3 Explorer oder S3 Browser verwenden.

Login-Profil erstellen

Beim Erstellen eines Anmeldeprofils für Ihre S3-Benutzer erhalten sie einen Benutzernamen und ein Kennwort, mit denen sie sich bei der Amazon AWS Console anmelden können.

  • Die Syntax zum Erstellen eines Anmeldeprofils lautet iam-useraddloginprofile -u USERNAME -p PASSWORD. Eine vollständige Dokumentation zur Befehlszeilenschnittstelle ist in AWS Docs verfügbar.
  • Wenn Sie ein Anmeldeprofil für den Benutzer "bob" erstellen möchten, geben Sie an der Eingabeaufforderung iam-useraddloginprofile -u bob -p PASSWORD ein.
  • Sie können überprüfen, ob das Anmeldeprofil ordnungsgemäß erstellt wurde, indem Sie an der Eingabeaufforderung iam-usergetloginprofile -u bob eingeben. Wenn Sie ein Anmeldeprofil für bob erstellt haben, lautet die Ausgabe etwa "Anmeldeprofil für Benutzer bob".

Schlüssel erstellen

Durch das Erstellen eines geheimen AWS-Zugriffsschlüssels und der entsprechenden AWS-Zugriffsschlüssel-ID können Ihre Benutzer Software von Drittanbietern wie die zuvor genannten verwenden. Beachten Sie, dass Sie diese Schlüssel aus Sicherheitsgründen nur beim Hinzufügen des Benutzerprofils erhalten können. Stellen Sie sicher, dass Sie die Ausgabe von der Eingabeaufforderung kopieren und einfügen und in einer Textdatei speichern. Sie können die Datei an Ihren Benutzer senden.

  • Die Syntax zum Hinzufügen von Schlüsseln für einen Benutzer lautet iam-useraddkey -u USERNAME. Eine vollständige Dokumentation zur Befehlszeilenschnittstelle ist in AWS Docs verfügbar.
  • Wenn Sie Schlüssel für den Benutzer "bob" erstellen möchten, geben Sie an der Eingabeaufforderung iam-useraddkey -u bob ein.
  • Der Befehl gibt die Tasten aus, die ungefähr so ​​aussehen würden:
    • AKIACOOB5BQVEXAMPLE
    • BvQW1IpqVzRdbwPUirD3pK6L8ngoX4PTEXAMPLE
    • Die erste Zeile ist die Zugriffsschlüssel-ID und die zweite Zeile ist der geheime Zugriffsschlüssel. Sie benötigen beides für Drittanbieter-Software.

Testen Sie den Zugriff

Nachdem Sie IAM-Gruppen / Benutzer erstellt haben und den Gruppen über Richtlinien Zugriff gewährt haben, müssen Sie den Zugriff testen.

Konsolenzugriff

Ihre Benutzer können sich mit ihrem Benutzernamen und ihrem Kennwort bei der AWS Console anmelden. Dies ist jedoch nicht die reguläre Konsole-Anmeldeseite, die für das AWS-Hauptkonto verwendet wird. Es gibt eine spezielle URL, die Sie verwenden können und die nur ein Anmeldeformular für Ihr Amazon AWS-Konto enthält. Hier ist die URL zum Anmelden an S3 für Ihre IAM-Benutzer.

https://AWS-ACCOUNT-NUMBER.signin.aws.amazon.com/console/s3

Die AWS-ACCOUNT-NUMBER ist Ihre reguläre AWS-Kontonummer. Sie können dies erhalten, indem Sie sich im Amazon Web Service-Anmeldeformular anmelden. Loggen Sie sich ein und klicken Sie auf Konto | Account Aktivität. Ihre Kontonummer befindet sich in der oberen rechten Ecke. Stellen Sie sicher, dass Sie die Bindestriche entfernen. Die URL würde ungefähr wie https://123456789012.signin.aws.amazon.com/console/s3 aussehen.

Zugriffsschlüssel verwenden

Sie können alle in diesem Artikel bereits erwähnten Tools von Drittanbietern herunterladen und installieren. Geben Sie Ihre Zugangsschlüssel-ID und den geheimen Zugriffsschlüssel gemäß der Dokumentation des Drittanbieter-Tools ein.

Ich empfehle Ihnen dringend, einen Erstbenutzer anzulegen und diesen Benutzer vollständig testen zu lassen, dass er in S3 alles kann, was er braucht. Nachdem Sie einen Ihrer Benutzer überprüft haben, können Sie alle S3-Benutzer einrichten.