

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.

# Variables de política básicas AWS IoT Core
<a name="basic-policy-variables"></a>

AWS IoT Core define las siguientes variables de política básicas:
+ `aws:SourceIp`: la dirección IP del cliente conectado al agente de AWS IoT Core mensajes.
+ `iot:ClientId`: es el ID de cliente que se utiliza para conectarse con el agente de mensajes de AWS IoT Core .
+ `iot:DomainName`: el nombre de dominio del cliente al que está conectado AWS IoT Core.

**Topics**
+ [Ejemplos de `ClientId` y variables de política `SourceIp`](#basic-policy-variables-example)
+ [Ejemplos de la variable de política `iot:DomainName`](#basic-policy-variables-example-domain)

## Ejemplos de `ClientId` y variables de política `SourceIp`
<a name="basic-policy-variables-example"></a>

La siguiente AWS IoT Core política muestra una política que utiliza variables de política. `aws:SourceIp`se puede usar en el elemento Condición de tu política para permitir que los directores realicen solicitudes a la API solo dentro de un rango de direcciones específico. Para ver ejemplos, consulte [Autorizar a los usuarios y los servicios en la nube a usar Jobs AWS IoT](iam-policy-users-jobs.md).

****  

```
{
	"Version":"2012-10-17",		 	 	 
	"Statement": [
		{
			"Effect": "Allow",
			"Action": [
				"iot:Connect"
			],
			"Resource": [
				"arn:aws:iot:us-east-1:123456789012:client/clientid1"
			]
		},
		{
			"Effect": "Allow",
			"Action": [
				"iot:Publish"
			],
			"Resource": [
				"arn:aws:iot:us-east-1:123456789012:topic/my/topic/${iot:ClientId}"
			],
			"Condition": {
				"IpAddress": {
					"aws:SourceIp": "123.45.167.89"
				}
			}
		}
	]
}
```

En estos ejemplos, `${iot:ClientId}` se sustituye por el ID del cliente conectado al agente de AWS IoT Core mensajes cuando se evalúa la política. Cuando utiliza variables de la política como `${iot:ClientId}`, puede abrir de forma accidental el acceso a temas que no quería incluir. Por ejemplo, si utiliza una política que utiliza `${iot:ClientId}` para especificar un filtro de temas:

```
{
	"Effect": "Allow",
	"Action": [
		"iot:Subscribe"
	],
	"Resource": [
		"arn:aws:iot:us-east-1:123456789012:topicfilter/my/${iot:ClientId}/topic"
	]
}
```

Un cliente puede conectarse usando `+` como ID de cliente. Esto puede permitir al usuario suscribirse a cualquier tema que coincida con el filtro de temas `my/+/topic`. Para protegerse contra estas brechas de seguridad, utilice la acción `iot:Connect` política para controlar qué cliente IDs se puede conectar. Por ejemplo, esta política permite conectarse únicamente a los clientes cuyo ID de cliente sea `clientid1`:

****  

```
{
	"Version":"2012-10-17",		 	 	 
	"Statement": [
		{
			"Effect": "Allow",
			"Action": [
				"iot:Connect"
			],
			"Resource": [
				"arn:aws:iot:us-east-1:123456789012:client/clientid"
			]
		}
	]
}
```

**nota**  
No se recomienda utilizar la variable de política `${iot:ClientId}` con `Connect`. No se comprueba el valor de `ClientId`, por lo que un asociador con un identificador de cliente diferente puede superar la validación pero provocar la desconexión. Como cualquier `ClientId` está permitido, si se establece un ID de cliente aleatorio, se pueden omitir las políticas de los grupos de objetos.

## Ejemplos de la variable de política `iot:DomainName`
<a name="basic-policy-variables-example-domain"></a>

Puede agregar la variable de política `iot:DomainName` para restringir los dominios que se pueden usar. Agregar la variable de política `iot:DomainName` permite que los dispositivos se conecten solo a determinados puntos de conexión configurados.

La siguiente política permite que los dispositivos se conecten al dominio especificado.

****  

```
{
	"Version":"2012-10-17",		 	 	 
	"Statement": {
		"Sid": "AllowConnectionsToSpecifiedDomain",
		"Effect": "Allow",
		"Action": [
			"iot:Connect"
		],
		"Resource": "arn:aws:iot:us-east-1:123456789012:client/clientid",
		"Condition": {
			"StringEquals": {
				"iot:DomainName": "d1234567890abcdefghij-ats.iot.us-east-1.amazonaws.com"
			}
		}
	}
}
```

La siguiente política impide que los dispositivos se conecten al dominio especificado.

****  

```
{
	"Version":"2012-10-17",		 	 	 
	"Statement": {
		"Sid": "DenyConnectionsToSpecifiedDomain",
		"Effect": "Deny",
		"Action": [
			"iot:Connect"
		],
		"Resource": "arn:aws:iot:us-east-1:123456789012:client/clientid",
		"Condition": {
			"StringEquals": {
				"iot:DomainName": "d1234567890abcdefghij-ats.iot.us-east-1.amazonaws.com"
			}
		}
	}
}
```

Para obtener más información acerca de los operadores de condición de las políticas, consulte [Elementos de la política de JSON de IAM: operadores de condición](https://docs.aws.amazon.com//IAM/latest/UserGuide/reference_policies_elements_condition_operators.html). Para obtener más información sobre las configuraciones de dominios, consulte [What is a domain configuration?](https://docs.aws.amazon.com//iot/latest/developerguide/iot-custom-endpoints-configurable.html).