J’essaie d’ajouter ou de modifier la stratégie de mon compartiment Amazon Simple Storage Service (Amazon S3) à l’aide de la console. Cependant, je reçois le message d’erreur « Erreur : Principal non valide dans la stratégie. »
Résolution
Vous recevez le message Erreur : Principal non valide dans la stratégie lorsque la valeur d’un Principal dans votre stratégie de compartiment n’est pas valide. Pour résoudre cette erreur, vérifiez les points suivants :
- Votre stratégie de compartiment utilise des valeurs prises en charge pour un élément Principal.
- L’élément Principal est formaté correctement.
- Si le **Principal ** est un utilisateur ou un rôle de Gestion des identités et des accès AWS (AWS IAM), assurez-vous que l’utilisateur ou le rôle n’a pas été supprimé.
Votre stratégie de compartiment utilise des valeurs prises en charge pour un élément Principal
Passez en revue chaque élément Principal de votre stratégie de compartiment. Vérifiez qu’ils utilisent l’une des valeurs prises en charge suivantes :
Avertissement : lorsqu’il est utilisé avec "Action:" "Allow", l’élément Principal "*" autorise l’accès à tous les utilisateurs, qu’ils soient authentifiés ou anonymes. Avant d’utiliser cette combinaison dans votre stratégie de compartiment, vérifiez que votre contenu prend en charge ce niveau d’accès.
La valeur du Principal est formatée correctement
Passez en revue les éléments Principal de la stratégie et vérifiez qu’ils sont bien formatés. Si le Principal inclut un utilisateur, l’élément doit être au format suivant :
"Principal": {
"AWS": "arn:aws:iam::111111111111:user/user-name1"
}
Lorsque vous spécifiez des utilisateurs dans un élément Principal, vous ne pouvez pas utiliser "*" pour indiquer tous les utilisateurs. Vous devez inclure des utilisateurs spécifiques pour l’élément Principal.
Si l’élément Principal inclut plusieurs utilisateurs ou rôles IAM, il doit être au format suivant :
"Principal": {
"AWS": [
"arn:aws:iam::111111111111:user/user-name1",
"arn:aws:iam::111111111111:role/role-name1"
]
}
Si le Principal est composé de tous les utilisateurs, l’élément doit être au format suivant :
{
"Principal": "*"
}
Il est recommandé de ne pas utiliser de caractère générique (*) dans l’élément Principal d’une stratégie basée sur les ressources avec un effet Autoriser. Utilisez le caractère générique uniquement si vous avez l’intention d’accorder un accès public ou anonyme. Spécifiez les principaux, les services ou les comptes AWS souhaités dans l’élément Principal. Utilisez ensuite l’élément Condition pour restreindre l’accès. Cela est particulièrement vrai pour les stratégies de confiance entre les rôles IAM, car ces stratégies permettent à d’autres principaux de devenir associés à votre compte.
L’utilisateur ou le rôle IAM n’a pas été supprimé
Si votre stratégie de compartiment inclut des utilisateurs ou des rôles IAM dans l’élément Principal, vérifiez que ces identités IAM n’ont pas été supprimées. Veillez à spécifier les identifiants uniques plutôt que les ARN complets dans l’élément Principal. Cela peut aider à identifier les utilisateurs et les rôles IAM supprimés dans la stratégie de compartiment actuelle.
Exemple :
"Principal": {
"AWS": [
"arn:aws:iam::111111111111:user/user-name1",
"AIDAJQABLZS4A3QDU576Q",
"arn:aws:iam::111111111111:user/user-name2"
]
}
Si vous essayez d’enregistrer la stratégie de compartiment avec un identifiant unique comme élément Principal, le message d’erreur Principal non valide dans la stratégie 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.
Aucune région AWS n’a été activée sur le compte du principal IAM
Si votre compartiment S3 se trouve dans une région AWS qui n’est pas activée par défaut, vérifiez que la région est activée sur le compte du principal IAM. Pour en savoir plus, consultez la page Gestion des régions AWS.
Informations connexes
Générateur de stratégies AWS
Éléments de la stratégie JSON AWS : Principal