Skip to content

Pourquoi le message d’erreur « Invalid principal in policy » (Principal non valide dans la politique) 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 » (Principal non valide dans la politique) 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 » (Principal non valide dans la politique) 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.

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 » (Principal non valide dans la politique) 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

Si votre compartiment se trouve dans une région AWS qu'AWS n'active pas par défaut, vérifiez que vous avez activé la région sur le compte du principal IAM. Pour plus d'informations, consultez la section Activer ou désactiver les régions AWS dans votre compte.

Utiliser IAM Access Analyzer pour valider l'accès à votre compartiment

Pour valider l'accès à vos compartiments S3 avant de déployer des autorisations, utilisez AWS Identity and Access Management Access Analyzer. Vous pouvez consulter les politiques de compartiment S3 qui vous accordent des ressources provenant d'un autre compte AWS.

Vous pouvez également utiliser IAM Access Analyzer 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 d’IAM Access Analyzer.

Pour activer IAM Access Analyzer, consultez la section Mise en route d’ AWS Identity and Access Management Access Analyzer.

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 d’IAM Access Analyzer.

Pour résoudre les problèmes liés aux autorisations d’IAM Access Analyzer, 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 3 mois