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.
Blocage de l’accès public à votre stockage Amazon S3
La fonctionnalité Amazon S3 Block Public Access fournit des paramètres pour les points d'accès, les compartiments, les comptes et vous aide AWS Organizations à gérer l'accès public aux ressources Amazon S3. Par défaut, les nouveaux compartiments, points d'accès et objets n'autorisent pas l'accès public. Toutefois, les utilisateurs peuvent modifier les stratégies de compartiment, les stratégies de point d’accès ou les autorisations d’objet pour autoriser l’accès public. Les paramètres de la fonctionnalité de blocage de l’accès public S3 remplacent ces stratégies et autorisations pour que vous puissiez restreindre l’accès public à ces ressources.
Avec S3 Block Public Access, les administrateurs d'entreprise, les administrateurs de comptes et les propriétaires de compartiments peuvent facilement configurer des contrôles centralisés pour limiter l'accès public à leurs ressources Amazon S3, qui sont appliqués quelle que soit la manière dont les ressources sont créées.
Vous pouvez gérer les paramètres de blocage de l'accès public à plusieurs niveaux : au niveau de l'organisation (utilisation AWS Organizations), au niveau du compte et au niveau du compartiment et du point d'accès. Pour obtenir des instructions sur la configuration du blocage de l’accès public, consultez Configuration du blocage d’accès public.
Quand Amazon S3 reçoit une demande d’accès à un compartiment ou à un objet, il détermine si le paramètre de blocage de l’accès public est défini pour le compartiment ou le compte du propriétaire de compartiment. Si le compte fait partie d'une politique de blocage AWS Organizations de l'accès public, Amazon S3 vérifie également les paramètres au niveau de l'organisation. Si la demande a été effectuée via un point d’accès, Amazon S3 vérifie également les paramètres de blocage de l’accès public pour le point d’accès. S’il existe un paramètre de blocage de l’accès public interdisant l’accès demandé, Amazon S3 rejette la demande.
Le blocage de l’accès public Amazon S3 fournit quatre paramètres. Ces paramètres sont indépendants et peuvent être fournis sous n'importe quelle combinaison. Chaque paramètre peut être appliqué à un point d’accès, à un compartiment ou à un Compte AWS entier. Au niveau de l'organisation, les quatre paramètres sont appliqués ensemble en tant que politique unifiée. Vous ne pouvez pas sélectionner des paramètres individuels de manière granulaire. Si les paramètres de blocage de l’accès public pour le point d’accès, le compartiment ou le compte diffèrent, Amazon S3 applique la combinaison la plus restrictive des paramètres du point d’accès, du compartiment et du compte. Les paramètres au niveau du compte héritent automatiquement des politiques au niveau de l'organisation lorsqu'ils sont présents, et S3 adopte la politique la plus restrictive entre les paramètres au niveau du compartiment et les paramètres effectifs au niveau du compte. Par exemple, si une politique de blocage de l'accès public est activée dans votre organisation, mais que le blocage de l'accès public est désactivé pour un compartiment spécifique, le compartiment sera toujours protégé car S3 applique les paramètres les plus restrictifs au niveau de l'organisation/du compte. À l'inverse, si la politique de votre organisation est désactivée mais que le blocage de l'accès public est activé pour un bucket, ce bucket reste protégé par ses paramètres au niveau du bucket.
Lorsqu'Amazon S3 évalue si une opération est interdite par un paramètre de blocage de l'accès public, il rejette toute demande qui enfreint une politique de l'organisation (qui applique le paramètre BPA du compte) ou un paramètre de point d'accès, de compartiment ou de compte.
Important
L'accès public est accordé aux compartiments et aux objets par le biais de listes de contrôle d'accès (ACLs), de politiques de point d'accès, de politiques de compartiments, ou de toutes les politiques. Pour être sûr que l’accès public à tous vos points d’accès, compartiments et objets Amazon S3 est bloqué, nous vous recommandons d’activer les quatre paramètres liés au blocage de l’accès public pour votre compte. Pour les organisations qui gèrent plusieurs comptes, envisagez d'utiliser des politiques de blocage de l'accès public au niveau de l'organisation pour un contrôle centralisé. En outre, nous vous recommandons d'activer également les quatre paramètres pour chaque compartiment afin de vous conformer au contrôle AWS S3.8 des meilleures pratiques de sécurité de Security Hub. Ces paramètres bloquent l’accès public pour tous les compartiments et points d’accès présents et futurs.
Avant d'appliquer ces paramètres, vérifiez que vos applications fonctionnent correctement sans accès public. Si vous avez besoin d’un certain niveau d’accès public à vos compartiments ou objets, par exemple pour héberger un site web statique comme décrit dans Hébergement d’un site Web statique à l’aide d’Amazon S3, vous pouvez personnaliser les paramètres individuels afin de les adapter à vos cas d’utilisation du stockage.
L'activation du blocage de l'accès public permet de protéger vos ressources en empêchant l'accès public d'être accordé par le biais des politiques de ressources ou des listes de contrôle d'accès (ACLs) directement associées aux ressources S3. Outre l’activation du blocage de l’accès public, inspectez attentivement les politiques suivantes pour vous assurer qu’elles n’accordent pas d’accès public :
-
Politiques basées sur l'identité associées aux AWS principaux associés (par exemple, rôles IAM)
-
Politiques basées sur les AWS ressources associées (par exemple, clés AWS Key Management Service (KMS))
Note
-
Vous pouvez activer les paramètres de blocage de l'accès public uniquement pour les organisations, les points d'accès, les compartiments et Comptes AWS. Amazon S3 ne prend pas en charge les paramètres de blocage de l’accès public par objet.
-
Lorsque vous appliquez des paramètres de blocage de l'accès public à un compte, ils s'appliquent à tous Régions AWS dans le 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’y propager.
-
Lorsque vous appliquez des politiques de blocage de l'accès public au niveau de l'organisation, elles se propagent automatiquement aux comptes membres sélectionnés et remplacent les paramètres au niveau des comptes.
Rubriques
Paramètres de la fonctionnalité de blocage de l’accès public
Gestion des blocages d'accès public au niveau de l'organisation
Exécution d’opérations de blocage d’accès public sur un point d’accès
Utilisation de l’analyseur d’accès IAM pour S3 pour passer en revue les compartiments publics
Configuration des paramètres de blocage d’accès public pour votre compte
Configuration des paramètres de blocage d’accès public pour vos compartiments S3
Paramètres de la fonctionnalité de blocage de l’accès public
La fonctionnalité de blocage de l’accès public S3 fournit quatre paramètres. Vous pouvez appliquer ces paramètres de manière combinée à des points d’accès, à des compartiments ou à des Comptes AWS entiers. Au niveau de l'organisation, vous pouvez uniquement activer ou désactiver les quatre paramètres ensemble en utilisant une approche « tout » ou « aucun ». Le contrôle granulaire des paramètres individuels n'est pas disponible. Si vous appliquez un paramètre à un compte, il s’applique à tous les compartiments et points d’accès appartenant à ce compte. Les paramètres au niveau du compte héritent automatiquement des politiques de l'organisation lorsqu'ils sont présents. De même, si vous appliquez un paramètre à un compartiment, il s’applique à tous les points d’accès associés à ce compartiment.
L'héritage et l'application des politiques fonctionnent comme suit :
-
Les politiques au niveau de l'organisation s'appliquent automatiquement aux comptes des membres, en appliquant tous les paramètres existants au niveau des comptes
-
Les paramètres au niveau du compte héritent des politiques de l'organisation lorsqu'elles sont présentes ou utilisent des paramètres configurés localement lorsqu'aucune politique d'organisation n'existe
-
Les paramètres au niveau du compartiment fonctionnent indépendamment mais sont soumis à des restrictions d'application. S3 applique la combinaison la plus restrictive à tous les niveaux applicables : paramètres au niveau de l'organisation/du compte et au niveau du compartiment. Cela signifie qu'un bucket hérite de la protection de base de son compte (qui peut être géré par l'organisation), mais S3 appliquera la configuration la plus restrictive entre les paramètres du bucket et les paramètres effectifs du compte.
Le tableau suivant contient les paramètres disponibles.
| Nom | Description |
|---|---|
BlockPublicAcls |
La configuration de cette option sur
Lorsque ce paramètre est défini sur NoteLes points d'accès ne leur sont pas ACLs associés. Si vous appliquez ce paramètre à un point d’accès, il agit comme une transmission au compartiment sous-jacent. Si ce paramètre est activé sur un point d’accès, les demandes effectuées via le point d’accès se comportent comme si ce paramètre était activé dans le compartiment sous-jacent, que ce paramètre soit activé ou non dans le compartiment. |
IgnorePublicAcls |
Si cette option est NoteLes points d'accès ne leur sont pas ACLs associés. Si vous appliquez ce paramètre à un point d’accès, il agit comme une transmission au compartiment sous-jacent. Si ce paramètre est activé sur un point d’accès, les demandes effectuées via le point d’accès se comportent comme si ce paramètre était activé dans le compartiment sous-jacent, que ce paramètre soit activé ou non dans le compartiment. |
BlockPublicPolicy |
Si vous définissez cette option sur Si vous définissez cette option sur Vous pouvez utiliser ce paramètre pour autoriser les utilisateurs à gérer des stratégies de point d’accès et de compartiment, sans toutefois les autoriser à partager publiquement le compartiment ou les objets qu’il contient. L’activation de ce paramètre n’a pas d’incidence sur les stratégies de point d’accès ou de compartiment existantes. ImportantPour utiliser ce paramètre efficacement, nous vous recommandons de l’appliquer au niveau du compte. Une stratégie de compartiment peut autoriser les utilisateurs à modifier les paramètres de blocage de l’accès public d’un compte. Par conséquent, les utilisateurs autorisés à modifier une stratégie de compartiment peuvent insérer une stratégie qui leur permet de désactiver les paramètres de blocage de l’accès public pour le compartiment. Si ce paramètre est activé pour le compte entier, et non pour un compartiment spécifique, Amazon S3 bloque les stratégies publiques même si un utilisateur modifie la stratégie de compartiment pour désactiver ce paramètre. |
RestrictPublicBuckets |
Si vous définissez cette option de L’activation de ce paramètre n’a pas d’incidence sur les stratégies de point d’accès ou de compartiment existantes, mais Amazon S3 bloque l’accès public et entre comptes provenant des stratégies de point d’accès ou de compartiment publiques, notamment la délégation non publique à des comptes spécifiques. |
Important
-
Les appels à
GetBucketAcletGetObjectAclrenvoient toujours les autorisations en vigueur pour le compartiment ou l’objet spécifié. Par exemple, supposons qu’un compartiment dispose d’une ACL accordant l’accès public, mais que le paramètreIgnorePublicAclssoit également activé pour le même compartiment. Dans ce cas,GetBucketAclrenvoie une liste ACL qui reflète les autorisations d’accès appliquées par Amazon S3, plutôt que la liste ACL associée au compartiment. -
Les paramètres de blocage de l'accès public ne modifient pas les politiques existantes ou ACLs. Par conséquent, la suppression d’un paramètre de blocage de l’accès public conduit un compartiment ou un objet doté d’une ACL ou d’une stratégie publique à de nouveau être accessible publiquement.
Gestion des blocages d'accès public au niveau de l'organisation
L'accès public par blocs au niveau de l'organisation utilise des AWS Organizations politiques pour gérer de manière centralisée les contrôles d'accès public S3 dans l'ensemble de votre organisation. Lorsqu'elles sont activées, ces politiques s'appliquent automatiquement aux comptes sélectionnés et remplacent les paramètres individuels au niveau du compte.
Pour plus d'informations sur le blocage de l'accès public au niveau de l'organisation, consultez la politique S3 dans le guide de AWS Organizations l'utilisateur.
Exécution d’opérations de blocage d’accès public sur un point d’accès
Pour effectuer des opérations de blocage de l'accès public sur un point d'accès, utilisez le AWS CLI services3control.
Important
Vous ne pouvez pas modifier les paramètres de blocage de l’accès public d’un point d’accès après sa création. Vous pouvez les spécifier uniquement lors de la création du point d’accès.
La signification du mot « public »
ACLs
Amazon S3 considère qu’une ACL de compartiment ou d’objet est publique si elle accorde des autorisations aux membres des groupes AllUsers ou AuthenticatedUsers prédéfinis. Pour plus d’informations sur les groupes prédéfinis, consultez Groupes prédéfinis Amazon S3.
Politiques de compartiment
Lors de l’évaluation d’une stratégie de compartiment, Amazon S3 commence par assumer que la stratégie est publique. Puis, il évalue la stratégie pour déterminer si elle qualifiée comme non publique. Pour être considérée comme non publique, une stratégie de compartiment doit accorder l’accès uniquement aux valeurs fixes (valeurs ne contenant aucun caractère générique ni aucune variable de politique AWS Identity and Access Management) d’un ou de plusieurs des éléments suivants :
-
Un AWS principal, un utilisateur, un rôle ou un responsable de service (par exemple
aws:PrincipalOrgID) -
Un ensemble de blocs de routage inter-domaines sans classe (CIDR) utilisant
aws:SourceIp. Pour plus d’informations sur CIDR, consultez RFC 4632sur le site web RFC Editor. Note
Les stratégies de compartiment qui accordent un accès conditionné par la clé de condition
aws:SourceIpavec de très larges plages d’adresses IP (par exemple, 0.0.0.0/1) sont considérées comme « publiques ». Cela inclut des valeurs plus larges que/8pour IPv4 et/32pour IPv6 (à l'exception des plages RFC1918 privées). Le blocage de l’accès public rejette ces politiques « publiques » et empêche l’accès intercompte aux compartiments utilisant déjà ces politiques « publiques ». -
aws:SourceArn -
aws:SourceVpc -
aws:SourceVpce -
aws:SourceOwner -
aws:SourceAccount -
aws:userid, hors du modèle "AROLEID:*" -
s3:DataAccessPointArnNote
Lorsqu’elle est utilisée dans une stratégie de compartiment, cette valeur peut contenir un caractère générique pour le nom du point d’accès sans rendre la stratégie publique, tant que l’ID du compte est fixe. Par exemple, autoriser l’accès à
arn:aws:s3:us-west-2:123456789012:accesspoint/*permettrait l’accès à n’importe quel point d’accès associé au compte123456789012dans la Régionus-west-2, sans rendre la stratégie de compartiment publique. Ce comportement est différent pour les stratégies de point d’accès. Pour de plus amples informations, veuillez consulter Points d’accès. -
s3:DataAccessPointAccount
Pour plus d’informations sur les stratégies de compartiment, consultez Politiques de compartiment pour Amazon S3.
Note
Lorsque vous utilisez des clés de contexte à valeurs multiples, vous devez utiliser les opérateurs ForAllValues ou ForAnyValue.
Exemple: politiques relatives aux compartiments publics
Conformément à ces règles, les exemples de stratégies suivants sont considérés comme publics.
{ "Principal": "*", "Resource": "*", "Action": "s3:PutObject", "Effect": "Allow" }
{ "Principal": "*", "Resource": "*", "Action": "s3:PutObject", "Effect": "Allow", "Condition": { "StringLike": {"aws:SourceVpc": "vpc-*"}} }
Ces stratégies peuvent devenir non publiques grâce à une valeur fixe en incluant l’une des clés de condition énumérée précédemment. Par exemple, la dernière stratégie ci-dessus peut devenir non publique si vous définissez aws:SourceVpc sur une valeur fixe, comme suit :
{ "Principal": "*", "Resource": "*", "Action": "s3:PutObject", "Effect": "Allow", "Condition": {"StringEquals": {"aws:SourceVpc": "vpc-91237329"}} }
Comment Amazon S3 évalue une stratégie de compartiment qui contient des autorisations d’accès publiques et non publiques ?
Cet exemple illustre comment Amazon S3 évalue une politique de compartiment contenant des autorisations d’accès publiques et non publiques.
Supposons qu’un compartiment dispose d’une stratégie qui accorde l’accès à un ensemble de mandataires fixes. Conformément aux règles précédemment décrites, cette stratégie n’est pas publique. Ainsi, si vous activez le paramètre RestrictPublicBuckets, la stratégie reste effective comme indiqué, car RestrictPublicBuckets s’applique uniquement aux compartiments disposant de stratégies publiques. Cependant, si vous ajoutez une déclaration publique à la stratégie, RestrictPublicBuckets s’applique au compartiment. Il permet uniquement aux responsables du AWS service et aux utilisateurs autorisés du compte du propriétaire du bucket d'accéder au bucket.
Par exemple, supposons qu’un compartiment détenu par « Account-1 » dispose d’une stratégie contenant les éléments suivants :
-
Une déclaration qui accorde l'accès à AWS CloudTrail (qui est un principal AWS de service)
-
Une instruction qui accorde l’accès au compte « Account-2 »
-
Une instruction qui accorde l’accès au public, par exemple en indiquant
"Principal": "*"sans aucuneConditionrestrictive
Cette stratégie peut être publique à cause de la troisième instruction. Une fois cette politique en place et RestrictPublicBuckets activée, Amazon S3 autorise l'accès uniquement par CloudTrail. Notez que bien que l’instruction 2 ne soit pas publique, Amazon S3 désactive l’accès à « Account-2 ». En effet, l’instruction 3 permet à la stratégie entière de devenir publique, ainsi RestrictPublicBuckets s’applique. Par conséquent, Amazon S3 désactive l’accès intercompte, bien que la stratégie délègue l’accès à un compte spécifique, « Account-2 ». Mais si vous supprimez l’instruction 3 de la stratégie, cette dernière ne peut pas être publique et RestrictPublicBuckets ne s’applique plus. Ainsi, « Account-2 » a de nouveau accès au compartiment, même si RestrictPublicBuckets reste activé.
Points d’accès
Amazon S3 évalue les paramètres de blocage de l’accès public de façon légèrement différente pour les points d’accès par rapport aux compartiments. Les règles qu’Amazon S3 applique pour déterminer quand une stratégie de point d’accès est publique sont généralement les mêmes pour les points d’accès et pour les compartiments, sauf dans les cas suivants :
-
Un point d’accès ayant une origine réseau VPC est toujours considéré comme non public, quel que soit le contenu de sa stratégie de point d’accès.
-
Une stratégie de point d’accès qui accorde l’accès à un ensemble de points d’accès utilisant
s3:DataAccessPointArnest considérée comme publique. Notez que ce comportement est différent de celui des stratégies de compartiment. Par exemple, une stratégie de compartiment qui accorde l’accès aux valeurs des3:DataAccessPointArncorrespondant àarn:aws:s3:us-west-2:123456789012:accesspoint/*n’est pas considérée comme publique. Toutefois, la même instruction dans une stratégie de point d’accès rendrait le point d’accès public.
Utilisation de l’analyseur d’accès IAM pour S3 pour passer en revue les compartiments publics
Vous pouvez utiliser IAM Access Analyzer pour S3 pour examiner les compartiments contenant des compartiments ACLs, des politiques de compartiment ou des politiques de point d'accès qui accordent un accès public. IAM Access Analyzer for S3 vous avertit de la présence de compartiments configurés pour autoriser l'accès à toute personne sur Internet ou autre Comptes AWS, y compris Comptes AWS en dehors de votre organisation. Pour chaque compartiment public ou partagé, vous recevez des résultats qui signalent la source et le niveau d’accès public ou partagé.
Dans l’analyseur d’accès IAM pour S3, vous pouvez bloquer tout accès public à un compartiment en un seul clic. Vous pouvez également aller plus loin en configurant des niveaux d’accès précis dans les paramètres des niveaux d’autorisation des compartiments. Pour les cas d'utilisation spécifiques et vérifiés nécessitant un accès public ou partagé, vous pouvez confirmer et enregistrer votre intention de maintenir le niveau d'accès public ou partagé en archivant les résultats pour le compartiment.
Dans de rares cas, l’analyse d’accès IAM pour S3 et le blocage de l’accès public Amazon S3 peuvent différer selon qu’un compartiment est public ou non. Ce comportement est dû au fait que le blocage de l’accès public Amazon S3 valide l’existence d’actions en plus d’évaluer l’accès public. Supposons que la stratégie de compartiment contienne une instruction Action qui autorise l’accès public pour une action qui n’est pas prise en charge par Amazon S3 (par exemple, s3:NotASupportedAction). Dans ce cas, le blocage de l’accès public Amazon S3 considère le compartiment comme public, car cette instruction pourrait potentiellement le rendre public si l’action venait à être prise en charge ultérieurement. Si le blocage de l’accès public Amazon S3 et l’analyseur d’accès IAM pour S3 divergent dans leurs évaluations, nous vous recommandons de revoir la stratégie de compartiment et de supprimer toutes les actions non prises en charge.
Pour plus d'informations sur l'analyseur d'accès IAM pour S3, consultez Examen de l’accès aux compartiments à l’aide de l’analyseur d’accès IAM pour S3.
Permissions
Pour utiliser les fonctions du blocage de l’accès public Amazon S3, vous devez disposer des autorisations suivantes.
| Opération | Autorisations requises |
|---|---|
Statut de la stratégie de compartiment GET |
s3:GetBucketPolicyStatus |
Paramètres de blocage de l’accès public du compartiment GET |
s3:GetBucketPublicAccessBlock |
Paramètres de blocage de l’accès public du compartiment PUT |
s3:PutBucketPublicAccessBlock |
Paramètres de blocage de l’accès public du compartiment DELETE |
s3:PutBucketPublicAccessBlock |
Paramètres de blocage de l’accès public du compte GET |
s3:GetAccountPublicAccessBlock |
Paramètres de blocage de l’accès public du compte PUT |
s3:PutAccountPublicAccessBlock |
Paramètres de blocage de l’accès public du compte DELETE |
s3:PutAccountPublicAccessBlock |
Paramètres de blocage de l’accès public du point d’accès PUT |
s3:CreateAccessPoint |
Note
Les opérations DELETE exigent les mêmes autorisations que les opérations PUT. Il n’existe pas d’autorisations distinctes pour les opérations DELETE.
Configuration du blocage d’accès public
Pour plus d'informations sur la configuration de l'accès public par blocs pour vos Compte AWS compartiments Amazon S3 et vos points d'accès, consultez les rubriques suivantes :