Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Pengaturan aman untuk Operasi Azure IoT mencakup penyiapan manajemen rahasia dan identitas terkelola yang ditetapkan pengguna untuk koneksi cloud; misalnya, server OPC UA atau titik akhir aliran data.
Artikel ini menyediakan instruksi untuk mengaktifkan pengaturan aman jika Anda tidak melakukannya selama penyebaran awal Anda.
Prasyarat
Instans Operasi Azure IoT yang disebarkan dengan pengaturan pengujian.
Azure CLI diinstal pada komputer pengembangan Anda. Skenario ini memerlukan Azure CLI versi 2.53.0 atau yang lebih tinggi. Gunakan
az --versionuntuk memeriksa versi Anda danaz upgradeuntuk memperbarui jika perlu. Untuk informasi selengkapnya, lihat Cara menginstal Azure CLI.Versi terbaru ekstensi connectedk8s untuk Azure CLI. Gunakan perintah berikut untuk menambahkan ekstensi atau memperbaruinya ke versi terbaru:
az extension add --upgrade --name connectedk8sEkstensi Operasi Azure IoT untuk Azure CLI. Gunakan perintah berikut untuk menambahkan ekstensi atau memperbaruinya ke versi terbaru:
az extension add --upgrade --name azure-iot-ops
Aktifkan kluster untuk pengaturan aman
Untuk mengaktifkan sinkronisasi rahasia untuk instans Azure IoT Operations Anda, penerbit OIDC dan fitur federasi identitas beban kerja harus diaktifkan pada kluster Anda. Konfigurasi ini diperlukan untuk ekstensi Azure Key Vault Secret Store agar dapat menyinkronkan rahasia dari Azure Key Vault dan menyimpannya di edge sebagai rahasia Kubernetes.
Untuk kluster Azure Kubernetes Service (AKS), pengeluar sertifikat OIDC dan fitur identitas beban kerja hanya dapat diaktifkan pada saat pembuatan kluster. Untuk kluster di AKS Edge Essentials, skrip otomatis memungkinkan fitur-fitur ini secara default. Untuk kluster AKS di Azure Local, ikuti langkah-langkah untuk Menyebarkan dan mengonfigurasi identitas beban kerja pada AKS yang diaktifkan oleh kluster Azure Arc untuk membuat kluster baru jika Anda tidak memilikinya dengan fitur yang diperlukan.
Untuk kluster k3s di Kubernetes, Anda dapat memperbarui kluster yang ada. Untuk mengaktifkan dan mengonfigurasi fitur-fitur ini, gunakan langkah-langkah berikut:
Perbarui kluster untuk mengaktifkan pengeluar sertifikat OIDC dan identitas beban kerja.
az connectedk8s update -n <CLUSTER_NAME> -g <RESOURCE_GROUP> --enable-oidc-issuer --enable-workload-identityJika Anda mengaktifkan pengeluar sertifikat OIDC dan fitur identitas beban kerja saat membuat kluster, Anda tidak perlu menjalankan perintah sebelumnya lagi. Gunakan perintah berikut untuk memeriksa status pengeluar sertifikat OIDC dan fitur identitas beban kerja untuk kluster Anda:
az connectedk8s show -g <RESOURCE_GROUP> -n <CLUSTER_NAME> --query "{ClusterName:name, OIDCIssuerEnabled:oidcIssuerProfile.enabled, WorkloadIdentityEnabled:securityProfile.workloadIdentity.enabled}"Dapatkan URL pengeluar sertifikat kluster.
az connectedk8s show -g <RESOURCE_GROUP> -n <CLUSTER_NAME> --query oidcIssuerProfile.issuerUrl --output tsvCatat output dari perintah ini untuk digunakan di langkah berikutnya.
Buat file konfigurasi k3s pada komputer tempat Anda menyebarkan kluster Kubernetes:
sudo nano /etc/rancher/k3s/config.yamlTambahkan konten berikut ke
config.yamlfile, ganti<SERVICE_ACCOUNT_ISSUER>placeholder dengan URL penerbit kluster yang Anda catat sebelumnya.kube-apiserver-arg: - service-account-issuer=<SERVICE_ACCOUNT_ISSUER> - service-account-max-token-expiration=24hSimpan file dan keluar dari editor nano.
Mulai ulang layanan k3s:
sudo systemctl restart k3s
Menyiapkan manajemen rahasia
Manajemen rahasia untuk Operasi Azure IoT menggunakan ekstensi Secret Store untuk mensinkronkan rahasia dari Azure Key Vault dan menyimpannya di perangkat tepi sebagai rahasia Kubernetes. Ekstensi Secret Store memerlukan identitas terkelola yang ditetapkan pengguna dengan akses ke Azure Key Vault tempat rahasia disimpan. Untuk mempelajari selengkapnya, lihat Apa itu identitas terkelola untuk sumber daya Azure?.
Untuk menyiapkan manajemen rahasia:
Buat Azure Key Vault yang digunakan untuk menyimpan rahasia, dan berikan izin akun pengguna Anda untuk mengelola rahasia dengan peran tersebut
Key Vault Secrets Officer.Buat identitas terkelola yang ditetapkan pengguna untuk ekstensi Secret Store yang akan digunakan untuk mengakses brankas kunci.
Gunakan perintah az iot ops secretsync enable untuk menyiapkan instans Operasi Azure IoT untuk sinkronisasi rahasia. Perintah ini:
- Membuat kredensial identitas gabungan dengan menggunakan identitas terkelola yang ditetapkan pengguna.
- Menambahkan penetapan peran ke identitas terkelola yang ditetapkan pengguna untuk akses ke Azure Key Vault.
- Menambahkan kelas penyedia rahasia minimum yang terkait dengan instans Azure IoT Operations.
# Variable block AIO_INSTANCE_NAME="<AIO_INSTANCE_NAME>" RESOURCE_GROUP="<RESOURCE_GROUP>" USER_ASSIGNED_MI_NAME="<USER_ASSIGNED_MI_NAME>" KEYVAULT_NAME="<KEYVAULT_NAME>" #Get the resource ID of the user-assigned managed identity USER_ASSIGNED_MI_RESOURCE_ID=$(az identity show --name $USER_ASSIGNED_MI_NAME --resource-group $RESOURCE_GROUP --query id --output tsv) #Get the resource ID of the key vault KEYVAULT_RESOURCE_ID=$(az keyvault show --name $KEYVAULT_NAME --resource-group $RESOURCE_GROUP --query id --output tsv) #Enable secret synchronization az iot ops secretsync enable --instance $AIO_INSTANCE_NAME \ --resource-group $RESOURCE_GROUP \ --mi-user-assigned $USER_ASSIGNED_MI_RESOURCE_ID \ --kv-resource-id $KEYVAULT_RESOURCE_ID
Setelah penyiapan sinkronisasi rahasia selesai, Anda dapat merujuk ke Kelola rahasia untuk penyebaran Operasi Azure IoT Anda untuk mempelajari cara menggunakan rahasia dengan Operasi Azure IoT.
Menyiapkan identitas terkelola yang ditetapkan pengguna untuk koneksi cloud
Beberapa komponen Operasi Azure IoT, seperti titik akhir aliran data, menggunakan identitas terkelola yang ditetapkan pengguna untuk koneksi cloud. Kami menyarankan agar Anda menggunakan identitas terpisah dari identitas yang Anda gunakan untuk menyiapkan manajemen rahasia.
Buat identitas terkelola yang ditugaskan pengguna yang digunakan untuk koneksi cloud.
Catatan
Anda harus memberikan izin identitas ke sumber daya cloud mana pun yang akan Anda gunakan identitas terkelolanya.
Gunakan perintah az iot ops identity assign untuk menetapkan identitas ke instans Azure IoT Operations. Perintah ini juga membuat kredensial identitas federasi dengan menggunakan penerbit OIDC dari kluster terhubung yang ditunjukkan dan akun layanan Azure IoT Operations.
# Variable block AIO_INSTANCE_NAME="<AIO_INSTANCE_NAME>" RESOURCE_GROUP="<RESOURCE_GROUP>" USER_ASSIGNED_MI_NAME="<USER_ASSIGNED_MI_NAME FOR CLOUD CONNECTIONS>" #Get the resource ID of the user-assigned managed identity USER_ASSIGNED_MI_RESOURCE_ID=$(az identity show --name $USER_ASSIGNED_MI_NAME --resource-group $RESOURCE_GROUP --query id --output tsv) #Assign the identity to the Azure IoT Operations instance az iot ops identity assign --name $AIO_INSTANCE_NAME \ --resource-group $RESOURCE_GROUP \ --mi-user-assigned $USER_ASSIGNED_MI_RESOURCE_IDMulai ulang pod registri skema untuk menerapkan identitas baru.
kubectl delete pods adr-schema-registry-0 adr-schema-registry-1 -n azure-iot-operations
Sekarang Anda dapat menggunakan identitas terkelola ini di titik akhir aliran data untuk koneksi cloud.