Azure IoT İşlemleri Önizleme dağıtımınız için gizli dizileri yönetme
Önemli
Azure Arc tarafından etkinleştirilen Azure IoT İşlemleri Önizlemesi şu anda ÖNİzLEME aşamasındadır. Bu önizleme yazılımını üretim ortamlarında kullanmamalısınız.
Beta veya önizleme aşamasında olan ya da başka bir şekilde henüz genel kullanıma sunulmamış olan Azure özelliklerinde geçerli olan yasal koşullar için bkz. Microsoft Azure Önizlemeleri için Ek Kullanım Koşulları.
Azure IoT İşlemleri Önizlemesi'nde gizli dizi yönetimi, bulutta yönetilen kasa çözümü olarak Azure Key Vault'un yanı sıra gizli dizileri buluttan çekip uçta depolamak için gizli dizi deposu CSI sürücüsünü kullanır.
Önkoşullar
- Arc özellikli kubernetes kümesi. Daha fazla bilgi için bkz . Kümenizi hazırlama.
Kümenizde gizli dizi deposu yapılandırma
Azure IoT İşlemleri gizli dizileri ve sertifikaları depolamak için Key Vault'ı destekler. Azure CLI komutu, az iot ops init
anahtar kasasına erişim vermek ve Azure IoT İşlemlerini çalıştırmak için ihtiyacınız olan gizli dizileri yapılandırmak için bir hizmet sorumlusu ayarlama adımlarını otomatikleştirir.
Daha fazla bilgi için bkz . Kubernetes kümesine Azure IoT İşlemleri Önizleme uzantıları dağıtma.
Hizmet sorumlusunu ve Key Vault'ı el ile yapılandırma
Komutu yürüten az iot ops init
Azure hesabının Microsoft Graph'ı sorgulama ve hizmet sorumluları oluşturma izinleri yoksa, Azure IoT İşlemleri uzantılarını dağıtma bölümünde açıklandığı gibi CLI komutunu çalıştırırken bu ön adımları hazırlayabilir ve ek bağımsız değişkenler kullanabilirsiniz.
Hizmet sorumlusunu Microsoft Entra Id aracılığıyla Key Vault ile etkileşim için yapılandırma
Key Vault'ta kimlik doğrulaması yapmak üzere kullanılacak Azure IoT İşlemleri uygulaması için yeni bir Uygulama Kaydı oluşturmak için bu adımları izleyin.
İlk olarak, bir uygulamayı Microsoft Entra Id ile kaydedin:
Azure portalı arama çubuğunda Microsoft Entra ID'yi arayın ve seçin.
Microsoft Entra Id menüsünün Yönet bölümünden Uygulama kayıtları seçin.
Yeni kayıt öğesini seçin.
Uygulamayı kaydetme sayfasında aşağıdaki bilgileri sağlayın:
Alan Değer Ad Uygulamanız için bir ad belirtin. Desteklenen hesap türleri Yalnızca bu kuruluş dizinindeki Hesapların (<yalnızca YOUR_TENANT_NAME> - Tek kiracı) seçildiğinden emin olun. Yönlendirme URI'si Platform olarak Web'i seçin. Web adresini boş bırakabilirsiniz. Kaydet'i seçin.
Uygulamanız oluşturulduğunda kaynak sayfasına yönlendirilirsiniz.
Uygulama kaydına genel bakış sayfasından Uygulama (istemci) kimliğini kopyalayın. Komutuyla Azure IoT İşlemleri dağıtımını
az iot ops init
çalıştırırken bu değeri bağımsız değişken olarak kullanacaksınız.
Ardından uygulamanıza Key Vault için izin verin:
Uygulamanızın kaynak sayfasında, uygulama menüsünün Yönet bölümünde API izinleri'ni seçin.
İzin ekle'yi seçin.
API izinleri iste sayfasında ekranı aşağı kaydırın ve Azure Key Vault'ı seçin.
Atanan izinler'i seçin.
user_impersonation izinleri seçmek için kutuyu işaretleyin.
İzinler ekle'yi seçin.
Anahtar kasanızda kimlik doğrulaması yapmak için Kubernetes kümenize eklenen bir istemci gizli dizisi oluşturun:
Uygulamanızın kaynak sayfasında, uygulama menüsünün Yönet bölümünde Sertifikalar ve gizli diziler'i seçin.
Yeni gizli anahtar'ı seçin.
Gizli dizi için isteğe bağlı bir açıklama sağlayın ve Ekle'yi seçin.
Yeni gizli dizinizdeki Değeri kopyalayın. Bu değeri daha sonra çalıştırdığınızda
az iot ops init
kullanacaksınız.
Hizmet sorumlusu Nesne Kimliğini alın:
- Uygulamanızın Genel Bakış sayfasında, Temel Bileşenler bölümünün altında, Yerel dizinde yönetilen uygulama'nın altındaki Uygulama adı bağlantısını seçin. Bu, Kurumsal Uygulama özelliklerini açar. komutunu çalıştırdığınızda
az iot ops init
kullanmak üzere Nesne Kimliğini kopyalayın.
Anahtar kasası oluşturma
Yeni bir Azure Key Vault örneği oluşturun ve İzin Modeli'nin Kasa erişim ilkesi olarak ayarlandığından emin olun.
az keyvault create --enable-rbac-authorization false --name "<your unique key vault name>" --resource-group "<the name of the resource group>"
Mevcut bir anahtar kasanız varsa, aşağıdakileri yürüterek izin modelini değiştirebilirsiniz:
az keyvault update --name "<your unique key vault name>" --resource-group "<the name of the resource group>" --enable-rbac-authorization false
komutunu çalıştırdığınızda az iot ops init
Key Vault kaynak kimliğine ihtiyacınız olacaktır. Kaynak kimliğini almak için şunu çalıştırın:
az keyvault show --name "<your unique key vault name>" --resource-group "<the name of the resource group>" --query id -o tsv
Key Vault'ta hizmet sorumlusu erişim ilkesini ayarlama
Azure IoT İşlemlerinin gizli list
dizi deposuyla çalışması için yeni oluşturulan hizmet sorumlusunun gizli dizi ve get
erişim ilkesine ihtiyacı vardır.
Key Vault erişim ilkelerini yönetmek için CLI'da oturum açan sorumlunun yeterli Azure izinlerine sahip olması gerekir. Rol Tabanlı Erişim Denetimi (RBAC) modelinde, bu izin Key Vault katkıda bulunanı veya daha yüksek rollere eklenir.
İpucu
Anahtar kasasını oluşturmak için oturum açmış CLI sorumlusunu kullandıysanız, büyük olasılıkla doğru izinlere sahipsinizdir. Ancak, farklı veya mevcut bir anahtar kasasına işaret ediyorsanız erişim ilkelerini ayarlamak için yeterli izinlere sahip olup olmadığınızı denetlemeniz gerekir.
Hizmet sorumlusuna gizli dizi list
ve get
izinler atamak için aşağıdakileri çalıştırın.
az keyvault set-policy --name "<your unique key vault name>" --resource-group "<the name of the resource group>" --object-id <Object ID copied from Enterprise Application SP in Microsoft Entra ID> --secret-permissions get list
Hizmet sorumlusu ve Key Vault bağımsız değişkenlerini Azure IoT İşlemleri dağıtımına geçirme
Azure IoT İşlemleri uzantılarını dağıtma kılavuzunu takip ederken, önceden yapılandırılmış hizmet sorumlusunu ve anahtar kasasını az iot ops init
kullanmak için komutuna ek bayraklar geçirin.
Aşağıdaki örnekte, bayrağını kullanarak --no-deploy
kümeyi tam olarak dağıtmadan Azure IoT İşlemleri için nasıl hazırlayacağınız gösterilmektedir. Varsayılan Azure IoT İşlemleri dağıtımı için komutunu bu bağımsız değişken olmadan da çalıştırabilirsiniz.
az iot ops init --cluster "<your cluster name>" --resource-group "<the name of the resource group>" \
--kv-id <Key Vault Resource ID> \
--sp-app-id <Application registration App ID (client ID) from Microsoft Entra ID> \
--sp-object-id <Object ID copied from Enterprise Application in Microsoft Entra ID> \
--sp-secret "<Client Secret from App registration in Microsoft Entra ID>" \
--no-deploy
Komutun init
aldığı bir adım, Azure IoT İşlemleri için gereken tüm Gizli Dizi Sağlayıcı Sınıflarının (SPC) anahtar kasasında yapılandırılmış varsayılan bir gizli diziye sahip olduğundan emin olmaktır. Varsayılan gizli dizi için bir değer yoksa init
bir değer oluşturulur. Bu adım, CLI'da oturum açan sorumlunun gizli set
dizi izinlerine sahip olmasını gerektirir. Var olan bir gizli diziyi varsayılan SPC gizli dizisi olarak kullanmak istiyorsanız, bunu parametresiyle --kv-sat-secret-name
belirtebilirsiniz; bu durumda oturum açan sorumlunun yalnızca gizli dizi get
izinlerine ihtiyacı vardır.
Azure IoT İşlemleri bileşenine gizli dizi ekleme
Kümenizde gizli dizi deposu ayarlandıktan sonra Key Vault gizli dizileri oluşturabilir ve ekleyebilirsiniz.
İhtiyacınız olan ad ve değerle Key Vault'ta gizli dizinizi oluşturun. Azure portalını veya az keyvault secret set komutunu kullanarak gizli dizi oluşturabilirsiniz.
Kümenizde, gizli diziyi eklemek istediğiniz bileşenin gizli dizi sağlayıcı sınıfını (SPC) tanımlayın. Örneğin,
aio-default-spc
. Kümenizdeki tüm SPC'leri listelemek için aşağıdaki komutu kullanın:kubectl get secretproviderclasses -A
Dosyayı tercih ettiğiniz metin düzenleyicide açın. K9s kullanıyorsanız düzenlemek için yazın
e
.gizli dizi nesnesini altındaki
spec.parameters.objects.array
listeye ekleyin. Örneğin:spec: parameters: keyvaultName: my-key-vault objects: | array: - | objectName: PlaceholderSecret objectType: secret objectVersion: ""
Değişikliklerinizi kaydedin ve kümenize uygulayın. k9s kullanıyorsanız, değişiklikleriniz otomatik olarak uygulanır.
CSI sürücüsü yoklama aralığı kullanarak gizli dizileri güncelleştirir, bu nedenle yeni gizli dizi bir sonraki yoklama aralığına kadar pod için kullanılamaz. Bir bileşeni hemen güncelleştirmek için bileşenin podlarını yeniden başlatın. Örneğin, Veri İşlemcisi bileşenini yeniden başlatmak için aşağıdaki komutları çalıştırın:
kubectl delete pod aio-dp-reader-worker-0 -n azure-iot-operations
kubectl delete pod aio-dp-runner-worker-0 -n azure-iot-operations
Azure IoT MQ Preview gizli dizileri
Azure IoT MQ Preview için Azure Key Vault ile gizli dizileri yönetme adımları farklıdır. Daha fazla bilgi için bkz . Key Vault kullanarak MQ gizli dizilerini yönetme.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin