

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ésolution des problèmes
<a name="object-ownership-error-responses"></a>

Lorsque vous appliquez le paramètre Propriétaire du compartiment appliqué pour Propriété d’objets S3, les listes de contrôle d’accès (ACL) sont désactivées et vous, en tant que propriétaire du compartiment, possédez automatiquement tous les objets dans votre compartiment. Les listes ACL n’affectent plus les autorisations sur les objets dans votre compartiment. Vous pouvez utiliser des politiques pour accorder des autorisations. Toutes les demandes S3 `PUT` doivent spécifier la liste ACL prédéfinie `bucket-owner-full-control` ou ne pas spécifier de liste ACL, sinon ces demandes échouent. Pour plus d’informations, consultez [Consultez Contrôle de la propriété des objets et désactivation des listes ACL pour votre compartiment](about-object-ownership.md).

Si une liste ACL non valide est spécifiée ou si les autorisations ACL de compartiment accordent un accès hors de votre Compte AWS, les erreurs suivantes peuvent s’afficher.

## AccessControlListNotSupported
<a name="object-ownership-error-responses-acl-not-supported"></a>

Une fois que vous avez appliqué le paramètre Propriétaire du compartiment appliqué pour Propriété d’objets, les listes ACL sont désactivées. Les demandes de définition ou de mise à jour des listes de contrôle d'accès échouent avec une `400` erreur et renvoient le code AccessControlListNotSupportedd'erreur. Les demandes de lecture de listes ACL sont toujours prises en charge. Les demandes de lecture des listes ACL renvoient toujours une réponse qui affiche un contrôle total pour le propriétaire du compartiment. Dans vos opérations `PUT`, vous devez spécifier des listes ACL de contrôle total du propriétaire du compartiment ou ne pas spécifier de liste ACL. Dans le cas contraire, vos opérations `PUT` échouent. 

L'exemple de `put-object` AWS CLI commande suivant inclut l'`public-read`ACL prédéfinie. 

```
aws s3api put-object --bucket {{amzn-s3-demo-bucket}} --key {{object-key-name}} --body {{doc-example-body}} --acl public-read
```

Si le compartiment utilise le paramètre Propriétaire du compartiment appliqué pour désactiver les listes ACL, cette opération échoue et le chargeur reçoit le message d’erreur suivant :

Une erreur s'est produite (AccessControlListNotSupported) lors de l'appel de l'PutObject opération : le bucket n'autorise pas les ACL

## InvalidBucketAclWithObjectOwnership
<a name="object-ownership-error-responses-invalid-acl"></a>

Si vous souhaitez appliquer le paramètre Propriétaire du compartiment appliqué pour désactiver les listes ACL, votre liste ACL de compartiment doit donner le contrôle total uniquement au propriétaire du compartiment. L'ACL de votre bucket ne peut pas donner accès à un groupe externe Compte AWS ou à un autre groupe. Par exemple, si votre `CreateBucket` demande impose le nom du propriétaire du bucket et spécifie une ACL du bucket qui donne accès à une Compte AWS adresse externe, votre demande échoue avec une `400` erreur et renvoie le code InvalidBucketAclWithObjectOwnershipd'erreur. De même, si votre demande `PutBucketOwnershipControls` définit le paramètre appliqué par le propriétaire du compartiment sur un compartiment doté d’une liste ACL de compartiment qui accorde des autorisations à d’autres utilisateurs, la demande échoue.

**Example : Une liste ACL de compartiment existante accorde un accès public en lecture.**  
Par exemple, si une liste ACL de compartiment existante accorde un accès public en lecture, vous ne pouvez pas appliquer le paramètre Propriétaire du compartiment appliqué pour Propriété d’objets tant que vous n’avez pas migré ces autorisations ACL vers une politique de compartiment et que vous n’avez pas réinitialisé votre liste ACL de compartiment à la liste ACL privée par défaut. Pour plus d’informations, consultez [Conditions préalables à la désactivation des listes ACL](object-ownership-migrating-acls-prerequisites.md).  
Cet exemple de liste ACL de compartiment existante accorde un accès public en lecture.  

```
{
    "Owner": {
        "ID": "{{852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID}}"
    },
    "Grants": [
        {
            "Grantee": {
                "ID": "{{852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID}}",
                "Type": "CanonicalUser"
            },
            "Permission": "FULL_CONTROL"
        },
        {
            "Grantee": {
                "Type": "Group",
                "URI": "http://acs.amazonaws.com/groups/global/AllUsers"
            },
            "Permission": "READ"
        }
    ]
}
```
L'exemple de `put-bucket-ownership-controls` AWS CLI commande suivant applique le paramètre imposé par le propriétaire du bucket pour Object Ownership :  

```
aws s3api put-bucket-ownership-controls --bucket {{amzn-s3-demo-bucket}} --ownership-controls Rules=[{ObjectOwnership=BucketOwnerEnforced}]
```
Étant donné que la liste ACL du compartiment accorde un accès public en lecture, la demande échoue et renvoie le code d’erreur suivant :  
Une erreur s'est produite (InvalidBucketAclWithObjectOwnership) lors de l'appel de l' PutBucketOwnershipControls opération : les ACL du bucket ne peuvent pas être définies avec ObjectOwnership le paramètre BucketOwnerEnforced 