Práticas recomendadas do IAM para o Amazon ECS - Amazon Elastic Container Service

Práticas recomendadas do IAM para o Amazon ECS

É possível usar o AWS Identity and Access Management (IAM) para gerenciar e controlar o acesso aos seus serviços e recursos da AWS por meio de políticas baseadas em regras para fins de autenticação e autorização. Mais especificamente, por meio desse serviço, você controla o acesso aos seus recursos da AWS usando políticas aplicadas a usuários, grupos ou funções. Entre esses três, os usuários são contas que podem ter acesso aos seus recursos. Além disso, um perfil do IAM é um conjunto de permissões que podem ser assumidas por uma identidade autenticada, que não está associada a uma identidade específica fora do IAM. Para obter mais informações, consulte Amazon ECS overview of access management: Permissions and policies.

Siga a política de acesso de privilégio mínimo

Crie políticas com escopo para permitir que os usuários realizem seus trabalhos prescritos. Por exemplo, se um desenvolvedor precisar interromper periodicamente uma tarefa, crie uma política que permita apenas essa ação específica. O exemplo a seguir permite que um usuário interrompa uma tarefa que pertence a uma determinada task_family em um cluster com um nome do recurso da Amazon (ARN) específico. Referir-se a um ARN em uma condição também é um exemplo de uso de permissões em nível de recurso. É possível usar permissões em nível de recurso para especificar o recurso ao qual você deseja aplicar uma ação.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecs:StopTask" ], "Condition": { "ArnEquals": { "ecs:cluster": "arn:aws:ecs:region:account_id:cluster/cluster_name" } }, "Resource": [ "arn:aws:ecs:region:account_id:task-definition/task_family:*" ] } ] }

Fazer com que os recursos de cluster atuem como limite administrativo

Políticas com escopo muito restrito podem causar uma proliferação de funções e aumentar a sobrecarga administrativa. Em vez de criar funções que tenham como escopo somente tarefas ou serviços específicos, crie funções que tenham como escopo os clusters e use o cluster como seu limite administrativo principal.

Criar pipelines automatizados para isolar os usuários finais da API

É possível limitar as ações que os usuários podem usar criando pipelines que empacotem e implantam automaticamente aplicações nos clusters do Amazon ECS. Isso delega efetivamente o trabalho de criar, atualizar e excluir tarefas ao pipeline. Para obter mais informações, consulte o Tutorial: implantação padrão do Amazon ECS com o CodePipeline no Guia do usuário do AWS CodePipeline.

Usar condições de política para um nível de segurança adicional

Quando precisar de uma camada adicional de segurança, adicione uma condição à sua política. Isso pode ser útil se você estiver executando uma operação privilegiada ou quando precisar restringir o conjunto de ações que podem ser executadas em determinados recursos. O exemplo de política a seguir exige autorização multifatorial ao excluir um cluster.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecs:DeleteCluster" ], "Condition": { "Bool": { "aws:MultiFactorAuthPresent": "true" } }, "Resource": ["*"] } ] }

As tags aplicadas aos serviços são propagadas para todas as tarefas que fazem parte desse serviço. Por isso, é possível criar funções que tenham como escopo os recursos do Amazon ECS com tags específicas. Na política a seguir, uma entidade principal do IAM inicia e interrompe todas as tarefas com uma chave de tag de Department e um valor de tag de Accounting.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecs:StartTask", "ecs:StopTask", "ecs:RunTask" ], "Resource": "arn:aws:ecs:*", "Condition": { "StringEquals": {"ecs:ResourceTag/Department": "Accounting"} } } ] }

Auditoria periódica do acesso às APIs

Um usuário pode mudar de perfil. Depois que eles mudarem de perfil, as permissões que lhes foram concedidas anteriormente podem não se aplicar mais. Certifique-se de auditar quem tem acesso às APIs do Amazon ECS e se esse acesso ainda é garantido. Considere integrar o IAM a uma solução de gerenciamento do ciclo de vida do usuário que revogue automaticamente o acesso quando um usuário deixar a organização. Para obter mais informações, consulte Diretrizes de auditoria de segurança da AWS no Guia do usuário do AWS Identity and Access Management.