Anfordern des Zugriffs auf Amazon-S3-Daten über S3 Access Grants - 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.

Anfordern des Zugriffs auf Amazon-S3-Daten über S3 Access Grants

Nachdem Sie Amazon S3 Access Grants verwendet haben, um eine Zugriffsberechtigung zu erstellen, die AWS Identity and Access Management (IAM-) Prinzipalen, Ihren Unternehmensverzeichnisidentitäten oder autorisierten Anwendungen Zugriff auf Ihre S3-Daten gewährt, können Ihre Empfänger Anmeldeinformationen für den Zugriff auf diese Daten anfordern.

Wenn eine Anwendung oder die GetDataAccess API-Operation AWS-Service verwendet, um S3 Access Grants im Namen eines Empfängers um Zugriff auf Ihre S3-Daten zu bitten, überprüft S3 Access Grants zunächst, ob Sie dieser Identität Zugriff auf die Daten gewährt haben. Anschließend verwendet S3 Access Grants den AssumeRoleAPI-Vorgang, um ein temporäres Anmeldeinformationstoken zu erhalten, und sendet es an den Antragsteller. Dieses Token für temporäre Anmeldeinformation ist ein AWS Security Token Service (AWS STS)-Token.

Die GetDataAccess-Anforderung muss den Parameter target enthalten, um den Umfang der S3-Daten anzugeben, für den die temporären Anmeldeinformationen gelten. Dieser target-Umfang kann mit dem Umfang der Gewährung oder einem Teil dieses Umfangs identisch sein. Der target-Umfang muss jedoch innerhalb des Umfangs der Gewährung für den Anforderer liegen. In der Anforderung muss auch der Parameter permission angegeben werden, der die Berechtigungsstufe für die temporären Anmeldeinformationen angibt, READ, WRITE oder READWRITE.

Der Anforderer kann die Berechtigungsstufe des temporären Tokens in der Anforderung für Anmeldeinformationen angeben. Mit dem Parameter privilege kann der Anforderer den Umfang des Zugriffs für die temporären Anmeldeinformationen innerhalb der Grenzen des Gewährungsumfangs reduzieren oder erhöhen. Der Standardwert des Parameters privilege ist Default. Das bedeutet, dass der Zielumfang der zurückgegebenen Anmeldeinformationen der ursprüngliche Umfang der Gewährung ist. Der andere mögliche Wert für privilege ist Minimal. Wenn der target-Umfang im Vergleich zum ursprünglichen Umfang der Gewährung reduziert wird, wird der Umfang der temporären Anmeldeinformationen an den target-Umfang angepasst, solange der target-Umfang innerhalb des Gewährungsumfangs liegt.

Die folgende Tabelle zeigt die Auswirkungen des Parameters privilege auf zwei Gewährungen. Eine Gewährung hat den Umfang S3://DOC-EXAMPLE-BUCKET1/bob/*. Dieser Umfang umfasst das gesamte Präfix bob/ im Bucket DOC-EXAMPLE-BUCKET1. Die andere Gewährung hat den Umfang S3://DOC-EXAMPLE-BUCKET1/bob/reports/*. Dieser Umfang umfasst nur das Präfix bob/reports/ im Bucket DOC-EXAMPLE-BUCKET1.

Umfang der Gewährung Angeforderter Umfang Recht Zurückgegebener Umfang Auswirkung
S3://DOC-EXAMPLE-BUCKET1/bob/* DOC-EXAMPLE-BUCKET1/bob/* Default DOC-EXAMPLE-BUCKET1/bob/*

Der Anforderer hat Zugriff auf alle Objekte im Bucket DOC-EXAMPLE-BUCKET1, deren Schlüsselnamen mit dem Präfix bob/ beginnen.

S3://DOC-EXAMPLE-BUCKET1/bob/* DOC-EXAMPLE-BUCKET1/bob/ Minimal DOC-EXAMPLE-BUCKET1/bob/

Ohne das Platzhalterzeichen (*) nach dem Präfixnamen bob/ hat der Anforderer nur Zugriff auf das Objekt mit dem Namen bob/ im Bucket DOC-EXAMPLE-BUCKET1. Ein solches Objekt ist nicht üblich. Der Anforderer hat keinen Zugriff auf andere Objekte, auch nicht auf Objekte, deren Schlüsselnamen mit dem Präfix bob/ beginnen.

S3://DOC-EXAMPLE-BUCKET1/bob/* DOC-EXAMPLE-BUCKET1/bob/images/* Minimal DOC-EXAMPLE-BUCKET1/bob/images/*

Der Anforderer hat Zugriff auf alle Objekte im Bucket DOC-EXAMPLE-BUCKET1, deren Schlüsselnamen mit dem Präfix bob/images/* beginnen.

S3://DOC-EXAMPLE-BUCKET1/bob/reports/* DOC-EXAMPLE-BUCKET1/bob/reports/file.txt Default DOC-EXAMPLE-BUCKET1/bob/reports/*

Der Anforderer hat Zugriff auf alle Objekte im Bucket DOC-EXAMPLE-BUCKET1, deren Schlüsselnamen mit dem Präfix bob/reports beginnen. Dies entspricht dem Umfang der entsprechenden Gewährung.

S3://DOC-EXAMPLE-BUCKET1/bob/reports/* DOC-EXAMPLE-BUCKET1/bob/reports/file.txt Minimal DOC-EXAMPLE-BUCKET1/bob/reports/file.txt

Der Anforderer hat nur Zugriff auf das Objekt mit dem Schlüsselnamen bob/reports/file.txt im Bucket DOC-EXAMPLE-BUCKET1. Der Anforderer hat keinen Zugriff auf andere Objekte.

Der Parameter durationSeconds legt die Gültigkeitsdauer der temporären Anmeldeinformationen in Sekunden fest. Der Standardwert ist 3600 Sekunden (1 Stunde). Der Anforderer (Empfänger) kann jedoch einen Bereich von 900 Sekunden (15 Minuten) bis 43200 Sekunden (12 Stunden) angeben. Wenn der Empfänger einen höheren Wert als diesen Höchstwert anfordert, schlägt die Anforderung fehl.

Anmerkung

Wenn der Speicherort ein Objekt ist, legen Sie in Ihrer Anforderung eines temporären Tokens den Wert des Parameters targetType auf Object fest. Dieser Parameter ist nur erforderlich, wenn es sich der Speicherort ein Objekt ist und die Berechtigungsstufe Minimal ist. Wenn der Speicherort ein Bucket oder ein Präfix ist, müssen Sie diesen Parameter nicht angeben.

Weitere Informationen finden Sie GetDataAccessin der Amazon Simple Storage Service API-Referenz.

Sie können temporäre Anmeldeinformationen mithilfe von AWS Command Line Interface (AWS CLI), der Amazon S3 S3-REST-API und den AWS SDKs anfordern.

Informationen zur AWS CLI Installation von finden Sie unter Installation von AWS CLI im AWS Command Line Interface Benutzerhandbuch.

Wenn Sie den folgenden Beispielbefehl verwenden möchten, ersetzen Sie user input placeholders durch Ihre eigenen Informationen.

Beispiel Anfordern temporärer Anmeldeinformationen

Anfrage:

aws s3control get-data-access \ --account-id 111122223333 \ --target s3://DOC-EXAMPLE-BUCKET/prefixA* \ --permission READ \ --privilege Default \ --region us-east-2

Antwort:

{ "Credentials": { "AccessKeyId": "Example-key-id", "SecretAccessKey": "Example-access-key", "SessionToken": "Example-session-token", "Expiration": "2023-06-14T18:56:45+00:00"}, "MatchedGrantTarget": "s3://DOC-EXAMPLE-BUCKET/prefixA**" }

Informationen zur Amazon S3 S3-REST-API-Unterstützung für die Anforderung temporärer Anmeldeinformationen von S3 Access Grants finden Sie GetDataAccessin der Amazon Simple Storage Service API-Referenz.

Dieser Abschnitt enthält ein Beispiel dafür, wie Stipendiaten mithilfe der SDKs temporäre Anmeldeinformationen von S3 Access Grants anfordern. AWS

Java

Das folgende Codebeispiel gibt die temporären Anmeldeinformationen zurück, die der Gewährungsempfänger für den Zugriff auf Ihre S3-Daten verwendet. Wenn Sie dieses Codebeispiel verwenden möchten, ersetzen Sie user input placeholders durch eigene Daten.

Beispiel Abrufen temporärer Anmeldeinformationen

Anfrage:

public void getDataAccess() { GetDataAccessRequest getDataAccessRequest = GetDataAccessRequest.builder() .accountId("111122223333") .permission(Permission.READ) .privilege(Privilege.MINIMAL) .target("s3://DOC-EXAMPLE-BUCKET/prefixA*") .build(); GetDataAccessResponse getDataAccessResponse = s3Control.getDataAccess(getDataAccessRequest); LOGGER.info("GetDataAccessResponse: " + getDataAccessResponse); }

Antwort:

GetDataAccessResponse( Credentials=Credentials( AccessKeyId="Example-access-key-id", SecretAccessKey="Example-secret-access-key", SessionToken="Example-session-token", Expiration=2023-06-07T06:55:24Z ))