Répertorier les autorisations d’accès de l’appelant
Les propriétaires de données S3 peuvent utiliser S3 Access Grants pour créer des autorisations d’accès pour les identités AWS Identity and Access Management (IAM) ou pour les identités AWS IAM Identity Center issues des annuaires d’entreprise. Les identités IAM et les identités d’annuaire IAM Identity Center peuvent à leur tour utiliser l’API ListCallerAccessGrants pour répertorier tous les compartiments, préfixes et objets Amazon S3 auxquels elles peuvent accéder, tels que définis par leurs autorisations S3 Access Grants. Utilisez cette API pour découvrir toutes les données S3 auxquelles une identité IAM ou une identité d’annuaire peut accéder via 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 navigateur de stockage AWS pour S3, 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 S3 Access Grants. 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.
Note
Pour les identités d’annuaire d’entreprise, lorsqu’il répertorie les autorisations d’accès de l’appelant, S3 Access Grants renvoie les autorisations de l’identité IAM utilisée pour la session basée sur l’identité. Pour plus d’informations sur les sessions basées sur l’identité, consultez Octroi d’autorisations pour l’utilisation de sessions de console basées sur l’identité dans le Guide de l’utilisateur AWS Identity and Access Management.
Le bénéficiaire, qu’il s’agisse d’une identité IAM ou d’une identité issue d’un annuaire d’entreprise, peut obtenir la liste de ses autorisations d’accès à l’aide de l’AWS Command Line Interface (AWS CLI), de l’API REST Amazon S3 ou des kits AWS SDK.
Pour installer la AWS CLI, consultez Installation de la AWS CLI dans le Guide de l’utilisateur AWS Command Line Interface.
Pour utiliser l’exemple de commande suivant, remplacez les par vos propres informations.user input
placeholders
Exemple Affichage des autorisations d’accès accordées à un appelant
Requête :
aws s3control list-caller-access-grants \ --account-id111122223333\ --regionus-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 d’un appelant pour un compartiment
Vous pouvez limiter la portée des résultats à l’aide du paramètre grantscope.
Requête :
aws s3control list-caller-access-grants \ --account-id111122223333\ --regionus-east-2--grant-scope "s3://"" --max-results 1000amzn-s3-demo-bucket
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 la prise en charge de l’API REST Amazon S3 pour obtenir une liste des autorisations d’accès de l’appelant d’API, consultez ListCallerAccessGrants dans la Référence des API Amazon Simple Storage Service.
Cette section fournit un exemple illustrant la manière dont les bénéficiaires demandent des informations d’identification temporaires à S3 Access Grants à l’aide des kits AWS SDK.