Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Demande d’un accès aux données Amazon S3 via les autorisations d’accès S3

Mode de mise au point
Demande d’un accès aux données Amazon S3 via les autorisations d’accès S3 - 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.

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.

Après avoir créé une autorisation d'accès à l'aide de S3 Access Grants, les bénéficiaires peuvent demander des informations d'identification pour accéder aux données S3 auxquelles ils ont été autorisés à accéder. Les bénéficiaires peuvent être des directeurs AWS Identity and Access Management (IAM), des identités de votre annuaire d'entreprise ou des applications autorisées.

Une application Service AWS peut utiliser l'opération d'GetDataAccessAPI S3 Access Grants pour demander à S3 Access Grants l'accès à vos données S3 au nom d'un bénéficiaire. GetDataAccessvérifie d'abord que vous avez accordé à cette identité l'accès aux données. S3 Access Grants utilise ensuite le AssumeRoleOpération d'API pour obtenir un jeton d'identification temporaire et le remettre au demandeur. Ce jeton d’informations d’identification temporaire est un jeton AWS Security Token Service (AWS STS).

La demande GetDataAccess doit inclure le paramètre target, qui spécifie la portée des données S3 à laquelle s’appliquent les informations d’identification temporaires. Cette target portée peut être identique à celle de la subvention ou à un sous-ensemble de cette portée, mais elle doit être comprise dans le cadre de la subvention accordée au bénéficiaire. target La demande doit également spécifier le paramètre permission pour indiquer le niveau d’autorisation pour les informations d’identification temporaires, que ce soit READ, WRITE ou READWRITE.

Privilège

Le demandeur peut spécifier le niveau de privilège du jeton temporaire dans sa demande d’informations d’identification. À l’aide du paramètre privilege, le demandeur peut réduire ou augmenter la portée d’accès des informations d’identification temporaires, dans les limites de la portée de l’octroi. La valeur par défaut du paramètre privilege est Default, ce qui signifie que la portée cible des informations d’identification renvoyées est la portée de l’octroi d’origine. L’autre valeur possible pour privilege est Minimal. Si la portée target est réduite par rapport à la portée de l’octroi d’origine, la portée des informations d’identification temporaires est désactivée pour correspondre à la portée target, à condition que la portée target soit comprise dans la portée de l’octroi.

Le tableau suivant détaille l’effet du paramètre privilege sur deux octrois. Un octroi a la portée S3://amzn-s3-demo-bucket1/bob/*, qui inclut l’intégralité du préfixe bob/ dans le compartiment amzn-s3-demo-bucket1. L’autre octroi a la portée S3://amzn-s3-demo-bucket1/bob/reports/*, qui inclut uniquement le préfixe bob/reports/ dans le compartiment amzn-s3-demo-bucket1.

Portée de l’octroi Portée demandée Privilège Portée renvoyée Effet
S3://amzn-s3-demo-bucket1/bob/* amzn-s3-demo-bucket1/bob/* Default amzn-s3-demo-bucket1/bob/*

Le demandeur a accès à tous les objets qui ont des noms de clé commençant par le préfixe bob/ dans le compartiment amzn-s3-demo-bucket1.

S3://amzn-s3-demo-bucket1/bob/* amzn-s3-demo-bucket1/bob/ Minimal amzn-s3-demo-bucket1/bob/

Sans le caractère générique * après le nom de préfixe bob/, le demandeur n’a accès qu’à l’objet nommé bob/ dans le compartiment amzn-s3-demo-bucket1. Il n’est pas courant d’avoir un tel objet. Le demandeur n’a accès à aucun autre objet, pas même à ceux ayant des noms de clé commençant par le préfixe bob/.

S3://amzn-s3-demo-bucket1/bob/* amzn-s3-demo-bucket1/bob/images/* Minimal amzn-s3-demo-bucket1/bob/images/*

Le demandeur a accès à tous les objets qui ont des noms de clé commençant par le préfixe bob/images/* dans le compartiment amzn-s3-demo-bucket1.

S3://amzn-s3-demo-bucket1/bob/reports/* amzn-s3-demo-bucket1/bob/reports/file.txt Default amzn-s3-demo-bucket1/bob/reports/*

Le demandeur a accès à tous les objets qui ont des noms de clé commençant par le préfixe bob/reports dans le compartiment amzn-s3-demo-bucket1, ce qui correspond à la portée de l’octroi correspondant.

S3://amzn-s3-demo-bucket1/bob/reports/* amzn-s3-demo-bucket1/bob/reports/file.txt Minimal amzn-s3-demo-bucket1/bob/reports/file.txt

Le demandeur a accès uniquement à l’objet doté du nom de clé bob/reports/file.txt dans le compartiment amzn-s3-demo-bucket1. Le demandeur n’a accès à aucun autre objet.

Identités des annuaires

GetDataAccessprend en compte toutes les identités impliquées dans une demande lorsqu'il s'agit de jumeler des subventions appropriées. Pour les identités d'annuaire d'entreprise, renvoie GetDataAccess également 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 la section Octroi d'autorisations pour utiliser des sessions de console basées sur l'identité dans le Guide de l'utilisateur.AWS Identity and Access Management GetDataAccessgénère des informations d'identification restreignant le champ d'application à l'autorisation la plus restrictive, comme indiqué dans le tableau suivant :

Champ d'application de la subvention pour l'identité IAM Octroi d'une portée pour l'identité du répertoire Portée demandée Portée renvoyée Privilège Effet
S3://amzn-s3-demo-bucket1/bob/* amzn-s3-demo-bucket1/bob/images/* S3://amzn-s3-demo-bucket1/bob/images/image1.jpeg S3://amzn-s3-demo-bucket1/bob/images/* Default

Le demandeur a accès à tous les objets dont les noms de clé commencent par le préfixe bob/ dans le cadre de l'attribution du rôle IAM, mais il est limité aux préfixes bob/images/ dans le cadre de l'attribution de l'identité du répertoire. Le rôle IAM et l'identité de répertoire fournissent tous deux l'accès à l'étendue demandéebob/images/image1.jpeg, mais l'identité de répertoire bénéficie d'une autorisation plus restrictive. La portée renvoyée est donc limitée à l'attribution la plus restrictive de l'identité du répertoire.

S3://amzn-s3-demo-bucket1/bob/* amzn-s3-demo-bucket1/bob/images/* S3://amzn-s3-demo-bucket1/bob/images/image1.jpeg S3://amzn-s3-demo-bucket1/bob/images/image1.jpeg Minimal

Étant donné que le privilège est défini surMinimal, même si l'identité a accès à une plus grande étendue, seule l'étendue demandée est renvoyéebob/images/image1.jpeg.

S3://amzn-s3-demo-bucket1/bob/images/* amzn-s3-demo-bucket1/bob/* S3://amzn-s3-demo-bucket1/bob/images/image1.jpeg S3://amzn-s3-demo-bucket1/bob/images/* Default

Le demandeur a accès à tous les objets dont les noms de clé commencent par le préfixe bob/ dans le cadre de l'attribution de l'identité du répertoire, mais il est limité aux préfixes bob/images/ dans le cadre de l'attribution du rôle IAM. Le rôle IAM et l'identité de répertoire fournissent tous deux l'accès à l'étendue demandéebob/images/image1.jpeg, mais le rôle IAM dispose d'une autorisation plus restrictive. La portée renvoyée est donc limitée à l'attribution la plus restrictive pour le rôle IAM.

S3://amzn-s3-demo-bucket1/bob/images/* amzn-s3-demo-bucket1/bob/* S3://amzn-s3-demo-bucket1/bob/images/image1.jpeg S3://amzn-s3-demo-bucket1/bob/images/image1.jpeg Minimal

Étant donné que le privilège est défini surMinimal, même si l'identité a accès à une plus grande étendue, seule l'étendue demandée est renvoyéebob/images/image1.jpeg.

Durée

Le paramètre durationSeconds définit la durée des informations d’identification temporaires, en secondes. La valeur par défaut est de 3600 secondes (1 heure), mais le demandeur (le bénéficiaire) peut spécifier une plage allant de 900 secondes (15 minutes) à 43200 secondes (12 heures). Si le bénéficiaire demande une valeur supérieure à ce maximum, la demande échoue.

Note

Dans votre demande de jeton temporaire, si l’emplacement est un objet, définissez la valeur du paramètre targetType dans votre demande sur Object. Ce paramètre est obligatoire seulement si l’emplacement est un objet et que le niveau de privilège est Minimal. Si l’emplacement est un compartiment ou un préfixe, vous n’avez pas besoin de spécifier ce paramètre.

Exemples

Vous pouvez demander des informations d'identification temporaires en utilisant le AWS Command Line Interface (AWS CLI), l'API REST Amazon S3 et le AWS SDKs. Veuillez consulter ces exemples.

Pour plus d'informations, consultez GetDataAccessle manuel Amazon Simple Storage Service API Reference.

Pour l'installer AWS CLI, reportez-vous à la section Installation du AWS CLI dans le guide de AWS Command Line Interface l'utilisateur.

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

Exemple Demander des informations d’identification temporaires

Requête :

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

Réponse :

{ "Credentials": { "AccessKeyId": "Example-key-id", "SecretAccessKey": "Example-access-key", "SessionToken": "Example-session-token", "Expiration": "2023-06-14T18:56:45+00:00"}, "MatchedGrantTarget": "s3://amzn-s3-demo-bucket/prefixA**", "Grantee": { "GranteeType": "IAM", "GranteeIdentifier": "arn:aws:iam::111122223333:role/role-name" } }

Pour l'installer AWS CLI, reportez-vous à la section Installation du AWS CLI dans le guide de AWS Command Line Interface l'utilisateur.

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

Exemple Demander des informations d’identification temporaires

Requête :

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

Réponse :

{ "Credentials": { "AccessKeyId": "Example-key-id", "SecretAccessKey": "Example-access-key", "SessionToken": "Example-session-token", "Expiration": "2023-06-14T18:56:45+00:00"}, "MatchedGrantTarget": "s3://amzn-s3-demo-bucket/prefixA**", "Grantee": { "GranteeType": "IAM", "GranteeIdentifier": "arn:aws:iam::111122223333:role/role-name" } }

Pour plus d'informations sur la prise en charge par l'API REST d'Amazon S3 pour la demande d'informations d'identification temporaires auprès de S3 Access Grants, consultez GetDataAccessle manuel Amazon Simple Storage Service API Reference.

Pour plus d'informations sur la prise en charge par l'API REST d'Amazon S3 pour la demande d'informations d'identification temporaires auprès de S3 Access Grants, consultez GetDataAccessle manuel 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 informations d’identification temporaires que le bénéficiaire utilise pour accéder à vos données S3. Pour utiliser cet exemple de code, remplacez les user input placeholders par vos propres informations.

Exemple Obtenir des informations d’identification temporaires

Requête :

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

Réponse :

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

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 informations d’identification temporaires que le bénéficiaire utilise pour accéder à vos données S3. Pour utiliser cet exemple de code, remplacez les user input placeholders par vos propres informations.

Exemple Obtenir des informations d’identification temporaires

Requête :

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

Réponse :

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

L’exemple de code suivant renvoie les informations d’identification temporaires que le bénéficiaire utilise pour accéder à vos données S3. Pour utiliser cet exemple de code, remplacez les user input placeholders par vos propres informations.

Exemple Obtenir des informations d’identification temporaires

Requête :

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

Réponse :

GetDataAccessResponse( Credentials=Credentials( AccessKeyId="Example-access-key-id", SecretAccessKey="Example-secret-access-key", SessionToken="Example-session-token", Expiration=2023-06-07T06:55:24Z ))
ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.