Gestion des versions des politiques IAM - AWS Identity and Access Management

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Gestion des versions des politiques IAM

Lorsque vous apportez des modifications à une politique gérée par un client IAM ou à une politique AWS gérée, la stratégie modifiée ne remplace pas la politique existante. AWS À 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.

Les modifications apportées aux politiques gérées deviennent de nouvelles versions de la politique

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.

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 principaux (utilisateurs, groupes d'utilisateurs et rôles) 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 AWS gérées, la version par défaut est définie par AWS. Les diagrammes suivants illustrent ce concept.

Politique gérée avec une version unique, qui est la version par défaut

Politique gérée par le client avec trois versions, où la version v2 est la version par défaut.

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 AWS gérée ou d'une politique intégrée.

Pour définir la version par défaut d'une politique gérée par le client (console)
  1. Connectez-vous à la console IAM AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/iam/.

  2. Dans le panneau de navigation, choisissez Politiques.

  3. 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.

  4. 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'API AWS Command Line Interface ou de l' AWS API, consultezModification des politiques gérées par le client (AWS CLI).

Utilisation de versions pour annuler des 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.

Limites de version

Une politique gérée peut avoir jusqu'à cinq versions. Si vous devez apporter des modifications à une politique gérée au-delà de cinq versions à partir de l' AWS Command Line Interface API ou de l' AWS API, vous devez d'abord supprimer une ou plusieurs versions existantes. Si vous utilisez le AWS Management Console, il n'est pas nécessaire 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.