

# Uso de roles vinculados a servicios para CloudWatch RUM
<a name="using-service-linked-roles-RUM"></a>

CloudWatch RUM utiliza un [rol vinculado al servicio AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role). Un rol vinculado a un servicio es un tipo único de rol de IAM que está vinculado directamente a RUM. El rol vinculado al servicio está predefinido por RUM e incluye todos los permisos que el servicio requiere para llamar a otros servicios de AWS en su nombre. 

RUM define los permisos de estos roles vinculados al servicio y, a menos que esté definido de otra manera, solo RUM puede asumir el rol. Los permisos definidos incluyen las políticas de confianza y de permisos, y que la política de permisos no se pueda asociar a ninguna otra entidad de IAM.

Los roles solo se pueden eliminar después de eliminar primero sus recursos relacionados. Esta restricción protege los recursos de RUM, ya que evita que se puedan quitar permisos de acceso a ellos de forma accidental.

Para obtener información sobre otros servicios que admiten roles vinculados al servicio, consulte [Servicios de AWS que funcionan con IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) y busque aquellos servicios que tengan **Sí** en la columna **Roles vinculados a servicios**. Elija una opción **Sí** con un enlace para ver la documentación acerca del rol vinculado al servicio en cuestión.

## Permisos de roles vinculados a servicios para RUM
<a name="service-linked-role-permissions-RUM"></a>

RUM usa el rol vinculado a un servicio denominado **AWSServiceRoleForCloudWatchRUM**: esta función permite que RUM envíe datos de seguimiento de AWS X-Ray a su cuenta, para monitores de aplicaciones para los que habilita el seguimiento de X-Ray.

El rol vinculado al servicio **AWSServiceRoleForCloudWatchCrossAccount** confía en que el servicio de X-Ray asuma el rol. X-Ray envía los datos de seguimiento a su cuenta.

El rol vinculado al servicio **AWSServiceRoleForCloudWatchRUM** tiene una política de IAM adjunta denominada**AmazonCloudWatchRUMServiceRolePolicy** (Política de rol de servicio de Amazon CloudWatch RUM). Esta política le concede permiso a CloudWatch RUM para publicar datos de supervisión en otros servicios pertinentes de AWS. Incluye permisos que permiten que RUM complete las siguientes acciones:
+ `xray:PutTraceSegments`
+ `cloudwatch:PutMetricData`

A continuación se detalla el contenido completo de la política **AmazonCloudWatchRUMServiceRolePolicy**.

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

****  

```
{
	"Version":"2012-10-17",		 	 	 
	"Statement": [
		{
			"Effect": "Allow",
			"Action": [
				"xray:PutTraceSegments"
			],
			"Resource": [
				"*"
			]
		},
		{
			"Effect": "Allow",
			"Action": "cloudwatch:PutMetricData",
			"Resource": "*",
			"Condition": {
				"StringLike": {
					"cloudwatch:namespace": [
						"RUM/CustomMetrics/*",
						"AWS/RUM"
					]
				}
			}
		}
	]
}
```

------

## Creación de un rol vinculado a un servicio para RUM
<a name="create-service-linked-role-RUM"></a>

No es necesario crear un rol vinculado a un servicio de forma manual para CloudWatch RUM. La primera vez que crea un monitor de aplicaciones con el seguimiento de X-Ray habilitado o actualiza un monitor de aplicaciones para utilizar el seguimiento de X-Ray, RUM le crea un **AWSServiceRoleForCloudWatchRUM**. 

Para obtener más información, consulte [Creación de un rol vinculado a un servicio](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#create-service-linked-role) en la *Guía del usuario de IAM*.

## Edición de un rol vinculado a un servicio para RUM
<a name="edit-service-linked-role-RUM"></a>

CloudWatch RUM no le permite editar el rol **AWSServiceRoleForCloudWatchRUM**. Después de crear estos roles, no puede cambiar sus nombres, porque diversas entidades pueden hacer referencia a ellos. Sin embargo, puede editar la descripción de estos roles mediante IAM. 

### Edición de la descripción de un rol vinculado a un servicio (consola de IAM)
<a name="edit-service-linked-role-iam-console-RUM"></a>

Puede utilizar la consola de IAM para editar la descripción de un rol vinculado a un servicio.

**Para editar la descripción de un rol vinculado a un servicio (consola)**

1. En el panel de navegación de la consola de IAM, elija **Roles**.

1. Seleccione el nombre del rol que desea modificar.

1. En el extremo derecho de **Role description**, seleccione **Edit**. 

1. Escriba una nueva descripción en el cuadro y elija **Save (Guardar)**.

### Edición de la descripción de un rol vinculado a servicio (AWS CLI)
<a name="edit-service-linked-role-iam-cli-RUM"></a>

Puede utilizar comandos de IAM desde la AWS Command Line Interface para editar la descripción de un rol vinculado a un servicio.

**Para cambiar la descripción de un rol vinculado a un servicio (AWS CLI)**

1. (Opcional) Para ver la descripción actual de un rol, ejecute uno de los siguientes comandos:

   ```
   $ aws iam [get-role](https://docs.aws.amazon.com/cli/latest/reference/iam/get-role.html) --role-name role-name
   ```

   Utilice el nombre del rol, no el ARN, para hacer referencia a los roles con los comandos de AWS CLI. Por ejemplo, si un rol tiene el ARN `arn:aws:iam::123456789012:role/myrole`, debe referirse a él como **myrole**.

1. Para actualizar la descripción de un rol vinculado a un servicio, ejecute el siguiente comando:

   ```
   $ aws iam [update-role-description](https://docs.aws.amazon.com/cli/latest/reference/iam/update-role-description.html) --role-name role-name --description description
   ```

### Edición de la descripción de un rol vinculado a un servicio (API de IAM)
<a name="edit-service-linked-role-iam-api-RUM"></a>

Puede utilizar la API de IAM para editar la descripción de un rol vinculado a un servicio.

**Para cambiar la descripción de un rol vinculado a un servicio (API)**

1. (Opcional) Para ver la descripción actual de una función, ejecute el siguiente comando:

   [GetRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetRole.html) 

1. Para actualizar la descripción de una función, use el siguiente comando: 

   [UpdateRoleDescription](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateRoleDescription.html)

## Eliminación de un rol vinculado a un servicio para RUM
<a name="delete-service-linked-role-RUM"></a>

Si ya no tiene monitores de aplicación con X-Ray habilitado, le recomendamos que elimine el rol **AWSServiceRoleForCloudWatchRUM**.

Así no tendrá una entidad no utilizada que no se supervise ni mantenga de forma activa. Sin embargo, debe limpiar el rol vinculado al servicio antes de eliminarlo.

### Limpiar un rol vinculado a servicios
<a name="service-linked-role-review-before-delete"></a>

Antes de poder utilizar IAM para eliminar un rol vinculado a un servicio, primero debe confirmar que dicho rol no tiene sesiones activas y eliminar los recursos que utiliza.

**Para comprobar si el rol vinculado a un servicio tiene una sesión activa en la consola de IAM**

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

1. Seleccione **Roles** en el panel de navegación. Elija el nombre (no el casillero) del rol **AWSServiceRoleForCloudWatchRUM**.

1. En la página **Summary** del rol seleccionado, elija **Access Advisor** y revise la actividad reciente del rol vinculado al servicio.
**nota**  
Si no está seguro acerca de si RUM utiliza el rol **AWSServiceRoleForCloudWatchRUM**, intente eliminar el rol. Si el servicio está utilizando el rol, este no podrá eliminarse y podrá ver las regiones en las que se está utilizando. Si el rol se está utilizando, debe esperar que la sesión finalice para poder eliminarlo. No se puede revocar la sesión de un rol vinculado a servicios. 

### Eliminación de un rol vinculado a un servicio (consola de IAM)
<a name="delete-service-linked-role-iam-console-RUM"></a>

Puede utilizar la consola de IAM para eliminar un rol vinculado a un servicio.

**Para eliminar un rol vinculado a un servicio (consola)**

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

1. Seleccione **Roles** en el panel de navegación. Seleccione la casilla junto al nombre del rol que desea eliminar, no el nombre ni la fila. 

1. En **Role actions**, elija **Delete role**.

1. En el cuadro de diálogo de confirmación, revise los datos del último acceso al servicio, que muestra cuándo cada una de las funciones seleccionadas tuvo acceso a un servicio de AWS por última vez. Esto lo ayuda a confirmar si el rol está actualmente activo. Para continuar, elija **Yes, Delete**.

1. Consulte las notificaciones de la consola de IAM para supervisar el progreso de la eliminación del rol vinculado al servicio. Debido a que el proceso de eliminación del rol vinculado al servicio de IAM es asíncrono, la tarea de eliminación puede realizarse correcta o incorrectamente después de que envía la solicitud de eliminación. Si la tarea no se realiza correctamente, elija **View details** o **View Resources** desde las notificaciones para obtener información acerca de por qué no se pudo eliminar el rol. Si la eliminación no pudo producirse porque hay recursos en el servicio que está utilizando el rol, entonces el motivo del error incluye una lista de recursos.

### Eliminar un rol vinculado a un servicio (AWS CLI)
<a name="delete-service-linked-role-iam-cli-RUM"></a>

Puede utilizar los comandos de IAM desde la AWS Command Line Interface para eliminar un rol vinculado a un servicio.

**Para eliminar un rol vinculado a un servicio (AWS CLI)**

1. Como los roles vinculados a servicios no se puede eliminar si están en uso o tienen recursos asociados, debe enviar una solicitud de eliminación. Esta solicitud puede denegarse si no se cumplen estas condiciones. Debe apuntar el valor `deletion-task-id` de la respuesta para comprobar el estado de la tarea de eliminación. Escriba el siguiente comando para enviar una solicitud de eliminación de un rol vinculado a un servicio:

   ```
   $ aws iam [delete-service-linked-role](https://docs.aws.amazon.com/cli/latest/reference/iam/delete-service-linked-role.html) --role-name service-linked-role-name
   ```

1. Escriba el siguiente comando para comprobar el estado de la tarea de eliminación:

   ```
   $ aws iam [get-service-linked-role-deletion-status](https://docs.aws.amazon.com/cli/latest/reference/iam/get-service-linked-role-deletion-status.html) --deletion-task-id deletion-task-id
   ```

   El estado de la tarea de eliminación puede ser `NOT_STARTED`, `IN_PROGRESS`, `SUCCEEDED` o `FAILED`. Si ocurre un error durante la eliminación, la llamada devuelve el motivo del error para que pueda resolver el problema.

### Eliminación de un rol vinculado a un servicio (API de IAM)
<a name="delete-service-linked-role-iam-api-RUM"></a>

Puede utilizar la API de IAM para eliminar un rol vinculado a un servicio.

**Para eliminar un rol vinculado a un servicio (API)**

1. Para enviar una solicitud de eliminación de un rol vinculado a un servicio, realice una llamada a [DeleteServiceLinkedRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteServiceLinkedRole.html). En la solicitud, especifique el nombre de rol que desea eliminar.

   Como los roles vinculados a servicios no se puede eliminar si están en uso o tienen recursos asociados, debe enviar una solicitud de eliminación. Esta solicitud puede denegarse si no se cumplen estas condiciones. Debe apuntar el valor `DeletionTaskId` de la respuesta para comprobar el estado de la tarea de eliminación.

1. Para comprobar el estado de la tarea de eliminación, realice una llamada a [GetServiceLinkedRoleDeletionStatus](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetServiceLinkedRoleDeletionStatus.html). En la solicitud, especifique el valor de `DeletionTaskId`.

   El estado de la tarea de eliminación puede ser `NOT_STARTED`, `IN_PROGRESS`, `SUCCEEDED` o `FAILED`. Si ocurre un error durante la eliminación, la llamada devuelve el motivo del error para que pueda resolver el problema.

## Regiones admitidas para los roles vinculados al servicio de CloudWatch RUM
<a name="RUM-SLR-Regions"></a>

CloudWatch RUM permite utilizar roles vinculados al servicio en todas las regiones de AWS en las que el servicio está disponible. Para obtener más información, consulte [Puntos de conexión del servicio CloudWatch RUM](https://docs.aws.amazon.com/general/latest/gr/cw_rum_region.html).