

# Permisos necesarios para la consola de Amazon ECS
<a name="console-permissions"></a>

Siguiendo la práctica recomendada de concesión de privilegios mínimos, puede usar la política administrada `AmazonECS_FullAccess` como plantilla para crear su propia política personalizada. De esta forma, puede quitar permisos de la política administrada o agregar otros en función de sus requisitos específicos. Para obtener más información, consulte [AmazonECS\_FullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonECS_FullAccess.html) en *Referencia de políticas administradas de AWS*.

## Permisos para crear roles de IAM
<a name="console-create-roles"></a>

Las siguientes acciones requieren permisos adicionales para completar la operación:
+ Registro de una instancia externa; para obtener más información, consulte [Rol de IAM de Amazon ECS Anywhere](iam-role-ecsanywhere.md) 
+ Registro de una definición de tarea; para obtener más información, consulte [Rol de IAM de ejecución de tareas de Amazon ECS](task_execution_IAM_role.md)
+ Creación de una regla de EventBridge para utilizarla en la programación de tareas; para obtener más información, consulte [Rol de IAM de EventBridge de Amazon ECS](CWE_IAM_role.md)

Puede añadir estos permisos creando un rol en IAM antes de usarlos en la consola de Amazon ECS. Si no crea los roles, la consola de Amazon ECS los creará en su nombre.

## Permisos necesarios para registrar una instancia externa en un clúster
<a name="register-external-instance"></a>

Necesita permisos adicionales cuando registra una instancia externa en un clúster y desea crear un nuevo rol de instancia externa (`ecsExternalInstanceRole`). 

Se requieren los siguientes permisos adicionales:
+ `iam`: permite a los usuarios principales crear y enumerar los roles de IAM y sus políticas asociadas. 
  + iam:AttachRolePolicy
  + iam:CreateRole
  + am:CreateInstanceProfile
  + iam:AddRoleToInstanceProfile
  + iam:ListInstanceProfilesForRole
  + iam:GetRole
+ `ssm`: permite a los usuarios principales registrar la instancia externa con Systems Manager. 

**nota**  
Para elegir una `ecsExternalInstanceRole` existente, debe tener los permisos `iam:GetRole` y `iam:PassRole`.

La siguiente política contiene los permisos necesarios y limita las acciones al rol `ecsExternalInstanceRole`. 

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

****  

```
{
"Statement": [
      {
          "Effect": "Allow",
          "Action": [
              "iam:AttachRolePolicy",
              "iam:CreateRole",
              "iam:CreateInstanceProfile",
              "iam:AddRoleToInstanceProfile",
              "iam:ListInstanceProfilesForRole",
              "iam:GetRole"
          ],
          "Resource": "arn:aws:iam::*:role/ecsExternalInstanceRole"
      },
      {
          "Effect": "Allow",
          "Action": ["iam:PassRole","ssm:CreateActivation"],
          "Resource": "arn:aws:iam::*:role/ecsExternalInstanceRole"
      }
    ]
}
```

------

## Permisos necesarios para registrar una definición de tarea
<a name="register-task-def"></a>

Necesita permisos adicionales cuando registra una definición de tarea y desea crear un nuevo rol de ejecución de tareas (`ecsTaskExecutionRole`). 

Se requieren los siguientes permisos adicionales:
+ `iam`: permite a los usuarios principales crear y enumerar los roles de IAM y sus políticas asociadas. 
  + iam:AttachRolePolicy
  + iam:CreateRole
  + iam:GetRole

**nota**  
Para elegir una `ecsTaskExecutionRole` existente, debe tener el permiso `iam:GetRole`.

La siguiente política contiene los permisos necesarios y limita las acciones al rol `ecsTaskExecutionRole`. 

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

****  

```
{
"Statement": [
    {
        "Effect": "Allow",
        "Action": [
            "iam:AttachRolePolicy",
            "iam:CreateRole",
            "iam:GetRole"
        ],
        "Resource": "arn:aws:iam::*:role/ecsTaskExecutionRole"
        }
    ]
}
```

------

## Permisos necesarios para utilizar Amazon Q Developer a fin de ofrecer recomendaciones en la consola
<a name="amazon-q-permission"></a>

 Para que Amazon Q Developer proporcione recomendaciones en la consola de Amazon ECS, debe habilitar los permisos de IAM correctos para el usuario o rol de IAM. Debe agregar el permiso `codewhisperer:GenerateRecommendations`.

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

****  

```
{
"Statement": [
      {
            "Sid": "AmazonQDeveloperPermissions",
            "Effect": "Allow",
            "Action": ["codewhisperer:GenerateRecommendations"],
            "Resource": "*"
        }
    ]
}
```

------

 Para usar el chat en línea en la consola de Amazon ECS, debe habilitar los permisos de IAM correctos para el usuario o rol de IAM. Debe agregar el permiso `q:SendMessage`: 

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

****  

```
{
"Statement": [
    {
        "Sid": "AmazonQDeveloperInlineChatPermissions",
        "Effect": "Allow",
        "Action": ["q:SendMessage"],
        "Resource": "*"
    }
  ]
}
```

------

## Permisos necesarios para crear una regla de EventBridge para las tareas programadas
<a name="schedule-task"></a>

Necesita permisos adicionales cuando programa una tarea y desea crear un nuevo rol de CloudWatch Events (`ecsEventsRole`). 

Se requieren los siguientes permisos adicionales:
+ `iam`: permite a los usuarios principales crear y enumerar los roles de IAM y sus políticas asociadas, y permite a Amazon ECS transferir el rol a otros servicios para que lo asuman.

**nota**  
Para elegir una `ecsEventsRole` existente, debe tener los permisos `iam:GetRole` y `iam:PassRole`.

La siguiente política contiene los permisos necesarios y limita las acciones al rol `ecsEventsRole`. 

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

****  

```
{
 "Statement": [
    {
        "Effect": "Allow",
        "Action": [
            "iam:AttachRolePolicy",
            "iam:CreateRole",
            "iam:GetRole",
            "iam:PassRole"
        ],
        "Resource": "arn:aws:iam::*:role/ecsEventsRole"
        }
    ]
}
```

------

## Permisos necesarios para ver las implementaciones de servicios
<a name="service-deployments"></a>

 Si sigue la práctica recomendada de concesión de privilegios mínimos, debe agregar más permisos para ver las implementaciones de servicios en la consola.

Debe acceder a las siguientes acciones:
+ ListServiceDeployments
+ DescribeServiceDeployments
+ DescribeServiceRevisions

Debe acceder a los siguientes recursos:
+ Servicio
+ Implementación de servicios
+ Revisión de servicios

La siguiente política de ejemplo contiene los permisos necesarios y limita las acciones a un servicio especificado. 

Sustituya `account`, `cluster-name` y `service-name` por sus valores.

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

****  

```
{
"Statement": [
    {
        "Effect": "Allow",
        "Action": [
            "ecs:ListServiceDeployments",
            "ecs:DescribeServiceDeployments",
            "ecs:DescribeServiceRevisions"
        ],
        "Resource": [
            "arn:aws:ecs:us-east-1:123456789012:service/cluster-name/service-name",
            "arn:aws:ecs:us-east-1:123456789012:service-deployment/cluster-name/service-name/*",
            "arn:aws:ecs:us-east-1:123456789012:service-revision/cluster-name/service-name/*"
            ]
        }
   ]
}
```

------

## Permisos necesarios para ver los eventos del ciclo de vida de Amazon ECS en Información de contenedores
<a name="required-permissions-view"></a>

Se requieren los siguientes permisos para ver los eventos del ciclo de vida: Agregue los siguientes permisos como una política en línea al rol. Para obtener más información, consulte [Adición y eliminación de políticas de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html).
+ events:DescribeRule
+ events:ListTargetsByRule
+ logs:DescribeLogGroups

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "events:DescribeRule",
        "events:ListTargetsByRule",
        "logs:DescribeLogGroups"
      ],
      "Resource": "*"
    }
  ]
}
```

------

## Permisos necesarios para habilitar los eventos del ciclo de vida de Amazon ECS en Información de contenedores
<a name="required-permissions-configure"></a>

Los siguientes permisos son necesarios para configurar los eventos del ciclo de vida:
+ events:PutRule
+ events:PutTargets
+ logs:CreateLogGroup

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "events:PutRule",
        "events:PutTargets",
        "logs:CreateLogGroup"
      ],
      "Resource": "*"
    }
  ]
}
```

------