

# Práticas recomendadas do IAM para o Amazon ECS
<a name="security-iam-bestpractices"></a>

É 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_access-management.html).

## Siga a política de acesso de privilégio mínimo
<a name="security-iam-recommendations-leastpriv"></a>

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. Para obter mais informações, consulte [Recursos de política do Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/security_iam_service-with-iam.html#security_iam_service-with-iam-id-based-policies-resources).

## Fazer com que os recursos de cluster atuem como limite administrativo
<a name="security-iam-recommendations-clusterboundary"></a>

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
<a name="security-iam-recommendations-usingpipelines"></a>

É 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](https://docs.aws.amazon.com/codepipeline/latest/userguide/ecs-cd-pipeline.html) no *Guia do usuário do AWS CodePipeline*.

## Usar condições de política para um nível de segurança adicional
<a name="security-iam-recommendations-policyconditions"></a>

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.

------
#### [ JSON ]

****  

```
{
  "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`.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ecs:StartTask",
                "ecs:StopTask",
                "ecs:RunTask"
            ],
            "Resource": "arn:aws:ecs:us-east-1:123456789012:cluster/my-cluster",
            "Condition": {
                "StringEquals": {"ecs:ResourceTag/Department": "Accounting"}
            }
        }
    ]
}
```

------

## Auditoria periódica do acesso às APIs
<a name="security-iam-recommendations-audit"></a>

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](https://docs.aws.amazon.com/IAM/latest/UserGuide/security-audit-guide.html) no *Guia do usuário do AWS Identity and Access Management*.