Von AWS verwaltete Richtlinien für Amazon Elastic Container Service - Amazon ECS

Von AWS verwaltete Richtlinien für Amazon Elastic Container Service

Um Benutzern, Gruppen und Rollen Berechtigungen hinzuzufügen, ist es einfacher, von AWS verwaltete Richtlinien zu verwenden, als selbst Richtlinien zu schreiben. Es erfordert Zeit und Fachwissen, um von Kunden verwaltete IAM-Richtlinien zu erstellen, die Ihrem Team nur die benötigten Berechtigungen bieten. Um schnell loszulegen, können Sie unsere von AWS verwalteten Richtlinien verwenden. Diese Richtlinien decken häufige Anwendungsfälle ab und sind in Ihrem AWS-Konto verfügbar. Weitere Informationen zu verwalteten AWS-Richtlinien finden Sie unter Verwaltete AWS-Richtlinien im IAM-Leitfaden.

AWS-Services pflegen und Aktualisieren von verwalteten AWS-Richtlinien. Die Berechtigungen in von AWS verwalteten Richtlinien können nicht geändert werden. Services fügen einer von AWS verwalteten Richtlinien gelegentlich zusätzliche Berechtigungen hinzu, um neue Funktionen zu unterstützen. Diese Art von Update betrifft alle Identitäten (Benutzer, Gruppen und Rollen), an welche die Richtlinie angehängt ist. Services aktualisieren eine von AWS verwaltete Richtlinie am ehesten, wenn eine neue Funktion gestartet wird oder neue Vorgänge verfügbar werden. Services entfernen keine Berechtigungen aus einer von AWS verwalteten Richtlinie, so dass Richtlinien-Aktualisierungen Ihre vorhandenen Berechtigungen nicht beeinträchtigen.

Darüber hinaus unterstützt AWS verwaltete Richtlinien für Auftragsfunktionen, die mehrere Services umfassen. Die von ReadOnlyAccessAWS verwaltete Richtlinie bietet beispielsweise schreibgeschützten Zugriff auf alle AWS-Services und -Ressourcen. Wenn ein Service eine neue Funktion startet, fügt AWS schreibgeschützte Berechtigungen für neue Vorgänge und Ressourcen hinzu. Eine Liste und Beschreibungen der Richtlinien für Auftragsfunktionen finden Sie in Verwaltete AWS-Richtlinien für Auftragsfunktionen im IAM-Leitfaden.

Amazon ECS und Amazon ECR bieten mehrere verwaltete Richtlinien und Vertrauensstellungen, die Sie AWS Identity and Access Management (IAM)-Benutzern oder Amazon EC2-Instances und Amazon ECS-Aufgaben anfügen können, um verschiedene Kontrollstufen für Ressourcen und API-Operationen festzulegen. Sie können diese Richtlinien direkt anwenden oder als Ausgangspunkt nutzen, um eigene Richtlinien zu erstellen. Weitere Informationen zu verwalteten Amazon ECR-Richtlinien finden Sie unter Verwaltete Amazon ECR-Richtlinien.

AmazonECS_FullAccess

Sie können die AmazonECS_FullAccess-Richtlinie an Ihre IAM-Identitäten anfügen.

Diese Richtlinie gewährt Administratorzugriff auf Amazon ECS-Ressourcen und gewährt einer IAM-Identität (z. B. einem Benutzer, einer Gruppe oder einer Rolle) Zugriff auf die AWS-Services, in die Amazon ECS integriert ist, um alle Amazon ECS-Funktionen zu nutzen. Die Verwendung dieser Richtlinie ermöglicht den Zugriff auf alle Amazon ECS-Funktionen, die in AWS Management Console verfügbar sind.

Details zu Berechtigungen

Die von AmazonECS_FullAccess verwaltete IAM-Richtlinie muss die folgende Berechtigungen umfassen. Nach den bewährten Methoden zur Erteilung von geringsten Privilegien können Sie die von AmazonECS_FullAccess verwaltete Richtlinie als Vorlage zum Erstellen eigener benutzerdefinierter Richtlinien verwenden. Auf diese Weise können Sie Berechtigungen zu und aus der verwalteten Richtlinie basierend auf Ihren spezifischen Anforderungen entfernen oder hinzufügen.

  • ecs: Ermöglicht Prinzipalen vollen Zugriff auf alle Amazon ECS-APIs.

  • application-autoscaling: Ermöglicht es Prinzipalen, Application Auto Scaling Ressourcen zu erstellen, zu beschreiben und zu verwalten. Dies ist erforderlich, wenn Sie die automatische Service-Skalierung für Ihre Amazon ECS-Dienste aktivieren.

  • appmesh: Ermöglicht es Prinzipalen, App Mesh-Service-Netze und virtuelle Knoten aufzulisten und virtuelle App-Mesh-Knoten zu beschreiben. Dies ist erforderlich, wenn Sie Ihre Amazon ECS-Dienste in App Mesh integrieren.

  • autoscaling: Ermöglicht es Prinzipalen, Amazon EC2 Auto Scaling Ressourcen zu erstellen, zu verwalten und zu beschreiben. Dies ist erforderlich, wenn Amazon EC2 Auto Scaling-Gruppen bei der Verwendung der Funktion für die automatische Skalierung von Clustern verwaltet werden.

  • cloudformation: Ermöglicht Prinzipalen das Erstellen und Verwalten von AWS CloudFormation-Stapeln. Dies ist erforderlich, wenn Sie Amazon ECS-Cluster mit AWS Management Console erstellen und anschließend dieser Cluster verwalten.

  • cloudwatch: Ermöglicht es Prinzipalen, Amazon CloudWatch Alarme zu erstellen, zu verwalten und zu beschreiben.

  • codedeploy: Ermöglicht es Prinzipalen, Anwendungsbereitstellungen zu erstellen und zu verwalten sowie deren Konfigurationen, Revisionen und Bereitstellungsziele anzuzeigen.

  • sns: Ermöglicht es Prinzipalen, eine Liste mit Amazon SNS-Themen anzuzeigen.

  • lambda: Ermöglicht es Prinzipalen, eine Liste von AWS Lambda-Funktionen und deren versionsspezifischen Konfigurationen anzuzeigen.

  • ec2: Ermöglicht Prinzipalen die Ausführung von Amazon-EC2-Instances sowie das Erstellen und Verwalten von Routen, Routen-Tabellen, Internet-Gateways, Startgruppen, Sicherheitsgruppen, Virtual Private Clouds, Spot-Flotten und Subnetzen.

  • elasticloadbalancing: Ermöglicht Prinzipalen das Erstellen, Beschreiben und Löschen von Elastic Load Balancing-Lastenausgleichsdiensten. Prinzipale können auch die Zielgruppen, Listener und Listener-Regeln für Load Balancer vollständig verwalten.

  • events: Ermöglicht es Prinzipalen, Amazon EventBridge Regeln und ihre Ziele zu erstellen, zu verwalten und zu löschen.

  • iam: Ermöglicht es Prinzipalen, IAM-Rollen und ihre angehängten Richtlinien aufzulisten. Prinzipale können auch Instance-Profile auflisten, die für Ihre Amazon-EC2-Instances verfügbar sind.

  • logs: Ermöglicht es Prinzipalen, Amazon CloudWatch Logs-Protokollgruppen zu erstellen und zu beschreiben. Prinzipale können auch Protokollereignisse für diese Protokollgruppen auflisten.

  • route53: Ermöglicht Prinzipalen das Erstellen, Verwalten und Löschen von gehosteten Amazon Route 53-Zonen. Prinzipale können auch die Konfiguration und Informationen zur Amazon Route 53 Integritätsprüfung anzeigen. Weitere Informationen über gehostete Zonen finden Sie unter Arbeiten mit gehosteten Zonen.

  • servicediscovery: Ermöglicht Prinzipalen die Erstellung, Verwaltung und Löschen von AWS Cloud Map-Diensten und das Erstellen von privaten DNS-Namespaces.

Es folgt eine Beispielrichtlinie AmazonECS_FullAccess.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "application-autoscaling:DeleteScalingPolicy", "application-autoscaling:DeregisterScalableTarget", "application-autoscaling:DescribeScalableTargets", "application-autoscaling:DescribeScalingActivities", "application-autoscaling:DescribeScalingPolicies", "application-autoscaling:PutScalingPolicy", "application-autoscaling:RegisterScalableTarget", "appmesh:ListMeshes", "appmesh:ListVirtualNodes", "appmesh:DescribeVirtualNode", "autoscaling:UpdateAutoScalingGroup", "autoscaling:CreateAutoScalingGroup", "autoscaling:CreateLaunchConfiguration", "autoscaling:DeleteAutoScalingGroup", "autoscaling:DeleteLaunchConfiguration", "autoscaling:Describe*", "cloudformation:CreateStack", "cloudformation:DeleteStack", "cloudformation:DescribeStack*", "cloudformation:UpdateStack", "cloudwatch:DescribeAlarms", "cloudwatch:DeleteAlarms", "cloudwatch:GetMetricStatistics", "cloudwatch:PutMetricAlarm", "codedeploy:CreateApplication", "codedeploy:CreateDeployment", "codedeploy:CreateDeploymentGroup", "codedeploy:GetApplication", "codedeploy:GetDeployment", "codedeploy:GetDeploymentGroup", "codedeploy:ListApplications", "codedeploy:ListDeploymentGroups", "codedeploy:ListDeployments", "codedeploy:StopDeployment", "codedeploy:GetDeploymentTarget", "codedeploy:ListDeploymentTargets", "codedeploy:GetDeploymentConfig", "codedeploy:GetApplicationRevision", "codedeploy:RegisterApplicationRevision", "codedeploy:BatchGetApplicationRevisions", "codedeploy:BatchGetDeploymentGroups", "codedeploy:BatchGetDeployments", "codedeploy:BatchGetApplications", "codedeploy:ListApplicationRevisions", "codedeploy:ListDeploymentConfigs", "codedeploy:ContinueDeployment", "sns:ListTopics", "lambda:ListFunctions", "ec2:AssociateRouteTable", "ec2:AttachInternetGateway", "ec2:AuthorizeSecurityGroupIngress", "ec2:CancelSpotFleetRequests", "ec2:CreateInternetGateway", "ec2:CreateLaunchTemplate", "ec2:CreateRoute", "ec2:CreateRouteTable", "ec2:CreateSecurityGroup", "ec2:CreateSubnet", "ec2:CreateVpc", "ec2:DeleteLaunchTemplate", "ec2:DeleteSubnet", "ec2:DeleteVpc", "ec2:Describe*", "ec2:DetachInternetGateway", "ec2:DisassociateRouteTable", "ec2:ModifySubnetAttribute", "ec2:ModifyVpcAttribute", "ec2:RunInstances", "ec2:RequestSpotFleet", "elasticloadbalancing:CreateListener", "elasticloadbalancing:CreateLoadBalancer", "elasticloadbalancing:CreateRule", "elasticloadbalancing:CreateTargetGroup", "elasticloadbalancing:DeleteListener", "elasticloadbalancing:DeleteLoadBalancer", "elasticloadbalancing:DeleteRule", "elasticloadbalancing:DeleteTargetGroup", "elasticloadbalancing:DescribeListeners", "elasticloadbalancing:DescribeLoadBalancers", "elasticloadbalancing:DescribeRules", "elasticloadbalancing:DescribeTargetGroups", "ecs:*", "events:DescribeRule", "events:DeleteRule", "events:ListRuleNamesByTarget", "events:ListTargetsByRule", "events:PutRule", "events:PutTargets", "events:RemoveTargets", "iam:ListAttachedRolePolicies", "iam:ListInstanceProfiles", "iam:ListRoles", "logs:CreateLogGroup", "logs:DescribeLogGroups", "logs:FilterLogEvents", "route53:GetHostedZone", "route53:ListHostedZonesByName", "route53:CreateHostedZone", "route53:DeleteHostedZone", "route53:GetHealthCheck", "servicediscovery:CreatePrivateDnsNamespace", "servicediscovery:CreateService", "servicediscovery:GetNamespace", "servicediscovery:GetOperation", "servicediscovery:GetService", "servicediscovery:ListNamespaces", "servicediscovery:ListServices", "servicediscovery:UpdateService", "servicediscovery:DeleteService" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "ssm:GetParametersByPath", "ssm:GetParameters", "ssm:GetParameter" ], "Resource": "arn:aws:ssm:*:*:parameter/aws/service/ecs*" }, { "Effect": "Allow", "Action": [ "ec2:DeleteInternetGateway", "ec2:DeleteRoute", "ec2:DeleteRouteTable", "ec2:DeleteSecurityGroup" ], "Resource": [ "*" ], "Condition": { "StringLike": { "ec2:ResourceTag/aws:cloudformation:stack-name": "EC2ContainerService-*" } } }, { "Action": "iam:PassRole", "Effect": "Allow", "Resource": [ "*" ], "Condition": { "StringLike": { "iam:PassedToService": "ecs-tasks.amazonaws.com" } } }, { "Action": "iam:PassRole", "Effect": "Allow", "Resource": [ "arn:aws:iam::*:role/ecsInstanceRole*" ], "Condition": { "StringLike": { "iam:PassedToService": [ "ec2.amazonaws.com", "ec2.amazonaws.com.cn" ] } } }, { "Action": "iam:PassRole", "Effect": "Allow", "Resource": [ "arn:aws:iam::*:role/ecsAutoscaleRole*" ], "Condition": { "StringLike": { "iam:PassedToService": [ "application-autoscaling.amazonaws.com", "application-autoscaling.amazonaws.com.cn" ] } } }, { "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "*", "Condition": { "StringLike": { "iam:AWSServiceName": [ "ecs.amazonaws.com", "spot.amazonaws.com", "spotfleet.amazonaws.com", "ecs.application-autoscaling.amazonaws.com", "autoscaling.amazonaws.com" ] } } } ] }

AmazonECSTaskExecutionRolePolicy

Die von AmazonECSTaskExecutionRolePolicy verwaltete IAM-Richtlinie gewährt die Berechtigungen, die vom Amazon ECS-Container-Agent und den AWS Fargate Container-Agenten benötigt werden, um AWS-API-Aufrufe in Ihrem Namen zu machen. Diese Richtlinie kann Ihrer IAM-Rolle zur Aufgabenausführung hinzugefügt werden. Weitere Informationen finden Sie unter IAM-Rolle für die Amazon ECS-Aufgabenausführung.

Details zu Berechtigungen

Die von AmazonECSTaskExecutionRolePolicy verwaltete IAM-Richtlinie muss die folgende Berechtigungen umfassen. Nach den standardmäßigen Sicherheitshinweisen zur Erteilung von geringsten Privilegien kann die von AmazonECSTaskExecutionRolePolicy verwaltete Richtlinie als Leitfaden verwendet werden. Wenn eine der Berechtigungen, die in der verwalteten Richtlinie erteilt werden, für Ihren Anwendungsfall nicht erforderlich ist, erstellen Sie eine benutzerdefinierte Richtlinie, und fügen Sie nur die erforderlichen Berechtigungen hinzu.

  • ecr:GetAuthorizationToken: Ermöglicht einem Prinzipal, ein Autorisierungstoken abzurufen. Ein Autorisierungs-Token stellt Ihre Anmeldeinformationen zur IAM-Authentifizierung dar und kann verwendet werden, um auf jede Amazon ECR-Registrierung zuzugreifen, auf die das IAM-Prinzipal Zugriff hat. Das erhaltene Autorisierungs-Token ist 12 Stunden gültig.

  • ecr:BatchCheckLayerAvailability: Wenn ein Container-Image in ein privates Amazon ECR-Repository gesendet wird, wird bei jeder Image-Ebene überprüft, ob es bereits gepusht wurde. Wenn es gepusht wird, wird die Image-Ebene übersprungen.

  • ecr:GetDownloadUrlForLayer: Wenn ein Container-Image aus einem privaten Amazon ECR-Repository abgerufen wird, wird diese API für jede Image-Layer, die noch nicht zwischengespeichert ist, einmal aufgerufen.

  • ecr:BatchGetImage: Wenn ein Container-Image aus einem privaten Amazon ECR-Repository abgerufen wird, wird diese API einmal aufgerufen, um das Image-Manifest abzurufen.

  • logs:CreateLogStream: Ermöglicht es einem Prinzipal, einen CloudWatch Logs Protokollstream für eine angegebene Protokollgruppe zu erstellen.

  • logs:PutLogEvents: Ermöglicht es einem Prinzipal, einen Stapel von Protokollereignissen in einen angegebenen Protokoll-Stream hochzuladen.

Es folgt eine Beispielrichtlinie AmazonECSTaskExecutionRolePolicy.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecr:GetAuthorizationToken", "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "*" } ] }

AWSApplicationAutoscalingECSServicePolicy

Sie können AWSApplicationAutoscalingECSServicePolicy nicht an Ihre IAM-Entitäten anhängen. Diese Richtlinie ist einer serviceverknüpften Rolle zugeordnet, die die Application Auto Scaling in Ihrem Namen ermöglicht. Weitere Informationen finden Sie unter Serviceverknüpfte Rollen für Application Auto Scaling.

AWSCodeDeployRoleForECS

Sie können AWSCodeDeployRoleForECS nicht an Ihre IAM-Entitäten anhängen. Diese Richtlinie ist einer serviceverknüpften Rolle zugeordnet, die es CodeDeploy ermöglicht, Aktionen in Ihrem Namen durchzuführen. Weitere Informationen finden Sie unter Erstellen einer Servicerolle für CodeDeploy im AWS CodeDeploy-Benutzerhandbuch.

AWSCodeDeployRoleForECSLimited

Sie können AWSCodeDeployRoleForECSLimited nicht an Ihre IAM-Entitäten anhängen. Diese Richtlinie ist einer serviceverknüpften Rolle zugeordnet, die es CodeDeploy ermöglicht, Aktionen in Ihrem Namen durchzuführen. Weitere Informationen finden Sie unter Erstellen einer Servicerolle für CodeDeploy im AWS CodeDeploy-Benutzerhandbuch.

Aktualisierungen von Amazon ECS an von AWS verwalteten Richtlinien

Anzeigen von Details zu Aktualisierungen für AWS-verwaltete Richtlinien für Amazon ECS, seit dieser Dienst mit der Verfolgung dieser Änderungen begonnen hat. Um automatische Warnungen über Änderungen an dieser Seite zu erhalten, abonnieren Sie den RSS-Feed auf der Amazon ECS-Dokumentverlauf-Seite.

Änderung Beschreibung Datum

Amazon ECS hat mit der Verfolgung von Änderungen begonnen

Amazon ECS hat mit der Verfolgung von Änderungen für seine AWS-verwaltete Richtlinien begonnen.

8. Juni 2021