Lorsque vous apportez des modifications à une politique IAM gérée par le client, et qu'AWS effectue des changements sur une politique gérée par AWS, la politique modifiée ne remplace pas la politique existante. À la place, IAM crée une nouvelle version de la politique gérée. IAM stocke jusqu'à cinq versions de vos politiques gérées par le client. IAM ne prend pas en charge la gestion des versions pour les politiques en ligne.
Le diagramme suivant illustre la gestion des versions pour une politique gérée par le client. Dans cet exemple, les versions de 1 à 4 sont enregistrées. Vous pouvez enregistrer jusqu'à cinq versions de politique gérées dans IAM. Lorsque vous créez une sixième version en modifiant une politique, vous pouvez choisir quelle version plus ancienne supprimer. Vous pouvez revenir à tout moment à l'une des quatre autres versions enregistrées.
Une version de politique est différente d'un élément de politique Version
. L'élément de politique Version
est utilisé dans une politique pour définir la version de la langue de la politique. Pour en savoir plus sur l'élément de politique Version
, consultez Éléments de politique JSON IAM : Version.
Vous pouvez utiliser ces versions pour effectuer le suivi d'une politique gérée. Par exemple, vous pouvez modifier une politique gérée et découvrir ensuite que le changement a eu des effets inattendus. Dans ce cas, vous pouvez revenir à un version précédente de la politique gérée en définissant la version précédente comme version par défaut.
Les rubriques suivantes expliquent comment utiliser la gestion des versions avec les politiques gérées.
Rubriques
Limites de version
Une politique gérée peut avoir jusqu'à cinq versions. Si vous devez modifier une politique gérée au-delà de cinq versions dans l’interface AWS Command Line Interface ou l'API AWS, vous devez d'abord supprimer une ou plusieurs versions existantes. Si vous utilisez l'AWS Management Console, vous n'avez pas besoin de supprimer une version avant de modifier votre politique. Lorsque vous disposez d'une sixième version, une boîte de dialogue s'affiche pour vous inviter à supprimer une ou plusieurs versions personnalisées de votre politique. Vous pouvez également afficher le document de politique JSON pour vous aider à choisir. Pour plus d'informations sur cette boîte de dialogue, consultez la section Modification de politiques IAM.
Vous pouvez supprimer n'importe quelle version de la politique gérée de votre choix, sauf la version par défaut. Lorsque vous supprimez une version, les identificateurs de version des versions restantes ne changent pas. En conséquence, les identificateurs de version peuvent ne pas être séquentiels. Par exemple, si vous supprimez les versions v2 et v4 d'une politique gérée et que vous ajoutez deux nouvelles versions, les identificateurs de version restants peuvent être v1, v3, v5, v6 et v7.
Utilisation des versions pour l’annulation de modifications
Vous pouvez définir la version par défaut d'une politique gérée par le client pour annuler vos modifications. Par exemple, imaginez le scénario suivant:
Vous créez une politique gérée par le client qui autorise les utilisateurs à administrer un compartiment Amazon S3 spécifique à l'aide de la AWS Management Console. À sa création, votre politique gérée par le client dispose d'une version unique, identifiée comme v1. Cette version est donc définie automatiquement comme valeur par défaut. La politique fonctionne comme prévu.
Plus tard, vous mettrez à jour la politique pour ajouter l'autorisation d'administrer un second compartiment Amazon S3. IAM crée une nouvelle version de la politique, identifiée en tant que v2, qui contient vos modifications. Vous définissez la version v2 comme version par défaut, et peu de temps après, vos utilisateurs signalent qu'ils n'ont pas l'autorisation d'utiliser la console Amazon S3. Dans ce cas, vous pouvez revenir à la version v1 de la politique, que vous savez fonctionner comme prévu. Pour cela, vous définissez la version v1 comme version par défaut. Vous utilisateurs sont désormais en mesure d'utiliser la console Amazon S3 pour administrer le compartiment d'origine.
Plus tard, après avoir identifié l'erreur dans la version v2 de la politique, vous remettez à jour la politique pour ajouter l'autorisation d'administrer le second compartiment Amazon S3. IAM crée une autre version de la politique, identifiée en tant que v3. Vous définissez la version v3 comme version par défaut et cette version fonctionne comme prévu. À ce stade, vous supprimez la version v2 de la politique.
Autorisations pour définir la version par défaut d'une politique
Les autorisations qui sont requises pour définir la version par défaut d'une politique correspondent aux opérations d'API AWS pour la tâche. Vous pouvez utiliser les opérations d'API CreatePolicyVersion
ou SetDefaultPolicyVersion
pour définir la version par défaut d'une politique. Pour autoriser une personne à définir la version par défaut d'une politique existante, vous pouvez autoriser l'accès à l'action iam:CreatePolicyVersion
ou l'action iam:SetDefaultPolicyVersion
. L'action iam:CreatePolicyVersion
permet de créer une nouvelle version de la politique et de définir cette version comme version par défaut. L'action iam:SetDefaultPolicyVersion
permet de définir n'importe quelle version existante de la politique comme valeur par défaut.
Important
Refuser l'action iam:SetDefaultPolicyVersion
dans une politique d'utilisateur n'empêche pas l'utilisateur de créer une nouvelle version de la politique et de la définir comme version par défaut.
Vous pouvez utiliser la politique suivante pour interdire à un utilisateur de modifier une politique existante gérée par le client :
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Deny",
"Action": [
"iam:CreatePolicyVersion",
"iam:SetDefaultPolicyVersion"
],
"Resource": "arn:aws:iam::*:policy/POLICY-NAME
"
}
]
}
Définition de la version par défaut des politiques gérées par le client
L'une des versions d'une politique gérée est définie comme la version par défaut. La version par défaut de la politique est la version d’exécution, c’est-à-dire qu’il s’agit de la version en vigueur pour toutes les entités de principal (utilisateurs IAM, groupes IAM et rôles IAM) auxquelles la politique gérée est attachée.
Lorsque vous créez une politique gérée par le client, la politique commence par une version unique identifiée comme v1. Pour les politiques gérées avec une version unique, cette version est définie automatiquement comme valeur par défaut. Pour les politiques gérées par le client avec plusieurs versions, vous choisissez la version à définir par défaut. Pour les politiques gérées par AWS, la version par défaut est définie par AWS. Les diagrammes suivants illustrent ce concept.
Vous pouvez définir la version par défaut d'une politique gérée par le client pour appliquer cette version à chaque entité IAM (utilisateur, groupe d'utilisateurs et rôle) à laquelle la politique gérée est attachée. Vous ne pouvez pas définir la version par défaut d'une politique gérée AWS ou d'une politique en ligne.
Pour définir la version par défaut d'une politique gérée par le client (console)
Connectez-vous à la AWS Management Console et ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/
. -
Dans le panneau de navigation, choisissez Politiques.
-
Dans la liste des stratégies, choisissez le nom de la stratégie à définir comme la version par défaut. Vous pouvez utiliser la zone de recherche pour filtrer la liste des politiques.
-
Choisissez l'onglet Versions de politique. Cochez la case située en regard de la version que vous souhaitez définir comme version par défaut, puis choisissez Définir par défaut.
Pour savoir comment définir la version par défaut d'une politique gérée par le client à partir de l’interface AWS Command Line Interface ou de l'API AWS, consultez Modification de politiques IAM (AWS CLI).