Listen Sie die Zugriffsberechtigungen des Anrufers auf - 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.

Listen Sie die Zugriffsberechtigungen des Anrufers auf

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

Sie können diese Funktion verwenden, um Anwendungen zu erstellen, die die Daten anzeigen, auf die bestimmte Endbenutzer zugreifen können. Zum Beispiel die AWS Storage Browser for S3, eine Open-Source-UI-Komponente, die Kunden für den Zugriff auf S3-Buckets verwenden, verwendet diese Funktion, um Endbenutzern die Daten zu präsentieren, auf die sie in Amazon S3 Zugriff haben, basierend auf ihren S3 Access Grants. 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.

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

Um das zu installieren AWS CLI, siehe Installation des AWS CLI in der AWS Command Line Interface Benutzerleitfaden.

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

Beispiel Listet die Zugriffsberechtigungen eines Anrufers auf

Anfrage:

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 Listet die Zugriffsberechtigungen eines Anrufers für einen Bucket auf

Sie können den Umfang der Ergebnisse mithilfe des grantscope Parameters einschränken.

Anfrage:

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 Amazon S3 REST API S3-Unterstützung für das Abrufen einer Liste der Zugriffsberechtigungen des API Anrufers finden Sie ListCallerAccessGrantsin der Amazon Simple Storage Service API Reference.

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

Java

Das folgende Codebeispiel gibt die Zugriffsberechtigungen des API Anrufers auf die S3-Daten einer bestimmten Person zurück AWS-Konto. Um dieses Codebeispiel zu verwenden, ersetzen Sie das user input placeholders durch Ihre eigenen Informationen.

Beispiel Listet die Zugriffsberechtigungen eines Anrufers auf

Anfrage:

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 ) ])