

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Variabel AWS IoT Core kebijakan dasar
<a name="basic-policy-variables"></a>

AWS IoT Core mendefinisikan variabel kebijakan dasar berikut:
+ `aws:SourceIp`: Alamat IP klien yang terhubung ke broker AWS IoT Core pesan.
+ `iot:ClientId`: ID klien yang digunakan untuk terhubung ke broker AWS IoT Core pesan.
+ `iot:DomainName`: Nama domain klien yang terhubung ke AWS IoT Core.

**Topics**
+ [Contoh `ClientId` dan variabel `SourceIp` kebijakan](#basic-policy-variables-example)
+ [Contoh variabel `iot:DomainName` kebijakan](#basic-policy-variables-example-domain)

## Contoh `ClientId` dan variabel `SourceIp` kebijakan
<a name="basic-policy-variables-example"></a>

 AWS IoT Core Kebijakan berikut menunjukkan kebijakan yang menggunakan variabel kebijakan. `aws:SourceIp`dapat digunakan dalam elemen Kondisi kebijakan Anda untuk mengizinkan prinsipal membuat permintaan API hanya dalam rentang alamat tertentu. Sebagai contoh, lihat [Mengotorisasi pengguna dan layanan cloud untuk menggunakan AWS IoT Jobs](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"
				}
			}
		}
	]
}
```

Dalam contoh `${iot:ClientId}` ini, diganti dengan ID klien yang terhubung ke broker AWS IoT Core pesan ketika kebijakan dievaluasi. Bila Anda menggunakan variabel kebijakan seperti`${iot:ClientId}`, Anda dapat secara tidak sengaja membuka akses ke topik yang tidak diinginkan. Misalnya, jika Anda menggunakan kebijakan yang digunakan `${iot:ClientId}` untuk menentukan filter topik:

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

Klien dapat terhubung menggunakan `+` sebagai ID klien. Ini akan memungkinkan pengguna untuk berlangganan topik apa pun yang cocok dengan filter topik`my/+/topic`. Untuk melindungi dari kesenjangan keamanan tersebut, gunakan tindakan `iot:Connect` kebijakan untuk mengontrol klien mana yang IDs dapat terhubung. Misalnya, kebijakan ini hanya mengizinkan klien yang ID kliennya `clientid1` terhubung:

****  

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

**catatan**  
Menggunakan variabel kebijakan `${iot:ClientId}` dengan tidak `Connect` disarankan. Tidak ada pemeriksaan pada nilai`ClientId`, sehingga lampiran dengan ID klien yang berbeda dapat lulus validasi tetapi menyebabkan pemutusan. Karena `ClientId` ada yang diizinkan, menyetel ID klien acak dapat melewati kebijakan grup hal.

## Contoh variabel `iot:DomainName` kebijakan
<a name="basic-policy-variables-example-domain"></a>

Anda dapat menambahkan variabel `iot:DomainName` kebijakan untuk membatasi domain mana yang diizinkan untuk digunakan. Menambahkan variabel `iot:DomainName` kebijakan memungkinkan perangkat untuk terhubung hanya ke titik akhir tertentu yang dikonfigurasi.

Kebijakan berikut memungkinkan perangkat untuk terhubung ke domain yang ditentukan.

****  

```
{
	"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"
			}
		}
	}
}
```

Kebijakan berikut menolak perangkat untuk terhubung ke domain yang ditentukan.

****  

```
{
	"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"
			}
		}
	}
}
```

Untuk informasi selengkapnya tentang operator bersyarat kebijakan, lihat [elemen kebijakan IAM JSON:](https://docs.aws.amazon.com//IAM/latest/UserGuide/reference_policies_elements_condition_operators.html) Operator kondisi. Untuk informasi selengkapnya tentang konfigurasi domain, lihat [Apa itu konfigurasi domain?](https://docs.aws.amazon.com//iot/latest/developerguide/iot-custom-endpoints-configurable.html) .