Passer au contenu

Pourquoi le message d’erreur « Invalid principal in policy » s’affiche-t-il lorsque j’essaie de mettre à jour ma politique de compartiment Amazon S3 ?

Lecture de 5 minute(s)
0

Lorsque j'essaie d'ajouter ou de modifier ma politique de compartiment Amazon Simple Storage Service (Amazon S3), le message d'erreur « Invalid principal in policy » s'affiche.

Résolution

Remarque : Si des erreurs surviennent lorsque vous exécutez des commandes de l'interface de la ligne de commande AWS (AWS CLI), consultez la section Résoudre des erreurs liées à l’AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l'AWS CLI.

Si votre politique de compartiment Amazon S3 contient une valeur non valide pour l'élément Principal, le message d'erreur « Invalid principal in policy » s'affiche. Pour résoudre cette erreur, suivez ces étapes de dépannage.

Vérifier que votre politique de compartiment utilise des valeurs prises en charge pour l'élément Principal

Assurez-vous de spécifier les valeurs prises en charge suivantes pour l'élément Principal dans votre politique de compartiment S3 :

Remarque : L'accès est accordé à tous les utilisateurs authentifiés et anonymes si vous utilisez l'astérisque générique (*) comme élément Principal.

Vérifier que la valeur de Principal est correctement formatée

Vérifiez que les éléments Principal de la politique de compartiment sont correctement formatés. Si l'élément Principal inclut un utilisateur, utilisez le format suivant :

"Principal": {    "AWS": "arn:aws:iam::111111111111:user/user-name1"
}

Remarque : Remplacez user-name1 par le nom de votre utilisateur IAM.

Si l'élément Principal inclut plusieurs utilisateurs ou rôles IAM, utilisez le format suivant :

"Principal": {  "AWS": [
    "arn:aws:iam::111111111111:user/user-name1",
    "arn:aws:iam::111111111111:role/role-name1"
  ]
}

Remarque : Remplacez user-name1 par le nom de votre utilisateur IAM et role-name1 par le nom de votre rôle IAM.

Si l'élément Principal inclut tous les utilisateurs, utilisez le format suivant :

{  "Principal": "*"
}

Remarque : Il est recommandé de ne pas utiliser de caractère générique (*) dans l’élément Principal d’une politique basée sur les ressources avec un effet Autoriser. Utilisez le caractère générique (*) uniquement pour accorder un accès public ou anonyme. Spécifiez les principaux, les services ou les comptes AWS souhaités dans l’élément Principal. Puis, utilisez l’élément Condition pour restreindre l’accès.

Remarque : Lorsque vous accordez un accès anonyme, tout le monde peut accéder à votre compartiment. Nous vous recommandons de ne pas accorder d'accès anonyme en écriture à votre compartiment S3. Pour plus d’informations, consultez la section Fonctionnement d’Amazon S3 avec IAM.

S’assurer que l'utilisateur ou le rôle IAM n'a pas été supprimé

Si vous essayez d’enregistrer la politique de compartiment avec un identifiant unique comme élément Principal, le message d’erreur « Invalid principal in policy »s’affiche. Cela est dû au fait que l’élément Principal prend uniquement en charge les ARN IAM valides. Pour résoudre cette erreur, vous devez supprimer tout identifiant unique de l’élément Principal.

Si votre politique de compartiment inclut des utilisateurs ou des rôles IAM dans l’élément Principal, vérifiez que ces identités IAM ne sont pas supprimées. Pour identifier les utilisateurs et les rôles IAM supprimés dans votre politique de compartiment, spécifiez les identifiants uniques au lieu des ARN complets dans l'élément Principal.

Exemple :

"Principal": {  "AWS": [
    "arn:aws:iam::111111111111:user/user-name1",
    "AIDAJQABLZS4A3QDU576Q",
    "arn:aws:iam::111111111111:user/user-name2"
  ]
}

Remarque : Remplacez user-name1 et user-name2 par les noms de vos utilisateurs IAM.

Vérifier qu'une région est activée pour le compte du principal IAM

Lorsque vous appliquez une politique de compartiment S3, AWS vérifie que les régions AWS requises sont disponibles sur le compte du principal IAM. Votre compartiment se trouve peut-être dans une région AWS qu'AWS n'active pas par défaut. Dans ce cas, confirmez que vous avez activé la région sur le compte du principal IAM. Dans un scénario intercompte, activez la région AWS pour les deux comptes AWS. Pour plus d'informations, consultez la section Activer ou désactiver les régions AWS dans votre compte.

Utiliser l’analyseur d'accès IAM pour valider l'accès à votre compartiment

Pour valider l'accès à vos compartiments S3 avant de déployer des autorisations, utilisez Analyseur d’accès de Gestion des identités et des accès AWS (AWS IAM). Vous pouvez consulter les politiques de compartiment S3 qui vous accordent des ressources provenant d'un autre compte AWS.

Vous pouvez également utiliser l’analyseur d’accès IAM pour analyser vos événements AWS CloudTrail afin de générer une politique IAM basée sur cette activité. Pour plus d'informations, consultez la section Génération de politiques de l’analyseur d’accès IAM.

Pour activer l’analyseur d’accès IAM, consultez la section Mise en route de l’analyseur d’accès de Gestion des identités et des accès AWS (AWS IAM).

Remarque : AWS vous facture chaque mois les analyses d'accès non utilisées que vous créez. Pour plus d'informations, consultez la section Tarification de l’analyseur d’accès IAM.

Pour résoudre les problèmes liés aux autorisations de l’analyseur d’accès IAM, consultez la section Comment puis-je résoudre les problèmes d'autorisation liés aux politiques générées à partir de l’analyseur d’accès IAM ?

AWS OFFICIELA mis à jour il y a 4 mois