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.
Steuern Sie die Verwendung von EC2 Amazon-Startvorlagen in Auto Scaling Scaling-Gruppen
Amazon EC2 Auto Scaling unterstützt die Verwendung von EC2 Amazon-Startvorlagen mit Ihren Auto Scaling Scaling-Gruppen. Wir empfehlen, Benutzern das Erstellen von Auto Scaling-Gruppen anhand von Startvorlagen zu ermöglichen, da sie dadurch die neuesten Funktionen von Amazon EC2 Auto Scaling und Amazon nutzen könnenEC2. Beispielsweise müssen Benutzer eine Startvorlage angeben, um eine Richtlinie für gemischte Instances verwenden zu können.
Sie können die AmazonEC2FullAccess
Richtlinie verwenden, um Benutzern vollständigen Zugriff auf die Arbeit mit Amazon EC2 Auto Scaling Scaling-Ressourcen, Startvorlagen und anderen EC2 Ressourcen in ihrem Konto zu gewähren. Oder Sie können Ihre eigenen benutzerdefinierten IAM Richtlinien erstellen, um Benutzern detaillierte Berechtigungen für die Arbeit mit Startvorlagen zu gewähren, wie in diesem Thema beschrieben.
Eine Beispielrichtlinie, die Sie für Ihre eigene Verwendung anpassen können
Das folgende Beispiel zeigt eine grundlegende Berechtigungsrichtlinie, die Sie für Ihre eigene Verwendung anpassen können. Die Richtlinie gewährt Berechtigungen zum Erstellen, Aktualisieren und Löschen aller Auto-Scaling-Gruppen, jedoch nur, wenn die Gruppe das Tag
verwendet. Diese gewährt dann Berechtigung für alle purpose=testing
Describe
-Aktionen. Da Describe
-Aktionen keine Berechtigungen auf Ressourcenebene unterstützen, müssen Sie sie in einer separaten Anweisung ohne Bedingungen angeben.
IAMIdentitäten (Benutzer oder Rollen) mit dieser Richtlinie sind berechtigt, eine Auto Scaling Scaling-Gruppe mithilfe einer Startvorlage zu erstellen oder zu aktualisieren, da ihnen auch die Berechtigung zur Verwendung der ec2:RunInstances
Aktion erteilt wurde.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "autoscaling:CreateAutoScalingGroup", "autoscaling:UpdateAutoScalingGroup", "autoscaling:DeleteAutoScalingGroup" ], "Resource": "*", "Condition": { "StringEquals": { "autoscaling:ResourceTag/
purpose
": "testing
" } } }, { "Effect": "Allow", "Action": [ "autoscaling:Describe*", "ec2:RunInstances" ], "Resource": "*" } ] }
Benutzer, die Auto-Scaling-Gruppen erstellen oder aktualisieren, benötigen möglicherweise einige zugehörige Berechtigungen, wie beispielsweise:
-
ec2: CreateTags — Um den Instances und Volumes bei der Erstellung Tags hinzuzufügen, muss der Benutzer über die
ec2:CreateTags
entsprechende Berechtigung in einer IAM Richtlinie verfügen. Weitere Informationen finden Sie unter Erforderliche Berechtigungen zum Markieren von Instances und Volumes. -
iam: PassRole — Um EC2 Instances von einer Startvorlage aus zu starten, die ein Instance-Profil (einen Container für eine IAM Rolle) enthält, muss der Benutzer auch über die
iam:PassRole
entsprechende Berechtigung in einer IAM Richtlinie verfügen. Weitere Informationen und ein Beispiel für eine IAM Richtlinie finden Sie unterIAMRolle für Anwendungen, die auf EC2 Amazon-Instances ausgeführt werden. -
ssm: GetParameters — Um EC2 Instances von einer Startvorlage aus zu starten, die einen AWS Systems Manager Parameter verwendet, muss der Benutzer auch über die
ssm:GetParameters
entsprechende Berechtigung in einer IAM Richtlinie verfügen. Weitere Informationen finden Sie unter Verwenden Sie AWS Systems Manager Parameter statt AMI IDs in Startvorlagen.
Diese Berechtigungen für Aktionen, die beim Starten von Instances ausgeführt werden sollen, werden überprüft, wenn der Benutzer mit einer Auto-Scaling-Gruppe interagiert. Weitere Informationen finden Sie unter Überprüfung der Berechtigungen für ec2:RunInstances und iam:PassRole.
Die folgenden Beispiele zeigen Richtlinienanweisungen, mit denen Sie den Zugriff von IAM Benutzern mithilfe von Startvorlagen steuern können.
Themen
- Verlangen, dass Startvorlagen ein bestimmtes Tag haben
- Eine Startvorlage und eine Versionsnummer verlangen
- Erfordert die Verwendung des Instanz-Metadatendienstes Version 2 (IMDSv2)
- Beschränken Sie den Zugriff auf EC2 Amazon-Ressourcen
- Erforderliche Berechtigungen zum Markieren von Instances und Volumes
- Zusätzliche Berechtigungen für Startvorlagen
- Überprüfung der Berechtigungen für ec2:RunInstances und iam:PassRole
- Zugehörige Ressourcen
Verlangen, dass Startvorlagen ein bestimmtes Tag haben
Bei der Erteilung von ec2:RunInstances
Berechtigungen können Sie angeben, dass Benutzer beim Starten von Instances mit einer Startvorlage nur Startvorlagen mit bestimmten Tags oder nur spezifische, IDs um Berechtigungen einzuschränken, verwenden können. Sie können auch steuern, auf welche AMI und andere Ressourcen jeder, der Startvorlagen verwendet, beim Starten von Instances verweisen und diese verwenden kann, indem Sie zusätzliche Berechtigungen auf Ressourcenebene für den RunInstances
Anruf angeben.
Das folgende Beispiel schränkt die Berechtigungen für die Aktion ec2:RunInstances
auf das Starten von Vorlagen ein, die sich in der angegebenen Region befinden und die das Tag
haben. Außerdem erhalten Benutzer Zugriff auf die in einer Startvorlage angegebenen Ressourcen: Instance-TypenAMIs, Volumes, Schlüsselpaare, Netzwerkschnittstellen und Sicherheitsgruppen. purpose=testing
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": "arn:aws:ec2:
region
:account-id
:launch-template/*", "Condition": { "StringEquals": { "aws:ResourceTag/purpose
": "testing
" } } }, { "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": [ "arn:aws:ec2:region
::image/ami-*", "arn:aws:ec2:region
:account-id
:instance/*", "arn:aws:ec2:region
:account-id
:subnet/*", "arn:aws:ec2:region
:account-id
:volume/*", "arn:aws:ec2:region
:account-id
:key-pair/*", "arn:aws:ec2:region
:account-id
:network-interface/*", "arn:aws:ec2:region
:account-id
:security-group/*" ] } ] }
Weitere Informationen zur Verwendung von tagbasierten Richtlinien mit Startvorlagen finden Sie unter Steuern des Zugriffs auf Startvorlagen mit IAM Berechtigungen im EC2Amazon-Benutzerhandbuch.
Eine Startvorlage und eine Versionsnummer verlangen
Sie können IAM Berechtigungen auch verwenden, um zu erzwingen, dass beim Erstellen oder Aktualisieren von Auto Scaling Scaling-Gruppen eine Startvorlage und die Versionsnummer der Startvorlage angegeben werden müssen.
Im folgenden Beispiel können Benutzer Auto-Scaling-Gruppen nur erstellen und aktualisieren, wenn eine Startvorlage und die Versionsnummer der Startvorlage angegeben sind. Wenn Benutzer mit dieser Richtlinie die Versionsnummer weglassen, um entweder die Version der Startvorlage $Latest
oder $Default
anzugeben, oder versuchen, stattdessen eine Startkonfiguration zu verwenden, schlägt die Aktion fehl.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "autoscaling:CreateAutoScalingGroup", "autoscaling:UpdateAutoScalingGroup" ], "Resource": "*", "Condition": { "Bool": { "autoscaling:LaunchTemplateVersionSpecified": "true" } } }, { "Effect": "Deny", "Action": [ "autoscaling:CreateAutoScalingGroup", "autoscaling:UpdateAutoScalingGroup" ], "Resource": "*", "Condition": { "Null": { "autoscaling:LaunchConfigurationName": "false" } } } ] }
Erfordert die Verwendung des Instanz-Metadatendienstes Version 2 (IMDSv2)
Für zusätzliche Sicherheit können Sie die Berechtigungen Ihrer Benutzer so einrichten, dass sie die Verwendung einer Startvorlage erfordern, die Folgendes erfordertIMDSv2. Weitere Informationen finden Sie unter Konfiguration des Instance-Metadaten-Service im EC2Amazon-Benutzerhandbuch.
Das folgende Beispiel legt fest, dass Benutzer die ec2:RunInstances
Aktion nur aufrufen können, wenn für die Instance auch die Verwendung von aktiviert wurde IMDSv2 (angegeben durch"ec2:MetadataHttpTokens":"required"
).
{ "Version": "2012-10-17", "Statement": [ { "Sid": "RequireImdsV2", "Effect": "Deny", "Action": "ec2:RunInstances", "Resource": "arn:aws:ec2:*:*:instance/*", "Condition": { "StringNotEquals": { "ec2:MetadataHttpTokens": "required" } } } ] }
Tipp
Um zu erzwingen, dass Ersatz-Instances von Auto Scaling gestartet werden, die eine neue Startvorlage oder eine neue Version einer Startvorlage mit den konfigurierten Instance-Metadatenoptionen verwenden, können Sie eine Instance-Aktualisierung starten. Weitere Informationen finden Sie unter Aktualisieren von Auto-Scaling-Instances.
Beschränken Sie den Zugriff auf EC2 Amazon-Ressourcen
Das folgende Beispiel steuert die Konfiguration der Instances, die ein Benutzer starten kann, indem der Zugriff auf EC2 Amazon-Ressourcen eingeschränkt wird. Um Berechtigungen auf Ressourcenebene für Ressourcen festzulegen, die in einer Startvorlage angegeben sind, müssen Sie die Ressourcen in die RunInstances
-Aktionsanweisung aufnehmen.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": [ "arn:aws:ec2:
region
:account-id
:launch-template/*", "arn:aws:ec2:region
::image/ami-04d5cc9b88example
", "arn:aws:ec2:region
:account-id
:subnet/subnet-1a2b3c4d
", "arn:aws:ec2:region
:account-id
:volume/*", "arn:aws:ec2:region
:account-id
:key-pair/*", "arn:aws:ec2:region
:account-id
:network-interface/*", "arn:aws:ec2:region
:account-id
:security-group/sg-903004f88example
" ] }, { "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": "arn:aws:ec2:region
:account-id
:instance/*", "Condition": { "StringEquals": { "ec2:InstanceType": ["t2.micro", "t2.small"] } } } ] }
In diesem Beispiel gibt es zwei Anweisungen:
-
Die erste Anweisung erfordert, dass Benutzer Instances in einem bestimmten Subnetz (
) starten, dabei eine bestimmte Sicherheitsgruppe (subnet-1a2b3c4d
) und eine bestimmte AMI (sg-903004f88example
) verwenden. Außerdem erhalten die Benutzer Zugriff auf die in einer Startvorlage angegebenen Ressourcen: Netzwerkschnittstellen, Schlüsselpaare und Volumes.ami-04d5cc9b88example
-
Die zweite Anweisung ermöglicht es den Benutzern, Instances nur mit den Instance-Typen
undt2.micro
zu starten, was aus Kostengründen sinnvoll ist.t2.small
Beachten Sie jedoch, dass es derzeit keine effektive Methode gibt, um Benutzer, die berechtigt sind, Instances mit einer Startvorlage zu starten, vollständig daran zu hindern, andere Instance-Typen zu starten. Dies liegt daran, dass ein in einer Startvorlage angegebener Instance-Typ überschrieben werden kann, sodass Instance-Typen verwendet werden, die mithilfe der attributbasierten Instance-Typauswahl definiert wurden.
Eine vollständige Liste der Berechtigungen auf Ressourcenebene, mit denen Sie die Konfiguration der Instances steuern können, die ein Benutzer starten kann, finden Sie unter Aktionen, Ressourcen und Bedingungsschlüssel für Amazon EC2 in der Service Authorization Reference.
Erforderliche Berechtigungen zum Markieren von Instances und Volumes
Das folgende Beispiel ermöglicht es Benutzern, Instances und Volumes bei der Erstellung zu kennzeichnen. Diese Richtlinie wird benötigt, wenn in der Startvorlage Tags angegeben sind. Weitere Informationen finden Sie im EC2Amazon-Benutzerhandbuch unter Erteilen der Erlaubnis, Ressourcen während der Erstellung zu kennzeichnen.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:CreateTags", "Resource": "arn:aws:ec2:
region
:account-id
:*/*", "Condition": { "StringEquals": { "ec2:CreateAction": "RunInstances" } } } ] }
Zusätzliche Berechtigungen für Startvorlagen
Sie müssen Ihren Konsolenbenutzern Berechtigungen für die ec2:DescribeLaunchTemplates
- und ec2:DescribeLaunchTemplateVersions
-Aktionen gewähren. Ohne diese Berechtigungen können Startvorlagendaten nicht im Auto Scaling-Gruppen-Assistenten geladen werden, und Benutzer können den Assistenten nicht durchlaufen, um Instances mithilfe einer Startvorlage zu starten. Sie können diese zusätzlichen Maßnahmen im Action
Element einer IAM Grundsatzerklärung angeben.
Überprüfung der Berechtigungen für ec2:RunInstances
und iam:PassRole
Benutzer können angeben, welche Version einer Startvorlage ihre Auto-Scaling-Gruppe verwendet. Je nach ihren Berechtigungen kann es sich dabei um eine bestimmte nummerierte Version oder um die Version $Latest
oder $Default
der Startvorlage handeln. Wenn Letzteres der Fall ist, seien Sie besonders vorsichtig. Dies kann die Berechtigungen für ec2:RunInstances
und iam:PassRole
, die Sie einschränken wollten, außer Kraft setzen.
In diesem Abschnitt wird das Szenario der Verwendung der neuesten oder Standardversion der Startvorlage mit einer Auto-Scaling-Gruppe erläutert.
Wenn ein Benutzer, oder StartInstanceRefresh
APIs aufruft CreateAutoScalingGroup
UpdateAutoScalingGroup
, überprüft Amazon EC2 Auto Scaling seine Berechtigungen anhand der Version der Startvorlage, die zu diesem Zeitpunkt die neueste Version oder Standardversion ist, bevor es mit der Anfrage fortfährt. Dadurch werden die Berechtigungen für Aktionen validiert, die beim Starten von Instances abgeschlossen werden müssen, wie z. B. die Aktionen ec2:RunInstances
und iam:PassRole
. Um dies zu erreichen, führen wir einen Testlauf EC2 RunInstancesbei Amazon durch, um zu überprüfen, ob der Benutzer über die erforderlichen Berechtigungen für die Aktion verfügt, ohne die Anfrage tatsächlich zu stellen. Wenn eine Antwort zurückgegeben wird, wird sie von Amazon EC2 Auto Scaling gelesen. Wenn die Berechtigungen des Benutzers eine bestimmte Aktion nicht zulassen, schlägt Amazon EC2 Auto Scaling die Anfrage fehl und gibt dem Benutzer eine Fehlermeldung mit Informationen über die fehlende Berechtigung zurück.
Nach Abschluss der ersten Überprüfung und Anforderung startet Amazon EC2 Auto Scaling Instances bei jedem Start mit der neuesten Version oder Standardversion, auch wenn sie sich geändert hat, und verwendet dabei die Berechtigungen der serviceverknüpften Rolle. Das bedeutet, dass ein Benutzer, der die Startvorlage verwendet, sie möglicherweise aktualisieren könnte, um eine IAM Rolle an eine Instance zu übergeben, auch wenn er nicht über die iam:PassRole
entsprechende Berechtigung verfügt.
Verwenden Sie den autoscaling:LaunchTemplateVersionSpecified
-Bedingungsschlüssel, wenn Sie einschränken möchten, wer Zugriff auf die Konfiguration von Gruppen hat, um die Version $Latest
oder $Default
zu verwenden. Dadurch wird sichergestellt, dass die Auto Scaling Scaling-Gruppe nur eine bestimmte nummerierte Version akzeptiert, wenn ein Benutzer CreateAutoScalingGroup
und aufruft UpdateAutoScalingGroup
APIs. Ein Beispiel, das zeigt, wie dieser Bedingungsschlüssel zu einer IAM Richtlinie hinzugefügt wird, finden Sie unterEine Startvorlage und eine Versionsnummer verlangen.
Für Auto-Scaling-Gruppen, die für die Verwendung der Startvorlagenversion $Latest
oder $Default
konfiguriert sind, sollten Sie einschränken, wer Versionen der Startvorlage erstellen und verwalten kann, einschließlich der ec2:ModifyLaunchTemplate
-Aktion, die es einem Benutzer ermöglicht, die Standardversion der Startvorlage anzugeben. Weitere Informationen finden Sie unter Steuern von Versionsberechtigungen im EC2Amazon-Benutzerhandbuch.
Zugehörige Ressourcen
Weitere Informationen zu Berechtigungen zum Anzeigen, Erstellen und Löschen von Startvorlagen und Startvorlagenversionen finden Sie unter Steuern des Zugriffs auf Startvorlagen mit IAM Berechtigungen im EC2Amazon-Benutzerhandbuch.
Weitere Informationen zu den Berechtigungen auf Ressourcenebene, mit denen Sie den Zugriff auf den RunInstances
Anruf steuern können, finden Sie unter Aktionen, Ressourcen und Bedingungsschlüssel für Amazon EC2 in der Service Authorization Reference.