Comment accorder à un utilisateur l'accès restreint à certains compartiments ou dossiers depuis la console Amazon S3 ?

Lecture de 3 minute(s)
0

Je veux accorder à un utilisateur l'accès à un compartiment ou à un dossier (préfixe) via la console Amazon Simple Storage Service (Amazon S3). Toutefois, je ne souhaite pas que l'utilisateur accède à d'autres compartiments du compte ou d'autres dossiers du compartiment.

Brève description

Modifier les autorisations AWS Identity and Access Management (IAM) d'un utilisateur afin de limiter l'accès de l'utilisateur à la console Amazon S3 à un compartiment ou à un dossier spécifique (préfixe) :

1.Supprimez l'autorisation d'accès à l'action s3:ListAllMyBuckets.

2.Ajoutez l'autorisation à s3:ListBucket uniquement pour le compartiment ou le dossier auquel vous souhaitez que l'utilisateur accède. Pour permettre à l'utilisateur de charger et de télécharger des éléments depuis le compartiment ou le dossier, vous devez également inclure s3:PutObject et s3:GetObject.

Résolution

1.Ouvrez la console IAM.

2.Sélectionnez l'utilisateur ou le rôle IAM auquel vous souhaitez restreindre l'accès.

3.Dans l'onglet Permissions de l'utilisateur IAM ou du rôle IAM, développez chaque politique pour afficher son document de stratégie JSON.

4.Dans le document de stratégie JSON, recherchez la stratégie qui accorde à l'utilisateur l'autorisation d'accéder à l'action s3:ListAllMyBuckets ou aux actions s3:* (toutes les actions S3).

5.Modifiez la stratégie pour supprimer l'autorisation d'accès à l'actions3:ListAllMyBuckets.

**Remarque :**Si une stratégie utilisateur jointe autorise l'accès à s3:* ou à un accès administrateur complet à la ressource « * », alors la stratégie inclut les autorisations s3:ListAllMyBuckets. Supprimez la ressource « \ * ». Ensuite, utilisez l'un des exemples de stratégie suivants.

6.Ajoutez la permission à s3:ListBucket uniquement pour le compartiment ou le dossier auquel vous souhaitez que l'utilisateur accède depuis la console.

L'exemple de stratégie suivant concerne l'accès à un compartiment S3 :

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:ListBucket"
      ],
      "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET"
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:PutObject",
        "s3:GetObject"
      ],
      "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*"
    }
  ]
}

La stratégie permet à l'utilisateur d'exécuter les actions s3:ListBucket, s3:PutObject, et s3:GetObject uniquement sur DOC-EXAMPLE-BUCKET.

L'exemple de stratégie suivant autorise l'accès à un dossier. La politique permet à l'utilisateur d'exécuter les actions s3:ListBucket, s3:ListBucketVersions, s3:PutObject, s3:GetObject, et s3:GetObjectVersion uniquement sur le dossier 2 de DOC-EXAMPLE-BUCKET. Utilisez s3:ListBucketVersions, s3:GetObjectVersion et s3:GetBucketVersioning uniquement si le compartiment dispose d’une gestion des versions et si vous souhaitez que les utilisateurs aient accès aux versions précédentes des objets.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AllowUsersToAccessFolder2Only",
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:GetObjectVersion",
        "s3:PutObject"
      ],
      "Resource": [
        "arn:aws:s3:::DOC-EXAMPLE-BUCKET/folder1/folder2/*"
      ]
    },
    {
      "Sid": "AllowListOfBucketOnlyOnPrefix",
      "Effect": "Allow",
      "Action": [
        "s3:ListBucket",
        "s3:ListBucketVersions"
      ],
      "Resource": [
        "arn:aws:s3:::DOC-EXAMPLE-BUCKET"
      ],
      "Condition": {
        "StringLike": {
          "s3:prefix": [
            "folder1/folder2/*"
          ]
        }
      }
    },
    {
      "Sid": "AllowListVersionOnObjectDetails",
      "Effect": "Allow",
      "Action": [
        "s3:GetBucketVersioning"
      ],
      "Resource": [
        "arn:aws:s3:::DOC-EXAMPLE-BUCKET"
      ]
    }
  ]
}

7.Fournissez à l'utilisateur un lien de console direct vers le compartiment ou le dossier S3.

Avertissement : Dès que vous modifiez ces autorisations, l'utilisateur reçoit un message d'erreur « Accès refusé » lorsqu'il accède à la console principale d'Amazon S3. L'utilisateur doit utiliser un lien direct vers la console pour accéder au compartiment ou au dossier.

Le lien suivant est un exemple de lien de console direct vers un compartiment S3 :

https://s3.console.aws.amazon.com/s3/buckets/DOC-EXAMPLE-BUCKET/

Le lien suivant est un exemple de lien direct de console vers un dossier :

https://s3.console.aws.amazon.com/s3/buckets/DOC-EXAMPLE-BUCKET/folder1/folder2/

Informations connexes

Exemples de stratégies d'utilisation

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an