Répertorier les autorisations d'accès accordées à l'appelant - Amazon Simple Storage Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Répertorier les autorisations d'accès accordées à l'appelant

Les propriétaires de données S3 peuvent utiliser les subventions d'accès S3 pour créer des autorisations d'accès pour AWS Identity and Access Management (IAM) identités ou pour AWS IAM Identity Center identités des annuaires d'entreprise. IAMles identités et les identités du répertoire IAM Identity Center peuvent à leur tour utiliser le ListCallerAccessGrants API pour répertorier tous les compartiments, préfixes et objets Amazon S3 auxquels ils peuvent accéder, tels que définis par leurs autorisations d'accès S3. Utilisez-le API pour découvrir toutes les données S3 auxquelles une identité de répertoire IAM ou de répertoire peut accéder par le biais de S3 Access Grants.

Vous pouvez utiliser cette fonctionnalité pour créer des applications qui affichent les données accessibles à des utilisateurs finaux spécifiques. Par exemple, le AWS Storage Browser for S3, un composant d'interface utilisateur open source que les clients utilisent pour accéder aux compartiments S3, utilise cette fonctionnalité pour présenter aux utilisateurs finaux les données auxquelles ils ont accès dans Amazon S3, en fonction de leurs autorisations d'accès S3. Autre exemple : lorsque vous créez une application pour parcourir, charger ou télécharger des données dans Amazon S3, vous pouvez utiliser cette fonctionnalité pour créer une arborescence dans votre application qu'un utilisateur final pourra ensuite parcourir.

Le bénéficiaire, qu'il s'agisse d'une IAM identité ou d'une identité d'annuaire d'entreprise, peut obtenir une liste de ses autorisations d'accès en utilisant le AWS Command Line Interface (AWS CLI), l'Amazon S3 REST API et le AWS SDKs.

Pour installer la   AWS CLI, voir Installation du AWS CLI dans le .AWS Command Line Interface Guide de l'utilisateur.

Pour utiliser l'exemple de commande suivant, remplacez user input placeholders par vos propres informations.

Exemple Répertorier les autorisations d'accès accordées à un appelant

Requête :

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

Réponse :

{ "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" } ] }
Exemple Répertorier les autorisations d'accès accordées à un appelant pour un compartiment

Vous pouvez réduire la portée des résultats à l'aide du grantscope paramètre.

Requête :

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

Réponse :

{ "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" } ] }

Pour plus d'informations sur le REST API support Amazon S3 permettant d'obtenir une liste des autorisations d'accès accordées à l'APIappelant, consultez le ListCallerAccessGrantsmanuel Amazon Simple Storage Service API Reference.

Cette section fournit un exemple de la façon dont les bénéficiaires demandent des informations d'identification temporaires à S3 Access Grants en utilisant le AWS SDKs.

Java

L'exemple de code suivant renvoie les autorisations d'accès de l'APIappelant aux données S3 d'une personne en particulier Compte AWS. Pour utiliser cet exemple de code, remplacez le user input placeholders par vos propres informations.

Exemple Répertorier les autorisations d'accès accordées à un appelant

Requête :

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

Réponse :

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