Ich möchte den Zugriff auf Amazon Elastic Compute Cloud (Amazon EC2)-Instances über Tags steuern.
Lösung
Hinzufügen eines Tags zu einer Gruppe von Amazon EC2-Instances
Hinweis: Für Tags gelten bestimmte Anforderungen, wie z. B. die Zeichenbeschränkung und die Anzahl der Tags pro Ressource.
Öffne die Amazon-EC2-Konsole. Füge dann der EC2-Instance-Gruppe Tags für die entsprechenden Benutzer oder Gruppen hinzu. Wenn du noch kein Tag hast, erstelle eines.
Erstellen einer IAM-Richtlinie, die Zugriff auf Instances mit einem bestimmten Tag gewährt
Die IAM-Richtlinie muss die folgenden Bedingungen erfüllen, um Instances mit einem bestimmten Tag Zugriff zu gewähren:
- Ermögliche die Kontrolle über Instances mit dem Tag.
- Nimm eine Bedingungsanweisung auf, die den Zugriff auf EC2-Ressourcen ermöglicht, wenn der Wert ec2:ResourceTag/UserName des Bedingungsschlüssels mit der Richtlinienvariablen aws:username übereinstimmt. Wenn IAM die Richtlinie auswertet, ersetzt es die Richtlinienvariable ${aws:username} durch den Anzeigenamen des aktuellen IAM-Benutzers.
- Ermögliche den Zugriff auf die ec2:Describe*-Aktionen für EC2-Ressourcen.
- Verweigere explizit den Zugriff auf die Aktionen ec2:CreateTags und ec2:DeleteTags. Dadurch wird verhindert, dass Benutzer Tags erstellen oder löschen, selbst wenn sie Zugriff auf Kontrollinstances haben.
Kopiere in deinem JSON-Editor die folgende Beispiel-Richtlinienvorlage:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "ec2:*",
"Resource": "*",
"Condition": {
"StringEquals": {
"ec2:ResourceTag/UserName": "${aws:username}"
}
}
},
{
"Effect": "Allow",
"Action": "ec2:Describe*",
"Resource": "*"
},
{
"Effect": "Deny",
"Action": [
"ec2:CreateTags",
"ec2:DeleteTags"
],
"Resource": "*"
}
]
}
Hinweis: Diese Richtlinie gilt für ec2-Instances, die den Bedingungsschlüssel ec2:ResourceTag verwenden. Wenn du mithilfe von Tags verhindern möchtest, dass Benutzer neue Instances starten, befolge die Anleitung unter Wie verwende ich IAM-Richtlinien-Tags, um einzuschränken, wie eine EC2-Instance oder ein EBS-Volume erstellt und darauf zugegriffen werden kann?
Verwende für Prinzipale, die keine IAM-Benutzer sind, wie z. B. Verbundbenutzer, die Variable aws:userid anstelle von aws:username. Die Variable aws:userid hat den Wert account:caller-specified-name. Weitere Informationen findest du unter IAM-Richtlinienelemente: Variablen und Tags und Wie verwende ich IAM-Richtlinienvariablen bei Verbundbenutzern?
Die IAM-Richtlinie an Benutzer oder Gruppen anfügen, auf die du auf Instances zugreifen möchtest
Um die IAM-Richtlinie an Benutzer oder Gruppen anzufügen, befolge die Anleitung unter Hinzufügen von IAM-Identitätsberechtigungen (Konsole). Du kannst auch die AWS Command Line Interface (AWS CLI) oder die AWS-API verwenden.
Hinweis: Wenn du beim Ausführen von AWS CLI-Befehlen Fehlermeldungen erhältst, findest du weitere Informationen dazu unter Problembehandlung bei der AWS CLI. Stelle außerdem sicher, dass du die neueste Version der AWS CLI verwendest.
Ähnliche Informationen
Erteilen der erforderlichen Berechtigungen für Amazon-EC2-Ressourcen
Identitätsbasierte Richtlinien für Amazon EC2
IAM-Tutorial: Berechtigungen für den Zugriff auf AWS-Ressourcen auf der Grundlage von Tags definieren
Amazon-EC2-Ressourcen mit Tags markieren