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 AWS Identity and Access Management (IAM) principal, un utilisateur ou un groupe dans un annuaire d'entreprise d'accéder à un emplacement enregistré dans votre instance S3 Access Grants. Un lieu associe des compartiments ou des préfixes à un IAM rôle. S3 Access Grants assume ce IAM rôle pour vendre des informations d'identification temporaires aux bénéficiaires.

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

Le bénéficiaire peut être un IAM utilisateur ou un rôle, un utilisateur ou un groupe d'annuaires. Un utilisateur d'annuaire est un utilisateur de votre annuaire d'entreprise ou d'une source d'identité externe que vous avez associé à votre instance S3 Access Grants. Pour de plus amples informations, veuillez consulter Octrois d’accès S3 et identités d’annuaire d’entreprise. Pour créer une subvention pour un utilisateur ou un groupe d'annuaire spécifique à partir IAM d'Identity Center, recherchez GUID celle qu'IAMIdentity Center utilise pour identifier cet utilisateur dans IAM Identity Center, par exemple,a1b2c3d4-5678-90ab-cdef-EXAMPLE11111. Pour plus d'informations sur l'utilisation d'IAMIdentity Center pour consulter les informations utilisateur, voir Afficher les attributions des utilisateurs et des groupes dans le guide de AWS IAM Identity Center l'utilisateur.

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 les noms de clé d'objet de votre compartiment commençant par le engineering/ préfixe.

Sous-préfixe

Lorsque vous accordez l'accès à un emplacement enregistré, vous pouvez utiliser le Subprefix champ pour réduire l'étendue de l'accès à un sous-ensemble de l'étendue du lieu. 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 l'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 à tous les compartiments d'un Région AWS. Vous devez plutôt réduire la portée de la subvention à l'une des options suivantes :

  • Un seau : 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 où l'emplacement enregistré est un bucket, vous pouvez transmettre l'une des informations suivantes dans le Subprefix champ pour réduire la portée de l'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 n'accorde l'accès qu'à un seul objet, vous devez spécifier que le type d'autorisation est destiné à un objet. Pour ce faire, dans un API appel ou une CLI commande, transmettez le s3PrefixType paramètre avec la valeurObject. Dans la console Amazon S3, lorsque vous créez la subvention, après avoir sélectionné un emplacement, sous Grant Scope, cochez la case Grant scope is an object.

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

  • Pour connaître le nombre maximal d'autorisations que vous pouvez créer dans votre instance S3 Access Grants, consultezLimitations des octrois d’accès S3.

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

Pour créer un octroi 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’octrois 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’octrois 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’octroi 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 répertoire d'entreprise à IAM Identity Center et associé cette instance IAM d'Identity Center à votre instance S3 Access Grants, vous pouvez choisir Directory identity dans IAM Identity Center. Si vous choisissez cette option, obtenez l'ID de l'utilisateur ou du groupe auprès d'IAMIdentity Center et saisissez-le dans cette section.

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

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

  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’octrois d’accès S3.

    • Vous ne disposez peut-être pas de l’autorisation s3:CreateAccessGrant pour créer un octroi 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 IAM principal et comment créer une demande d'autorisation d'accès pour un utilisateur ou un groupe d'annuaires d'entreprise.

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

Note

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

Exemple Création d'une demande d'autorisation d'accès pour un IAM directeur
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’octroi 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 de l'annuaire, vous devez d'abord obtenir la demande GUID pour l'utilisateur ou le groupe de l'annuaire en exécutant l'une des commandes suivantes.

Exemple Obtenir un GUID pour un utilisateur ou un groupe d'annuaires

Vous pouvez trouver le nom GUID d'un utilisateur d'IAMIdentity Center via la console IAM Identity Center ou en utilisant le AWS CLI ou 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 de l'instance IAM Identity Center spécifiée.

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

Cette commande est similaire à la création d'une subvention pour des IAM utilisateurs ou des rôles, sauf que le type de bénéficiaire est DIRECTORY_USER ou DIRECTORY_GROUP et que l'identifiant du bénéficiaire est celui de l'GUIDutilisateur ou du groupe de l'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 le REST API support Amazon S3 pour la gestion des autorisations d'accès, consultez les sections suivantes du manuel Amazon Simple Storage Service API Reference :

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 un octroi 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’octroi 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 )