

# 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\$1FullAccess](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": "*"
    }
  ]
}
```

------

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

Antes de usar Consola de administración de AWS para crear sus recursos, deberá asegurarse de tener los permisos de IAM correctos. Para obtener información sobre cómo configurar primero los permisos para la consola de Amazon ECS en general, consulte [Permisos necesarios para la consola de Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/console-permissions.html).

La consola de Amazon ECS se basa en AWS CloudFormation y requiere permisos de IAM adicionales en los siguientes casos:
+ Creación de un clúster
+ Crear un servicio
+ Creación de un proveedor de capacidad

Puede crear una política para los permisos adicionales y, a continuación, adjuntarlas al rol de IAM que utilice para acceder a la consola. Para obtener más información, consulte [Creación de políticas de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-start) en la *Guía del usuario de IAM*.

## Permisos necesarios para crear un clúster
<a name="create-cluster"></a>

Cuando crea un clúster en la consola, necesita permisos adicionales que le permitan administrar las pilas de CloudFormation. 

 Se requieren los siguientes permisos adicionales:
+ `cloudformation`: permite a los usuarios principales crear y administrar pilas de CloudFormation. Esto se debe hacer cuando se crean clústeres de Amazon ECS mediante la Consola de administración de AWS y posteriormente se administran.
+ `ssm`: permite a CloudFormation hacer referencia a la última AMI optimizada para Amazon ECS. Esto se debe hacer cuando se crean clústeres de Amazon ECS mediante el uso de la Consola de administración de AWS.

La siguiente política contiene los permisos CloudFormation necesarios y limita las acciones a los recursos creados en la consola de Amazon ECS.

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

****  

```
{
  "Statement": [
      {
          "Effect": "Allow",
          "Action": [
                "cloudformation:CreateStack",
                "cloudformation:DeleteStack",
                "cloudformation:DescribeStack*",
                "cloudformation:UpdateStack"
             ],
            "Resource": [
                "arn:*:cloudformation:*:*:stack/Infra-ECS-Cluster-*"
            ]
      },
      {
          "Effect": "Allow",
          "Action": "ssm:GetParameters",
          "Resource": [
            "arn:aws:ssm:*:*:parameter/aws/service/ecs/optimized-ami/amazon-linux-2*/*",
            "arn:aws:ssm:*:*:parameter/aws/service/ecs/optimized-ami/amazon-linux-2023*/*"
          ]
      }
   ]
}
```

------

Si no ha creado el rol de instancia de contenedor de Amazon ECS (`ecsInstanceRole`) y va a crear un clúster que utilice instancias de Amazon EC2, la consola creará el rol en su nombre.

Además, si utiliza grupos de escalado automático, necesitará permisos adicionales para que la consola pueda agregar etiquetas a los grupos de escalado automático cuando utilice la característica de escalado automático del clúster.

Se requieren los siguientes permisos adicionales:
+ `autoscaling`: permite a la consola etiquetar el grupo de Amazon EC2 Auto Scaling. Esto se debe hacer cuando se administran grupos de Amazon EC2 Auto Scaling y se utiliza la característica de Auto Scaling de clústeres. La etiqueta es la etiqueta administrada por ECS que la consola agrega automáticamente al grupo para indicar que se creó en la consola.
+ `iam`: permite a los usuarios principales enumerar los roles de IAM y sus políticas asociadas. Los usuarios principales también pueden enumerar perfiles de instancias disponibles para instancias de Amazon EC2.

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

Los permisos de Auto Scaling no están limitados.

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

****  

```
{
  "Statement": [
      {
          "Effect": "Allow",
            "Action": [
              "iam:AttachRolePolicy",
              "iam:CreateRole",
              "iam:CreateInstanceProfile",
              "iam:AddRoleToInstanceProfile",
              "iam:ListInstanceProfilesForRole",
              "iam:GetRole"
            ],
            "Resource": "arn:aws:iam::*:role/ecsInstanceRole"
        },
        {
            "Effect": "Allow",
            "Action": "autoscaling:CreateOrUpdateTags",
            "Resource": "*"
        }
    ]
}
```

------

## Permisos necesarios para crear un servicio
<a name="create-service-permissions"></a>

Cuando crea un servicio en la consola, necesita permisos adicionales que le permitan administrar las pilas de CloudFormation. Se requieren los siguientes permisos adicionales:
+ `cloudformation`: permite a los usuarios principales crear y administrar pilas de CloudFormation. Esto se debe hacer cuando se crean servicios de Amazon ECS mediante la Consola de administración de AWS y posteriormente se administran.

La siguiente política contiene los permisos necesarios y limita las acciones a los recursos creados en la consola de Amazon ECS.

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

****  

```
{
  "Statement": [
      {
          "Effect": "Allow",
          "Action": [
                "cloudformation:CreateStack",
                "cloudformation:DeleteStack",
                "cloudformation:DescribeStack*",
                "cloudformation:UpdateStack"
             ],
            "Resource": [
                "arn:*:cloudformation:*:*:stack/ECS-Console-V2-Service-*"
            ]
      }
   ]
}
```

------