Je souhaite résoudre l'erreur « Has prohibited field Principal » (A interdit le champ Principal) qui s'affiche lorsque je crée ou mets à jour ma politique AWS Identity and Access Management (IAM).
Résolution
Si votre politique IAM basée sur l'identité inclut l'élément Principal, le message d'erreur « Has prohibited field Principal » (A interdit le champ Principal) s'affiche. Vous ne pouvez utiliser l'élément Principal que dans les politiques basées sur les ressources afin de contrôler l'identité IAM autorisée à accéder à la ressource. Vous n'avez pas besoin d'utiliser l'élément Principal dans une politique basée sur l'identité, car vous associez la politique aux identités IAM.
Assurez-vous de créer votre politique basée sur les ressources dans le service AWS associé à votre ressource. Pour vérifier si un service AWS utilise des politiques basées sur les ressources, consultez la section Services AWS qui fonctionnent avec IAM.
La seule politique basée sur les ressources que vous pouvez créer pour un rôle dans IAM est une politique d’approbation. Pour ajouter ou supprimer des autorisations pour le rôle IAM, veillez à mettre à jour la politique d’approbation des rôles plutôt que la politique d'autorisations.
Exemple de politique d’approbation des rôles :
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::111122223333:root"
},
"Action": "sts:AssumeRole"
}
]
}
Exemple de politique d'autorisations :
{
"Version": "2012-10-17",
"Statement": {
"Effect": "Allow",
"Action": "sts:AssumeRole",
"Resource": "arn:aws:iam::111122223333/Test"
}
}
Informations connexes
Politiques basées sur l’identité et politiques basées sur les ressources
Comment puis-je utiliser IAM pour accéder aux ressources d'un autre compte AWS ?
Accorder à un utilisateur des autorisations pour changer de rôle