Aracılığıyla paylaş


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:

  1. Azure portalı arama çubuğunda Microsoft Entra ID'yi arayın ve seçin.

  2. Microsoft Entra Id menüsünün Yönet bölümünden Uygulama kayıtları seçin.

  3. Yeni kayıt öğesini seçin.

  4. 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.
  5. Kaydet'i seçin.

    Uygulamanız oluşturulduğunda kaynak sayfasına yönlendirilirsiniz.

  6. 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:

  1. Uygulamanızın kaynak sayfasında, uygulama menüsünün Yönet bölümünde API izinleri'ni seçin.

  2. İzin ekle'yi seçin.

  3. API izinleri iste sayfasında ekranı aşağı kaydırın ve Azure Key Vault'ı seçin.

  4. Atanan izinler'i seçin.

  5. user_impersonation izinleri seçmek için kutuyu işaretleyin.

  6. İzinler ekle'yi seçin.

Anahtar kasanızda kimlik doğrulaması yapmak için Kubernetes kümenize eklenen bir istemci gizli dizisi oluşturun:

  1. Uygulamanızın kaynak sayfasında, uygulama menüsünün Yönet bölümünde Sertifikalar ve gizli diziler'i seçin.

  2. Yeni gizli anahtar'ı seçin.

  3. Gizli dizi için isteğe bağlı bir açıklama sağlayın ve Ekle'yi seçin.

  4. Yeni gizli dizinizdeki Değeri kopyalayın. Bu değeri daha sonra çalıştırdığınızda az iot ops initkullanacaksınız.

Hizmet sorumlusu Nesne Kimliğini alın:

  1. 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 initkullanmak ü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 initKey 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.

  1. İ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.

  2. 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
    
  3. Dosyayı tercih ettiğiniz metin düzenleyicide açın. K9s kullanıyorsanız düzenlemek için yazın e .

  4. gizli dizi nesnesini altındaki spec.parameters.objects.arraylisteye ekleyin. Örneğin:

    spec:
      parameters:
        keyvaultName: my-key-vault
        objects: |
          array:
            - |
              objectName: PlaceholderSecret
              objectType: secret
              objectVersion: ""
    
  5. 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.