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.
Beispiele für identitätsbasierte Amazon EC2 Auto Scaling-Richtlinien
Standardmäßig AWS-Konto hat ein brandneuer Benutzer in Ihrem Bereich keine Rechte, etwas zu tun. Ein IAM-Administrator muss IAM-Richtlinien erstellen und zuweisen, die einer IAM-Identität (etwa einem Benutzer oder einer Rolle) die Berechtigung zum Ausführen von API-Aktionen von Amazon EC2 Auto Scaling gewähren.
Informationen dazu, wie Sie unter Verwendung dieser Beispiel-JSON-Richtliniendokumente eine IAM-Richtlinie erstellen, finden Sie unter Erstellen von Richtlinien auf der JSON-Registerkarte im IAM-Benutzerhandbuch.
Dies ist ein Beispiel für eine Berechtigungsrichtlinie.
{ "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*", "Resource": "*" }] }
Diese Beispielrichtlinie gewährt Benutzern Berechtigungen zum Erstellen, Aktualisieren und Löschen von Auto-Scaling-Gruppen, jedoch nur, wenn die Gruppe das Tag
verwendet. Da purpose=testing
Describe
-Aktionen keine Berechtigungen auf Ressourcenebene unterstützen, müssen Sie sie in einer separaten Anweisung ohne Bedingungen angeben. Um Instances mit einer Startvorlage zu starten, muss der Benutzer auch über die ec2:RunInstances
-Berechtigung verfügen. Weitere Informationen finden Sie unter Steuern Sie die Verwendung von Amazon EC2 EC2-Startvorlagen in Auto Scaling Scaling-Gruppen.
Anmerkung
Sie können auch eigene benutzerdefinierte IAM-Richtlinien erstellen, um IAM-Identitäten (Benutzern oder Rollen) Berechtigungen zum Ausführen von Amazon-EC2-Auto-Scaling-Aktionen zu gewähren oder zu verweigern. Die benutzerdefinierten Richtlinien können Sie dann den IAM-Identitäten zuweisen, die die angegebenen Berechtigungen fordern. Die folgenden Beispiele zeigen Berechtigungen für einige häufige Anwendungsfälle.
Bei einigen Amazon EC2 Auto Scaling-API-Aktionen lassen sich bestimmte Auto Scaling-Gruppen, die mit der Aktion erstellt oder geändert werden können, in die Richtlinie einbinden. Sie können die Zielressourcen für diese Aktionen einschränken, indem Sie einzelne Auto Scaling-Gruppen-ARNs angeben. Als bewährte Methode empfehlen wir jedoch, tagbasierte Richtlinien zu verwenden, die Aktionen für Auto Scaling-Gruppen mit einem bestimmten Tag zulassen (oder ablehnen).
Beispiele
- Steuern Sie die Größe der Auto-Scaling-Gruppen, die erstellt werden können
- Steuern, welche Tag-Schlüssel und Tag-Werte verwendet werden können
- Steuern Sie, welche Auto-Scaling-Gruppen gelöscht werden können
- Steuern, welche Skalierungsrichtlinien gelöscht werden können
- Steuern Sie den Zugriff auf Aktionen zur Instance-Aktualisierung
- Erstellen einer serviceverknüpften Rolle
- Steuern Sie, welche serviceverknüpfte Rolle übergeben werden kann (mit) PassRole
Steuern Sie die Größe der Auto-Scaling-Gruppen, die erstellt werden können
Die folgende Richtlinie gewährt Berechtigungen zum Erstellen und Aktualisieren aller Auto-Scaling-Gruppen mit dem Tag
, sofern der Anforderer nicht eine Mindestgröße kleiner als environment=development
1
oder eine maximale Größe größer als 10
angibt. Verwenden Sie nach Möglichkeit Tags, um den Zugriff auf die Auto-Scaling-Gruppen in Ihrem Konto zu steuern.
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "autoscaling:CreateAutoScalingGroup", "autoscaling:UpdateAutoScalingGroup" ], "Resource": "*", "Condition": { "StringEquals": { "autoscaling:ResourceTag/
environment
": "development
" }, "NumericGreaterThanEqualsIfExists": { "autoscaling:MinSize":1
}, "NumericLessThanEqualsIfExists": { "autoscaling:MaxSize":10
} } }] }
Wenn Sie den Zugriff auf Auto-Scaling-Gruppen nicht über Tags kontrollieren, können Sie alternativ ARNs verwenden, um die Auto-Scaling-Gruppen zu identifizieren, für welche die IAM-Richtlinie gilt.
Eine Auto Scaling-Gruppe hat den folgenden ARN.
"Resource": "arn:aws:autoscaling:
region
:account-id
:autoScalingGroup:*:autoScalingGroupName/my-asg
"
Sie können auch mehrere ARNs angeben, indem Sie sie in eine Liste einschließen. Weitere Informationen zum Angeben der ARNs von Amazon EC2 Auto-Scaling-Ressourcen im Resource
-Element finden Sie unter Richtlinienressourcen für Amazon EC2 Auto Scaling.
Steuern, welche Tag-Schlüssel und Tag-Werte verwendet werden können
Sie können auch Bedingungen in Ihren IAM-Richtlinien verwenden, um die Tag-Schlüssel und Tag-Werte zu steuern, die auf Auto-Scaling-Gruppen angewendet werden können. Verwenden Sie den aws:RequestTag
-Bedingungsschlüssel, um Berechtigungen zum Erstellen oder Markieren einer Auto-Scaling-Gruppe nur dann zu gewähren, wenn der Anforderer bestimmte Tags angibt. Um nur bestimmte Tag-Schlüssel zuzulassen, verwenden Sie den Bedingungsschlüssel aws:TagKeys
mit dem Modifikator ForAllValues
.
Die folgende Richtlinie erfordert, dass der Anforderer in der Anfrage ein Tag mit dem Schlüssel
angibt. Der Wert environment
erzwingt, dass ein Wert für den Tag-Schlüssel vorhanden ist. Bei der Verwenden eines Platzhalters müssen Sie den "?*"
StringLike
-Bedingungsoperator verwenden.
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "autoscaling:CreateAutoScalingGroup", "autoscaling:CreateOrUpdateTags" ], "Resource": "*", "Condition": { "StringLike": { "aws:RequestTag/
environment
": "?*
" } } }] }
Die folgende Richtlinie legt fest, dass der Antragssteller nur Auto-Scaling-Gruppen mit den Tags
und purpose=webserver
kennzeichnen kann und nur die Tags cost-center=cc123
und purpose
zulässt (keine anderen Tags können angegeben werden).cost-center
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "autoscaling:CreateAutoScalingGroup", "autoscaling:CreateOrUpdateTags" ], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/
purpose
": "webserver
", "aws:RequestTag/cost-center
": "cc123
" }, "ForAllValues:StringEquals": { "aws:TagKeys": ["purpose
", "cost-center
"] } } }] }
Die folgende Richtlinie erfordert, dass der Anforderer mindestens ein Tag in der Anfrage angibt, und lässt nur die
- und cost-center
-Schlüssel zu.owner
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "autoscaling:CreateAutoScalingGroup", "autoscaling:CreateOrUpdateTags" ], "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws:TagKeys": ["
cost-center
", "owner
"] } } }] }
Anmerkung
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.
Steuern Sie, welche Auto-Scaling-Gruppen gelöscht werden können
Die folgende Richtlinie erlaubt das Löschen einer Auto-Scaling-Gruppe nur, wenn die Gruppe über das Tag verfügt
.environment=development
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "autoscaling:DeleteAutoScalingGroup", "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/
environment
": "development
" } } }] }
Wenn Sie keine Bedingungsschlüssel verwenden, um den Zugriff auf Auto-Scaling-Gruppen zu steuern, können Sie stattdessen die ARNs der Ressourcen in dem Resource
-Element angeben, um den Zugriff zu kontrollieren.
Die folgende Richtlinie gibt Benutzern die Erlaubnis, die DeleteAutoScalingGroup
API-Aktion zu verwenden, jedoch nur für Auto-Scaling-Gruppen, deren Name mit
beginnt.devteam-
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "autoscaling:DeleteAutoScalingGroup", "Resource": "arn:aws:autoscaling:
region
:account-id
:autoScalingGroup:*:autoScalingGroupName/devteam-
*" }] }
Sie können auch mehrere ARNs angeben, indem Sie sie in eine Liste einschließen. Einbeziehung der UUID stellt sicher, dass Zugriff zu der spezifischen Auto Scaling-Gruppe gewährt ist. Die UUID für eine neue Gruppe unterscheidet sich von der UUID für eine gelöschte Gruppe mit demselben Namen.
"Resource": [ "arn:aws:autoscaling:
region
:account-id
:autoScalingGroup:uuid
:autoScalingGroupName/devteam-1
", "arn:aws:autoscaling:region
:account-id
:autoScalingGroup:uuid
:autoScalingGroupName/devteam-2
", "arn:aws:autoscaling:region
:account-id
:autoScalingGroup:uuid
:autoScalingGroupName/devteam-3
" ]
Steuern, welche Skalierungsrichtlinien gelöscht werden können
Die folgende Richtlinie gewährt Berechtigungen zum Verwenden der DeletePolicy
-Aktion zum Löschen einer Skalierungsrichtlinie. Es lehnt die Aktion jedoch auch dann ab, wenn die Auto-Scaling-Gruppe, auf welche die Aktion abzielt, über das Tag
verfügt. Verwenden Sie nach Möglichkeit Tags, um den Zugriff auf die Auto-Scaling-Gruppen in Ihrem Konto zu steuern.environment=production
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "autoscaling:DeletePolicy", "Resource": "*" }, { "Effect": "Deny", "Action": "autoscaling:DeletePolicy", "Resource": "*", "Condition": { "StringEquals": { "autoscaling:ResourceTag/
environment
": "production
" } } }] }
Steuern Sie den Zugriff auf Aktionen zur Instance-Aktualisierung
Die folgende Richtlinie erteilt nur dann Berechtigungen zum Starten, Zurücksetzen und Abbrechen einer Instance-Aktualisierung, wenn die Auto-Scaling-Gruppe, auf welche die Aktion abzielt, über das Tag
verfügt. Da environment=testing
Describe
-Aktionen keine Berechtigungen auf Ressourcenebene unterstützen, müssen Sie sie in einer separaten Anweisung ohne Bedingungen angeben.
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "autoscaling:StartInstanceRefresh", "autoscaling:CancelInstanceRefresh", "autoscaling:RollbackInstanceRefresh" ], "Resource": "*", "Condition": { "StringEquals": { "autoscaling:ResourceTag/
environment
": "testing
" } } }, { "Effect": "Allow", "Action": "autoscaling:DescribeInstanceRefreshes", "Resource": "*" }] }
Um eine gewünschte Konfiguration im StartInstanceRefresh
-Aufruf anzugeben, benötigen Benutzer möglicherweise einige zugehörige Berechtigungen, wie beispielsweise:
-
ec2: RunInstances — Um EC2-Instances mithilfe einer Startvorlage zu starten, muss der Benutzer über die
ec2:RunInstances
entsprechende Berechtigung in einer IAM-Richtlinie verfügen. Weitere Informationen finden Sie unter Steuern Sie die Verwendung von Amazon EC2 EC2-Startvorlagen in Auto Scaling Scaling-Gruppen. -
ec2: CreateTags — Um EC2-Instances von einer Startvorlage aus zu starten, die den Instances und Volumes bei der Erstellung Tags hinzufügt, 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 eine IAM-Beispielrichtlinie finden Sie unter IAM-Rollen für Anwendungen, die auf Amazon EC2-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.
Erstellen einer serviceverknüpften Rolle
Amazon EC2 Auto Scaling benötigt Berechtigungen zum Erstellen einer serviceverknüpften Rolle, wenn ein Benutzer in Ihnen zum ersten Mal Amazon EC2 Auto Scaling Scaling-API-Aktionen AWS-Konto aufruft. Wenn die serviceverknüpfte Rolle noch nicht vorhanden ist, erstellt Amazon EC2 Auto Scaling diese in Ihrem Konto. Die serviceverknüpfte Rolle erteilt Amazon EC2 Auto Scaling Berechtigungen, sodass Amazon EC2 Auto Scaling andere in AWS-Services Ihrem Namen anrufen kann.
Damit diese automatische Rollenerstellung möglich ist, müssen Benutzer über Berechtigungen für die Aktion iam:CreateServiceLinkedRole
verfügen.
"Action": "iam:CreateServiceLinkedRole"
Im Folgenden wird ein Beispiel für eine Berechtigungsrichtlinie gezeigt, mit der ein Benutzer eine Amazon EC2 Auto Scaling-Rolle für Amazon EC2 Auto Scaling erstellen kann.
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "arn:aws:iam::*:role/aws-service-role/autoscaling.amazonaws.com/
AWSServiceRoleForAutoScaling
", "Condition": { "StringLike": { "iam:AWSServiceName":"autoscaling.amazonaws.com
" } } }] }
Steuern Sie, welche serviceverknüpfte Rolle übergeben werden kann (mit) PassRole
Benutzer, die Auto-Scaling-Gruppen erstellen oder aktualisieren und in der Anfrage eine serviceverknüpfte Rolle mit benutzerdefiniertem Suffix angeben, benötigen die iam:PassRole
-Berechtigung.
Sie können die iam:PassRole
Berechtigung verwenden, um die Sicherheit Ihrer vom AWS KMS Kunden verwalteten Schlüssel zu schützen, indem Sie verschiedenen dienstbezogenen Rollen Zugriff auf verschiedene Schlüssel gewähren. Abhängig von den Anforderungen Ihrer Organisation haben Sie möglicherweise einen Schlüssel für das Entwicklungsteam, einen weiteren für das QA-Team und einen weiteren für das Finanzteam. Erstellen Sie zunächst eine dienstbezogene Rolle, die Zugriff auf den erforderlichen Schlüssel hat, z. B. eine dienstbezogene Rolle mit dem Namen. AWSServiceRoleForAutoScaling_devteamkeyaccess Fügen Sie dann diese Richtlinie an eine IAM-Identität an, z. B. einen Benutzer oder eine Rolle.
Die folgende Richtlinie gewährt die Berechtigung, die AWSServiceRoleForAutoScaling_devteamkeyaccess
Rolle an jede Auto-Scaling-Gruppe weiterzugeben, deren Name mit
beginnt. Wenn die IAM-Identität, die die Auto-Scaling-Gruppe erstellt, versucht, eine andere serviceverknüpfte Rolle anzugeben, wird eine Fehlermeldung ausgegeben. Wenn sie sich dafür entscheiden, keine dienstbezogene Rolle anzugeben, wird stattdessen die AWSServiceRoleForAutoScalingStandardrolle verwendet.devteam-
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::
account-id
:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling_devteamkeyaccess
", "Condition": { "StringEquals": { "iam:PassedToService": [ "autoscaling.amazonaws.com" ] }, "StringLike": { "iam:AssociatedResourceARN": [ "arn:aws:autoscaling:region
:account-id
:autoScalingGroup:*:autoScalingGroupName/devteam-
*" ] } } }] }
Weitere Informationen zu serviceverknüpfte Rollen mit benutzerdefiniertem Suffix finden Sie unter Serviceverknüpfte Rollen für Amazon EC2 Auto Scaling.