Création d’octrois - 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.

Création d’octrois

Une autorisation d'accès individuelle dans une instance S3 Access Grants permet à une identité spécifique (un principal AWS Identity and Access Management (IAM), un utilisateur ou un groupe dans un annuaire d'entreprise d'accéder à un emplacement enregistré dans votre instance S3 Access Grants. Un emplacement associe des compartiments ou des préfixes à un rôle IAM. Les autorisations d’accès S3 endosseront ce rôle IAM pour fournir des informations d’identification temporaires aux bénéficiaires.

Après avoir enregistré au moins un emplacement dans votre instance d’autorisations d’accès S3, vous pouvez créer une autorisation d’accès.

Le bénéficiaire peut être un utilisateur ou un rôle IAM, ou encore un utilisateur ou un groupe provenant d’un annuaire. Un utilisateur d’annuaire est un utilisateur issu de votre annuaire d’entreprise ou d’une source d’identité externe que vous avez associée à votre instance d’autorisations d’accès S3. Pour de plus amples informations, veuillez consulter Autorisations d’accès S3 et identités d’annuaire d’entreprise. Pour créer une autorisation pour un utilisateur ou un groupe spécifique à partir d’IAM Identity Center, recherchez le GUID utilisé par IAM Identity Center afin d’identifier cet utilisateur dans IAM Identity Center (par exemple, a1b2c3d4-5678-90ab-cdef-EXAMPLE11111). Pour plus d’informations sur l’utilisation d’IAM Identity Center pour consulter les informations utilisateur, consultez Affichage des attributions des utilisateurs et des groupes dans le Guide de l’utilisateur AWS IAM Identity Center .

Vous pouvez accorder l’accès à un compartiment, à un préfixe ou à un objet. Dans Amazon S3, un préfixe est une chaîne de caractères située au début d’un nom de clé d’objet et qui sert à organiser les objets au sein d’un compartiment. Il peut s’agir de n’importe quelle chaîne de caractères autorisés, par exemple des noms de clé d’objet d’un compartiment commençant par le préfixe engineering/.

Sous-préfixe

Lorsque vous accordez l’accès à un emplacement enregistré, vous pouvez utiliser le champ Subprefix pour restreindre l’étendue de l’accès à un sous-ensemble de cet emplacement. Si l’emplacement enregistré que vous choisissez pour l’autorisation est le chemin S3 par défaut (s3://), vous devez réduire la portée de cette autorisation. Vous ne pouvez pas créer d’autorisation d’accès pour l’emplacement par défaut (s3://), ce qui permettrait au bénéficiaire d’accéder à chaque compartiment d’une Région AWS. À la place, vous devez limiter la portée de l’autorisation à l’un des éléments suivants :

  • Un compartiment : s3://bucket/*

  • Un préfixe dans un compartiment : s3://bucket/prefix*

  • Un préfixe dans un préfixe : s3://bucket/prefixA/prefixB*

  • Un objet : s3://bucket/object-key-name

Si vous créez une autorisation d’accès dans laquelle l’emplacement enregistré est un compartiment, vous pouvez transmettre l’un des éléments suivants dans le champ Subprefix pour limiter la portée de cette autorisation :

  • Un préfixe dans le compartiment : prefix*

  • Un préfixe dans un préfixe : prefixA/prefixB*

  • Un objet : /object-key-name

Une fois que vous avez créé l'autorisation, l'étendue de la subvention qui s'affiche dans la console Amazon S3 ou GrantScope qui est renvoyée dans la réponse API ou AWS Command Line Interface (AWS CLI) est le résultat de la concaténation du chemin de localisation avec le. Subprefix Assurez-vous que ce chemin concaténé correspond bien au compartiment, au préfixe ou à l’objet S3 auquel vous souhaitez accorder l’accès.

Note
  • Si vous devez créer une autorisation d’accès qui octroie l’accès à un seul objet, vous devez spécifier que le type d’autorisation est pour un objet. Pour ce faire, dans un appel d’API ou une commande CLI, transmettez le paramètre s3PrefixType avec la valeur Object. Dans la console Amazon S3, lorsque vous créez l’autorisation, après avoir sélectionné un emplacement, sous Portée de l’octroi, cochez la case Grant scope is an object (La portée de l’octroi est un objet).

  • Vous ne pouvez pas créer d’autorisation d’accès à un compartiment si celui-ci n’existe pas encore. Toutefois, vous pouvez créer une autorisation pour un préfixe qui n’existe pas encore.

  • Pour le nombre maximum d’autorisations d’accès que vous pouvez créer dans votre instance d’autorisations d’accès S3, consultez Limitations des autorisations d’accès S3.

Vous pouvez créer une autorisation d'accès à l'aide de la console Amazon S3 AWS CLI, de l'API REST Amazon S3 et AWS SDKs.

Pour créer une autorisation d’accès
  1. Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/s3/.

  2. Dans le volet de navigation de gauche, choisissez Access Grants.

  3. Sur la page Octrois d’accès S3, choisissez la région qui contient l’instance d’octrois d’accès S3 qui vous intéresse.

    Si vous utilisez l’instance d’autorisations d’accès S3 pour la première fois, assurez-vous d’avoir terminé l’étape 2 : Enregistrer un emplacement et d’être passé à l’étape 3 de l’Assistant Mise en place de l’instance Access Grants. Si vous possédez déjà une instance d’autorisations d’accès S3, choisissez Afficher les détails, puis, dans l’onglet Octrois, choisissez Créer un octroi.

    1. Dans la section Portée de l’octroi, sélectionnez ou entrez un emplacement enregistré.

      Si vous avez sélectionné l’emplacement s3:// par défaut, utilisez la zone Sous-préfixe pour réduire la portée de l’autorisation d’accès. Pour plus d’informations, consultez Sous-préfixe. Si vous accordez l’accès uniquement à un objet, sélectionnez Le périmètre de l’octroi est un objet.

    2. Sous Autorisations et accès, sélectionnez le niveau d’autorisation : Lecture, Écriture ou les deux.

      Choisissez ensuite le type de bénéficiaire. Si vous avez ajouté votre annuaire d’entreprise à IAM Identity Center et associé cette instance IAM Identity Center à votre instance d’autorisations d’accès S3, vous pouvez choisir Identité du répertoire depuis IAM Identity Center. Si vous choisissez cette option, obtenez l’ID de l’utilisateur ou du groupe auprès d’IAM Identity Center et entrez-le dans cette section.

      Si le type de bénéficiaire est un utilisateur ou un rôle IAM, choisissez Principal IAM. Sous Type principal d’IAM, choisissez Utilisateur ou Rôle. Ensuite, sous Utilisateur principal d’IAM, choisissez dans la liste ou entrez l’ID de l’identité.

    3. Pour créer l’autorisation d’accès S3, choisissez Suivant ou Créer une autorisation.

  4. Si l’option Suivant ou Créer un octroi est désactivée :

    Impossible de créer un octroi
    • Il se peut que vous deviez d’abord enregistrer un emplacement dans votre instance d’autorisations d’accès S3.

    • Vous ne disposez peut-être pas de l’autorisation s3:CreateAccessGrant pour créer une autorisation d’accès. Contactez l’administrateur de votre compte.

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

Les exemples suivants montrent comment créer une demande d’autorisation d’accès pour un principal IAM et comment créer une demande d’autorisation d’accès pour un utilisateur ou un groupe d’annuaire d’entreprise.

Pour utiliser les exemples de commandes suivants, remplacez les user input placeholders par vos propres informations.

Note

Si vous créez une autorisation d’accès qui accorde l’accès à un seul objet, incluez le paramètre requis --s3-prefix-type Object.

Exemple Créer une demande d’autorisation d’accès pour un principal IAM
aws s3control create-access-grant \ --account-id 111122223333 \ --access-grants-location-id a1b2c3d4-5678-90ab-cdef-EXAMPLE22222 \ --access-grants-location-configuration S3SubPrefix=prefixB* \ --permission READ \ --grantee GranteeType=IAM,GranteeIdentifier=arn:aws:iam::123456789012:user/data-consumer-3
Exemple Créer une réponse d’octroi d’accès
{"CreatedAt": "2023-05-31T18:41:34.663000+00:00", "AccessGrantId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "AccessGrantArn": "arn:aws:s3:us-east-2:111122223333:access-grants/default/grant/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "Grantee": { "GranteeType": "IAM", "GranteeIdentifier": "arn:aws:iam::111122223333:user/data-consumer-3" }, "AccessGrantsLocationId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "AccessGrantsLocationConfiguration": { "S3SubPrefix": "prefixB*" }, "GrantScope": "s3://DOC-BUCKET-EXAMPLE/prefix*", "Permission": "READ" }
Créer une demande d’autorisation d’accès pour un utilisateur ou un groupe d’annuaire

Pour créer une demande d’autorisation d’accès pour un utilisateur ou un groupe d’annuaire, vous devez d’abord obtenir le GUID de l’utilisateur ou du groupe d’annuaire en exécutant l’une des commandes suivantes.

Exemple Obtenir un GUID pour un utilisateur ou un groupe d’annuaire

Vous pouvez trouver le GUID d'un utilisateur IAM Identity Center via la console IAM Identity Center ou en utilisant le ou. AWS CLI AWS SDKs La commande suivante répertorie les utilisateurs de l’instance IAM Identity Center spécifiée, avec leurs noms et identifiants.

aws identitystore list-users --identity-store-id d-1a2b3c4d1234

Cette commande répertorie les groupes figurant dans l’instance IAM Identity Center spécifiée.

aws identitystore list-groups --identity-store-id d-1a2b3c4d1234
Exemple Créer une autorisation d’accès pour un utilisateur ou un groupe d’annuaire

Cette commande est similaire à la création d’un octroi pour des utilisateurs ou des rôles IAM, si ce n’est que le type de bénéficiaire est DIRECTORY_USER ou DIRECTORY_GROUP, et que l’identifiant du bénéficiaire est le GUID de l’utilisateur ou du groupe d’annuaire.

aws s3control create-access-grant \ --account-id 123456789012 \ --access-grants-location-id default \ --access-grants-location-configuration S3SubPrefix="amzn-s3-demo-bucket/rafael/*" \ --permission READWRITE \ --grantee GranteeType=DIRECTORY_USER,GranteeIdentifier=83d43802-00b1-7054-db02-f1d683aacba5 \

Pour plus d’informations sur la prise en charge de l’API REST Amazon S3 pour la gestion des autorisations d’accès, consultez les sections suivantes dans la Référence d’API Amazon Simple Storage Service :

Cette section fournit des exemples de création d'une autorisation d'accès à l'aide du AWS SDKs.

Java

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

Note

Si vous créez une autorisation d’accès qui accorde l’accès à un seul objet, incluez le paramètre requis .s3PrefixType(S3PrefixType.Object).

Exemple Créer une demande d’autorisation d’accès
public void createAccessGrant() { CreateAccessGrantRequest createRequest = CreateAccessGrantRequest.builder() .accountId("111122223333") .accessGrantsLocationId("a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa") .permission("READ") .accessGrantsLocationConfiguration(AccessGrantsLocationConfiguration.builder().s3SubPrefix("prefixB*").build()) .grantee(Grantee.builder().granteeType("IAM").granteeIdentifier("arn:aws:iam::111122223333:user/data-consumer-3").build()) .build(); CreateAccessGrantResponse createResponse = s3Control.createAccessGrant(createRequest); LOGGER.info("CreateAccessGrantResponse: " + createResponse); }
Exemple Créer une réponse d’octroi d’accès
CreateAccessGrantResponse( CreatedAt=2023-06-07T05:20:26.330Z, AccessGrantId=a1b2c3d4-5678-90ab-cdef-EXAMPLE33333, AccessGrantArn=arn:aws:s3:us-east-2:444455556666:access-grants/default/grant/a1b2c3d4-5678-90ab-cdef-EXAMPLE33333, Grantee=Grantee( GranteeType=IAM, GranteeIdentifier=arn:aws:iam::111122223333:user/data-consumer-3 ), AccessGrantsLocationId=a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa, AccessGrantsLocationConfiguration=AccessGrantsLocationConfiguration( S3SubPrefix=prefixB* ), GrantScope=s3://DOC-BUCKET-EXAMPLE/prefixB, Permission=READ )