Bagikan melalui


Dukungan Azure IoT Hub untuk identitas terkelola

Identitas terkelola menyediakan layanan Azure dengan identitas terkelola secara otomatis di Microsoft Entra ID dengan cara yang aman. Ini menghilangkan kebutuhan bagi pengembang harus mengelola informasi masuk dengan memberikan identitas. Ada dua jenis identitas terkelola, yaitu identitas yang ditetapkan sistem dan identitas yang ditetapkan pengguna. IoT Hub mendukung keduanya.

Di IoT Hub, identitas terkelola dapat digunakan untuk menyambungkan IoT Hub ke layanan Azure lainnya untuk fitur seperti perutean pesan, pengunggahan file, dan impor/ekspor perangkat massal. Dalam artikel ini, Anda mempelajari cara menggunakan identitas terkelola yang ditetapkan sistem dan ditetapkan pengguna di hub IoT Anda untuk berbagai fungsionalitas.

Prasyarat

Identitas terkelola yang ditetapkan sistem

Anda dapat mengaktifkan atau menonaktifkan identitas terkelola yang ditetapkan sistem di portal Azure

  1. Masuk ke portal Azure dan navigasikan ke IoT hub Anda.

  2. Pilih Identitas dari bagian Pengaturan keamanan pada menu navigasi.

  3. Pilih tab Sistem yang ditetapkan.

  4. Atur Status identitas terkelola yang ditetapkan sistem ke Aktif atau Nonaktif, lalu pilih Simpan.

    Catatan

    Anda tidak dapat menonaktifkan identitas terkelola yang ditetapkan sistem saat sedang digunakan. Pastikan bahwa tidak ada titik akhir kustom yang menggunakan autentikasi identitas terkelola yang ditetapkan sistem sebelum menonaktifkan fitur tersebut.

    Cuplikan layar memperlihatkan tempat mengaktifkan identitas terkelola yang ditetapkan sistem untuk hub IoT.

Identitas terkelola yang ditetapkan pengguna

Di bagian ini, Anda mempelajari cara menambahkan dan menghapus identitas terkelola yang ditetapkan pengguna dari hub IoT menggunakan portal Azure.

  1. Pertama, Anda perlu membuat identitas terkelola yang ditetapkan pengguna sebagai sumber daya mandiri. Untuk melakukannya, Anda dapat mengikuti instruksi di Mengelola identitas terkelola yang ditetapkan pengguna.

  2. Pergi ke hub IoT Anda, navigasi ke Identitas di portal IoT Hub.

  3. Di bagian tab Ditetapkan Pengguna, klik Tambahkan identitas terkelola yang ditetapkan pengguna. Pilih identitas terkelola yang ditetapkan pengguna yang ingin Anda tambahkan ke hub Anda lalu klik Pilih.

  4. Anda dapat menghapus identitas yang ditetapkan pengguna dari hub IoT. Pilih identitas yang ditetapkan pengguna yang ingin Anda hapus, dan klik tombol Hapus. Catatan Anda hanya menghapusnya dari hub IoT, dan penghapusan ini tidak menghapus identitas yang ditetapkan pengguna sebagai sumber daya. Untuk menghapus identitas yang ditetapkan pengguna sebagai sumber daya, ikuti instruksi di Mengelola identitas terkelola yang ditetapkan pengguna.

    Cuplikan layar memperlihatkan cara menambahkan identitas terkelola yang ditetapkan pengguna untuk hub IoT.

Konektivitas keluar dari IoT Hub ke sumber daya Azure lainnya

Identitas terkelola dapat digunakan untuk konektivitas keluar dari IoT Hub ke layanan Azure lainnya. Anda dapat memilih identitas terkelola yang akan digunakan untuk setiap konektivitas keluar IoT Hub ke titik akhir milik pelanggan termasuk akun penyimpanan, hub peristiwa, dan titik akhir bus layanan.

Catatan

Hanya identitas terkelola yang ditetapkan sistem yang memberi IoT Hub akses ke sumber daya privat. Jika Anda ingin menggunakan identitas terkelola yang ditetapkan pengguna, maka akses publik pada sumber daya pribadi tersebut perlu diaktifkan untuk memungkinkan konektivitas.

Mengonfigurasi perutean pesan dengan identitas terkelola

Di bagian ini, kami menggunakan perutean pesan ke titik akhir kustom Azure Event Hubs sebagai contoh. Contoh ini juga berlaku untuk titik akhir kustom perutean lainnya.

  1. Buka hub peristiwa Anda di portal Azure untuk menetapkan identitas terkelola sebagai akses yang tepat.

  2. Pilih Kontrol Akses (IAM) .

  3. Pilih Tambahkan > Tambahkan penetapan peran.

    Cuplikan layar yang menunjukkan halaman Kontrol akses (IAM) dengan menu Tambahkan penetapan peran terbuka.

  4. Di tab Peran, pilih Pengirim Data Azure Event Hubs.

    Catatan

    Untuk akun penyimpanan, pilih Kontributor Data Blob Penyimpanan (bukan Kontributor atau Kontributor Akun Penyimpanan) sebagai peran. Untuk bus layanan, pilih Pengirim Data Azure Service Bus.

  5. Pada tab Anggota, pilih Identitas terkelola, kemudian pilih Pilih anggota.

  6. Untuk identitas terkelola yang ditetapkan pengguna, pilih langganan Anda, pilih Identitas terkelola yang ditetapkan pengguna, lalu pilih identitas terkelola yang ditetapkan pengguna Anda.

  7. Untuk identitas terkelola yang ditetapkan sistem, pilih langganan Anda, pilih Semua identitas terkelola yang ditetapkan sistem, lalu pilih nama sumber daya IoT Hub Anda.

  8. Di tab Tinjau + tetapkan, pilih Tinjau + tetapkan untuk menetapkan peran.

    Untuk informasi selengkapnya tentang penetapan peran, lihat Menetapkan peran Azure menggunakan portal Azure.

  9. Jika Anda perlu membatasi konektivitas ke titik akhir kustom Anda melalui VNet, Anda perlu mengaktifkan pengecualian pihak pertama Microsoft tepercaya, untuk memberi hub IoT Anda akses ke titik akhir tertentu. Misalnya, jika Anda menambahkan titik akhir kustom hub peristiwa, navigasi ke tab Firewall dan jaringan virtual di hub peristiwa Anda dan aktifkan opsi Izinkan akses dari jaringan yang dipilih. Di bawah daftar Pengecualian, centang kotak untuk Izinkan layanan Microsoft tepercaya untuk mengakses hub peristiwa. Klik tombol Simpan. Ini juga berlaku untuk akun penyimpanan dan bus layanan. Pelajari selengkapnya tentang dukungan IoT Hub untuk jaringan virtual.

    Catatan

    Anda perlu menyelesaikan langkah-langkah di atas untuk menetapkan identitas terkelola akses yang tepat sebelum menambahkan hub peristiwa sebagai titik akhir kustom di IoT Hub. Harap tunggu beberapa menit agar tugas peran merambat.

  10. Selanjutnya, buka hub IoT Anda. Di hub Anda, navigasikan ke Perutean Pesan, lalu pilih Tambahkan.

  11. Pada tab Titik Akhir, buat titik akhir untuk pusat aktivitas Anda dengan memberikan informasi berikut:

    Parameter Nilai
    Jenis titik akhir Pilih Azure Event Hubs.
    Nama titik akhir Berikan nama unik untuk titik akhir baru, atau pilih Pilih yang sudah ada untuk memilih titik akhir Azure Event Hubs yang sudah ada.
    Namespace layanan Azure Event Hubs Gunakan menu drop-down untuk memilih namespace layanan Azure Event Hubs yang ada di langganan Anda.
    Instans pusat aktivitas Gunakan menu drop-down untuk memilih pusat aktivitas yang ada di namespace Anda.
    Jenis autentikasi Pilih Ditetapkan pengguna, lalu gunakan menu drop-down untuk memilih Identitas yang ditetapkan pengguna yang Anda buat di hub peristiwa Anda.

    Cuplikan layar yang memperlihatkan titik akhir pusat aktivitas dengan autentikasi yang ditetapkan pengguna.

  12. Pilih Buat + berikutnya. Anda bisa melanjutkan melalui panduan untuk membuat rute yang menunjuk ke titik akhir ini, atau Anda bisa menutup panduan.

Anda dapat mengubah jenis autentikasi titik akhir kustom yang ada. Gunakan langkah-langkah berikut untuk mengubah titik akhir:

  1. Di hub IoT Anda, pilih Perutean pesan di panel navigasi kiri lalu Titik akhir kustom.

  2. Pilih kotak centang untuk titik akhir kustom yang ingin Anda ubah, lalu pilih Ubah jenis autentikasi.

  3. Pilih jenis autentikasi baru untuk titik akhir ini, lalu pilih Simpan.

Mengonfigurasi pengunggahan file dengan identitas terkelola

Fitur unggah file IoT Hub memungkinkan perangkat untuk mengunggah file ke akun penyimpanan milik pelanggan. Untuk memungkinkan pengunggahan file berfungsi, IoT Hub harus memiliki konektivitas ke akun penyimpanan. Mirip dengan perutean pesan, Anda dapat memilih jenis autentikasi pilihan dan identitas terkelola untuk konektivitas keluar IoT Hub ke akun Azure Storage Anda.

  1. Di portal Microsoft Azure, navigasikan ke akun penyimpanan Anda.

  2. Pilih Kontrol Akses (IAM) .

  3. Pilih Tambahkan > Tambahkan penetapan peran.

    Cuplikan layar yang menunjukkan halaman Kontrol akses (IAM) dengan menu Tambahkan penetapan peran terbuka.

  4. Pada tab Peran, pilih Kontributor Data Blob Penyimpanan. (Jangan pilih Kontributor atau Kontributor Akun Penyimpanan.)

  5. Pada tab Anggota, pilih Identitas terkelola, kemudian pilih Pilih anggota.

  6. Untuk identitas terkelola yang ditetapkan pengguna, pilih langganan Anda, pilih Identitas terkelola yang ditetapkan pengguna, lalu pilih identitas terkelola yang ditetapkan pengguna Anda.

  7. Untuk identitas terkelola yang ditetapkan sistem, pilih langganan Anda, pilih Semua identitas terkelola yang ditetapkan sistem, lalu pilih nama sumber daya IoT Hub Anda.

  8. Di tab Tinjau + tetapkan, pilih Tinjau + tetapkan untuk menetapkan peran.

    Untuk informasi selengkapnya tentang penetapan peran, lihat Menetapkan peran Azure menggunakan portal Azure.

    Jika Anda perlu membatasi konektivitas ke akun penyimpanan Anda melalui VNet, Anda perlu mengaktifkan pengecualian pihak pertama Microsoft tepercaya, untuk memberi hub IoT Anda akses ke akun penyimpanan. Pada halaman sumber daya akun penyimpanan Anda, navigasi ke tab Firewall dan jaringan virtual dan aktifkan opsi Izinkan akses dari jaringan yang dipilih. Di bawah daftar Pengecualian, centang kotak untuk Izinkan layanan Microsoft tepercaya untuk mengakses akun penyimpanan ini. Klik tombol Simpan. Pelajari selengkapnya tentang dukungan IoT Hub untuk jaringan virtual.

    Catatan

    Anda perlu menyelesaikan langkah-langkah di atas untuk menetapkan identitas terkelola akses yang tepat sebelum menyimpan akun penyimpanan di IoT Hub untuk pengunggahan file menggunakan identitas terkelola. Harap tunggu beberapa menit agar tugas peran merambat.

  9. Di halaman sumber daya hub IoT Anda, navigasi ke tab Unggah file.

  10. Pada halaman yang muncul, pilih kontainer yang ingin Anda gunakan di penyimpanan blob Anda, konfigurasikan Pengaturan pemberitahuan File, SAS TTL, TTL Default, dan Jumlah pengiriman maksimum seperti yang diinginkan. Pilih jenis autentikasi pilihan, dan klik Simpan. Jika Anda mendapatkan kesalahan pada langkah ini, atur sementara akun penyimpanan Anda untuk mengizinkan akses dari Semua jaringan, lalu coba lagi. Anda dapat mengonfigurasi {i>firewall File

    Cuplikan layar yang menunjukkan unggahan file dengan msi.

    Catatan

    Dalam skenario pengunggahan file, hub dan perangkat Anda perlu terhubung dengan akun penyimpanan Anda. Langkah-langkah di atas adalah untuk menghubungkan hub IoT Anda ke akun penyimpanan Anda dengan jenis autentikasi yang diinginkan. Anda masih perlu menghubungkan perangkat Anda ke penyimpanan menggunakan SAS URI. Saat ini, SAS URI dihasilkan menggunakan string koneksi. Kami akan menambahkan dukungan untuk membuat SAS URI dengan identitas terkelola dalam waktu dekat. Ikuti langkah-langkah di pengunggahan file.

Mengonfigurasi impor/ekspor perangkat massal dengan identitas terkelola

IoT Hub mendukung fungsionalitas untuk mengimpor/mengekspor informasi perangkat secara massal dari atau ke blob penyimpanan yang disediakan pelanggan. Fungsi ini memerlukan konektivitas dari IoT Hub ke akun penyimpanan.

  1. Di portal Microsoft Azure, navigasikan ke akun penyimpanan Anda.

  2. Pilih Kontrol Akses (IAM) .

  3. Pilih Tambahkan > Tambahkan penetapan peran.

    Cuplikan layar yang menunjukkan halaman Kontrol akses (IAM) dengan menu Tambahkan penetapan peran terbuka.

  4. Pada tab Peran, pilih Kontributor Data Blob Penyimpanan. (Jangan pilih Kontributor atau Kontributor Akun Penyimpanan.)

  5. Pada tab Anggota, pilih Identitas terkelola, kemudian pilih Pilih anggota.

  6. Untuk identitas terkelola yang ditetapkan pengguna, pilih langganan Anda, pilih Identitas terkelola yang ditetapkan pengguna, lalu pilih identitas terkelola yang ditetapkan pengguna Anda.

  7. Untuk identitas terkelola yang ditetapkan sistem, pilih langganan Anda, pilih Semua identitas terkelola yang ditetapkan sistem, lalu pilih nama sumber daya IoT Hub Anda.

  8. Di tab Tinjau + tetapkan, pilih Tinjau + tetapkan untuk menetapkan peran.

    Untuk informasi selengkapnya tentang penetapan peran, lihat Menetapkan peran Azure menggunakan portal Azure

Menggunakan REST API atau SDK untuk pekerjaan impor dan ekspor

Sekarang, Anda dapat menggunakan API REST Azure IoT untuk membuat pekerjaan impor dan ekspor. Anda harus menyediakan properti berikut dalam isi permintaan:

  • storageAuthenticationType: Atur nilai ke identityBased.
  • inputBlobContainerUri: Tetapkan properti ini hanya dalam pekerjaan impor.
  • outputBlobContainerUri: Tetapkan properti ini untuk pekerjaan impor dan ekspor.
  • identitas: Tetapkan nilai ke identitas terkelola untuk digunakan.

Azure IoT Hub SDK juga mendukung fungsionalitas ini di pengelola registri klien layanan. Cuplikan kode berikut menunjukkan cara memulai pekerjaan impor atau pekerjaan ekspor dalam menggunakan C# SDK.

Cuplikan kode C#

    // Create an export job
 
    JobProperties jobProperties = JobProperties.CreateForExportJob(
        outputBlobContainerUri: blobContainerUri,
        excludeKeysInExport: false,
        storageAuthenticationType: StorageAuthenticationType.IdentityBased,
        identity: new ManagedIdentity
        {
            userAssignedIdentity = userDefinedManagedIdentityResourceId
        });
    // Create an import job
    
    JobProperties jobProperties = JobProperties.CreateForImportJob(
        inputBlobContainerUri: blobContainerUri,
        outputBlobContainerUri: blobContainerUri,
        storageAuthenticationType: StorageAuthenticationType.IdentityBased,
        identity: new ManagedIdentity
        {
            userAssignedIdentity = userDefinedManagedIdentityResourceId
        });

Cuplikan kode Python

# see note below
iothub_job_manager = IoTHubJobManager("<IoT Hub connection information>")

# Create an import job
result = iothub_job_manager.create_import_export_job(JobProperties(
    type="import",
    input_blob_container_uri="<input container URI>",
    output_blob_container_uri="<output container URI>",
    storage_authentication_type="identityBased",
    identity=ManagedIdentity(
        user_assigned_identity="<resource ID of user assigned managed identity>"
    )
))

# Create an export job
result = iothub_job_manager.create_import_export_job(JobProperties(
    type="export",
    output_blob_container_uri="<output container URI>",
    storage_authentication_type="identityBased",
    exclude_keys_in_export=True,
    identity=ManagedIdentity(
        user_assigned_identity="<resource ID of user assigned managed identity>"
    ) 
))

Catatan

  • Jika storageAuthenticationType diatur ke identityBased dan properti userAssignedIdentity tidak null, pekerjaan akan menggunakan identitas terkelola yang ditetapkan pengguna yang ditentukan.
  • Jika hub IoT tidak dikonfigurasi dengan identitas terkelola yang ditetapkan pengguna yang ditentukan dalam userAssignedIdentity, tugas akan gagal.
  • Jika storageAuthenticationType diatur ke properti identityBased userAssignedIdentity null, tugas akan menggunakan identitas yang ditetapkan sistem.
  • Jika hub IoT tidak dikonfigurasi dengan identitas terkelola yang ditetapkan pengguna, tugas akan gagal.
  • Jika storageAuthenticationType diatur ke identityBased dan tidak ada identitas terkelola yang ditetapkan pengguna maupun yang ditetapkan sistem yang dikonfigurasi pada hub, pekerjaan akan gagal.

Sampel SDK

Langkah berikutnya

Gunakan tautan di bawah untuk mempelajari selengkapnya tentang fitur IoT Hub: