

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Variáveis AWS IoT Core políticas básicas
<a name="basic-policy-variables"></a>

AWS IoT Core define as seguintes variáveis básicas de política:
+ `aws:SourceIp`: o endereço IP do cliente conectado ao agente de AWS IoT Core mensagens.
+ `iot:ClientId`: o ID do cliente usado para se conectar ao agente de mensagens do AWS IoT Core .
+ `iot:DomainName`: o nome de domínio do cliente conectado AWS IoT Core a.

**Topics**
+ [Exemplos de variáveis de política `ClientId` e `SourceIp`](#basic-policy-variables-example)
+ [Exemplos de variável de política `iot:DomainName`](#basic-policy-variables-example-domain)

## Exemplos de variáveis de política `ClientId` e `SourceIp`
<a name="basic-policy-variables-example"></a>

A AWS IoT Core política a seguir mostra uma política que usa variáveis de política. `aws:SourceIp`pode ser usado no elemento Condição da sua política para permitir que os diretores façam solicitações de API somente dentro de um intervalo de endereços específico. Para obter exemplos, consulte [Autorizando usuários e serviços em nuvem a usar o 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"
				}
			}
		}
	]
}
```

Nesses exemplos, `${iot:ClientId}` é substituído pelo ID do cliente conectado ao agente de AWS IoT Core mensagens quando a política é avaliada. Quando você usa variáveis de políticas, como `${iot:ClientId}`, você pode abrir acidentalmente o acesso a tópicos não intencionais. Por exemplo, se você usa uma política que usa `${iot:ClientId}` para especificar um filtro de tópico:

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

Um cliente pode se conectar usando `+` como o ID do cliente. Isso permitiria que o usuário se inscrevesse em qualquer tópico que correspondesse ao filtro de tópico `my/+/topic`. Para se proteger contra essas falhas de segurança, use a ação `iot:Connect` de política para controlar qual cliente IDs pode se conectar. Por exemplo, essa política permite que apenas clientes cujo ID é `clientid1` se conectem:

****  

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

**nota**  
Não é recomendável usar a variável de política `${iot:ClientId}` com `Connect`. Não há verificação do valor de `ClientId`; portanto, um anexador com um ID de cliente diferente pode passar na validação, mas causar a desconexão. Como qualquer `ClientId` é permitido, definir um ID de cliente aleatório pode ignorar as políticas do grupo de objetos.

## Exemplos de variável de política `iot:DomainName`
<a name="basic-policy-variables-example-domain"></a>

Você pode adicionar a variável de política `iot:DomainName` para restringir quais domínios podem ser usados. Adicionar a variável de política `iot:DomainName` permite que os dispositivos se conectem apenas a endpoints configurados específicos.

A política a seguir permite que os dispositivos se conectem ao domínio 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"
			}
		}
	}
}
```

A política a seguir nega que os dispositivos se conectem ao domínio 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 obter mais informações sobre operadores de condição de política, consulte [Elementos de política JSON do IAM: operadores de condição](https://docs.aws.amazon.com//IAM/latest/UserGuide/reference_policies_elements_condition_operators.html). Para obter mais informações sobre configurações de domínio, consulte [O que é uma configuração de domínio?](https://docs.aws.amazon.com//iot/latest/developerguide/iot-custom-endpoints-configurable.html).