AWS políticas gerenciadas para o Amazon Elastic Container Service - Amazon Elastic Container Service

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

AWS políticas gerenciadas para o Amazon Elastic Container Service

Para adicionar permissões a usuários, grupos e funções, é mais fácil usar políticas AWS gerenciadas do que escrever políticas você mesmo. É necessário tempo e experiência para criar políticas gerenciadas pelo cliente do IAM que fornecem à sua equipe apenas as permissões de que precisam. Para começar rapidamente, você pode usar nossas políticas AWS gerenciadas. Essas políticas abrangem casos de uso comuns e estão disponíveis em sua AWS conta. Para obter mais informações sobre políticas AWS gerenciadas, consulte políticas AWS gerenciadas no Guia do usuário do IAM.

AWS os serviços mantêm e atualizam as políticas AWS gerenciadas. Você não pode alterar as permissões nas políticas AWS gerenciadas. Ocasionalmente, os serviços adicionam permissões adicionais a uma política AWS gerenciada para oferecer suporte a novos recursos. Esse tipo de atualização afeta todas as identidades (usuários, grupos e perfis) em que a política está anexada. É mais provável que os serviços atualizem uma política AWS gerenciada quando um novo recurso é lançado ou quando novas operações são disponibilizadas. Os serviços não removem as permissões de uma política AWS gerenciada, portanto, as atualizações de políticas não violarão suas permissões existentes.

Além disso, AWS oferece suporte a políticas gerenciadas para funções de trabalho que abrangem vários serviços. Por exemplo, a política ReadOnlyAccess AWS gerenciada fornece acesso somente de leitura a todos os AWS serviços e recursos. Quando um serviço lança um novo recurso, AWS adiciona permissões somente de leitura para novas operações e recursos. Para obter uma lista e descrições das políticas de perfis de trabalho, consulte Políticas gerenciadas pela AWS para perfis de trabalho no Guia do usuário do IAM.

O Amazon ECS e o Amazon ECR fornecem várias políticas gerenciadas e relacionamentos de confiança que você pode anexar aos usuários, aos grupos, aos perfis, às instâncias do Amazon EC2 e às tarefas do Amazon ECS que permitem diferentes níveis de controle sobre recursos e operações de API. É possível aplicar essas políticas diretamente ou usá-las como ponto de partida para criar suas próprias políticas. Para obter mais informações sobre políticas gerenciadas pelo Amazon ECR, consulte Políticas gerenciadas pelo Amazon ECR.

Amazon CS_ FullAccess

É possível anexar a política AmazonECS_FullAccess a suas identidades do IAM.

Essa política concede acesso administrativo aos recursos do Amazon ECS e concede a uma identidade do IAM (como usuário, grupo ou função) acesso aos AWS serviços aos quais o Amazon ECS está integrado para usar todos os recursos do Amazon ECS. O uso dessa política permite o acesso a todos os recursos do Amazon ECS que estão disponíveis no AWS Management Console.

Detalhes da permissão

A política do IAM gerenciada AmazonECS_FullAccess deve incluir as permissões a seguir. Ao seguir a prática recomendada de conceder privilégio mínimo, é possível usar a política gerenciada AmazonECS_FullAccess como um modelo para criar sua própria política personalizada. Dessa forma, você pode retirar ou adicionar permissões à política gerenciada com base nos seus requisitos específicos.

  • ecs— Permite que os diretores tenham acesso total a todas as operações de API do Amazon ECS.

  • application-autoscaling: permite que as entidades principais criem, descrevam e gerenciem recursos do Application Auto Scaling. Isso é necessário quando for habilitada a autoescalabilidade de serviços para os serviços do Amazon ECS.

  • appmesh: permite que as entidades principais listem malhas de serviço e nós virtuais do App Mesh e descrevam nós virtuais do App Mesh. Isso é necessário na integração dos serviços do Amazon ECS com o App Mesh.

  • autoscaling: permite que as entidades principais criem, gerenciem e descrevam recursos do Amazon EC2 Auto Scaling. Isso é necessário ao gerenciar grupos do Amazon EC2 Auto Scaling ao usar o recurso de escalabilidade automática de cluster.

  • cloudformation— Permite que os diretores criem e gerenciem AWS CloudFormation pilhas. Isso é necessário na criação de clusters do Amazon ECS usando o AWS Management Console e no gerenciamento subsequente destes clusters.

  • cloudwatch— Permite que os diretores criem, gerenciem e descrevam os alarmes da Amazon CloudWatch .

  • codedeploy— permite que os diretores criem e gerenciem implantações de aplicativos e visualizem suas configurações, revisões e metas de implantação.

  • sns: permite que as entidades diretores visualizem uma lista de tópicos do Amazon SNS.

  • lambda: permite que as entidades principais visualizem uma lista de funções do AWS Lambda e suas configurações específicas de versão.

  • ec2— Permite que os diretores executem instâncias do Amazon EC2 e criem e gerenciem rotas, tabelas de rotas, gateways de internet, grupos de lançamento, grupos de segurança, nuvens privadas virtuais, frotas spot e sub-redes.

  • elasticloadbalancing: permite que as entidades principais criem, descrevam e excluam balanceadores de carga do Elastic Load Balancing. As entidades principais também poderão adicionar tags a grupos de destino, receptores e regras de receptor recém-criados para balanceadores de carga.

  • events— Permite que os diretores criem, gerenciem e excluam EventBridge as regras da Amazon e suas metas.

  • iam: permite que as entidades principais listem funções do IAM e suas políticas anexadas. As entidades principais também podem listar perfis da instância disponíveis para as instâncias do Amazon EC2.

  • logs— Permite que os diretores criem e descrevam grupos de CloudWatch registros do Amazon Logs. As entidades principais também podem listar eventos de log para esses grupos de log.

  • route53: permite que as entidades principais criem, gerenciem e excluam zonas hospedadas do Amazon Route 53. As entidades principais também podem visualizar a configuração e as informações da verificação de integridade do Amazon Route 53. Para obter mais informações sobre zonas hospedadas, consulte Trabalhar com zonas hospedadas.

  • servicediscovery— permite que os diretores criem, gerenciem e excluam AWS Cloud Map serviços e criem namespaces DNS privados.

Veja abaixo um exemplo de política 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:DescribeVirtualGateway", "appmesh:DescribeVirtualNode", "appmesh:ListMeshes", "appmesh:ListVirtualGateways", "appmesh:ListVirtualNodes", "autoscaling:CreateAutoScalingGroup", "autoscaling:CreateLaunchConfiguration", "autoscaling:DeleteAutoScalingGroup", "autoscaling:DeleteLaunchConfiguration", "autoscaling:Describe*", "autoscaling:UpdateAutoScalingGroup", "cloudformation:CreateStack", "cloudformation:DeleteStack", "cloudformation:DescribeStack*", "cloudformation:UpdateStack", "cloudwatch:DeleteAlarms", "cloudwatch:DescribeAlarms", "cloudwatch:GetMetricStatistics", "cloudwatch:PutMetricAlarm", "codedeploy:BatchGetApplicationRevisions", "codedeploy:BatchGetApplications", "codedeploy:BatchGetDeploymentGroups", "codedeploy:BatchGetDeployments", "codedeploy:ContinueDeployment", "codedeploy:CreateApplication", "codedeploy:CreateDeployment", "codedeploy:CreateDeploymentGroup", "codedeploy:GetApplication", "codedeploy:GetApplicationRevision", "codedeploy:GetDeployment", "codedeploy:GetDeploymentConfig", "codedeploy:GetDeploymentGroup", "codedeploy:GetDeploymentTarget", "codedeploy:ListApplicationRevisions", "codedeploy:ListApplications", "codedeploy:ListDeploymentConfigs", "codedeploy:ListDeploymentGroups", "codedeploy:ListDeployments", "codedeploy:ListDeploymentTargets", "codedeploy:RegisterApplicationRevision", "codedeploy:StopDeployment", "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:RequestSpotFleet", "ec2:RunInstances", "ecs:*", "elasticfilesystem:DescribeAccessPoints", "elasticfilesystem:DescribeFileSystems", "elasticloadbalancing:CreateListener", "elasticloadbalancing:CreateLoadBalancer", "elasticloadbalancing:CreateRule", "elasticloadbalancing:CreateTargetGroup", "elasticloadbalancing:DeleteListener", "elasticloadbalancing:DeleteLoadBalancer", "elasticloadbalancing:DeleteRule", "elasticloadbalancing:DeleteTargetGroup", "elasticloadbalancing:DescribeListeners", "elasticloadbalancing:DescribeLoadBalancers", "elasticloadbalancing:DescribeRules", "elasticloadbalancing:DescribeTargetGroups", "events:DeleteRule", "events:DescribeRule", "events:ListRuleNamesByTarget", "events:ListTargetsByRule", "events:PutRule", "events:PutTargets", "events:RemoveTargets", "fsx:DescribeFileSystems", "iam:ListAttachedRolePolicies", "iam:ListInstanceProfiles", "iam:ListRoles", "lambda:ListFunctions", "logs:CreateLogGroup", "logs:DescribeLogGroups", "logs:FilterLogEvents", "route53:CreateHostedZone", "route53:DeleteHostedZone", "route53:GetHealthCheck", "route53:GetHostedZone", "route53:ListHostedZonesByName", "servicediscovery:CreatePrivateDnsNamespace", "servicediscovery:CreateService", "servicediscovery:DeleteService", "servicediscovery:GetNamespace", "servicediscovery:GetOperation", "servicediscovery:GetService", "servicediscovery:ListNamespaces", "servicediscovery:ListServices", "servicediscovery:UpdateService", "sns:ListTopics" ], "Resource": ["*"] }, { "Effect": "Allow", "Action": [ "ssm:GetParameter", "ssm:GetParameters", "ssm:GetParametersByPath" ], "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": [ "autoscaling.amazonaws.com", "ecs.amazonaws.com", "ecs.application-autoscaling.amazonaws.com", "spot.amazonaws.com", "spotfleet.amazonaws.com" ] } } }, { "Effect": "Allow", "Action": ["elasticloadbalancing:AddTags"], "Resource": "*", "Condition": { "StringEquals": { "elasticloadbalancing:CreateAction": [ "CreateTargetGroup", "CreateRule", "CreateListener", "CreateLoadBalancer" ] } } } ] }

AmazonECS InfrastructureRolePolicyForVolumes

A política AmazonECSInfrastructureRolePolicyForVolumes gerenciada do IAM concede as permissões necessárias ao Amazon ECS para fazer chamadas de AWS API em seu nome. Você pode anexar essa política à função do IAM que você fornece com sua configuração de volume ao iniciar tarefas e serviços do Amazon ECS. A função permite que o Amazon ECS gerencie volumes anexados às suas tarefas. Para obter mais informações, consulte a função IAM de infraestrutura do Amazon ECS.

Detalhes da permissão

A política do IAM gerenciada AmazonECSInfrastructureRolePolicyForVolumes deve incluir as permissões a seguir. Seguindo o conselho de segurança padrão de conceder privilégios mínimos, você pode usar a política AmazonECSInfrastructureRolePolicyForVolumes gerenciada como um modelo para criar sua própria política personalizada que inclua somente as permissões necessárias.

  • ec2:CreateVolume— Permite que um diretor crie um volume do Amazon EBS se e somente se ele estiver marcado com as AmazonECSManaged tags AmazonECSCreated e. Essa permissão é necessária para criar volumes do Amazon EBS anexados às tarefas do Amazon ECS e minimizar as permissões fornecidas ao Amazon ECS por esta política.

  • ec2:CreateTags— Permite que um diretor adicione tags a um volume do Amazon EBS como parte doec2:CreateVolume. Essa permissão é exigida pelo Amazon ECS para adicionar tags especificadas pelo cliente aos volumes do Amazon EBS criados em seu nome.

  • ec2:AttachVolume— Permite que um principal anexe um volume do Amazon EBS a uma instância do Amazon EC2. Essa permissão é exigida pelo Amazon ECS para anexar volumes do Amazon EBS à instância do Amazon EC2 que hospeda a tarefa associada do Amazon ECS.

  • ec2:DescribeVolume— Permite que um diretor recupere informações sobre os volumes do Amazon EBS. Essa permissão é necessária para gerenciar o ciclo de vida dos volumes do Amazon EBS.

  • ec2:DescribeAvailabilityZones— Permite que um diretor recupere informações sobre zonas de disponibilidade em sua conta. Isso é necessário para gerenciar o ciclo de vida dos volumes do EBS.

  • ec2:DetachVolume— Permite que um principal separe um volume do Amazon EBS de uma instância do Amazon EC2. Essa permissão é exigida pelo Amazon ECS para separar o volume do Amazon EBS da instância do Amazon EC2 que está hospedando a tarefa associada do Amazon ECS quando a tarefa é encerrada.

  • ec2:DeleteVolume— Permite que um principal exclua um volume do Amazon EBS. Essa permissão é exigida pelo Amazon ECS para excluir volumes do Amazon EBS que não são mais usados pela tarefa do Amazon ECS.

  • ec2:DeleteTags— Permite que um principal exclua a AmazonECSManaged tag de um volume do Amazon EBS. Essa permissão é exigida pelo Amazon ECS para remover o acesso a um volume do Amazon EBS depois que ele não estiver mais associado a uma carga de trabalho do Amazon ECS. Isso só é aplicável quando um volume do Amazon EBS não é excluído após o encerramento da tarefa.

Veja abaixo um exemplo de política AmazonECSInfrastructureRolePolicyForVolumes.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateEBSManagedVolume", "Effect": "Allow", "Action": "ec2:CreateVolume", "Resource": "arn:aws:ec2:*:*:volume/*", "Condition": { "ArnLike": { "aws:RequestTag/AmazonECSCreated": "arn:aws:ecs:*:*:task/*" }, "StringEquals": { "aws:RequestTag/AmazonECSManaged": "true" } } }, { "Sid": "TagOnCreateVolume", "Effect": "Allow", "Action": "ec2:CreateTags", "Resource": "arn:aws:ec2:*:*:volume/*", "Condition": { "ArnLike": { "aws:RequestTag/AmazonECSCreated": "arn:aws:ecs:*:*:task/*" }, "StringEquals": { "ec2:CreateAction": "CreateVolume", "aws:RequestTag/AmazonECSManaged": "true" } } }, { "Sid": "DescribeVolumesForLifecycle", "Effect": "Allow", "Action": [ "ec2:DescribeVolumes", "ec2:DescribeAvailabilityZones" ], "Resource": "*" }, { "Sid": "ManageEBSVolumeLifecycle", "Effect": "Allow", "Action": [ "ec2:AttachVolume", "ec2:DetachVolume" ], "Resource": "arn:aws:ec2:*:*:volume/*", "Condition": { "StringEquals": { "aws:ResourceTag/AmazonECSManaged": "true" } } }, { "Sid": "ManageVolumeAttachmentsForEC2", "Effect": "Allow", "Action": [ "ec2:AttachVolume", "ec2:DetachVolume" ], "Resource": "arn:aws:ec2:*:*:instance/*" }, { "Sid": "DeleteEBSManagedVolume", "Effect": "Allow", "Action": "ec2:DeleteVolume", "Resource": "arn:aws:ec2:*:*:volume/*", "Condition": { "ArnLike": { "aws:ResourceTag/AmazonECSCreated": "arn:aws:ecs:*:*:task/*" }, "StringEquals": { "aws:ResourceTag/AmazonECSManaged": "true" } } } ] }

Função do Amazon EC2 EC2 ContainerServicefor

O Amazon ECS anexa essa política a uma função de serviço que permite que o Amazon ECS execute ações em seu nome contra instâncias do Amazon EC2 ou instâncias externas.

Essa política concede permissões administrativas que permitem que instâncias de contêiner do Amazon ECS façam chamadas AWS em seu nome. Para ter mais informações, consulte Função do IAM de instância de contêiner do Amazon ECS.

Considerações

Você deve considerar as seguintes recomendações e considerações quando usar a política do IAM gerenciada AmazonEC2ContainerServiceforEC2Role.

  • Ao seguir o aviso de segurança padrão de concessão de privilégios mínimos, você pode modificar a política gerenciada AmazonEC2ContainerServiceforEC2Role para atender às suas necessidades específicas. Se qualquer permissão concedida na política gerenciada não for necessária para seu caso de uso, crie uma política personalizada e adicione apenas as permissões necessárias. Por exemplo, a permissão UpdateContainerInstancesState é fornecida para drenagem de instâncias spot. Se essa permissão não for necessária para o seu caso de uso, exclua-a usando uma política personalizada. Para ter mais informações, consulte Detalhes da permissão.

  • Os contêineres em execução nas instâncias de contêiner têm acesso a todas as permissões dadas à função da instância de contêiner por meio de instance metadata. Recomendamos que você limite as permissões na função de instância de contêiner à lista mínima de permissões fornecidas na política gerenciada AmazonEC2ContainerServiceforEC2Role mostrada. Caso os contêineres das tarefas precisem de permissões adicionais não listadas aqui, recomendamos que estas tarefas sejam fornecidas com as próprias funções do IAM. Para ter mais informações, consulte Função do IAM de tarefa.

    É possível impedir que contêineres na ponte docker0 acessem as permissões fornecidas para o perfil de instância de contêiner. Isso pode ser feito enquanto ainda concede as permissões fornecidas pelo Função do IAM de tarefa ao executar o seguinte comando iptables nas instâncias de contêiner. Os contêineres não podem consultar metadados de instância com essa regra em vigor. Esse comando pressupõe a configuração de ponte do Docker padrão e não funciona para contêineres que usam o modo de rede host. Para ter mais informações, consulte Modo de rede.

    sudo yum install -y iptables-services; sudo iptables --insert DOCKER USER 1 --in-interface docker+ --destination 169.254.169.254/32 --jump DROP

    Você deve salvar essa regra iptables em sua instância de contêiner para ela sobreviver uma reinicialização. Para a AMI otimizada para Amazon ECS, use o seguinte comando. Para outros sistemas operacionais, consulte a documentação do SO em questão.

    • Para a AMI do Amazon Linux 2 otimizada para o Amazon ECS:

      sudo iptables-save | sudo tee /etc/sysconfig/iptables && sudo systemctl enable --now iptables
    • Para a AMI do Amazon Linux otimizada para o Amazon ECS:

      sudo service iptables save

Detalhes da permissão

A política do IAM gerenciada AmazonEC2ContainerServiceforEC2Role deve incluir as permissões a seguir. Ao seguir o aviso de segurança padrão de concessão de privilégios mínimos, a política gerenciada AmazonEC2ContainerServiceforEC2Role pode ser usada como um guia. Se qualquer permissão concedida na política gerenciada não for necessária para seu caso de uso, crie uma política personalizada e adicione apenas as permissões necessárias.

  • ec2:DescribeTags: permite que uma entidade principal descreva as etiquetas associadas a uma instância do Amazon EC2. Essa permissão é usada pelo agente de contêiner do Amazon ECS para oferecer suporte à propagação da etiqueta de recurso. Para ter mais informações, consulte Como os recursos são marcados.

  • ecs:CreateCluster: permite que uma entidade principal crie um cluster do Amazon ECS. Essa permissão é usada pelo agente de contêiner do Amazon ECS para criar um cluster default, se nenhum já existir.

  • ecs:DeregisterContainerInstance: permite que uma entidade principal cancele o registro de uma instância de contêiner do Amazon ECS de um cluster. O agente de contêiner do Amazon ECS não chama essa operação de API, mas essa permissão permanece para ajudar a garantir a compatibilidade com versões anteriores.

  • ecs:DiscoverPollEndpoint: essa ação retorna endpoints que o agente de contêiner do Amazon ECS usa para pesquisar atualizações.

  • ecs:Poll: permite que o agente de contêiner do Amazon ECS se comunique com o ambiente de gerenciamento do Amazon ECS para relatar alterações no estado da tarefa.

  • ecs:RegisterContainerInstance: permite que uma entidade principal cancele o registro de uma instância de contêiner com um cluster. Essa permissão é usada pelo agente de contêiner do Amazon ECS para registrar a instância do Amazon EC2 com um cluster e para dar suporte à propagação de tags de recursos.

  • ecs:StartTelemetrySession: permite que o agente de contêiner do Amazon ECS se comunique com o ambiente de gerenciamento do Amazon ECS para relatar informações e métricas de integridade para cada contêiner e tarefa.

  • ecs:TagResource: permite que o agente de contêiner do Amazon ECS marque o cluster na criação e marque as instâncias de contêiner quando elas são registradas em um cluster.

  • ecs:UpdateContainerInstancesState: permite que uma entidade principal modifique o status de uma instância de contêiner do Amazon ECS. Essa permissão é usada pelo agente de contêiner do Amazon ECS para drenagem de instâncias spot. Para ter mais informações, consulte Drenagem de instâncias pontuais.

  • ecs:Submit*: isso inclui as ações da API SubmitAttachmentStateChanges, SubmitContainerStateChange e SubmitTaskStateChange. Elas são usadas pelo agente de contêiner do Amazon ECS para relatar alterações de estado de cada recurso ao ambiente de gerenciamento do Amazon ECS. A SubmitContainerStateChange permissão não é mais usada pelo agente de contêiner do Amazon ECS, mas permanece para ajudar a garantir a compatibilidade com versões anteriores.

  • ecr:GetAuthorizationToken: permite que uma entidade principal recupere um token de autorização. O token de autorização representa as credenciais de autenticação do IAM e pode ser usado para acessar qualquer registro do Amazon ECR ao qual a entidade principal do IAM tem acesso. O token de autorização recebido é válido por 12 horas.

  • ecr:BatchCheckLayerAvailability: quando uma imagem de contêiner é enviada para um repositório privado do Amazon ECR, cada camada de imagem é conferida para verificar se ela já foi enviada. Se já tiver sido, a camada da imagem será ignorada.

  • ecr:GetDownloadUrlForLayer: quando uma imagem de contêiner é extraída de um repositório privado do Amazon ECR, essa API é chamada uma vez para cada camada de imagem que ainda não está armazenada em cache.

  • ecr:BatchGetImage: quando uma imagem de contêiner é extraída de um repositório privado do Amazon ECR, essa API é chamada uma vez para recuperar o manifesto da imagem.

  • logs:CreateLogStream— Permite que um diretor crie um fluxo de CloudWatch registros de registros para um grupo de registros especificado.

  • logs:PutLogEvents: permite que uma entidade principal carregue um lote de eventos de log em um fluxo de log especificado.

Veja abaixo um exemplo de política AmazonEC2ContainerServiceforEC2Role.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:DescribeTags", "ecs:CreateCluster", "ecs:DeregisterContainerInstance", "ecs:DiscoverPollEndpoint", "ecs:Poll", "ecs:RegisterContainerInstance", "ecs:StartTelemetrySession", "ecs:UpdateContainerInstancesState", "ecs:Submit*", "ecr:GetAuthorizationToken", "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "*" }, { "Effect": "Allow", "Action": "ecs:TagResource", "Resource": "*", "Condition": { "StringEquals": { "ecs:CreateAction": [ "CreateCluster", "RegisterContainerInstance" ] } } } ] }

Amazon EC2 ContainerServiceEventsRole

Essa política concede permissões que permitem que a Amazon EventBridge (antiga CloudWatch Events) execute tarefas em seu nome. Essa política pode ser anexada à função do IAM especificada quando você cria tarefas programadas. Para obter mais informações, consulte Função do Amazon ECS EventBridge IAM.

Detalhes das permissões

Esta política inclui as seguintes permissões:

  • ecs— Permite que um diretor em um serviço chame a RunTask API do Amazon ECS. Permite que um principal em um serviço adicione tags (TagResource) ao chamar a RunTask API do Amazon ECS.

  • iam: permite passar qualquer função de serviço do IAM para qualquer tarefa do Amazon ECS.

Veja abaixo um exemplo de política AmazonEC2ContainerServiceEventsRole.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["ecs:RunTask"], "Resource": ["*"] }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": ["*"], "Condition": { "StringLike": {"iam:PassedToService": "ecs-tasks.amazonaws.com"} } }, { "Effect": "Allow", "Action": "ecs:TagResource", "Resource": "*", "Condition": { "StringEquals": { "ecs:CreateAction": ["RunTask"] } } } ] }

AmazonECS TaskExecutionRolePolicy

A política AmazonECSTaskExecutionRolePolicy gerenciada do IAM concede as permissões necessárias ao agente de contêiner e AWS Fargate aos agentes de contêiner do Amazon ECS para fazer chamadas de AWS API em seu nome. Essa política pode ser adicionada à função do IAM de execução de tarefas. Para obter mais informações, consulte Função do IAM de execução de tarefas do Amazon ECS.

Detalhes da permissão

A política do IAM gerenciada AmazonECSTaskExecutionRolePolicy deve incluir as permissões a seguir. Ao seguir o aviso de segurança padrão de concessão de privilégios mínimos, a política gerenciada AmazonECSTaskExecutionRolePolicy pode ser usada como um guia. Se qualquer permissão concedida na política gerenciada não for necessária para o seu caso de uso, crie uma política personalizada e adicione apenas as permissões necessárias.

  • ecr:GetAuthorizationToken: permite que uma entidade principal recupere um token de autorização. O token de autorização representa as credenciais de autenticação do IAM e pode ser usado para acessar qualquer registro do Amazon ECR ao qual a entidade principal do IAM tem acesso. O token de autorização recebido é válido por 12 horas.

  • ecr:BatchCheckLayerAvailability: quando uma imagem de contêiner é enviada para um repositório privado do Amazon ECR, cada camada de imagem é conferida para verificar se ela já foi enviada. Se ela tiver sido enviada, a camada de imagem será ignorada.

  • ecr:GetDownloadUrlForLayer: quando uma imagem de contêiner é extraída de um repositório privado do Amazon ECR, essa API é chamada uma vez para cada camada de imagem que ainda não está armazenada em cache.

  • ecr:BatchGetImage: quando uma imagem de contêiner é extraída de um repositório privado do Amazon ECR, essa API é chamada uma vez para recuperar o manifesto da imagem.

  • logs:CreateLogStream— Permite que um diretor crie um fluxo de CloudWatch registros de registros para um grupo de registros especificado.

  • logs:PutLogEvents: permite que uma entidade principal carregue um lote de eventos de log em um fluxo de log especificado.

Veja abaixo um exemplo de política AmazonECSTaskExecutionRolePolicy.

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

AmazonECS ServiceRolePolicy

A política do IAM gerenciada AmazonECSServiceRolePolicy permite que o Amazon Elastic Container Service gerencie seu cluster. Essa política pode ser adicionada à função do IAM de execução de tarefas. Para obter mais informações, consulte Função do IAM de execução de tarefas do Amazon ECS.

Detalhes da permissão

A política do IAM gerenciada AmazonECSServiceRolePolicy deve incluir as permissões a seguir. Ao seguir o aviso de segurança padrão de concessão de privilégios mínimos, a política gerenciada AmazonECSServiceRolePolicy pode ser usada como um guia. Se qualquer permissão concedida na política gerenciada não for necessária para o seu caso de uso, crie uma política personalizada e adicione apenas as permissões necessárias.

  • autoscaling: permite que as entidades principais criem, gerenciem e descrevam recursos do Amazon EC2 Auto Scaling. Isso é necessário ao gerenciar grupos do Amazon EC2 Auto Scaling ao usar o recurso de escalabilidade automática de cluster.

  • autoscaling-plans: permite que as entidades principais criem, excluam e descrevam planos de escalabilidade automática.

  • cloudwatch— Permite que os diretores criem, gerenciem e descrevam os alarmes da Amazon CloudWatch .

  • ec2— Permite que os principais executem instâncias do Amazon EC2 e criem e gerenciem interfaces e tags de rede.

  • elasticloadbalancing: permite que as entidades principais criem, descrevam e excluam balanceadores de carga do Elastic Load Balancing. Os diretores também poderão adicionar e descrever grupos-alvo.

  • logs— Permite que os diretores criem e descrevam grupos de CloudWatch registros do Amazon Logs. As entidades principais também podem listar eventos de log para esses grupos de log.

  • route53: permite que as entidades principais criem, gerenciem e excluam zonas hospedadas do Amazon Route 53. As entidades principais também podem visualizar a configuração e as informações da verificação de integridade do Amazon Route 53. Para obter mais informações sobre zonas hospedadas, consulte Trabalhar com zonas hospedadas.

  • servicediscovery— permite que os diretores criem, gerenciem e excluam AWS Cloud Map serviços e criem namespaces DNS privados.

  • events— Permite que os diretores criem, gerenciem e excluam EventBridge as regras da Amazon e suas metas.

Veja abaixo um exemplo de política AmazonECSServiceRolePolicy.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ECSTaskManagement", "Effect": "Allow", "Action": [ "ec2:AttachNetworkInterface", "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:Describe*", "ec2:DetachNetworkInterface", "elasticloadbalancing:DeregisterInstancesFromLoadBalancer", "elasticloadbalancing:DeregisterTargets", "elasticloadbalancing:Describe*", "elasticloadbalancing:RegisterInstancesWithLoadBalancer", "elasticloadbalancing:RegisterTargets", "route53:ChangeResourceRecordSets", "route53:CreateHealthCheck", "route53:DeleteHealthCheck", "route53:Get*", "route53:List*", "route53:UpdateHealthCheck", "servicediscovery:DeregisterInstance", "servicediscovery:Get*", "servicediscovery:List*", "servicediscovery:RegisterInstance", "servicediscovery:UpdateInstanceCustomHealthStatus" ], "Resource": "*" }, { "Sid": "AutoScaling", "Effect": "Allow", "Action": [ "autoscaling:Describe*" ], "Resource": "*" }, { "Sid": "AutoScalingManagement", "Effect": "Allow", "Action": [ "autoscaling:DeletePolicy", "autoscaling:PutScalingPolicy", "autoscaling:SetInstanceProtection", "autoscaling:UpdateAutoScalingGroup", "autoscaling:PutLifecycleHook", "autoscaling:DeleteLifecycleHook", "autoscaling:CompleteLifecycleAction", "autoscaling:RecordLifecycleActionHeartbeat" ], "Resource": "*", "Condition": { "Null": { "autoscaling:ResourceTag/AmazonECSManaged": "false" } } }, { "Sid": "AutoScalingPlanManagement", "Effect": "Allow", "Action": [ "autoscaling-plans:CreateScalingPlan", "autoscaling-plans:DeleteScalingPlan", "autoscaling-plans:DescribeScalingPlans", "autoscaling-plans:DescribeScalingPlanResources" ], "Resource": "*" }, { "Sid": "EventBridge", "Effect": "Allow", "Action": [ "events:DescribeRule", "events:ListTargetsByRule" ], "Resource": "arn:aws:events:*:*:rule/ecs-managed-*" }, { "Sid": "EventBridgeRuleManagement", "Effect": "Allow", "Action": [ "events:PutRule", "events:PutTargets" ], "Resource": "*", "Condition": { "StringEquals": { "events:ManagedBy": "ecs.amazonaws.com" } } }, { "Sid": "CWAlarmManagement", "Effect": "Allow", "Action": [ "cloudwatch:DeleteAlarms", "cloudwatch:DescribeAlarms", "cloudwatch:PutMetricAlarm" ], "Resource": "arn:aws:cloudwatch:*:*:alarm:*" }, { "Sid": "ECSTagging", "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": "arn:aws:ec2:*:*:network-interface/*" }, { "Sid": "CWLogGroupManagement", "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:DescribeLogGroups", "logs:PutRetentionPolicy" ], "Resource": "arn:aws:logs:*:*:log-group:/aws/ecs/*" }, { "Sid": "CWLogStreamManagement", "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:DescribeLogStreams", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:*:*:log-group:/aws/ecs/*:log-stream:*" }, { "Sid": "ExecuteCommandSessionManagement", "Effect": "Allow", "Action": [ "ssm:DescribeSessions" ], "Resource": "*" }, { "Sid": "ExecuteCommand", "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": [ "arn:aws:ecs:*:*:task/*", "arn:aws:ssm:*:*:document/AmazonECS-ExecuteInteractiveCommand" ] }, { "Sid": "CloudMapResourceCreation", "Effect": "Allow", "Action": [ "servicediscovery:CreateHttpNamespace", "servicediscovery:CreateService" ], "Resource": "*", "Condition": { "ForAllValues:StringEquals": { "aws:TagKeys": [ "AmazonECSManaged" ] } } }, { "Sid": "CloudMapResourceTagging", "Effect": "Allow", "Action": "servicediscovery:TagResource", "Resource": "*", "Condition": { "StringLike": { "aws:RequestTag/AmazonECSManaged": "*" } } }, { "Sid": "CloudMapResourceDeletion", "Effect": "Allow", "Action": [ "servicediscovery:DeleteService" ], "Resource": "*", "Condition": { "Null": { "aws:ResourceTag/AmazonECSManaged": "false" } } }, { "Sid": "CloudMapResourceDiscovery", "Effect": "Allow", "Action": [ "servicediscovery:DiscoverInstances", "servicediscovery:DiscoverInstancesRevision" ], "Resource": "*" } ] }

AmazonECSInfrastructureRolePolicyForServiceConnectTransportLayerSecurity

Fornece acesso administrativo ao AWS Private Certificate Authority Secrets Manager e a outros AWS serviços necessários para gerenciar os recursos TLS do Amazon ECS Service Connect em seu nome.

Detalhes da permissão

A política do IAM gerenciada AmazonECSInfrastructureRolePolicyForServiceConnectTransportLayerSecurity deve incluir as permissões a seguir. Ao seguir o aviso de segurança padrão de concessão de privilégios mínimos, a política gerenciada AmazonECSInfrastructureRolePolicyForServiceConnectTransportLayerSecurity pode ser usada como um guia. Se qualquer permissão concedida na política gerenciada não for necessária para o seu caso de uso, crie uma política personalizada e adicione apenas as permissões necessárias.

  • secretsmanager:CreateSecret— Permite que o diretor crie o segredo. É necessário para o Service Connect TLS. O Amazon ECS mantém em segredo a chave privada do cliente no Secrets Manager do cliente.

  • secretsmanager:TagResource— Permite que o diretor anexe uma etiqueta ao segredo criado. É necessário para o Service Connect TLS, porque o Amazon ECS cria o segredo em nome do cliente e anexa a tag ao recurso. Essas tags fornecem uma maneira mais fácil para o cliente identificar o segredo gerenciado e restringir as ações sobre esses segredos.

  • secretsmanager:DescribeSecret— Permita que o diretor descreva o segredo e recupere o estágio atual da versão. É necessário que o Amazon ECS faça a rotação de materiais TLS do Amazon ECS Service Connect.

  • secretsmanager:UpdateSecret— Permita que o diretor atualize o segredo. É necessário que o Amazon ECS faça a rotação de materiais TLS do Amazon ECS Service Connect e atualize o segredo com novos materiais.

  • secretsmanager:GetSecretValue— Permita que o diretor obtenha o valor secreto. É necessário que o Amazon ECS faça a rotação de materiais TLS do Amazon ECS Service Connect.

  • secretsmanager:PutSecretValue— Permita que o diretor coloque o valor secreto. É necessário que o Amazon ECS faça a rotação de materiais TLS do Amazon ECS Service Connect.

  • secretsmanager:UpdateSecretVersionStage— Permita que o diretor atualize o estágio da versão secreta. É necessário que o Amazon ECS faça a rotação de materiais TLS do Amazon ECS Service Connect.

  • acm-pca:IssueCertificate— Permita que o diretor IssueCertificate End entity certificate solicite o Amazon ECS Service Connect TLS. Era necessário que o ECS gerasse um certificado para o serviço upstream do cliente.

  • acm-pca:GetCertificate— Permita que o diretor GetCertificate End entity certificate solicite o Amazon ECS Service Connect TLS.

  • acm-pca:GetCertificateAuthorityCertificate— Permita que o diretor obtenha o certificado das autoridades de certificação. É necessário para o Amazon ECS Service Connect TLS para que o serviço downstream do cliente possa confiar no certificado de entidade final upstream.

  • acm-pca:DescribeCertificateAuthority— Permita que o diretor obtenha detalhes sobre a autoridade de certificação. É necessário que o Amazon ECS Service Connect TLS reutilize informações, como algoritmo de assinatura, para criar a CSR (Solicitação de Assinatura de Certificado).

Veja abaixo um exemplo de política AmazonECSInfrastructureRolePolicyForServiceConnectTransportLayerSecurity.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateSecret", "Effect": "Allow", "Action": "secretsmanager:CreateSecret", "Resource": "arn:aws:secretsmanager:*:*:secret:ecs-sc!*", "Condition": { "ArnLike": { "aws:RequestTag/AmazonECSCreated": [ "arn:aws:ecs:*:*:service/*/*", "arn:aws:ecs:*:*:task-set/*/*" ] }, "StringEquals": { "aws:RequestTag/AmazonECSManaged": "true", "aws:ResourceAccount": "${aws:PrincipalAccount}" } } }, { "Sid": "TagOnCreateSecret", "Effect": "Allow", "Action": "secretsmanager:TagResource", "Resource": "arn:aws:secretsmanager:*:*:secret:ecs-sc!*", "Condition": { "ArnLike": { "aws:RequestTag/AmazonECSCreated": [ "arn:aws:ecs:*:*:service/*/*", "arn:aws:ecs:*:*:task-set/*/*" ] }, "StringEquals": { "aws:RequestTag/AmazonECSManaged": "true", "aws:ResourceAccount": "${aws:PrincipalAccount}" } } }, { "Sid": "RotateTLSCertificateSecret", "Effect": "Allow", "Action": [ "secretsmanager:DescribeSecret", "secretsmanager:UpdateSecret", "secretsmanager:GetSecretValue", "secretsmanager:PutSecretValue", "secretsmanager:DeleteSecret", "secretsmanager:RotateSecret", "secretsmanager:UpdateSecretVersionStage" ], "Resource": "arn:aws:secretsmanager:*:*:secret:ecs-sc!*", "Condition": { "StringEquals": { "secretsmanager:ResourceTag/aws:secretsmanager:owningService": "ecs-sc", "aws:ResourceAccount": "${aws:PrincipalAccount}" } } }, { "Sid": "ManagePrivateCertificateAuthority", "Effect": "Allow", "Action": [ "acm-pca:GetCertificate", "acm-pca:GetCertificateAuthorityCertificate", "acm-pca:DescribeCertificateAuthority" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/AmazonECSManaged": "true" } } }, { "Sid": "ManagePrivateCertificateAuthorityForIssuingEndEntityCertificate", "Effect": "Allow", "Action": [ "acm-pca:IssueCertificate" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/AmazonECSManaged": "true", "acm-pca:TemplateArn":"arn:aws:acm-pca:::template/EndEntityCertificate/V1" } } } ] }

AWSApplicationAutoscalingECSServicePolicy

Não é possível anexar AWSApplicationAutoscalingECSServicePolicy às entidades do IAM. Essa política é anexada a uma função vinculada ao serviço que permite que o Application Auto Scaling execute ações em seu nome. Para obter mais informações, consulte Funções vinculadas ao serviço para o Application Auto Scaling.

AWSCodeDeployRoleForECS

Não é possível anexar AWSCodeDeployRoleForECS às entidades do IAM. Essa política está vinculada a uma função vinculada ao serviço que permite CodeDeploy realizar ações em seu nome. Para obter mais informações, consulte Criar uma função de serviço para CodeDeploy no Guia AWS CodeDeploy do usuário.

AWSCodeDeployRoleForECSLimited

Não é possível anexar AWSCodeDeployRoleForECSLimited às entidades do IAM. Essa política está vinculada a uma função vinculada ao serviço que permite CodeDeploy realizar ações em seu nome. Para obter mais informações, consulte Criar uma função de serviço para CodeDeploy no Guia AWS CodeDeploy do usuário.

Atualizações do Amazon ECS para políticas AWS gerenciadas

Veja detalhes sobre as atualizações das políticas AWS gerenciadas do Amazon ECS desde que esse serviço começou a rastrear essas alterações. Para obter alertas automáticos sobre alterações feitas nesta página, inscreva-se no feed RSS na página Histórico de documentos do Amazon ECS.

Alteração Descrição Data

Adicionar nova política do InfrastructureRolePolicyForServiceConnectTransportLayerSecurityAmazonECS

Foi adicionada uma nova política do InfrastructureRolePolicyForServiceConnectTransport LayerSecurity AmazonECS que fornece acesso administrativo ao AWS Private Certificate Authority Secrets Manager e permite que os recursos TLS do Amazon ECS Service Connect funcionem adequadamente. AWS KMS

22 de janeiro de 2024

Adicionar nova política AmazonECS InfrastructureRolePolicyForVolumes

A AmazonECSInfrastructureRolePolicyForVolumes política foi adicionada. A política concede as permissões necessárias ao Amazon ECS para fazer chamadas de AWS API para gerenciar volumes do Amazon EBS associados às cargas de trabalho do Amazon ECS. 11 de janeiro de 2024

Adicionar permissões ao AmazonECS ServiceRolePolicy

A política AmazonECSServiceRolePolicy gerenciada do IAM foi atualizada com novas events permissões autoscaling e autoscaling-plans permissões adicionais. 4 de dezembro de 2023

Adicionar permissões ao AmazonEC2 ContainerServiceEventsRole

A política AmazonECSServiceRolePolicy gerenciada do IAM foi atualizada para permitir o acesso à operação AWS Cloud Map DiscoverInstancesRevision da API. 4 de outubro de 2023

Adicionar permissões ao Amazon EC2 EC2Role ContainerServicefor

A AmazonEC2ContainerServiceforEC2Role política foi modificada para adicionar a ecs:TagResource permissão, que inclui uma condição que limita a permissão somente a clusters recém-criados e instâncias de contêiner registradas. 6 de março de 2023

Adicionar permissão a Amazon CS_ FullAccess

A AmazonECS_FullAccess política foi modificada para adicionar a elasticloadbalancing:AddTags permissão, que inclui uma condição que limita a permissão somente a balanceadores de carga recém-criados, grupos-alvo, regras e ouvintes criados. Essa permissão não permite que sejam adicionadas tags a qualquer recurso já criado do Elastic Load Balancing. 4 de janeiro de 2023

O Amazon ECS passou a rastrear as alterações

O Amazon ECS começou a monitorar as mudanças em suas políticas AWS gerenciadas.

8 de junho de 2021