Versioning von IAM-Richtlinien
Vorhandene Richtlinien werden nicht mit der geänderten Richtlinie überschrieben, wenn Sie Änderungen an einer kundenverwalteten IAM-Richtlinie durchführen oder wenn AWS Änderungen an einer verwalteten AWS-Richtlinie vornimmt. IAM erstellt stattdessen eine neue Version der verwalteten Richtlinie. IAM speichert bis zu fünf Versionen Ihrer vom Kunden verwalteten Richtlinien. IAM unterstützt Versioning nicht für eingebundene Richtlinien.
Versioning für eine kundenverwaltete Richtlinie wird in der folgenden Abbildung dargestellt. In diesem Beispiel werden die Versionen 1-4 gespeichert. Sie können bis zu fünf verwaltete Richtlinienversionen in IAM speichern lassen. Wenn Sie eine Richtlinie bearbeiten, die eine sechste gespeicherte Version erstellen würde, können Sie wählen, welche ältere Version nicht mehr gespeichert werden soll. Sie können jederzeit auf eine der anderen vier gespeicherten Versionen zurückgreifen.
Eine Richtlinienversion ist nicht mit dem Richtlinienelement Version
identisch. Das Richtlinienelement Version
wird innerhalb einer Richtlinie verwendet und gibt die Version der Richtliniensprache an. Weitere Informationen zum Richtlinienelement Version
finden Sie unter IAM-JSON-Richtlinienelemente: Version.
Mithilfe von Versionen können Sie Änderungen an verwalteten Richtlinien nachvollziehen. Es kann beispielsweise vorkommen, dass Sie eine Änderung an einer verwalteten Richtlinie vornehmen und diese Änderung dann unerwünschte Auswirkungen hat. In diesem Fall können Sie zu einer vorherigen Version der verwalteten Richtlinie zurückkehren, indem Sie die vorherige Version zur Standardversion machen.
In den folgenden Themen wird erläutert, wie Sie die Versionsverwaltung für verwaltete Richtlinien verwenden können.
Themen
Versionsbeschränkungen
Eine verwaltete -Richtlinie kann bis zu fünf Versionen aufweisen. Wenn Sie mit der AWS Command Line Interface oder der AWS-API an einer verwalteten Richtlinie Änderungen vornehmen müssen, sodass mehr als fünf Versionen entstehen, müssen Sie zunächst eine oder mehrere vorhandene Versionen löschen. Wenn Sie die AWS Management Console verwenden, können Sie die Richtlinie bearbeiten, ohne vorher alte Versionen löschen zu müssen. Beim Speichern der sechsten Version wird dann ein Dialogfeld angezeigt, in dem Sie aufgefordert werden, mindestens eine nicht standardmäßige Version der Richtlinie zu löschen. Sie können das JSON-Richtliniendokument der einzelnen Versionen anzeigen, um eine geeignete Version auszuwählen. Weitere Informationen zu diesem Dialogfeld finden Sie unter IAM-Richtlinien bearbeiten.
Sie können abgesehen von der Standardversion beliebige Versionen einer verwalteten Richtlinie löschen. Die Versionsnummern der übrigen Versionen bleiben vom Löschen einer Version unberührt. Daher kann es vorkommen, dass Versionsnummern nicht immer aufeinanderfolgen. Wenn Sie beispielsweise Version 2 und 4 einer verwalteten Richtlinie löschen und zwei neue Versionen erstellen, erhalten Sie im Anschluss die Versionen 1, 3, 5, 6 und 7.
Änderungen mithilfe von Versionen zurücksetzen
Sie können die Standardversion einer kundenverwalteten Richtlinie festlegen, um Ihre Änderungen rückgängig machen zu können. Betrachten wir folgendes Beispielszenario:
Sie erstellen eine kundenverwaltete Richtlinie, mit der Benutzer einen bestimmten Amazon S3-Bucket auf der AWS Management Console verwalten können. Nach dem Erstellen hat die kundenverwaltete Richtlinie nur eine Version, Version 1, die automatisch zur Standardversion wird. Die Richtlinie funktioniert wie vorgesehen.
Später aktualisieren Sie die Richtlinie, um Benutzern die Berechtigung zur Verwaltung eines zweiten Amazon S3-Buckets zu gewähren. IAM erstellt eine neue Version der Richtlinie, Version 2, die die vorgenommenen Änderungen enthält. Sie legen Version v2 als Standard fest, und kurze Zeit später melden Ihre Benutzer, dass sie nicht berechtigt sind, die Amazon S3-Konsole zu verwenden. In diesem Fall kehren Sie zu Version 1 der Richtlinie zurück, da Sie wissen, dass diese wie vorgesehen funktioniert. Dazu legen Sie einfach Version 1 als Standardversion fest. Ihre Benutzer können nun den ursprünglichen Bucket wieder mit der Amazon S3-Konsole verwalten.
Später, nachdem Sie den Fehler in Version v2 der Richtlinie festgestellt haben, aktualisieren Sie die Richtlinie erneut, um die Berechtigung zur Verwaltung des zweiten Amazon S3-Buckets hinzuzufügen. IAM-erstellt eine weitere neue Version der Richtlinie, Version 3. Sie legen Version 3 als Standardversion fest. Diese Version funktioniert nun wie vorgesehen. Jetzt können Sie Version 2 der Richtlinie löschen.
Berechtigungen für das Festlegen der Standardversion einer Richtlinie
Welche Berechtigungen zum Festlegen der Standardversion einer Richtlinie erforderlich sind, ist von den AWS-API-Operationen für die betreffende Aufgabe abhängig. Sie können mit den API-Operationen CreatePolicyVersion
oder SetDefaultPolicyVersion
die Standardversion einer Richtlinie festlegen. Um jemandem die Berechtigung zu erteilen, die Standardversion einer vorhandenen Richtlinie festzulegen, können Sie Zugriff auf die Aktion iam:CreatePolicyVersion
oder auf die Aktion iam:SetDefaultPolicyVersion
gewähren. Die Aktion iam:CreatePolicyVersion
ermöglicht ihm dann, eine neue Version der Richtlinie zu erstellen und diese Version als Standard festzulegen. Die Aktion iam:SetDefaultPolicyVersion
ermöglicht ihm, eine vorhandene Version der Richtlinie als Standard festzulegen.
Wichtig
Durch Verweigern der Aktion iam:SetDefaultPolicyVersion
in der Richtlinie eines Benutzers wird der Benutzer nicht daran gehindert, eine neue Richtlinienversion zu erstellen und diese als Standard festzulegen.
Mit der folgenden Richtlinie können Sie einem Benutzer den Zugriff auf eine vorhandene, kundenverwaltete Richtlinie verweigern, sodass er sie nicht ändern kann:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "iam:CreatePolicyVersion", "iam:SetDefaultPolicyVersion" ], "Resource": "arn:aws:iam::*:policy/
POLICY-NAME
" } ] }
Festlegen der Standardversion von vom Kunden verwalteten Richtlinien
Eine Version einer verwalteten Richtlinie ist immer die Standardversion. Die Standardversion der Richtlinie ist die operative Version, d. h. die Version, die für alle Prinzipal-Einheiten (IAM-Benutzer, IAM-Gruppen und IAM-Rollen) gültig ist, an die die verwaltete Richtlinie angefügt ist.
Wenn Sie eine kundenverwaltete Richtlinie erstellen, besteht diese zunächst aus nur einer Version, Version 1. Wenn eine verwaltete Richtlinie nur eine Version hat, ist diese automatisch die Standardversion. Bei kundenverwalteten Richtlinien mit mehreren Versionen können Sie festlegen, welche Version als Standardversion verwendet wird. Bei verwalteten AWS-Richtlinien wird die Standardversion von AWS festgelegt. Das folgende Diagramm verdeutlicht dieses Konzept.
Sie können die Standardversion einer kundenverwalteten Richtlinie so festlegen, dass diese Version auf jede IAM-Identität (Benutzer, Gruppe oder Rolle) angewendet wird, an die die Richtlinie angefügt ist. Die Standardversion für eine von AWS verwaltete Richtlinie oder eine eingebundene Richtlinie kann nicht festgelegt werden.
So legen Sie die Standardversion einer kundenverwalteten Richtlinie fest (Konsole)
Melden Sie sich bei der AWS Management Console an und öffnen Sie die IAM-Konsole unter https://console.aws.amazon.com/iam/
. -
Wählen Sie im Navigationsbereich Policies.
-
Wählen Sie in der Richtlinienliste den Namen der Richtlinie aus, für die Sie die Standardversion festlegen möchten. Sie können über das Suchfeld die Liste der Gruppen filtern.
-
Wählen Sie die Registerkarte Policy versions (Richtlinienversionen). Aktivieren Sie das Kontrollkästchen neben der Version, die Sie als Standardversion festlegen möchten, und wählen Sie dann Als Standard festlegen aus.
Informationen dazu, wie Sie die Standardversion einer kundenverwalteten Richtlinie über die AWS Command Line Interface oder die AWS-API festlegen, finden Sie unter Bearbeiten von IAM-Richtlinien (AWS CLI).