

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Ejemplos de políticas de mensajes retenidos
<a name="retained-message-policy-examples"></a>

El uso de [mensajes retenidos](mqtt.md#mqtt-retain) requiere políticas específicas. Los mensajes retenidos son mensajes MQTT publicados con el indicador RETAIN establecido y almacenados por. AWS IoT Core En esta sección se presentan ejemplos de políticas que permiten el uso común de los mensajes retenidos.

**Topics**
+ [Política para conectar y publicar mensajes retenidos](#retained-message-policy-examples-publish)
+ [Política para conectar y publicar mensajes retenidos Will](#retained-message-policy-examples-publish-lwt)
+ [Política para enumerar y obtener mensajes retenidos](#retained-message-policy-examples-list-get)

## Política para conectar y publicar mensajes retenidos
<a name="retained-message-policy-examples-publish"></a>

Para que un dispositivo publique los mensajes retenidos, debe poder conectarse, publicar (cualquier mensaje MQTT) y publicar los mensajes retenidos en MQTT. La siguiente política concede estos permisos para el tema: `device/sample/configuration` al cliente **device1**. Para ver otro ejemplo que concede permiso para conectarse, consulte [Ejemplos de políticas de conexión y publicación](connect-and-pub.md).

****  

```
{
	"Version":"2012-10-17",		 	 	 
	"Statement": [
		{
			"Effect": "Allow",
			"Action": [
				"iot:Connect"
			],
			"Resource": [
				"arn:aws:iot:us-east-1:123456789012:client/device1"
			]
		},
		{
			"Effect": "Allow",
			"Action": [
				"iot:Publish",
				"iot:RetainPublish"
			],
			"Resource": [
				"arn:aws:iot:us-east-1:123456789012:topic/device/sample/configuration"
			]
		}
	]
}
```

## Política para conectar y publicar mensajes retenidos Will
<a name="retained-message-policy-examples-publish-lwt"></a>

Los clientes pueden configurar un mensaje que AWS IoT Core se publicará cuando el cliente se desconecte inesperadamente. MQTT llama a este tipo de mensaje un [mensaje *Will*](http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/errata01/os/mqtt-v3.1.1-errata01-os-complete.html#_Will_Flag). Un cliente debe tener una condición adicional agregada a su permiso de conexión para poder incluirlo. 

El siguiente documento de política otorga a todos los clientes permiso para conectarse y publicar un mensaje Will, identificado por su tema, `will`, que AWS IoT Core también conservará.

****  

```
{
	"Version":"2012-10-17",		 	 	 
	"Statement": [
		{
			"Effect": "Allow",
			"Action": [
				"iot:Connect"
			],
			"Resource": [
				"arn:aws:iot:us-east-1:123456789012:client/device1"
			],
			"Condition": {
				"ForAllValues:StringEquals": {
					"iot:ConnectAttributes": [
						"LastWill"
					]
				}
			}
		},
		{
			"Effect": "Allow",
			"Action": [
				"iot:Publish",
				"iot:RetainPublish"
			],
			"Resource": [
				"arn:aws:iot:us-east-1:123456789012:topic/will"
			]
		}
	]
}
```

## Política para enumerar y obtener mensajes retenidos
<a name="retained-message-policy-examples-list-get"></a>

Los servicios y las aplicaciones pueden acceder a los mensajes retenidos sin necesidad de utilizar un cliente MQTT llamando a [https://docs.aws.amazon.com//iot/latest/apireference/API_iotdata_ListRetainedMessages.html](https://docs.aws.amazon.com//iot/latest/apireference/API_iotdata_ListRetainedMessages.html) y [https://docs.aws.amazon.com//iot/latest/apireference/API_iotdata_GetRetainedMessage.html](https://docs.aws.amazon.com//iot/latest/apireference/API_iotdata_GetRetainedMessage.html). Los servicios y las aplicaciones que invocan estas acciones deben autorizarse mediante una política como la del ejemplo siguiente.

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "iot:ListRetainedMessages"
            ],
            "Resource": [
                "arn:aws:iot:us-east-1:123456789012:client/device1"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "iot:GetRetainedMessage"
            ],
            "Resource": [
                "arn:aws:iot:us-east-1:123456789012:topic/foo"
            ]
        }
    ]
}
```