Erteilen Sie die Erlaubnis, EC2 Amazon-Ressourcen während der Erstellung zu taggen - Amazon Elastic Compute Cloud

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Erteilen Sie die Erlaubnis, EC2 Amazon-Ressourcen während der Erstellung zu taggen

Einige ressourcenschaffende EC2 API Amazon-Aktionen ermöglichen es Ihnen, Tags anzugeben, wenn Sie die Ressource erstellen. Sie können Ressourcen-Tags verwenden, um eine attributbasierte Steuerung () zu implementieren. ABAC Weitere Informationen finden Sie unter Markieren Ihrer -Ressourcen mit Tags (Markierungen) und Steuern Sie den Zugriff mithilfe des attributbasierten Zugriffs.

Damit Benutzer diese Möglichkeit erhalten, benötigen sie die Berechtigungen zum Verwenden der Aktion, die die Ressource wie ec2:RunInstances oder ec2:CreateVolume erstellt. Wenn Tags in der Aktion angegeben werden, mit der die Ressource erstellt wird, führt Amazon eine zusätzliche Autorisierung für die ec2:CreateTags-Aktion aus, um die Berechtigungen der Benutzer zum Erstellen von Tags zu überprüfen. Daher benötigen die Benutzer außerdem die expliziten Berechtigungen zum Verwenden der ec2:CreateTags-Aktion.

Verwenden Sie in der IAM Richtliniendefinition für die ec2:CreateTags Aktion das Condition Element mit dem ec2:CreateAction Bedingungsschlüssel, um der Aktion, die die Ressource erstellt, Tagging-Berechtigungen zu erteilen.

Die folgende Beispiel zeigt eine Richtlinie, die es Benutzern erlaubt, Instances zu starten und Instances und Volumes während des Starts beliebige Tags (Markierungen) hinzuzufügen. Die Markierung von bestehenden Ressourcen durch die Benutzer ist nicht zulässig. (Sie können die ec2:CreateTags-Aktion nicht direkt aufrufen.)

{ "Statement": [ { "Effect": "Allow", "Action": [ "ec2:RunInstances" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": "arn:aws:ec2:region:account:*/*", "Condition": { "StringEquals": { "ec2:CreateAction" : "RunInstances" } } } ] }

In ähnlicher Weise erlaubt die folgende Richtline Benutzern, Volumes zu erstellen und ihnen dabei beliebige Tags (Markierungen) hinzuzufügen. Die Markierung von bestehenden Ressourcen durch die Benutzer ist nicht zulässig. (Sie können die ec2:CreateTags-Aktion nicht direkt aufrufen.)

{ "Statement": [ { "Effect": "Allow", "Action": [ "ec2:CreateVolume" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": "arn:aws:ec2:region:account:*/*", "Condition": { "StringEquals": { "ec2:CreateAction" : "CreateVolume" } } } ] }

Die ec2:CreateTags-Aktion wird nur ausgewertet, wenn die Tags während der Aktion zur Ressourcenerstellung angewendet werden. Folglich benötigt ein Benutzer, der über die Berechtigungen zum Erstellen einer Ressource verfügt (vorausgesetzt, es bestehen keine Markierungsbedingungen), keine Berechtigungen zur Verwendung der ec2:CreateTags-Aktion, wenn keine Tags in der Anforderung angegeben werden. Wenn der Benutzer allerdings versucht, eine Ressource mit Tags zu erstellen, schlägt die Anforderung fehl, wenn der Benutzer nicht über die Berechtigungen für die ec2:CreateTags-Aktion verfügt.

Die ec2:CreateTags-Aktion wird auch ausgewertet, wenn Tags in einer Startvorlage bereitgestellt werden. Eine Beispielrichtlinie finden Sie unter Tags (Markierungen) in einer Startvorlage.

Kontrollieren des Zugriffs auf bestimmte Tags (Markierungen)

Sie können zusätzliche Bedingungen im Condition Element Ihrer IAM Richtlinien verwenden, um zu steuern, welche Tag-Schlüssel und -Werte auf Ressourcen angewendet werden können.

Die folgenden Bedingungsschlüssel können mit den Beispielen im vorangegangenen Abschnitt verwendet werden:

  • aws:RequestTag: Gibt an, dass eine Anforderung einen bestimmten Tag-Schlüssel oder Tag-Schlüssel und -Wert enthalten muss. In der Anforderung können auch andere Tags (Markierungen) angegeben werden.

    • Zusammen mit dem StringEquals-Bedingungsoperator können Sie eine bestimmte Tag-Schlüssel- und -Wert-Kombination erzwingen, z. B. den Tag cost-center=cc123:

      "StringEquals": { "aws:RequestTag/cost-center": "cc123" }
    • In Kombination mit dem StringLike-Bedingungsoperator erzwingen Sie einen bestimmten Tag-Schlüssel in der Anforderung, beispielsweise den Tag-Schlüssel purpose:

      "StringLike": { "aws:RequestTag/purpose": "*" }
  • aws:TagKeys: Erzwingt die Tag-Schlüssel, die in der Anforderung verwendet werden.

    • Verwenden Sie diesen Bedingungsschlüssel mit dem ForAllValues-Modifikator, um bestimmte Tag-Schlüssel zu erzwingen, die in der Anforderung bereitgestellt werden (wenn in der Anforderung Tags angegeben werden, sind nur bestimmte Tags erlaubt und keine anderen Tags gestattet). Im folgenden Beispiel sind die Tag-Schlüssel environment oder cost-center erlaubt:

      "ForAllValues:StringEquals": { "aws:TagKeys": ["environment","cost-center"] }
    • Zusammen mit dem ForAnyValue-Modifikator wird erzwungen, dass die Anforderung mindestens einen der angegebenen Tag-Schlüssel umfassen muss. Zum Beispiel muss mindestens einer der Tag-Schlüssel environment und webserver in der Anforderung enthalten sein:

      "ForAnyValue:StringEquals": { "aws:TagKeys": ["environment","webserver"] }

Diese Bedingungsschlüssel können auf Aktionen zur Ressourcenerstellung, die Markierungen unterstützen, sowie ec2:CreateTags- und ec2:DeleteTags-Aktionen angewendet werden. Informationen darüber, ob eine EC2 API Amazon-Aktion Tagging unterstützt, finden Sie unter Aktionen, Ressourcen und Bedingungsschlüssel für Amazon EC2.

Wenn Sie erzwingen möchten, dass die Benutzer beim Erstellen einer Ressource Tags angeben, müssen Sie den aws:RequestTag-Bedingungsschlüssel oder den aws:TagKeys-Bedingungsschlüssel mit dem ForAnyValue-Modifikator für die Aktion zur Erstellung von Ressourcen verwenden. Wenn ein Benutzer für diese Aktion zur Ressourcenerstellung keine Tags angibt, wird die ec2:CreateTags-Aktion nicht ausgewertet.

Bei Bedingungen gilt, dass die Groß- und Kleinschreibung für den Bedingungsschlüssel nicht berücksichtigt und für den Bedingungswert beachtet wird. Verwenden Sie aus diesem Grund den aws:TagKeys-Bedingungsschlüssel und geben Sie den Tag (Markierung)-Schlüssel als Wert dieser Bedingung an, wenn Sie die Berücksichtigung der Groß- und Kleinschreibung für einen Tag (Markierung)-Schlüssel erzwingen möchten.

IAMRichtlinien finden Sie beispielsweise unterBeispielrichtlinien zur Zugangskontrolle im Amazon EC2 API. Weitere Informationen zu Bedingungen mit mehreren Werten finden Sie im IAMBenutzerhandbuch unter Erstellen einer Bedingung, die mehrere Schlüsselwerte testet.