Que se passe-t-il lorsque j'active ou désactive le paramètre de blocage de l’accès public Amazon S3 ?

Lecture de 7 minute(s)
0

Je souhaite savoir comment l'activation ou la désactivation du paramètre Block Public Access d'Amazon Simple Storage Service (Amazon S3) affecte les opérations d'Amazon S3.

Résolution

Réglages disponibles

Les paramètres Amazon S3 Block Public Access comportent différents niveaux de restrictions que vous pouvez appliquer via quatre options configurables :

  • Bloquez l'accès public accordé par le biais de nouvelles listes de contrôle d'accès (ACL) : Amazon S3 bloque les autorisations d'accès public que vous appliquez aux compartiments ou aux objets récemment ajoutés. S3 empêche également la création de nouvelles ACL d'accès public pour les compartiments et les objets existants. Ce paramètre ne modifie pas les autorisations existantes qui autorisent l'accès public aux ressources S3 à l'aide des ACL.
  • Bloquez l'accès public accordé via n'importe quelle ACL : S3 ignore toutes les ACL qui accordent un accès public aux compartiments et aux objets.
  • Bloquez l'accès public accordé par le biais de nouvelles politiques relatives aux compartiments publics ou aux points d'accès : S3 bloque les nouvelles politiques relatives aux compartiments et aux points d'accès qui accordent un accès public aux compartiments et aux objets. Ce paramètre ne modifie pas les politiques existantes qui autorisent l'accès public aux ressources S3.
  • Bloquez l'accès public et multicompte accordé par le biais de politiques publiques relatives aux compartiments ou aux points d'accès : S3 ignore l'accès public et multicompte aux compartiments ou aux points d'accès grâce à des politiques qui accordent un accès public aux compartiments et aux objets.

Les première et troisième options visent à empêcher toute nouvelle mise à jour des politiques des compartiments S3 ou des ACL d'objets qui accordent un accès public. Ces paramètres ne modifient pas les politiques ou les ACL existantes qui accordent actuellement un accès public.

Les deuxième et quatrième options visent à empêcher et à ignorer les politiques de compartiment nouvelles et existantes ou les ACL d'objets qui accordent un accès public. 

Pour plus d'informations, consultez la section Bloquer les paramètres d'accès public.

Activer ou désactiver les paramètres d'accès public de S3 Block

Remarque : Depuis avril 2023, l'accès public à S3 Block est activé par défaut sur tous les compartiments S3 nouvellement créés.

Vous pouvez activer ce paramètre au niveau du compte, du compartiment ou les deux.

Une fois que vous avez activé le blocage des paramètres publics pour un compartiment, voici ce qui se passe :

  • Les demandes anonymes et non authentifiées sont refusées sans exception. Les URI et URL S3 accessibles via un navigateur Web renvoient des erreurs HTTP 403 Access Denied avec l'ID de demande correspondant.
  • Toute ACL publique appliquée aux objets S3 est ignorée, ce qui entraîne la révocation de l'accès pour les utilisateurs qui s'appuient sur cette ACL pour accéder aux objets.

Une fois que vous avez désactivé le blocage des paramètres publics pour un compartiment, voici ce qui se passe :

  • Un objet doté d'une politique de compartiment publique ou d'un accès ACL public est désormais accessible à tous les utilisateurs d'Internet à l'aide d'un lien vers le chemin de l'objet. Cela inclut les chalutiers Web et les utilisateurs non autorisés.
  • Les coûts associés aux requêtes S3, telles que LIST ou GET, peuvent entraîner des coûts supplémentaires. Une demande anonyme qui est faite pour le compartiment ou l'objet public est facturée au propriétaire du compartiment.
  • Les règles AWS Config applicables et l'analyseur d'accès AWS Identity and Access Management (IAM) pour S3 génèrent des avertissements concernant le statut public de votre compartiment. Pour respecter ces règles, vous devez activer les paramètres de blocage de l'accès public.

Lorsque vous désactivez le paramètre de blocage de l'accès public, la colonne Accès de votre compartiment S3 affiche l'une des options suivantes sur la console :

  • Les objets peuvent être publics : Le compartiment n'est pas public, mais toute personne disposant des autorisations appropriées peut accorder un accès public aux objets.
  • Compartiments et objets non publics : Le compartiment et les objets ne sont pas accessibles au public.
  • Seuls les utilisateurs autorisés de ce compte : L'accès est limité aux utilisateurs et aux rôles des comptes IAM ainsi qu'aux principaux services AWS, car une politique accorde un accès public.
  • Public : Tout le monde a accès à un ou plusieurs objets de liste, à des objets d'écriture et à des autorisations de lecture et d'écriture.

Autorisations requises

Pour activer ou désactiver les paramètres S3 Block Public Access, votre rôle IAM ou votre utilisateur doit disposer des autorisations S3 suivantes :

  • Niveau du compte : s3:PutAccountPublicAccessBlock
  • Niveau du compartiment : s3:PutBucketPublicAccessBlock 

Pour consulter vos paramètres d'accès public S3 Block actuels, votre rôle IAM ou votre utilisateur doit disposer des autorisations S3 suivantes :

  • Niveau du compte : s3:GetAccountPublicAccessBlock
  • Niveau du compartiment : s3:GetBucketPublicAccessBlock

Pour plus d'informations, consultez la section Autorisations.

Résolution des erreurs

Le message d'erreur Accès refusé peut s'afficher lorsque vous essayez d'activer ou de désactiver les paramètres de blocage de l'accès public sur votre compartiment S3. Pour résoudre cette erreur, vérifiez les points suivants :

  • Vérifiez que les politiques de contrôle des services n'incluent pas les politiques organisationnelles qui empêchent de modifier les paramètres de S3 Block Public Access au niveau du compte ou du compartiment. Vérifiez les instructions Deny pour les actions s3:PutBucketPublicAccessBlock et s3:PutAccountPublicAccessBlock.
  • Vérifiez que l'utilisateur ou le rôle IAM dispose des autorisations requises pour les ressources.
  • Vérifiez que le compartiment S3 dont vous souhaitez modifier les paramètres ne dispose pas d'une politique de compartiment S3 publique existante (aucune déclaration de politique de compartiment avec Principal : « * »).

Identification de l'utilisateur

Pour identifier l'entité IAM qui a modifié ce paramètre sur votre compartiment ou votre compte, utilisez les événements AWS CloudTrail. Vous pouvez filtrer ces événements en fonction des noms d'événements suivants dans votre console CloudTrail :

  • Pour le niveau du compte, recherchez PutAccountPublicAccessBlock.
  • Pour le niveau du compartiment, recherchez PutBucketPublicAccessBlock.

Pour identifier l'ARN de l'appelant, consultez le champ UserIdentity du journal :

 "userIdentity": {  
 "type": "AssumedRole",  
 "principalId": "[AccountID]:[RoleName]",  
 "arn": "arn:aws:sts::[AccountID]:assumed-role/[RoleName]/[RoleSession]",

Vérifiez ensuite la ressource du compartiment S3 que vous souhaitez vérifier :

"requestParameters": {  
 "publicAccessBlock": "",  
 "bucketName": "[BucketName]"

Autres considérations

  • Les politiques de compartiment qui autorisent l'accès à la clé de condition aws:SourceIp avec de larges plages d'adresses IP (par exemple, 0.0.0.0/1) sont considérées comme publiques.
  • Vous pouvez utiliser IAM Access Analyzer pour S3 pour examiner les compartiments avec des listes de contrôle d'accès, des politiques de compartiment ou des politiques de point d'accès qui accordent un accès public. 
  • Si la colonne d'accès de votre compartiment affiche une erreur dans la colonne Accès de votre console S3, cela signifie que votre rôle IAM ou votre utilisateur ne dispose pas des autorisations suffisantes pour répertorier vos compartiments et leurs paramètres d'accès public. Assurez-vous d'ajouter les autorisations suivantes à votre politique d'utilisateur ou de rôle :
s3:GetAccountPublicAccessBlock
s3:GetBucketPublicAccessBlock
s3:GetBucketPolicyStatus
s3:GetBucketLocation
s3:GetBucketAcl
s3:ListAccessPoints
s3:ListAllMyBuckets
  • Amazon S3 ne prend pas en charge les paramètres de blocage de l'accès public pour chaque objet.
  • Lorsque vous appliquez des paramètres de blocage de l'accès public à un compte, les paramètres s'appliquent à toutes les régions AWS du monde entier. Les paramètres peuvent ne pas prendre effet immédiatement ou simultanément dans toutes les régions, mais ils finissent par s'étendre à toutes les régions.
AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an