Dukungan Azure IoT Device Provisioning Service (DPS) untuk jaringan virtual
Artikel ini memperkenalkan pola konektivitas jaringan virtual (VNET) untuk provisi perangkat IoT dengan hub IoT menggunakan DPS. Pola ini menyediakan konektivitas privat antara perangkat, DPS, dan hub IoT di dalam Azure VNET milik pelanggan.
Dalam sebagian besar skenario di mana DPS dikonfigurasi dengan VNET, IoT Hub Anda juga dikonfigurasi di VNET yang sama. Untuk mengetahui informasi yang lebih spesifik tentang dukungan dan konfigurasi VNET untuk IoT Hub, lihat Dukungan jaringan virtual IoT Hub.
Pendahuluan
Secara default, nama host DPS memetakan titik akhir publik dengan alamat IP yang dapat dirutekan secara publik melalui internet. Titik akhir publik ini terlihat oleh semua pelanggan. Perangkat IoT melalui jaringan area luas dan jaringan lokal dapat mencoba mengakses titik akhir publik.
Untuk beberapa alasan, pelanggan mungkin ingin membatasi konektivitas ke sumber daya Azure, seperti DPS. Alasan ini meliputi:
Mencegah paparan koneksi melalui Internet publik. Paparan dapat dikurangi dengan memperkenalkan lebih banyak lapisan keamanan melalui isolasi tingkat jaringan untuk hub IoT dan sumber daya DPS Anda
Mengaktifkan pengalaman konektivitas privat dari aset jaringan lokal Anda yang memastikan bahwa data dan lalu lintas Anda dikirimkan langsung ke jaringan backbone Azure.
Mencegah serangan eksfiltrasi dari jaringan lokal yang sensitif.
Mengikuti pola konektivitas seluruh Azure yang ditetapkan menggunakan titik akhir privat.
Pendekatan umum untuk membatasi konektivitas termasuk aturan filter DPS IP dan Jaringan virtual (VNET) dengan titik akhir privat. Tujuan artikel ini adalah untuk menjelaskan pendekatan VNET untuk DPS menggunakan titik akhir privat.
Perangkat yang beroperasi di jaringan lokal dapat menggunakan Jaringan Privat Virtual (VPN) atau peering privat ExpressRoute untuk tersambung ke VNET di Azure dan mengakses sumber daya DPS melalui titik akhir privat.
Titik akhir privat adalah alamat IP privat yang dialokasikan di dalam VNET milik pelanggan tempat sumber daya Azure dapat diakses. Dengan memiliki titik akhir privat untuk sumber daya DPS, Anda dapat mengizinkan perangkat yang beroperasi di dalam VNET untuk meminta provisi oleh sumber daya DPS Anda tanpa mengizinkan lalu lintas ke titik akhir publik. Setiap sumber daya DPS dapat mendukung beberapa titik akhir privat, yang masing-masing mungkin terletak di VNET di wilayah yang berbeda.
Prasyarat
Sebelum melanjutkan, pastikan prasyarat berikut terpenuhi:
Sumber daya DPS Anda sudah dibuat dan ditautkan ke hub IoT Anda. Untuk panduan tentang menyiapkan sumber daya DPS baru, lihat Menyiapkan IoT Hub Device Provisioning Service dengan portal Azure
Anda telah memprovisikan Azure VNET dengan subnet tempat titik akhir privat akan dibuat. Untuk mengetahui informasi selengkapnya, lihat Membuat jaringan virtual menggunakan Azure CLI.
Untuk perangkat yang beroperasi di dalam jaringan lokal, siapkan Jaringan Privat Virtual (VPN) atau peering pribadi ExpressRoute ke Azure VNET Anda.
Batasan titik akhir privat
Perhatikan batasan saat ini berikut untuk DPS saat menggunakan titik akhir privat:
Titik akhir privat tidak berfungsi saat sumber daya DPS dan hub IoT yang ditautkan berada di cloud yang berbeda. Misalnya, Azure Government dan Azure global.
Titik akhir privat di DPS menggunakan Azure Private Link, yang hanya didukung di wilayah publik. Untuk informasi selengkapnya, lihat Ketersediaan Azure Private Link.
Saat ini, kebijakan alokasi kustom dengan Azure Functions untuk DPS tidak berfungsi saat fungsi Azure dikunci ke VNET dan titik akhir privat.
Dukungan DPS VNET saat ini hanya untuk ingress data ke dalam DPS. Egress data, yang merupakan lalu lintas dari DPS ke IoT Hub, menggunakan mekanisme layanan ke layanan internal daripada VNET khusus. Dukungan untuk penguncian keluar berbasis VNET penuh antara DPS dan IoT Hub saat ini tidak tersedia.
Kebijakan alokasi latensi terendah digunakan untuk menetapkan perangkat ke hub IoT dengan latensi terendah. Kebijakan alokasi ini tidak dapat diandalkan dalam lingkungan jaringan virtual.
Mengaktifkan satu atau beberapa titik akhir privat biasanya melibatkan penonaktifan akses publik ke instans DPS Anda. Setelah akses publik dinonaktifkan, Anda tidak dapat lagi menggunakan portal Azure untuk mengelola pendaftaran. Sebagai gantinya, Anda dapat mengelola pendaftaran menggunakan Azure CLI, PowerShell, atau API layanan dari komputer di dalam titik akhir privat VNET/yang dikonfigurasi pada instans DPS.
Saat menggunakan titik akhir privat, sebaiknya sebarkan DPS di salah satu wilayah yang mendukung Zona Ketersediaan. Jika tidak, instans DPS dengan titik akhir privat yang diaktifkan dapat melihat berkurangnya ketersediaan jika terjadi pemadaman.
Catatan
Pertimbangan residensi data:
DPS menyediakan titik akhir perangkat Global (global.azure-devices-provisioning.net
). Namun, ketika Anda menggunakan titik akhir global, data Anda dapat dialihkan ke luar wilayah tempat instans DPS awalnya dibuat. Untuk memastikan residensi data di wilayah DPS awal, gunakan titik akhir privat.
Menyiapkan titik akhir privat
Untuk menyiapkan titik akhir privat, ikuti langkah-langkah berikut:
Di portal Azure, buka sumber daya DPS Anda dan pilih tab Jaringan. Pilih Koneksi titik akhir privat dan + Titik akhir privat.
Pada halaman Buat Dasar-Dasar titik akhir privat, masukkan informasi yang disebutkan dalam tabel berikut ini.
Bidang Nilai Langganan Pilih langganan Azure yang diinginkan untuk memuat titik akhir privat. Grup sumber daya Memilih atau membuat grup sumber daya untuk memuat titik akhir privat Nama Masukkan nama apa pun untuk titik akhir privat Anda Wilayah Wilayah yang dipilih harus sama dengan wilayah yang berisi VNET, tetapi tidak harus sama dengan sumber daya DPS. Pilih Berikutnya : Sumber daya untuk mengonfigurasi sumber daya yang dimajukan oleh titik akhir privat.
Pada halaman Buat Sumber Daya titik akhir privat, masukkan informasi yang disebutkan dalam tabel berikut ini.
Bidang Nilai Langganan Pilih langganan Azure yang berisi sumber daya DPS yang dituju titik akhir privat Anda. Jenis Sumber Daya Pilih Microsoft.Devices/ProvisioningServices. Sumber daya Pilih sumber daya DPS tempat titik akhir privat dipetakan. Sub-sumber daya target Pilih iotDps. Tip
Informasi tentang pengaturan Sambungkan ke sumber daya Azure menurut ID sumber daya atau alias disediakan di bagian Minta titik akhir privat di artikel ini.
Pilih Berikutnya : Konfigurasi untuk mengonfigurasi VNET untuk titik akhir privat.
Di halaman Konfigurasi Buat titik akhir privat, pilih jaringan virtual dan subnet Anda untuk membuat titik akhir privat.
Pilih Berikutnya : Tag, dan secara opsional berikan tag apa pun untuk sumber daya Anda.
Pilih Tinjau + buat lalu Buat untuk membuat sumber daya titik akhir privat Anda.
Menggunakan titik akhir privat dengan perangkat
Untuk menggunakan titik akhir privat dengan kode provisi perangkat, kode provisi Anda harus menggunakan titik akhir Layanan tertentu untuk instans DPS Anda seperti yang ditunjukkan pada halaman gambaran umum instans DPS Anda di portal Azure. Titik akhir layanan memiliki formulir berikut.
<Your DPS Tenant Name>.azure-devices-provisioning.net
Sebagian besar kode sampel yang ditunjukkan dalam dokumentasi dan SDK kami, menggunakan Titik akhir perangkat global (global.azure-devices-provisioning.net
) dan Cakupan ID untuk menyelesaikan instans DPS tertentu. Gunakan titik akhir layanan sebagai pengganti titik akhir perangkat global saat menyambungkan ke instans DPS menggunakan titik akhir privat untuk menyediakan perangkat Anda.
Misalnya, sampel klien perangkat provisi (pro_dev_client_sample) di Azure IoT C SDK dirancang untuk menggunakan Titik akhir perangkat global sebagai URI provisi global (global_prov_uri
) di prov_dev_client_sample.c
MU_DEFINE_ENUM_STRINGS_WITHOUT_INVALID(PROV_DEVICE_RESULT, PROV_DEVICE_RESULT_VALUE);
MU_DEFINE_ENUM_STRINGS_WITHOUT_INVALID(PROV_DEVICE_REG_STATUS, PROV_DEVICE_REG_STATUS_VALUES);
static const char* global_prov_uri = "global.azure-devices-provisioning.net";
static const char* id_scope = "[ID Scope]";
}
PROV_DEVICE_RESULT prov_device_result = PROV_DEVICE_RESULT_ERROR;
PROV_DEVICE_HANDLE prov_device_handle;
if ((prov_device_handle = Prov_Device_Create(global_prov_uri, id_scope, prov_transport)) == NULL)
{
(void)printf("failed calling Prov_Device_Create\r\n");
Untuk menggunakan sampel dengan titik akhir privat, kode yang disorot di atas akan diubah untuk menggunakan titik akhir layanan untuk sumber daya DPS Anda. Misalnya, jika titik akhir layanan Anda adalah mydps.azure-devices-provisioning.net
, kode akan terlihat sebagai berikut.
static const char* global_prov_uri = "global.azure-devices-provisioning.net";
static const char* service_uri = "mydps.azure-devices-provisioning.net";
static const char* id_scope = "[ID Scope]";
PROV_DEVICE_RESULT prov_device_result = PROV_DEVICE_RESULT_ERROR;
PROV_DEVICE_HANDLE prov_device_handle;
if ((prov_device_handle = Prov_Device_Create(service_uri, id_scope, prov_transport)) == NULL)
{
(void)printf("failed calling Prov_Device_Create\r\n");
}
Meminta titik akhir privat
Anda dapat meminta titik akhir privat ke instans DPS berdasarkan ID sumber daya. Untuk membuat permintaan ini, Anda memerlukan pemilik sumber daya untuk menyediakan ID sumber daya kepada Anda.
ID sumber daya disediakan pada tab properti untuk sumber daya DPS seperti yang ditunjukkan di bawah.
Perhatian
Ketahuilah bahwa ID sumber daya berisi ID langganan.
Setelah Anda memiliki ID sumber daya, ikuti langkah-langkah di atas dalam Menyiapkan titik akhir privat untuk langkah 3 di halaman Sumber daya Membuat titik akhir privat. Pilih Koneksi ke sumber daya Azure menurut ID sumber daya atau alias dan masukkan informasi dalam tabel berikut.
Bidang Nilai ID sumber daya atau alias Masukkan ID sumber daya untuk sumber daya DPS. Sub-sumber daya target Masukkan iotDps Pesan permintaan Masukkan pesan permintaan untuk pemilik sumber daya DPS.
Misalnya:Please approve this new private endpoint
for IoT devices in site 23 to access this DPS instance
Pilih Berikutnya : Konfigurasi untuk mengonfigurasi VNET untuk titik akhir privat.
Di halaman Konfigurasi Buat titik akhir privat, pilih jaringan virtual dan subnet untuk membuat titik akhir privat.
Pilih Berikutnya : Tag, dan secara opsional berikan tag apa pun untuk sumber daya Anda.
Pilih Tinjau + buat lalu Buat untuk membuat permintaan titik akhir privat Anda.
Pemilik DPS melihat permintaan titik akhir privat di daftar Koneksi titik akhir privat pada tab jaringan DPS. Pada halaman tersebut, pemilik dapat Menyetujui atau Menolak permintaan titik akhir privat.
Harga titik akhir privat
Untuk detail harga, lihat Harga Azure Private Link.
Langkah berikutnya
Gunakan tautan di bawah untuk mempelajari lebih lanjut tentang fitur keamanan DPS: