AWS announces preview of AWS Interconnect - multicloud
AWS announces AWS Interconnect – multicloud (preview), providing simple, resilient, high-speed private connections to other cloud service providers. AWS Interconnect - multicloud is easy to configure and provides high-speed, resilient connectivity with dedicated bandwidth, enabling customers to interconnect AWS networking services such as AWS Transit Gateway, AWS Cloud WAN, and Amazon VPC to other cloud service providers with ease.
Wie steuern die Bedingungsschlüssel PrincipalTag, ResourceTag, RequestTag und TagKeys den Zugriff in IAM-Richtlinien?
Ich möchte die tagbasierten Bedingungsschlüssel PrincipalTag, ResourceTag, RequestTag und TagKeys in einer AWS Identity and Access Management (IAM)-Richtlinie verwenden, um den Zugriff auf AWS-Ressourcen zu steuern.
Lösung
Die folgenden IAM-Beispielrichtlinien verwenden Bedingungsschlüssel, um den Zugriff auf AWS-Ressourcen mithilfe von Tags zu steuern.
Um zu ermitteln, welche API-Aktionen du ausführen kannst, empfiehlt es sich, die API-Dokumentation für den Service, den du verwendest, zu überprüfen.
PrincipalTag-Bedingungsschlüssel
Verwende den Bedingungsschlüssel aws:PrincipalTag/tag-key, um die folgenden Tags zu vergleichen:
- Das Tag, das an den Prinzipal angefügt ist, der die Anforderung stellt
- Das Tag, das du in der IAM-Richtlinie angibst
Im folgenden Beispiel verweigert die PutObject-Aktion von Amazon Simple Storage Service (Amazon S3) allen Benutzern, außer jenen mit dem Titel Product-Manager, den Bucket-Zugriff:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyAllButProductManagers", "Effect": "Deny", "Principal": { "AWS": "*" }, "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::productionbucket/*" ], "Condition": { "StringNotEquals": { "aws:PrincipalTag/job-title": "Product-Manager" } } } ] }
ResourceTag-Bedingungsschlüssel
Der Bedingungsschlüssel aws:ResourceTag/tag-key vergleicht das in der IAM-Richtlinie angegebene Tag-Schlüssel-Wert-Paar mit dem Schlüssel-Wert-Paar, das an die AWS-Ressource angefügt ist. Weitere Informationen findest du unter Steuern des Zugriffs auf AWS-Ressourcen.
Du kannst den Bedingungsschlüssel aws:ResourceTag/tag-key mit der globalen Version aws:ResourceTag und AWS-Services wie ec2:ResourceTag verwenden.
Im folgenden Beispiel ermöglicht die IAM-Richtlinie Benutzern das Starten, Anhalten und Beenden von Amazon Elastic Compute Cloud (Amazon EC2)-Instances, die sich in der Test-Umgebung befinden:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowOnlyForTestEnvironment", "Effect": "Allow", "Action": [ "ec2:TerminateInstances", "ec2:StartInstances", "ec2:StopInstances" ], "Resource": "arn:aws:ec2:*:*:instance/*", "Condition": { "StringLike": { "ec2:ResourceTag/Env": "test" } } } ] }
RequestTag-Bedingungsschlüssel
Verwende den Bedingungsschlüssel aws:RequestTag/tag-key, um das Schlüssel-Wert-Paar in der Benutzeranforderung mit dem in der IAM-Richtlinie angegebenen Tag-Paar zu vergleichen. Du kannst diesen Bedingungsschlüssel verwenden, um Aktionen zu steuern, die Ressourcen erstellen, und um Tags während dieser Operationen zu überprüfen.
Im folgenden Beispiel erlaubt die IAM-Richtlinie Benutzern, Amazon Elastic Block Store (Amazon EBS)-Volumes nur zu erstellen, wenn sie ein Env-Tag mit den Werten Dev, Prod oder QA enthalten:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCreateVolumeWithEnvTag", "Effect": "Allow", "Action": "ec2:CreateVolume", "Resource": "arn:aws:ec2:*:*:volume/*", "Condition": { "StringEquals": { "aws:RequestTag/Env": [ "Dev", "Prod", "QA" ] } } } ] }
TagKeys-Bedingungsschlüssel
Verwende den Bedingungsschlüssel aws:TagKeys, um die Tag-Schlüssel in einer Anforderung mit denen zu vergleichen, die du in der IAM-Richtlinie angibst. Dieser Bedingungsschlüssel validiert die Tag-Schlüssel, die an eine Ressource angefügt sind.
Wenn eine Anforderung mehrere Schlüssel-Wert-Paare enthält, verwende die Mengenoperatoren ForAllValues oder ForAnyValue, um diese Werte zu vergleichen.
Im folgenden Beispiel schränkt die IAM-Richtlinie die Tag-Erstellung auf AWS-Ressourcen ein. Sie ermöglicht Benutzern, nur die Env- und CostCenter-Tags zu erstellen, wenn Benutzer ein neues Amazon-EBS-Volume erstellen. Der Mengenoperator ForAllValues mit dem Bedingungsschlüssel aws:TagKeys ermöglicht es Benutzern, die erforderlichen Tags an die Ressource anzufügen. Die Richtlinie macht diese Tag-Schlüssel während der Ressourcenerstellung optional und verhindert die Tag-Erstellung mit anderen Schlüssel-Wert-Paaren:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "ec2:CreateVolume", "Resource": "arn:aws:ec2:*:*:volume/*", "Condition": { "ForAllValues:StringEquals": { "aws:TagKeys": [ "Env", "CostCenter" ] } } } ] }
Ähnliche Informationen
- Sprache
- Deutsch
