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.
Résoudre les problèmes d'accès refusé (403 Forbidden) erreurs dans Amazon S3
Des erreurs d'accès refusé (HTTP403 Forbidden
) apparaissent en cas de refus AWS explicite ou implicite d'une demande d'autorisation.
-
Un refus explicite se produit lorsqu'une politique contient une
Deny
déclaration pour une AWS action spécifique. -
Un refus implicite se produit lorsqu’il n’y a ni d’instruction
Deny
applicable ni d’instructionAllow
applicable.
Étant donné qu'une politique AWS Identity and Access Management (IAM) refuse implicitement un principal IAM par défaut, elle doit explicitement autoriser le principal à effectuer une action. Dans le cas contraire, la politique refuse implicitement l’accès. Pour plus d’informations, consultez Différence entre les refus explicites et implicites dans le Guide de l’utilisateur IAM. Pour plus d’informations sur la logique d’évaluation des politiques qui détermine si une demande d’accès est autorisée ou refusée, consultez Logique d’évaluation des politiques dans le Guide de l’utilisateur d’IAM.
Pour plus d’informations sur les autorisations relatives aux opérations d’API S3 par type de ressource S3, consultez Autorisations requises pour les opérations d’API Amazon S3.
Les rubriques suivantes décrivent les causes les plus courantes des erreurs d’accès refusé dans Amazon S3.
Note
En cas d'erreur d'accès refusé (HTTP403 Forbidden
), Amazon S3 ne facture pas le propriétaire du compartiment lorsque la demande est initiée en dehors du AWS compte individuel du propriétaire du compartiment ou de l' AWS organisation du propriétaire du compartiment.
Note
Si vous essayez de résoudre un problème d’autorisation, commencez par la section Exemples de messages de refus d’accès et étapes à suivre pour les résoudre, puis passez à la section Politiques de compartiment et politiques IAM. Assurez-vous également de suivre les instructions figurant dansConseils pour vérifier les autorisations.
Exemples de messages de refus d’accès et étapes à suivre pour les résoudre
Amazon S3 inclut désormais un contexte supplémentaire dans les erreurs de refus d’accès (HTTP 403
Forbidden
) pour les demandes adressées aux ressources du même Compte AWS. Ce nouveau contexte inclut le type de politique qui a refusé l’accès, le motif du refus et les informations sur l’utilisateur ou le rôle IAM qui a demandé l’accès à la ressource.
Ce contexte supplémentaire vous aide à résoudre les problèmes d’accès, à identifier la cause première des erreurs de refus d’accès et à corriger les contrôles d’accès incorrects en mettant à jour les politiques pertinentes. Ce contexte supplémentaire est également disponible dans les AWS CloudTrail journaux. Les messages d'erreur de refus d'accès améliorés pour les demandes portant sur le même compte sont désormais disponibles dans toutes les régions Régions AWS, y compris en Chine AWS GovCloud (US) Regions et en Chine.
La plupart des messages d’erreur d’accès refusé se présentent sous le format User
. Dans cet exemple, user-arn
is not authorized to perform
action
on "resource-arn
"
because context
est l’Amazon Resource Name (ARN) de l’utilisateur qui ne reçoit pas d’accès, user-arn
est l’action de service refusée par la politique, et action
est l’ARN de la ressource sur laquelle la politique agit. Le champ resource-arn
représente un contexte supplémentaire sur le type de politique, qui explique pourquoi l’accès est refusé.context
Lorsqu’une politique refuse explicitement l’accès parce qu’elle contient une instruction Deny
, le message d’erreur de refus d’accès inclut l’expression with an
explicit deny in a
. Lorsque l’accès est implicitement refusé, le message d’erreur de refus d’accès inclut l’expression type
policybecause no
.type
policy allows the
action
action
Important
-
Les messages de refus d’accès améliorés ne sont renvoyés que pour les demandes portant sur le même compte. Les demandes intercomptes renvoient un message
Access Denied
générique.Pour plus d’informations sur la logique d’évaluation des politiques qui détermine si une demande d’accès intercompte est autorisée ou refusée, consultez Logique d’évaluation des politiques entre comptes dans le Guide de l’utilisateur IAM. Pour voir une procédure détaillée qui décrit comment accorder l’accès intercompte, consultez Exemple 2 : propriétaire d’un compartiment accordant à ses utilisateurs des autorisations entre comptes sur un compartiment.
-
Les messages d’erreur de refus d’accès améliorés ne sont pas renvoyés pour les demandes adressées aux compartiments de répertoires. Les demandes de compartiment de répertoires renvoient un message
Access Denied
générique. -
Si plusieurs politiques de même type refusent une demande d’autorisation, le message d’erreur de refus d’accès ne spécifie pas le nombre de politiques.
-
Si une demande d’autorisation est refusée en raison de plusieurs types de politiques, le message d’erreur n’inclut qu’un seul de ces types de politiques.
-
Si une demande d’accès est refusée pour plusieurs raisons, le message d’erreur ne comprend qu’une seule des raisons du refus.
Les exemples suivants montrent le format de différents types de messages d’erreur de refus d’accès et indiquent comment résoudre les erreurs liées à chaque type de message.
Accès refusé en raison d’une politique de contrôle des ressources : refus explicite
-
Recherchez une
Deny
déclaration pour l'action dans vos politiques de contrôle des ressources (RCPs). Pour l’exemple suivant, l’action ests3:GetObject
. -
Mettez à jour votre politique de contrôle des ressources en supprimant l’instruction
Deny
. Pour plus d’informations, consultez Mise à jour d’une politique de contrôle des ressources dans le Guide de l’utilisateur AWS Organizations .
An error occurred (AccessDenied) when calling the GetObject operation: User: arn:aws:iam::
777788889999
:user/MaryMajor
is not authorized to perform: s3:GetObject on resource: "arn:aws:s3:::amzn-s3-demo-bucket1
/object-name
" with an explicit deny in a resource control policy
Accès refusé en raison d’une politique de contrôle des services - refus implicite
-
Vérifiez qu'il n'y a pas de
Allow
déclaration manquante concernant l'action dans vos politiques de contrôle des services (SCPs). Pour l’exemple suivant, l’action ests3:GetObject
. -
Mettez à jour votre SCP en ajoutant l’instruction
Allow
. Pour plus d’information, consultez Mise à jour d’une stratégie de contrôle de service (SCP) dans le Guide de l’utilisateur AWS Organizations .
User: arn:aws:iam::
777788889999
:user/MaryMajor
is not authorized to perform: s3:GetObject because no service control policy allows the s3:GetObject action
Accès refusé en raison d’une politique de contrôle des services - refus explicite
-
Recherchez une
Deny
déclaration pour l'action dans vos politiques de contrôle des services (SCPs). Pour l’exemple suivant, l’action ests3:GetObject
. -
Mettez à jour votre politique de contrôle des services en modifiant l’instruction
Deny
pour accorder à l’utilisateur l’accès nécessaire. Pour obtenir un exemple de la marche à suivre, consultez Empêcher les utilisateurs et les rôles IAM d’apporter des modifications spécifiées, à l’exception d’un rôle administrateur spécifié dans le Guide de l’utilisateur AWS Organizations . Pour plus d’informations sur la mise à jour de votre politique de contrôle des services, consultez Mise à jour d’une politique de contrôle des services (SCP) dans le Guide de l’utilisateur AWS Organizations .
User: arn:aws:iam::
777788889999
:user/MaryMajor
is not authorized to perform: s3:GetObject with an explicit deny in a service control policy
Accès refusé en raison d’une politique de point de terminaison d’un VPC : refus implicite
-
Vérifiez l’absence d’une instruction
Allow
pour l’action dans les politiques de votre point de terminaison de cloud privé virtuel (VPC). Pour l’exemple suivant, l’action ests3:GetObject
. -
Mettez à jour la politique de point de terminaison d’un VPC en ajoutant l’instruction
Allow
. Pour plus d’informations, consultez la rubrique Mise à jour d’une politique de point de terminaison d’un VPC dans le Guide AWS PrivateLink .
User: arn:aws:iam::
123456789012
:user/MaryMajor
is not authorized to perform: s3:GetObject because no VPC endpoint policy allows the s3:GetObject action
Accès refusé en raison d’une politique de point de terminaison d’un VPC : refus explicite
-
Vérifiez la présence d’une instruction
Deny
explicite pour l’action dans les politiques de votre point de terminaison de cloud privé virtuel (VPC). Pour l’exemple suivant, l’action ests3:GetObject
. -
Mettez à jour la politique de point de terminaison de votre VPC en modifiant l’instruction
Deny
pour accorder à l’utilisateur l’accès nécessaire. Par exemple, vous pouvez mettre à jour l’instructionDeny
pour utiliser la clé de conditionaws:PrincipalAccount
avec l’opérateur de conditionStringNotEquals
afin d’autoriser l’accès spécifique du principal, comme indiqué dans Exemple 7 : Exclure certains principaux d’une instruction Deny. Pour plus d’informations sur la mise à jour de la politique de point de terminaison de votre VPC, consultez Mise à jour d’une politique de point de terminaison d’un VPC dans le Guide AWS PrivateLink .
User: arn:aws:iam::
123456789012
:user/MaryMajor
is not authorized to perform: s3:GetObject on resource: "arn:aws:s3:::amzn-s3-demo-bucket1
/object-name
" with an explicit deny in a VPC endpoint policy
Accès refusé en raison d’une limite des autorisations : refus implicite
-
Vérifiez l’absence d’une instruction
Allow
pour l’action dans votre limite des autorisations. Pour l’exemple suivant, l’action ests3:GetObject
. -
Mettez à jour votre limite des autorisations en ajoutant l’instruction
Allow
à votre politique IAM. Pour plus d’informations, consultez Limites d’autorisations pour les entités IAM et Modification des politiques IAM dans le Guide de l’utilisateur IAM.
User: arn:aws:iam::
123456789012
:user/MaryMajor
is not authorized to perform: s3:GetObject on resource: "arn:aws:s3:::amzn-s3-demo-bucket1
/object-name
" because no permissions boundary allows the s3:GetObject action
Accès refusé en raison d’une limite des autorisations : refus explicite
-
Vérifiez la présence d’une instruction
Deny
explicite pour l’action dans votre limite des autorisations. Pour l'exemple suivant, l'action ests3:GetObject
. -
Mettez à jour votre limite d’autorisations en modifiant l’instruction
Deny
dans votre politique IAM pour accorder à l’utilisateur l’accès nécessaire. Par exemple, vous pouvez mettre à jour votreDeny
instruction pour utiliser la clé deaws:PrincipalAccount
condition avec l'opérateur deStringNotEquals
condition afin d'autoriser l'accès principal spécifique, comme indiqué dans aws:PrincipalAccountdans le guide de l'utilisateur IAM. Pour plus d’informations, consultez Limites d’autorisations pour les entités IAM et Modification des politiques IAM dans le Guide de l’utilisateur IAM.
User: arn:aws:iam::
777788889999
:user/MaryMajor
is not authorized to perform: s3:GetObject with an explicit deny in a permissions boundary
Accès refusé en raison de politiques de session : refus implicite
-
Vérifiez l’absence d’une instruction
Allow
pour l’action dans vos politiques de session. Pour l'exemple suivant, l'action ests3:GetObject
. -
Mettez à jour votre politique de session en ajoutant l’instruction
Allow
. Pour plus d’informations, consultez Politiques de session et Modification des politiques IAM dans le Guide de l’utilisateur IAM.
User: arn:aws:iam::
123456789012
:user/MaryMajor
is not authorized to perform: s3:GetObject because no session policy allows the s3:GetObject action
Accès refusé en raison de politiques de session : refus explicite
-
Vérifiez la présence d’une instruction
Deny
explicite pour l’action dans vos politiques de session. Pour l'exemple suivant, l'action ests3:GetObject
. -
Mettez à jour la politique de session en modifiant l’instruction
Deny
pour accorder à l’utilisateur l’accès nécessaire. Par exemple, vous pouvez mettre à jour l’instructionDeny
pour utiliser la clé de conditionaws:PrincipalAccount
avec l’opérateur de conditionStringNotEquals
afin d’autoriser l’accès spécifique du principal, comme indiqué dans Exemple 7 : Exclure certains principaux d’une instruction Deny. Pour plus d’informations sur la mise à jour de votre politique de session, consultez Politiques de session et Modification des politiques IAM dans le Guide de l’utilisateur IAM.
User: arn:aws:iam::
123456789012
:user/MaryMajor
is not authorized to perform: s3:GetObject on resource: "arn:aws:s3:::amzn-s3-demo-bucket1
/object-name
" with an explicit deny in a session policy
Accès refusé en raison de politiques basées sur les ressources : refus implicite
Note
Les politiques basées sur les ressources incluent notamment les politiques de compartiment et les stratégies de point d’accès.
-
Vérifiez l’absence d’une instruction
Allow
pour l’action dans votre politique basée sur les ressources. Vérifiez également si le paramètre de blocage de l’accès public S3IgnorePublicAcls
est appliqué au niveau du compartiment, du point d’accès ou du compte. Pour l’exemple suivant, l’action ests3:GetObject
. -
Mettez à jour votre politique en ajoutant l’instruction
Allow
. Pour plus d’informations, consultez Politiques basées sur les ressources et Modification des politiques IAM dans le Guide de l’utilisateur IAM.Vous devrez peut-être aussi ajuster le paramètre de blocage de l’accès public
IgnorePublicAcls
pour le compartiment, le point d’accès ou le compte. Pour plus d’informations, consultez Accès refusé en raison de paramètres de blocage de l’accès public et Configuration des paramètres de blocage d’accès public pour vos compartiments S3.
User: arn:aws:iam::
123456789012
:user/MaryMajor
is not authorized to perform: s3:GetObject because no resource-based policy allows the s3:GetObject action
Accès refusé en raison de politiques basées sur les ressources : refus explicite
Note
Les politiques basées sur les ressources incluent notamment les politiques de compartiment et les stratégies de point d’accès.
-
Vérifiez la présence d’une instruction
Deny
explicite pour l’action dans votre politique basée sur les ressources. Vérifiez également si le paramètre de blocage de l’accès public S3RestrictPublicBuckets
est appliqué au niveau du compartiment, du point d’accès ou du compte. Pour l’exemple suivant, l’action ests3:GetObject
. -
Mettez à jour la politique en modifiant l’instruction
Deny
pour accorder à l’utilisateur l’accès nécessaire. Par exemple, vous pouvez mettre à jour l’instructionDeny
pour utiliser la clé de conditionaws:PrincipalAccount
avec l’opérateur de conditionStringNotEquals
afin d’autoriser l’accès spécifique du principal, comme indiqué dans Exemple 7 : Exclure certains principaux d’une instruction Deny. Pour plus d’informations sur la mise à jour d’une politique basée sur les ressources, consultez les sections Politiques basées sur les ressources et Modification des politiques IAM dans le Guide de l’utilisateur IAM.Vous devrez peut-être aussi ajuster le paramètre de blocage de l’accès public
RestrictPublicBuckets
pour le compartiment, le point d’accès ou le compte. Pour plus d’informations, consultez Accès refusé en raison de paramètres de blocage de l’accès public et Configuration des paramètres de blocage d’accès public pour vos compartiments S3.
User: arn:aws:iam::
123456789012
:user/MaryMajor
is not authorized to perform: s3:GetObject on resource: "arn:aws:s3:::amzn-s3-demo-bucket1
/object-name
" with an explicit deny in a resource-based policy
Accès refusé en raison de politiques basées sur l’identité : refus implicite
-
Vérifiez l’absence d’une instruction
Allow
pour l’action dans les politiques basées sur l’identité attachées à l’identité. Pour l’exemple suivant, l’action ests3:GetObject
attachée à l’utilisateurMaryMajor
. -
Mettez à jour votre politique en ajoutant l’instruction
Allow
. Pour plus d’informations, consultez Politiques basées sur l’identité et Modification des politiques IAM dans le Guide de l’utilisateur IAM.
User: arn:aws:iam::
123456789012
:user/MaryMajor
is not authorized to perform: s3:GetObject because no identity-based policy allows the s3:GetObject action
Accès refusé en raison de politiques basées sur l’identité : refus explicite
-
Vérifiez la présence d’une instruction
Deny
explicite pour l’action dans les politiques basées sur l’identité attachées à l’identité. Pour l’exemple suivant, l’action ests3:GetObject
attachée à l’utilisateurMaryMajor
. -
Mettez à jour la politique en modifiant l’instruction
Deny
pour accorder à l’utilisateur l’accès nécessaire. Par exemple, vous pouvez mettre à jour votreDeny
instruction pour utiliser la clé deaws:PrincipalAccount
condition avec l'opérateur deStringNotEquals
condition afin d'autoriser l'accès principal spécifique, comme indiqué dans aws:PrincipalAccountdans le guide de l'utilisateur IAM. Pour plus d’informations, consultez Politiques basées sur l’identité et Modification des politiques IAM dans le Guide de l’utilisateur IAM.
User: arn:aws:iam::
123456789012
:user/MaryMajor
is not authorized to perform: s3:GetObject on resource: "arn:aws:s3:::amzn-s3-demo-bucket1
/object-name
" with an explicit deny in an identity-based policy
Accès refusé en raison de paramètres de blocage de l’accès public
La fonction du blocage de l’accès public Amazon S3 fournit des paramètres pour les points d’accès, les compartiments et les comptes afin de vous aider à gérer l’accès public aux ressources Amazon S3. Pour plus d’informations sur comment Amazon S3 définit le terme « public », consultez La signification du mot « public ».
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 politiques relatives aux compartiments, les politiques relatives aux points d'accès, les politiques utilisateur IAM, les autorisations relatives aux objets ou les listes de contrôle d'accès (ACLs) pour autoriser l'accès public. Les paramètres d'accès public de S3 Block remplacent ces politiques, autorisations et ACLs. Depuis avril 2023, tous les paramètres de blocage de l’accès public sont activés par défaut pour les nouveaux compartiments.
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 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 bucket ou à un AWS compte complet. 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.
Quand 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 irait à l’encontre d’un paramètre de point d’accès, de compartiment ou de compte.
Les quatre paramètres fournis par le blocage de l’accès public Amazon S3 sont les suivants :
-
BlockPublicAcls
: ce paramètre s’applique aux demandesPutBucketAcl
,PutObjectAcl
,PutObject
,CreateBucket
,CopyObject
etPOST Object
. Le paramètreBlockPublicAcls
entraîne le comportement suivant :-
Les appels
PutBucketAcl
etPutObjectAcl
échouent si la liste de contrôle d’accès (ACL) spécifiée est publique. -
Les appels
PutObject
échouent si la demande inclut une ACL publique. -
Si ce paramètre est appliqué à un compte, les appels
CreateBucket
échouent avec une réponse HTTP400
(Bad Request
) si la demande inclut une ACL publique.
Par exemple, lorsque l’accès à une demande
CopyObject
est refusé en raison du paramètreBlockPublicAcls
, vous recevez le message suivant :An error occurred (AccessDenied) when calling the CopyObject operation: User: arn:aws:sts::
123456789012
:user/MaryMajor
is not authorized to perform: s3:CopyObject on resource: "arn:aws:s3:::amzn-s3-demo-bucket1
/object-name
" because public access control lists (ACLs) are blocked by the BlockPublicAcls block public access setting. -
-
IgnorePublicAcls
— CeIgnorePublicAcls
paramètre oblige Amazon S3 à ignorer tout ACLs le public d'un bucket et tous les objets qu'il contient. Si l’autorisation de votre demande est accordée uniquement par une liste ACL publique, alors le paramètreIgnorePublicAcls
rejette la demande.Tout refus résultant du paramètre
IgnorePublicAcls
est implicite. Par exemple, si une listeIgnorePublicAcls
refuse une demandeGetObject
en raison d’une ACL publique, vous recevez le message suivant :User: arn:aws:iam::
123456789012
:user/MaryMajor
is not authorized to perform: s3:GetObject because no resource-based policy allows the s3:GetObject action -
BlockPublicPolicy
: ce paramètre s’applique aux demandesPutBucketPolicy
etPutAccessPointPolicy
.En définissant
BlockPublicPolicy
pour un compartiment, Amazon S3 rejette les appels àPutBucketPolicy
si la politique de compartiment spécifiée autorise l’accès public. Ce paramètre conduit également Amazon S3 à rejeter les appels àPutAccessPointPolicy
pour tous les points d’accès du même compte du compartiment si la politique spécifiée autorise l’accès public.Si vous définissez
BlockPublicPolicy
pour un point d’accès, Amazon S3 rejette les appelsPutAccessPointPolicy
etPutBucketPolicy
qui sont effectués via le point d’accès si la stratégie ou la politique spécifiée (pour le point d’accès ou le compartiment sous-jacent) autorise l’accès public.Par exemple, lorsque l’accès est refusé dans une demande
PutBucketPolicy
en raison du paramètreBlockPublicPolicy
, vous recevez le message suivant :An error occurred (AccessDenied) when calling the PutBucketPolicy operation: User: arn:aws:sts::
123456789012
:user/MaryMajor
is not authorized to perform: s3:PutBucketPolicy on resource: "arn:aws:s3:::amzn-s3-demo-bucket1
/object-name
" because public policies are blocked by the BlockPublicPolicy block public access setting. -
RestrictPublicBuckets
— LeRestrictPublicBuckets
paramètre restreint l'accès à un point d'accès ou à un bucket soumis à une politique publique uniquement aux Service AWS principaux et aux utilisateurs autorisés du compte du propriétaire du bucket et du compte du propriétaire du point d'accès. Ce paramètre bloque tous les accès entre comptes au point d'accès ou au compartiment (sauf pour Service AWS les principaux), tout en permettant aux utilisateurs du compte de gérer le point d'accès ou le compartiment. Ce paramètre rejette également tous les appels anonymes (ou non signés).Tout refus résultant du paramètre
RestrictPublicBuckets
est explicite. Par exemple, si une listeRestrictPublicBuckets
refuse une demandeGetObject
en raison d’une politique de compartiment public ou de point d’accès, vous recevez le message suivant :User: arn:aws:iam::
123456789012
:user/MaryMajor
is not authorized to perform: s3:GetObject on resource: "arn:aws:s3:::amzn-s3-demo-bucket1
/object-name
" with an explicit deny in a resource-based policy
Pour plus d’informations sur ces paramètres, consultez la page Paramètres de la fonctionnalité de blocage de l’accès public. Pour vérifier et mettre à jour ces paramètres, consultez Configuration du blocage d’accès public.
Politiques de compartiment et politiques IAM
Opérations au niveau des compartiments
Si aucune politique de compartiment n'est en place, le compartiment autorise implicitement les demandes provenant de n'importe quelle identité AWS Identity and Access Management (IAM) du compte du propriétaire du compartiment. Le compartiment refuse également implicitement les demandes émanant de toute autre identité IAM provenant d’autres comptes, ainsi que les demandes anonymes (non signées). Toutefois, si aucune politique utilisateur IAM n'est en place, le demandeur (sauf s'il s'agit de l'utilisateur Compte AWS root) se voit implicitement refuser le droit de faire des demandes. Pour plus d’informations sur cette logique d’évaluation, consultez Identification d’une demande autorisée ou refusée dans un compte dans le Guide de l’utilisateur d’IAM.
Opérations au niveau de l’objet
Si l’objet appartient au compte propriétaire du compartiment, la politique de compartiment et la politique de l’utilisateur IAM fonctionneront de la même manière pour les opérations au niveau de l’objet que pour les opérations au niveau du compartiment. Par exemple, si aucune politique de compartiment n’est en place, le compartiment autorise implicitement les demandes d’objet provenant de n’importe quelle identité IAM du compte du propriétaire du compartiment. Le compartiment refuse également implicitement les demandes d’objet émanant de toute autre identité IAM provenant d’autres comptes, ainsi que les demandes anonymes (non signées). Toutefois, si aucune politique utilisateur IAM n'est en place, le demandeur (sauf s'il s'agit de l'utilisateur Compte AWS root) se voit implicitement refuser le droit de faire des demandes d'objet.
Si l'objet appartient à un compte externe, l'accès à l'objet ne peut être accordé que par le biais de listes de contrôle d'accès aux objets (ACLs). La politique relative aux compartiments et la politique d’utilisateur IAM peuvent toujours être utilisées pour refuser les demandes d’objets.
Par conséquent, pour vous assurer que votre politique de compartiment ou votre politique d’utilisateur IAM n’est pas à l’origine d’une erreur d’accès refusé (403 Forbidden), assurez-vous que les conditions suivantes sont remplies :
-
Pour l’accès au même compte, aucune déclaration
Deny
explicite ne doit être formulée à l’encontre du demandeur auquel vous essayez d’accorder des autorisations, que ce soit dans la politique de compartiment ou dans la politique d’utilisateur IAM. Si vous souhaitez accorder des autorisations en utilisant uniquement la politique de compartiment et la politique d’utilisateur IAM, l’une de ces politiques doit contenir au moins une déclarationAllow
explicite. -
Pour l’accès intercompte, aucune instruction
Deny
explicite ne doit être formulée à l’encontre du demandeur auquel vous essayez d’accorder des autorisations, que ce soit dans la politique de compartiment ou dans la politique d’utilisateur IAM. Si vous souhaitez accorder des autorisations intercomptes en utilisant uniquement la politique de compartiment et la politique d’utilisateur IAM, assurez-vous que la politique de compartiment et la politique d’utilisateur IAM du demandeur incluent une instructionAllow
explicite.
Note
Les déclarations Allow
d’une politique de compartiment s’appliquent uniquement aux objets appartenant au même compte propriétaire du compartiment. Toutefois, les déclarations Deny
figurant dans une politique de compartiment s’appliquent à tous les objets, quel que soit leur propriétaire.
Pour consulter ou modifier votre politique de compartiment
Note
Pour afficher ou modifier une politique de compartiment, vous devez disposer de l’autorisation s3:GetBucketPolicy
.
Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/s3/
. -
Dans le panneau de navigation de gauche, choisissez Compartiments.
-
Dans la liste Compartiments, choisissez le nom du compartiment pour lequel vous souhaitez afficher ou modifier une politique de compartiment.
-
Sélectionnez l’onglet Autorisations.
-
Sous Politique de compartiment, choisissez Modifier. La page Edit bucket policy (Modifier la politique de compartiment) s'affiche.
Pour revoir ou modifier votre politique de compartiment à l'aide du AWS Command Line Interface (AWS CLI), utilisez le get-bucket-policy
Note
Si l'accès à un compartiment est bloqué en raison d'une politique de compartiment incorrecte, connectez-vous au en AWS Management Console utilisant vos informations d'identification d'utilisateur Compte AWS root. Pour accéder de nouveau à votre bucket, assurez-vous de supprimer la politique de bucket incorrecte en utilisant vos informations d'identification d'utilisateur Compte AWS root.
Conseils pour vérifier les autorisations
Pour vérifier si le demandeur dispose des autorisations nécessaires pour effectuer une opération Amazon S3, essayez ce qui suit :
-
Identifiez le demandeur. S’il s’agit d’une demande non signée, il s’agit d’une demande anonyme sans politique d’utilisateur IAM. S’il s’agit d’une demande utilisant une URL présignée, la politique d’utilisateur sera la même que celle applicable à l’utilisateur ou au rôle IAM qui a signé la demande.
-
Vérifiez que vous utilisez le bon rôle ou utilisateur IAM. Vous pouvez vérifier votre utilisateur ou votre rôle IAM en cochant le coin supérieur droit du AWS Management Console ou en utilisant le aws sts get-caller-identitycommande.
-
Vérifiez les politiques IAM attachées à l’utilisateur ou au rôle IAM. Vous pouvez choisir l’une des méthodes suivantes :
-
Testez des politiques IAM avec le simulateur de politiques IAM.
-
Passez en revue les différents types de politiques IAM.
-
-
Si nécessaire, modifiez votre politique d’utilisateur IAM.
-
Consultez les exemples suivants de politiques qui refusent ou autorisent explicitement l’accès :
-
Autoriser explicitement la politique de l’utilisateur IAM : IAM : autorise et refuse l’accès à plusieurs services par programmation et dans la console
-
Politique d'autorisation explicite en matière de compartiment : octroi d'autorisations à plusieurs comptes pour télécharger des objets ou définir un objet ACLs pour un accès public
-
Politique de refus explicite des utilisateurs IAM AWS: refuse l'accès en AWS fonction de la demande Région AWS
-
Refuser explicitement la politique de compartiment : exiger le SSE-KMS pour tous les objets enregistrés dans un compartiment
-
Paramètres des listes de contrôle d’accès d’Amazon S3
Lorsque vous vérifiez vos paramètres ACL, vérifiez d'abord votre paramètre de propriété des objets pour vérifier s'ils ACLs sont activés sur le bucket. Sachez que les autorisations ACL ne peuvent être utilisées que pour accorder des autorisations et ne peuvent pas être utilisées pour rejeter des demandes. ACLs ne peut pas non plus être utilisé pour accorder l'accès à des demandeurs rejetés par des refus explicites dans les politiques de compartiment ou les politiques utilisateur IAM.
Le propriétaire du compartiment impose le paramètre de propriété de l’objet
Si le paramètre imposé par le propriétaire du compartiment est activé, il est peu probable que les paramètres ACL provoquent une erreur d'accès refusé (403 Interdit) car ce paramètre désactive tout ce ACLs qui s'applique au compartiment et aux objets. L’application du propriétaire du compartiment est le paramètre par défaut (et recommandé) pour les compartiments Amazon S3.
Le paramètre de propriété de l’objet est défini sur le propriétaire du compartiment préféré ou le rédacteur d’objets
Les autorisations des listes ACL sont toujours valides avec le paramètre du propriétaire du compartiment préféré ou le paramètre du rédacteur d’objets. Il en existe deux types ACLs : le bucket ACLs et l'object ACLs. Pour les différences entre ces deux types de ACLs, voir Cartographie des autorisations ACL et des autorisations de politique d'accès.
En fonction de l’action de la demande rejetée, vérifiez les autorisations des listes ACL pour votre compartiment ou l’objet :
-
Si Amazon S3 a rejeté
LIST
, un objetPUT
,GetBucketAcl
ou une demandePutBucketAcl
, passez en revue les autorisations des listes ACL pour votre compartiment.Note
Vous ne pouvez pas accorder d’autorisations d’objets
GET
avec les paramètres des listes ACL du compartiment. -
Si Amazon S3 a rejeté une
GET
demande concernant un objet S3, ou PutObjectAcldemandez, puis passez en revue les autorisations ACL pour l'objet.Important
Si le compte qui détient l’objet est différent du compte qui détient le compartiment, l’accès à l’objet n’est pas contrôlé par la politique de compartiment.
Résolution d’une erreur d’accès refusé (403 Forbidden) liée à une demande d’objet GET
lors de la propriété d’un objet intercompte
Passez en revue les paramètres de propriété de l’objet du compartiment pour déterminer le propriétaire de l’objet. Si vous avez accès à l'objet ACLs, vous pouvez également consulter le compte du propriétaire de l'objet. (Pour consulter le compte du propriétaire de l’objet, consultez le paramètre de la liste ACL de l’objet dans la console Amazon S3.) Vous pouvez également faire une demande GetObjectAcl
d’identification canonique du propriétaire de l’objet afin de vérifier le compte du propriétaire de l’objet. Par défaut, ACLs accordez des autorisations explicites pour les GET
demandes adressées au compte du propriétaire de l'objet.
Après avoir confirmé que le propriétaire de l’objet est différent du propriétaire du compartiment, en fonction de votre cas d’utilisation et de votre niveau d’accès, choisissez l’une des méthodes suivantes pour résoudre l’erreur d’accès refusé (403 Forbidden) :
-
Désactiver ACLs (recommandé) : cette méthode s'applique à tous les objets et peut être exécutée par le propriétaire du compartiment. Cette méthode offre automatiquement au propriétaire du compartiment la propriété de chaque objet du compartiment et leur contrôle total. Avant d'implémenter cette méthode, vérifiez les conditions préalables à la désactivation ACLs. Pour plus d’informations sur la façon de configurer votre compartiment en mode imposé (recommandé) par le propriétaire du compartiment, consultez Définition de la propriété d’un objet sur un compartiment existant.
Important
Pour éviter une erreur d'accès refusé (403 Interdit), veillez à migrer les autorisations ACL vers une politique de compartiment avant de les désactiver ACLs. Pour plus d’informations, consultez Bucket policy examples for migrating from ACL permissions (Exemples de politiques de compartiment pour la migration à partir d’autorisations de listes ACL).
-
Remplacer le propriétaire de l’objet par le propriétaire du compartiment : cette méthode peut être appliquée à des objets individuels, mais seul le propriétaire de l’objet (ou un utilisateur disposant des autorisations appropriées) peut modifier la propriété d’un objet. Des frais
PUT
supplémentaires peuvent s’appliquer. (Pour plus d’informations, consultez Tarification Amazon S3.) Cette méthode confère au propriétaire du compartiment la pleine propriété de l’objet, ce qui lui permet de contrôler l’accès à l’objet par le biais d’une politique de compartiment. Pour modifier la propriété de l’objet, effectuez l’une des opérations suivantes :
-
Vous (le propriétaire du compartiment) pouvez recopier l’objet dans le compartiment.
-
Vous pouvez modifier le paramètre de propriété de l’objet du compartiment en fonction du propriétaire du compartiment préféré. Si la gestion des versions est désactivée, les objets du compartiment sont remplacés. Si la gestion des versions est activée, des versions dupliquées du même objet apparaîtront dans le compartiment, et le propriétaire du compartiment peut définir une règle de cycle de vie d’expiration. Pour plus d’informations sur la modification des paramètres de propriété des objets, consultez Définition de la propriété d’un objet sur un compartiment existant.
Note
Lorsque vous mettez à jour le paramètre de propriété de l’objet sur le propriétaire du compartiment préféré, le paramètre s’applique uniquement aux nouveaux objets chargés dans le compartiment.
-
Vous pouvez demander au propriétaire de l’objet de le charger à nouveau à l’aide de la liste ACL de l’objet prédéfini
bucket-owner-full-control
.
Note
Pour les chargements intercomptes, vous pouvez également exiger la liste ACL de l’objet prédéfini
bucket-owner-full-control
dans votre politique de compartiment. Pour un exemple de politique de compartiment, consultez Octroi d’autorisations intercomptes pour charger des objets tout en garantissant que le propriétaire du compartiment dispose d’un contrôle total. -
-
Conservez le rédacteur de l’objet en tant que propriétaire de l’objet : cette méthode ne modifie pas le propriétaire de l’objet, mais elle vous permet d’accorder l’accès aux objets individuellement. Pour autoriser l’accès à un objet, vous devez disposer de l’autorisation
PutObjectAcl
pour cet objet. Ensuite, pour corriger l'erreur Accès refusé (403 Interdit), ajoutez le demandeur en tant que bénéficiaire pour accéder à l'objet dans celui de l'objet. ACLs Pour de plus amples informations, veuillez consulter Configuration ACLs.
Paramètres de blocage de l’accès public S3
Si l’échec de la demande implique un accès public ou des politiques publiques, vérifiez alors les paramètres de blocage de l’accès public S3 sur votre compte, votre compartiment ou votre point d’accès. Pour plus d’informations sur la résolution des erreurs de refus d’accès liées aux paramètres de blocage de l’accès public S3, consultez Accès refusé en raison de paramètres de blocage de l’accès public.
Paramètres du chiffrement Amazon S3
Amazon S3 prend en charge le chiffrement côté serveur sur votre compartiment. Le chiffrement côté serveur est le chiffrement des données à leur destination par l’application ou le service qui les reçoit. Amazon S3 chiffre vos données au niveau de l'objet lorsqu'il les écrit sur les disques des centres de AWS données et les déchiffre pour vous lorsque vous y accédez.
Par défaut, Amazon S3 applique désormais le chiffrement côté serveur avec les clés gérées par Amazon S3 (SSE-S3) comme niveau de base du chiffrement pour chaque compartiment d’Amazon S3. Amazon S3 vous permet également de spécifier la méthode de chiffrement côté serveur lors du chargement d’objets.
Pour vérifier le statut et les paramètres de chiffrement côté serveur de votre compartiment
Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/s3/
. -
Dans le panneau de navigation de gauche, choisissez Compartiments.
-
Dans la liste Compartiments, choisissez le compartiment pour lequel vous souhaitez vérifier les paramètres de chiffrement.
-
Choisissez l’onglet Propriétés.
-
Faites défiler l’écran vers le bas jusqu’à la section Chiffrement par défaut, puis examinez les paramètres de Type de chiffrement.
Pour vérifier vos paramètres de chiffrement à l'aide du AWS CLI, utilisez get-bucket-encryptioncommande.
Pour vérifier le statut du chiffrement d’un objet
Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/s3/
. -
Dans le panneau de navigation de gauche, choisissez Compartiments.
-
Dans la liste Compartiments, choisissez le nom du compartiment qui contient l’objet.
-
Dans la liste Objets, choisissez le nom de l’objet pour lequel vous souhaitez ajouter ou modifier le chiffrement.
La page de détails de l'objet s'affiche.
-
Accédez à la section Paramètres de chiffrement côté serveur pour afficher les paramètres de chiffrement côté serveur de l’objet.
Pour vérifier l'état du chiffrement de votre objet à l'aide du AWS CLI, utilisez head-objectcommande.
Exigences en matière de chiffrement et d’autorisations
Amazon S3 prend en charge trois types de chiffrement côté serveur :
-
Chiffrement côté serveur avec des clés gérées par Amazon S3 (SSE-S3)
-
Chiffrement côté serveur avec clés AWS Key Management Service (AWS KMS) (SSE-KMS)
-
Chiffrement côté serveur avec clés fournies par le client (SSE-C)
En fonction de vos paramètres de chiffrement, assurez-vous que les exigences d’autorisation suivantes sont remplies :
-
SSE-S3 : aucune autorisation supplémentaire n’est requise.
-
SSE-KMS (avec une clé gérée par le client) : pour télécharger des objets, l’autorisation
kms:GenerateDataKey
est requise sur la AWS KMS key . Pour télécharger des objets et effectuer des chargements partitionnés d’objets, l’autorisationkms:Decrypt
est requise sur la clé KMS. -
SSE-KMS (avec un Clé gérée par AWS) — Le demandeur doit être associé au même compte que celui qui possède la
aws/s3
clé KMS. Le demandeur doit également disposer des autorisations Amazon S3 appropriées pour accéder à l’objet. -
SSE-C (avec une clé fournie par le client) : aucune autorisation supplémentaire n’est requise. Vous pouvez configurer la politique de compartiment pour exiger et restreindre le chiffrement côté serveur avec les clés de chiffrement fournies par le client pour les objets de votre compartiment.
Si l’objet est chiffré à l’aide d’une clé gérée par le client, assurez-vous que la stratégie de clé KMS vous permet d’effectuer les actions kms:GenerateDataKey
ou kms:Decrypt
. Pour obtenir des instructions sur la vérification de votre stratégie de clé KMS, consultez Viewing a key policy (Affichage d’une politique relative aux clés) dans le Guide du développeur AWS Key Management Service .
Paramètres de verrouillage des objets S3
Si le verrouillage d’objet S3 est activé sur votre compartiment et que l’objet est protégé par une période de rétention ou une conservation légale, Amazon S3 renvoie une erreur d’accès refusé (403 Forbidden) lorsque vous essayez de supprimer l’objet.
Pour vérifier si le verrouillage des objets est activé sur le compartiment
Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/s3/
. -
Dans le panneau de navigation de gauche, choisissez Compartiments.
-
Dans la liste Compartiments, choisissez le nom du compartiment que vous souhaitez vérifier.
-
Choisissez l’onglet Propriétés.
-
Faites défiler jusqu’à la section Verrouillage des objets. Vérifiez si le paramètre Verrouillage des objets est Activé ou Désactivé.
Pour déterminer si l’objet est protégé par une période de rétention ou une conservation légale, consultez les informations de verrouillage de votre objet.
Si l’objet est protégé par une période de rétention ou une conservation légale, vérifiez les points suivants :
-
Si la version de l’objet est protégée par le mode de conservation de la conformité, il n’est pas possible de la supprimer définitivement. Une
DELETE
demande permanente émanant de n'importe quel demandeur, y compris de l'utilisateur Compte AWS root, entraînera une erreur d'accès refusé (403 Interdit). Sachez également que lorsque vous soumettez une demandeDELETE
pour un objet protégé par le mode de conservation de la conformité, Amazon S3 crée un marqueur de suppression pour cet objet. -
Si la version de l’objet est protégée par le mode de conservation de la gouvernance et que vous en avez l’autorisation
s3:BypassGovernanceRetention
, vous pouvez contourner la protection et supprimer définitivement la version. Pour plus d’informations, consultez Ignorer le mode de gouvernance. -
Si la version de l’objet est protégée par une conservation légale, une demande
DELETE
permanente peut entraîner une erreur d’accès refusé (403 Forbidden). Pour supprimer définitivement la version de l’objet, vous devez supprimer la conservation légale sur la version de l’objet. Pour supprimer une conservation légale, vous devez avoir l’autorisations3:PutObjectLegalHold
. Pour plus d’informations sur la suppression d’une conservation légale, consultez Configuration du verrouillage d’objet S3.
Politiques de point de terminaison d’un VPC
Si vous accédez à Amazon S3 en utilisant le point de terminaison d’un cloud privé virtuel (VPC), assurez-vous que la politique de point de terminaison du VPC ne vous empêche pas d’accéder à vos ressources Amazon S3. Par défaut, la politique de point de terminaison d’un VPC autorise toutes les demandes adressées à Amazon S3. Vous pouvez également configurer la politique de point de terminaison d’un VPC pour restreindre certaines demandes. Pour plus d’informations sur la vérification de votre politique de point de terminaison d’un VPC, consultez les ressources suivantes :
-
Accès refusé en raison d’une politique de point de terminaison d’un VPC : refus implicite
-
Accès refusé en raison d’une politique de point de terminaison d’un VPC : refus explicite
-
Contrôle de l’accès aux points de terminaison d’un VPC à l’aide des politiques de point de terminaison d’un VPC dans le Guide AWS PrivateLink .
AWS Organizations politiques
Si vous Compte AWS appartenez à une organisation, AWS Organizations les politiques peuvent vous empêcher d'accéder aux ressources Amazon S3. Par défaut, AWS Organizations les politiques ne bloquent aucune demande adressée à Amazon S3. Assurez-vous toutefois que vos AWS Organizations politiques n'ont pas été configurées pour bloquer l'accès aux compartiments S3. Pour savoir comment vérifier vos AWS Organizations politiques, consultez les ressources suivantes :
-
Accès refusé en raison d’une politique de contrôle des services - refus implicite
-
Accès refusé en raison d’une politique de contrôle des services - refus explicite
-
Accès refusé en raison d’une politique de contrôle des ressources : refus explicite
-
Liste de toutes les politiques dans le Guide de l’utilisateur AWS Organizations
En outre, si vous avez configuré votre politique de compartiment de manière incorrecte pour qu’un compte membre refuse à tous les utilisateurs l’accès à votre compartiment S3, vous pouvez déverrouiller le compartiment en lançant une session privilégiée pour ce compte membre dans IAM. Une fois que vous lancez une session privilégiée, vous pourrez supprimer la politique de compartiment mal configurée pour récupérer l’accès au compartiment. Pour plus d'informations, voir Exécuter une tâche privilégiée sur un compte AWS Organizations membre dans le Guide de AWS Identity and Access Management l'utilisateur.
Paramètres du point d’accès
Si vous recevez un message d’erreur d’accès refusé (403 Forbidden) lorsque vous effectuez des demandes via les points d’accès Amazon S3, vous devrez peut-être vérifier les points suivants :
-
Les configurations de vos points d’accès
-
La politique d’utilisateur IAM utilisée pour vos points d’accès
-
La politique de compartiment utilisée pour gérer ou configurer vos points d’accès intercompte
Configurations et politiques des points d’accès
-
Lorsque vous créez un point d’accès, vous pouvez choisir de désigner Internet ou VPC comme l’origine du réseau. Si l’origine du réseau est définie sur VPC uniquement, Amazon S3 rejettera toutes les demandes adressées au point d’accès qui ne proviennent pas du VPC spécifié. Pour vérifier l’origine du réseau de votre point d’accès, consultez Création de points d’accès restreints à un virtual private cloud.
-
Avec les points d’accès, vous pouvez également configurer des paramètres personnalisés de blocage de l’accès public, qui fonctionnent de la même manière que les paramètres de blocage de l’accès public au niveau du compartiment ou du compte. Pour vérifier vos paramètres personnalisés de blocage de l’accès public, consultez Gestion de l’accès public aux points d’accès.
-
Pour envoyer des demandes réussies à Amazon S3 à l’aide de points d’accès, assurez-vous que le demandeur dispose des autorisations IAM nécessaires. Pour de plus amples informations, veuillez consulter Configuration des politiques IAM pour l’utilisation des points d’accès.
-
Si la demande concerne des points d’accès intercompte, assurez-vous que le propriétaire du compartiment a mis à jour la politique du compartiment pour autoriser les demandes provenant du point d’accès. Pour de plus amples informations, veuillez consulter Octroi d’autorisations pour les points d’accès intercompte.
Si l'erreur Accès refusé (403 Interdit) persiste après avoir vérifié tous les éléments de cette rubrique, récupérez votre identifiant de demande Amazon S3 et contactez-nous Support pour obtenir des conseils supplémentaires.