Beispiel 1: Bucket-Eigentümer erteilt seinen Benutzern Bucket-Berechtigungen - Amazon Simple Storage Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Beispiel 1: Bucket-Eigentümer erteilt seinen Benutzern Bucket-Berechtigungen

Wichtig

Das Erteilen von Berechtigungen für IAM-Rollen ist eine bessere Methode als das Erteilen von Berechtigungen für einzelne Benutzer. Weitere Informationen zur Gewährung von Berechtigungen für IAM-Rollen finden Sie unter. Grundlegendes zu kontoübergreifenden Berechtigungen und Verwendung von IAM-Rollen

In dieser exemplarischen Vorgehensweise AWS-Konto besitzt ein Benutzer einen Bucket, und das Konto umfasst einen IAM-Benutzer. Standardmäßig hat der Benutzer keine Berechtigungen. Damit der Benutzer alle Aufgaben ausführen kann, muss das übergeordnete Konto ihm Berechtigungen erteilen. Der Bucket-Eigentümer und das übergeordnete Konto sind identisch. Um dem Benutzer Berechtigungen für den Bucket zu gewähren, AWS-Konto kann er daher eine Bucket-Richtlinie, eine Benutzerrichtlinie oder beides verwenden. Der Kontobesitzer gewährt einige Berechtigungen unter Verwendung einer Bucket-Richtlinie und andere Berechtigungen unter Verwendung einer Benutzerrichtlinie.

Die folgenden Schritte fasen das detaillierte Beispiel zusammen:

Diagramm, das ein AWS Konto zeigt, das Berechtigungen gewährt.
  1. Der Kontoadministrator erstellt eine Bucket-Richtlinie, die dem Benutzer verschiedene Berechtigungen erteilt.

  2. Der Kontoadministrator weist dem Benutzer eine Benutzerrichtlinie zu, die ihm zusätzliche Berechtigungen erteilt.

  3. Anschließend probiert der Benutzer Berechtigungen aus, die über die Bucket-Richtlinie und die Benutzerrichtlinie erteilt wurden.

Für dieses Beispiel benötigen Sie eine AWS-Konto. Anstatt die Anmeldeinformationen des Root-Benutzers für das Konto zu verwenden, erstellen Sie einen Administrator-Benutzer (siehe Informationen zur Verwendung eines Administratorbenutzers zum Erstellen von Ressourcen und Erteilen von Berechtigungen). Wir beziehen uns auf den AWS-Konto und den Administratorbenutzer, wie in der folgenden Tabelle dargestellt.

Konto-ID Konto bezeichnet als Administratorbenutzer im Konto

1111-1111-1111

Konto A

AccountAadmin

Anmerkung

Der Administratorbenutzer in diesem Beispiel ist AccountAadmin, was sich auf Konto A bezieht, und nicht AccountAdmin.

Alle Aufgaben in Verbindung mit dem Erstellen von Benutzern und Gewähren von Berechtigungen werden in der AWS Management Console ausgeführt. Um die Berechtigungen zu überprüfen, verwendet die exemplarische Vorgehensweise die Befehlszeilentools AWS Command Line Interface (AWS CLI) und AWS Tools for Windows PowerShell, sodass Sie keinen Code schreiben müssen.

Vorbereitung auf den Walkthrough

  1. Stellen Sie sicher, dass Sie über eine verfügen AWS-Konto und dass sie über einen Benutzer mit Administratorrechten verfügt.

    1. Melden Sie sich bei Bedarf für eine an AWS-Konto. Wir bezeichnen dieses Konto als Konto A.

      1. Gehen Sie zu https://aws.amazon.com/s3 und wählen Sie AWS Konto erstellen.

      2. Folgen Sie den Anweisungen auf dem Bildschirm.

        AWS wird Sie per E-Mail benachrichtigen, wenn Ihr Konto aktiv und für Sie verfügbar ist.

    2. Erstellen Sie in Konto A einen AdministratorbenutzerAccountAadmin. Melden Sie sich mit den Anmeldeinformationen von Konto A in der IAM-Konsole an und gehen Sie wie folgt vor:

      1. Erstellen Sie einen Benutzer AccountAadmin und notieren Sie sich die Sicherheitsanmeldeinformationen des Benutzers.

        Anweisungen finden Sie unter Einen IAM-Benutzer erstellen in Ihrem AWS-Konto im IAM-Benutzerhandbuch.

      2. Gewähren Sie Administratorrechte, AccountAadminindem Sie eine Benutzerrichtlinie anhängen, die vollen Zugriff gewährt.

        Weitere Informationen finden Sie unter Verwalten von IAM-Richtlinien im IAM-Benutzerhandbuch.

      3. Notieren Sie sich die Anmelde-URL für den IAM-Benutzer. AccountAadmin Sie brauchen diese URL, wenn Sie sich bei der AWS Management Console anmelden. Weitere Informationen darüber, wo Sie die Anmelde-URL finden, finden Sie im IAM-Benutzerhandbuch unter AWS Management Console Als IAM-Benutzer anmelden. Notieren Sie sich die URL für jedes Konto.

  2. Richten Sie entweder das AWS CLI oder das ein AWS Tools for Windows PowerShell. Stellen Sie sicher, dass Sie die Administrator-Benutzeranmeldedaten wie folgt speichern:

    • Wenn Sie das verwenden AWS CLI, erstellen Sie ein ProfilAccountAadmin,, in der Konfigurationsdatei.

    • Wenn Sie die verwenden AWS Tools for Windows PowerShell, stellen Sie sicher, dass Sie die Anmeldeinformationen für die Sitzung als speichernAccountAadmin.

    Anweisungen finden Sie unter Einrichtung der Tools für die exemplarischen Vorgehensweisen.

Schritt 1: Erstellen Sie Ressourcen in Konto A und gewähren Sie Berechtigungen

Melden Sie sich mit den Anmeldeinformationen des Benutzers AccountAadmin in Konto A und der speziellen IAM-Benutzer-Anmelde-URL bei der an AWS Management Console und gehen Sie wie folgt vor:

  1. Erstellen Sie Ressourcen aus einem Bucket und einem IAM-Benutzer

    1. Erstellen Sie in der Amazon-S3-Konsole einen Bucket. Notieren Sie sich den Bucket, AWS-Region in dem Sie den Bucket erstellt haben. Anweisungen finden Sie unter Erstellen eines Buckets.

    2. Gehen Sie in der IAM-Konsole wie folgt vor:

      1. Erstellen Sie einen Benutzer mit dem Namen Dave.

        step-by-step Anweisungen finden Sie unter Erstellen von IAM-Benutzern (Konsole) im IAM-Benutzerhandbuch.

      2. Notieren Sie sich die AnmeldeinformationenUserDave.

      3. Notieren Sie sich den Amazon-Ressourcennamen (ARN) für den Benutzer Dave. Wählen Sie in der IAM-Konsole den Benutzer aus, und auf der Registerkarte Zusammenfassung wird der Benutzer-ARN angezeigt.

  2. Erteilen Sie Berechtigungen.

    Da der Bucket-Besitzer und das übergeordnete Konto, zu dem der Benutzer gehört, identisch sind, AWS-Konto können sie Benutzerberechtigungen mithilfe einer Bucket-Richtlinie, einer Benutzerrichtlinie oder beidem gewähren. In diesem Beispiel machen Sie beides. Wenn das Objekt auch demselben Konto gehört, kann der Bucket-Eigentümer in der Bucket-Richtlinie (oder einer IAM-Richtlinie) Objektberechtigungen erteilen.

    1. Fügen Sie in der Amazon-S3-Konsole die folgende Bucket-Richtlinie an awsexamplebucket1 an.

      Die Richtlinie enthält zwei Anweisungen.

      • Die erste Anweisung erteilt Dave Berechtigungen für die Bucket-Operationen s3:GetBucketLocation und s3:ListBucket.

      • Die zweite Anweisung erteilt die s3:GetObject-Berechtigung. Konto A gehört auch das Objekt, deshalb kann der Kontoadministrator die s3:GetObject-Berechtigung erteilen.

      In der Principal-Anweisung wird Dave durch seinen Benutzer-ARN identifiziert. Weitere Informationen zu Richtlinienelementen finden Sie unter Richtlinien und Berechtigungen in Amazon S3.

      { "Version": "2012-10-17", "Statement": [ { "Sid": "statement1", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::AccountA-ID:user/Dave" }, "Action": [ "s3:GetBucketLocation", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::awsexamplebucket1" ] }, { "Sid": "statement2", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::AccountA-ID:user/Dave" }, "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::awsexamplebucket1/*" ] } ] }
    2. Erstellen Sie mithilfe der folgenden Richtlinie eine Inlinerichtlinie für den Benutzer Dave. Die Richtlinie erteilt dem Benutzer Dave die s3:PutObject-Berechtigung. Sie müssen die Richtlinie aktualisieren, indem Sie Ihren Bucket-Namen angeben.

      { "Version": "2012-10-17", "Statement": [ { "Sid": "PermissionForObjectOperations", "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::awsexamplebucket1/*" ] } ] }

      Anweisungen finden Sie unter Managing IAMPolicies im IAM-Benutzerhandbuch. Beachten Sie, dass Sie sich mit den Anmeldeinformationen von Konto A an der Konsole anmelden müssen.

Schritt 2: Testen der Berechtigungen

Überprüfen Sie unter Verwendung der Anmeldeinformationen von Dave, ob die Berechtigungen funktionieren. Sie haben die Wahl zwischen den folgenden beiden Verfahren.

Testen Sie die Berechtigungen mit dem AWS CLI
  1. Aktualisieren Sie die AWS CLI Konfigurationsdatei, indem Sie das folgende UserDaveAccountA Profil hinzufügen. Weitere Informationen finden Sie unter Einrichtung der Tools für die exemplarischen Vorgehensweisen.

    [profile UserDaveAccountA] aws_access_key_id = access-key aws_secret_access_key = secret-access-key region = us-east-1
  2. Überprüfen Sie, ob Dave Vorgänge ausführen kann, für die ihm in der Benutzerrichtlinie Berechtigungen erteilt wurden. Laden Sie mit dem folgenden AWS CLI put-object Befehl ein Beispielobjekt hoch.

    Der Parameter --body im Befehl identifiziert die hochzuladende Quelldatei. Wenn sich die Datei beispielsweise im Stammverzeichnis des Laufwerks C: auf einem Windows Computer befindet, geben Sie Folgendes anc:\HappyFace.jpg. Der Parameter --key gibt den Schlüsselnamen für das Objekt an.

    aws s3api put-object --bucket awsexamplebucket1 --key HappyFace.jpg --body HappyFace.jpg --profile UserDaveAccountA

    Führen Sie den folgenden AWS CLI Befehl aus, um das Objekt abzurufen.

    aws s3api get-object --bucket awsexamplebucket1 --key HappyFace.jpg OutputFile.jpg --profile UserDaveAccountA
Testen Sie die Berechtigungen mit dem AWS Tools for Windows PowerShell
  1. Speichern Sie Daves Anmeldeinformationen alsAccountADave. Anschließend verwenden Sie diese Anmeldeinformationen, um PUT GET ein Objekt zu erstellen.

    set-awscredentials -AccessKey AccessKeyID -SecretKey SecretAccessKey -storeas AccountADave
  2. Laden Sie mithilfe des AWS Tools for Windows PowerShell Write-S3Object Befehls mithilfe der gespeicherten Anmeldeinformationen von Benutzer Dave ein Beispielobjekt hoch.

    Write-S3Object -bucketname awsexamplebucket1 -key HappyFace.jpg -file HappyFace.jpg -StoredCredentials AccountADave

    Laden Sie das zuvor hochgeladene Objekt herunter.

    Read-S3Object -bucketname awsexamplebucket1 -key HappyFace.jpg -file Output.jpg -StoredCredentials AccountADave