

# Configuración y habilitación del monitoreo mejorado
<a name="USER_Monitoring.OS.Enabling"></a>

Para utilizar el Monitoreo mejorado, debe crear un rol de IAM y, a continuación, habilitar el Monitoreo mejorado.

**Topics**
+ [Creación de un rol de IAM para el monitoreo mejorado](#USER_Monitoring.OS.Enabling.Prerequisites)
+ [Activación y desactivación de la supervisión mejorada](#USER_Monitoring.OS.Enabling.Procedure)
+ [Protección contra el problema del suplente confuso](#USER_Monitoring.OS.confused-deputy)

## Creación de un rol de IAM para el monitoreo mejorado
<a name="USER_Monitoring.OS.Enabling.Prerequisites"></a>

La monitorización mejorada necesita permiso para actuar en su nombre y enviar información de métrica del SO a CloudWatch Logs. Puede conceder los permisos necesarios para Enhanced Monitoring mediante un rol de AWS Identity and Access Management (IAM). Puede crear este rol al habilitar la supervisión mejorada o crearla con anticipación.

**Topics**
+ [Creación del rol de IAM cuando habilita el monitoreo mejorado](#USER_Monitoring.OS.Enabling.Prerequisites.creating-role-automatically)
+ [Creación del rol de IAM antes de habilitar el monitoreo mejorado](#USER_Monitoring.OS.Enabling.Prerequisites.creating-role-manually)

### Creación del rol de IAM cuando habilita el monitoreo mejorado
<a name="USER_Monitoring.OS.Enabling.Prerequisites.creating-role-automatically"></a>

Cuando habilita el monitoreo mejorado en la consola de RDS, con Amazon RDS se puede crear el rol de IAM que usted necesite. El rol se denomina `rds-monitoring-role`. RDS utiliza este rol para la instancia de base de datos, la réplica de lectura o el clúster de base de datos Multi-AZ especificados.

**Cómo crear el rol de IAM cuando se habilita el monitoreo mejorado**

1. Siga los pasos de [Activación y desactivación de la supervisión mejorada](#USER_Monitoring.OS.Enabling.Procedure).

1. Establezca el **Monitoring Role (Rol de monitoreo)** en **Default (Predeterminado)** en el paso en el que elija un rol.

### Creación del rol de IAM antes de habilitar el monitoreo mejorado
<a name="USER_Monitoring.OS.Enabling.Prerequisites.creating-role-manually"></a>

Puede crear el rol necesario antes de habilitar el monitoreo mejorado. Cuando habilite el monitoreo mejorado, especifique el nombre del rol nuevo. Debe crear este rol necesario si habilita la monitorización mejorada mediante la AWS CLI o la API de RDS.

Se debe conceder al usuario que habilite la monitorización mejorada el permiso `PassRole`. A fin de obtener más información, consulte el Ejemplo 2 en [Concesión de permisos a un usuario para transferir un rol a un servicio de AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html) en la *Guía del usuario de IAM*.<a name="USER_Monitoring.OS.IAMRole"></a>

**Para crear un rol de IAM para el monitoreo mejorado de Amazon RDS**

1. Abra la [consola de IAM](https://console.aws.amazon.com/iam/home?#home) en [https://console.aws.amazon.com](https://console.aws.amazon.com/).

1. Seleccione **Roles** en el panel de navegación.

1. Elija **Create role**.

1. Elija la pestaña **Servicio de AWS** y, a continuación, elija **RDS** de la lista de servicios.

1. Elija **RDS - Enhanced Monitoring** (RDS - Supervisión mejorada) y, a continuación, elija **Next** (Siguiente).

1. Asegúrese de que en **Permissions policies** (Políticas de permisos) se muestra **AmazonRDSEnhancedMonitoringRole** y, a continuación, elija **Next** (Siguiente).

1. Escriba un nombre para el rol en **Nombre de rol**. Por ejemplo, escriba **emaccess**.

   La entidad de confianza para su rol es el servicio de AWS **monitoring.rds.amazonaws.com**.

1. Elija **Create role (Crear rol)**.

## Activación y desactivación de la supervisión mejorada
<a name="USER_Monitoring.OS.Enabling.Procedure"></a>

Puede administrar Supervisión mejorada mediante la Consola de administración de AWS, la AWS CLI o la API de RDS. Puede establecer diferentes niveles de detalle para la recopilación de métricas en cada instancia de base de datos. 

### Consola
<a name="USER_Monitoring.OS.Enabling.Procedure.Console"></a>

Puede activar la Supervisión mejorada cuando crea una instancia de base de datos, un clúster de base de datos Multi-AZ o una réplica de lectura, o cuando modifica una instancia de base de datos o un clúster de base de datos Multi-AZ. Si modifica una instancia de base de datos para activar Supervisión mejorada, no necesita reiniciar la instancia de base de datos para que se efectúe el cambio. 

Puede activar la Supervisión mejorada en la consola de RDS cuando realiza una de las siguientes acciones en la página **Databases** (Bases de datos). 
+ **Crear una instancia de base de datos o un clúster de base de datos Multi-AZ**: elija **Create database** (Crear base de datos).
+ **Crear una réplica de lectura**: elija **Actions** (Acciones) y, luego, **Create read replica** (Crear una réplica de lectura).
+ **Modificación de una instancia de base de datos o clúster de base de datos multi-AZ**: elija la opción **Modificar**.

**Para activar o desactivar la supervisión mejorada en la consola de RDS**

1. Desplácese a **Additional configuration** (Configuración adicional).

1. En **Supervisión**, elija **Habilitar la monitorización mejorada** para la instancia de base de datos o réplica de lectura. Anule la selección de la opción para deshabilitar Supervisión mejorada. 

1. Establezca la propiedad **Monitoring Role (Rol de monitorización)** en el rol de IAM que ha creado para permitir que Amazon RDS se comunique con registros de Amazon Cloudwatch, o bien elija **Default (Predeterminado)** para que RDS cree un rol denominado `rds-monitoring-role`.

1. Establezca la propiedad **Nivel de detalle** en el intervalo (en segundos) entre puntos cuando se recopilan métricas para la instancia de base de datos, o réplica de lectura. La propiedad **Granularity** puede establecerse en uno de los siguientes valores: `1`, `5`, `10`, `15`, `30` o `60`.

   La velocidad más rápida a la que la consola de RDS se actualiza es cada 5 segundos. Si establece la granularidad en 1 segundo en la consola de RDS, seguirá viendo métricas actualizadas solo cada 5 segundos. Puede recuperar actualizaciones de métricas de 1 segundo mediante CloudWatch Logs.

### AWS CLI
<a name="USER_Monitoring.OS.Enabling.Procedure.CLI"></a>

Para activar la Supervisión mejorada mediante la AWS CLI, en los siguientes comandos, establezca la opción `--monitoring-interval` en un valor distinto de `0` y establezca la opción `--monitoring-role-arn` en el rol que creó en [Creación de un rol de IAM para el monitoreo mejorado](#USER_Monitoring.OS.Enabling.Prerequisites).
+ [create-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html)
+ [create-db-instance-read-replica](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance-read-replica.html)
+ [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html)
+ [create-db-clúster](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-cluster.html) (Clúster de base de datos Multi-AZ)
+ [modify-db-clúster](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-cluster.html) (Clúster de base de datos Multi-AZ)

La opción `--monitoring-interval` especifica el intervalo (en segundos) entre puntos cuando se recopilan métricas de monitoreo mejorado. Los valores válidos para la opción son `0`, `1`, `5`, `10`, `15`, `30` y `60`.

Para desactivar la supervisión mejorada mediante AWS CLI, establezca la opción `--monitoring-interval` en `0` en los siguientes comandos.

**Example**  
El siguiente ejemplo activa la Supervisión mejorada para una instancia de base de datos:  
Para Linux, macOS o Unix:  

```
aws rds modify-db-instance \
    --db-instance-identifier mydbinstance \
    --monitoring-interval 30 \
    --monitoring-role-arn arn:aws:iam::123456789012:role/emaccess
```
Para Windows:  

```
aws rds modify-db-instance ^
    --db-instance-identifier mydbinstance ^
    --monitoring-interval 30 ^
    --monitoring-role-arn arn:aws:iam::123456789012:role/emaccess
```

**Example**  
El siguiente ejemplo activa la Supervisión mejorada para una instancia de base de datos Multi-AZ:  
Para Linux, macOS o Unix:  

```
aws rds modify-db-cluster \
    --db-cluster-identifier mydbcluster \
    --monitoring-interval 30 \
    --monitoring-role-arn arn:aws:iam::123456789012:role/emaccess
```
Para Windows:  

```
aws rds modify-db-cluster ^
    --db-cluster-identifier mydbcluster ^
    --monitoring-interval 30 ^
    --monitoring-role-arn arn:aws:iam::123456789012:role/emaccess
```

### API de RDS
<a name="USER_Monitoring.OS.Enabling.Procedure.API"></a>

Para activar la supervisión mejorada mediante la API de RDS, establezca el parámetro `MonitoringInterval` en un valor distinto de `0` y establezca el parámetro `MonitoringRoleArn` en el rol que creó en [Creación de un rol de IAM para el monitoreo mejorado](#USER_Monitoring.OS.Enabling.Prerequisites). Establezca estos parámetros en las siguientes acciones:
+ [CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html)
+ [CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html)
+ [ModifyDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html)
+ [CreateDBclúster](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBCluster.html) (Clúster de base de datos Multi-AZ)
+ [ModifyDBclúster](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBCluster.html) (Clúster de base de datos Multi-AZ)

El parámetro `MonitoringInterval` especifica el intervalo (en segundos) entre puntos cuando se recopilan métricas de monitoreo mejorado. Los valores válidos son `0`, `1`, `5`, `10`, `15`, `30` y `60`.

Para desactivar la supervisión mejorada mediante la API de RDS, establezca `MonitoringInterval` en `0`.

## Protección contra el problema del suplente confuso
<a name="USER_Monitoring.OS.confused-deputy"></a>

El problema de la sustitución confusa es un problema de seguridad en el que una entidad que no tiene permiso para realizar una acción puede obligar a una entidad con más privilegios a realizar la acción. En AWS, la suplantación entre servicios puede dar lugar al problema de la sustitución confusa. La suplantación entre servicios puede producirse cuando un servicio (el *servicio que lleva a cabo las llamadas*) llama a otro servicio (el *servicio al que se llama*). El servicio que lleva a cabo las llamadas se puedes manipular para utilizar sus permisos a fin de actuar en función de los recursos de otro cliente de una manera en la que no debe tener permiso para acceder. Para evitarlo, AWS proporciona herramientas que lo ayudan a proteger sus datos para todos los servicios con entidades principales de servicio a las que se les ha dado acceso a los recursos de su cuenta. Para obtener más información, consulte [El problema del suplente confuso](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html).

Para limitar los permisos al recurso que Amazon RDS puede dar a otro servicio, se recomienda utilizar las claves de contexto de condición global de `aws:SourceArn` y `aws:SourceAccount` en una política de confianza para el rol de supervisión mejorada. Si utiliza ambas claves de contexto de condición global, deben usar el mismo ID de cuenta.

La forma más eficaz de protegerse contra el problema del suplente confuso es utilizar la clave de contexto de condición global de `aws:SourceArn` con el ARN completo del recurso. Para Amazon RDS, establezca `aws:SourceArn` en `arn:aws:rds:Region:my-account-id:db:dbname`.

En los siguientes ejemplos se utilizan las claves de contexto de condición global de `aws:SourceArn` y `aws:SourceAccount` en una política de confianza para evitar el problema del suplente confuso.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "monitoring.rds.amazonaws.com"
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "StringLike": {
          "aws:SourceArn": "arn:aws:rds:Region:my-123456789012:db:dbname"
        },
        "StringEquals": {
          "aws:SourceAccount": "my-123456789012"
        }
      }
    }
  ]
}
```

------