Auflisten der Zugriffsgewährungen des Anrufers - Amazon Simple Storage Service

Auflisten der Zugriffsgewährungen des Anrufers

S3-Datenbesitzer können S3 Access Grants verwenden, um Zugriffsberechtigungen für AWS Identity and Access Management (IAM)-Identitäten oder für AWS IAM Identity Center-Unternehmensverzeichnisidentitäten zu erstellen. IAM-Identitäten und IAM-Identity-Center-Verzeichnisidentitäten können wiederum die ListCallerAccessGrants-API verwenden, um alle Amazon-S3-Buckets, -Präfixe und -Objekte aufzulisten, auf die sie zugreifen können, wie in ihren S3 Access Grants definiert. Verwenden Sie diese API, um alle S3-Daten zu ermitteln, auf die eine IAM- oder Verzeichnisidentität über S3 Access Grants zugreifen kann.

Sie können dieses Feature verwenden, um Anwendungen zu erstellen, die die Daten anzeigen, auf die bestimmte Endbenutzer zugreifen können. Beispielsweise verwendet der AWS Storage Browser für S3, eine Open-Source-UI-Komponente, die Kunden für den Zugriff auf S3-Buckets verwenden, dieses Feature, um Endbenutzern die Daten zu präsentieren, auf die sie basierend auf ihren S3 Access Grants in Amazon S3 Zugriff haben. Ein anderes Beispiel: Wenn Sie eine Anwendung zum Durchsuchen, Hochladen oder Herunterladen von Daten in Amazon S3 erstellen, können Sie diese Funktion verwenden, um eine Baumstruktur in Ihrer Anwendung zu erstellen, die ein Endbenutzer dann durchsuchen kann.

Anmerkung

Bei Unternehmensverzeichnisidentitäten gibt S3 Access Grants bei der Auflistung der Zugriffsberechtigungen des Aufrufers die Berechtigungen der IAM-Identität zurück, die für die identitätsbezogene Sitzung verwendet wird. Weitere Informationen zu identitätsbasierten Sitzungen finden Sie unter Zuweisung von Berechtigungen zur Verwendung identitätsbasierter Konsolensitzungen im AWS Identity and Access Management Benutzerhandbuch.

Der Empfänger, unabhängig davon, ob es sich um eine IAM-Identität oder eine Unternehmensverzeichnisidentität handelt, kann eine Liste seiner Zugriffsgewährungen abrufen, indem er die AWS Command Line Interface (AWS CLI), Amazon-S3-REST-API und AWS SDKs verwendet.

Informationen zum Installieren von AWS CLI finden Sie unter Installieren 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 Auflisten der Zugriffsgewährungen eines Aufrufers

Anforderung:

aws s3control list-caller-access-grants \ --account-id 111122223333 \ --region us-east-2 --max-results 5

Antwort:

{ "NextToken": "6J9S...", "CallerAccessGrantsList": [ { "Permission": "READWRITE", "GrantScope": "s3://amzn-s3-demo-bucket/prefix1/sub-prefix1/*", "ApplicationArn": "NA" }, { "Permission": "READWRITE", "GrantScope": "s3://amzn-s3-demo-bucket/prefix1/sub-prefix2/*", "ApplicationArn": "ALL" }, { "Permission": "READWRITE", "GrantScope": "s3://amzn-s3-demo-bucket/prefix1/sub-prefix3/*", "ApplicationArn": "arn:aws:sso::111122223333:application/ssoins-ssoins-1234567890abcdef/apl-abcd1234a1b2c3d" } ] }
Beispiel Auflisten der Zugriffsgewährungen eines Aufrufers für einen Bucket

Sie können den Umfang der Ergebnisse mit dem Parameter grantscope einschränken.

Anforderung:

aws s3control list-caller-access-grants \ --account-id 111122223333 \ --region us-east-2 --grant-scope "s3://amzn-s3-demo-bucket"" --max-results 1000

Antwort:

{ "NextToken": "6J9S...", "CallerAccessGrantsList": [ { "Permission": "READ", "GrantScope": "s3://amzn-s3-demo-bucket*", "ApplicationArn": "ALL" }, { "Permission": "READ", "GrantScope": "s3://amzn-s3-demo-bucket/prefix1/*", "ApplicationArn": "arn:aws:sso::111122223333:application/ssoins-ssoins-1234567890abcdef/apl-abcd1234a1b2c3d" } ] }

Informationen zur Unterstützung der Amazon S3-REST-API zum Abrufen einer Liste der Zugriffsgewährungen des API-Aufrufers finden Sie unter ListCallerAccessGrants in der API-Referenz zum Amazon Simple Storage Service.

Dieser Abschnitt enthält ein Beispiel dafür, wie Gewährungsempfänger über die AWS SDKs temporäre Anmeldeinformationen von S3 Access Grants anfordern können.

Java

Im folgenden Codebeispiel werden die Zugriffsgewährungen des API-Aufrufers für die S3-Daten eines bestimmten AWS-Konto zurückgegeben. Wenn Sie dieses Codebeispiel verwenden möchten, ersetzen Sie user input placeholders durch eigene Daten.

Beispiel Auflisten der Zugriffsgewährungen eines Aufrufers

Anforderung:

Public void ListCallerAccessGrants() { ListCallerAccessGrantsRequest listRequest = ListCallerAccessGrantsRequest.builder() .withMaxResults(1000) .withGrantScope("s3://") .accountId("111122223333"); ListCallerAccessGrantsResponse listResponse = s3control.listCallerAccessGrants(listRequest); LOGGER.info("ListCallerAccessGrantsResponse: " + listResponse); }

Antwort:

ListCallerAccessGrantsResponse( CallerAccessGrantsList=[ ListCallerAccessGrantsEntry( S3Prefix=s3://amzn-s3-demo-bucket/prefix1/, Permission=READ, ApplicationArn=ALL ) ])