Menggunakan templat Azure Resource Manager untuk membuat ruang kerja untuk Pembelajaran Mesin Microsoft Azure

Dalam artikel ini, Anda mempelajari beberapa cara untuk membuat ruang kerja Azure Machine Learning menggunakan templat Azure Resource Manager. Templat Azure Resource Manager memudahkan untuk membuat sumber daya sebagai operasi tunggal yang terkoordinasi. Templat adalah dokumen JSON yang menentukan sumber daya yang diperlukan untuk penyebaran. Ini juga dapat menentukan parameter penyebaran. Parameter digunakan untuk menyediakan nilai input saat menggunakan templat.

Untuk informasi selengkapnya, lihat Sebarkan aplikasi dengan templat Azure Resource Manager.

Prasyarat

Pembatasan

  • Saat membuat ruang kerja baru, Anda dapat membuat layanan yang diperlukan secara otomatis oleh ruang kerja atau menggunakan layanan yang sudah ada. Jika Anda ingin menggunakan layanan yang sudah ada dari langganan Azure yang berbeda dari ruang kerja, Anda harus mendaftarkan kumpulan nama Pembelajaran Mesin Azure dalam langganan yang berisi layanan tersebut. Misalnya, membuat ruang kerja di langganan A yang menggunakan akun penyimpanan dari langganan B, kumpulan nama Pembelajaran Mesin Azure harus terdaftar di langganan B sebelum Anda dapat menggunakan akun penyimpanan dengan ruang kerja.

    Penyedia sumber daya untuk Pembelajaran Mesin Azure adalah Microsoft.MachineLearningServices. Untuk informasi tentang cara melihat apakah sudah terdaftar dan cara mendaftarkannya, lihat artikel jenis dan penyedia sumber daya Azure.

    Penting

    Ini hanya berlaku untuk sumber daya yang disediakan selama pembuatan ruang kerja, Azure Storage Account, Azure Container Register, Azure Key Vault, dan Application Insights.

  • Contoh templat mungkin tidak selalu menggunakan versi API terbaru untuk Azure Pembelajaran Mesin. Sebelum menggunakan templat, sebaiknya ubah untuk menggunakan versi API terbaru. Untuk informasi tentang versi API terbaru untuk Azure Pembelajaran Mesin, lihat Azure Pembelajaran Mesin REST API.

    Tip

    Setiap layanan Azure memiliki sekumpulan versi API sendiri. Untuk informasi tentang API untuk layanan tertentu, periksa informasi layanan di referensi Azure REST API.

    Untuk memperbarui versi API, temukan "apiVersion": "YYYY-MM-DD" entri untuk jenis sumber daya dan perbarui ke versi terbaru. Contoh berikut adalah entri untuk Azure Pembelajaran Mesin:

    "type": "Microsoft.MachineLearningServices/workspaces",
    "apiVersion": "2023-10-01",
    

Beberapa ruang kerja di VNet yang sama

Templat tidak mendukung beberapa ruang kerja Azure Machine Learning yang disebarkan di VNet yang sama. Ini karena templat membuat zona DNS baru selama penyebaran.

Jika Anda ingin membuat templat yang menyebarkan beberapa ruang kerja di VNet yang sama, siapkan ini secara manual (menggunakan Portal Azure atau CLI) lalu gunakan portal Azure untuk membuat templat.

Templat ruang kerja Azure Resource Manager

Templat Azure Resource Manager yang digunakan di seluruh dokumen ini dapat ditemukan di direktori microsoft.machineleaerningservices/machine-learning-workspace-vnet dari repositori GitHub template mulai cepat Azure.

Templat ini membuat layanan Azure berikut ini:

  • Akun Azure Storage
  • Azure Key Vault
  • Azure Application Insights
  • Azure Container Registry
  • Ruang kerja Azure Machine Learning

Grup sumber daya adalah kontainer yang memegang layanan. Berbagai layanan diperlukan oleh ruang kerja Azure Machine Learning.

Contoh templat memiliki dua parameter yang diperlukan:

  • Lokasi tempat sumber daya akan dibuat.

    Templat akan menggunakan lokasi yang Anda pilih untuk sebagian besar sumber daya. Pengecualiannya adalah layanan Application Insights, yang tidak tersedia di semua lokasi layanan lainnya. Jika Anda memilih lokasi di mana lokasi tersebut tidak tersedia, layanan akan dibuat di lokasi US Selatan Tengah.

  • Ruang workspaceName, yang merupakan nama ramah dari ruang kerja Azure Machine Learning.

    Catatan

    Nama ruang kerja tidak peka huruf besar/kecil.

    Nama-nama layanan lain dihasilkan secara acak.

Tip

Saat templat yang terkait dengan dokumen ini membuat Azure Container Registry baru, Anda juga dapat membuat ruang kerja baru tanpa membuat registri kontainer. Satu akan dibuat ketika Anda melakukan operasi yang memerlukan registri kontainer. Misalnya, melatih atau menyebarkan model.

Anda juga bisa mereferensikan registri kontainer atau akun penyimpanan yang sudah ada di templat Azure Resource Manager, alih-alih membuat yang baru. Saat melakukannya, Anda harus menggunakan identitas terkelola (pratinjau), atau mengaktifkan akun admin untuk registri kontainer.

Peringatan

Setelah Azure Container Registry dibuat untuk ruang kerja, jangan dihapus. Menghapusnya akan merusak ruang kerja Pembelajaran Mesin Microsoft Azure Anda.

Untuk informasi selengkapnya tentang templat, lihat artikel berikut:

Menyebarkan templat

Untuk menyebarkan templat Anda, Anda harus membuat grup sumber daya.

Lihat bagian portal Microsoft Azure jika Anda lebih suka menggunakan antarmuka pengguna grafis.

az group create --name "examplegroup" --location "eastus"

Setelah grup sumber daya Anda berhasil dibuat, sebarkan templat dengan perintah berikut:

az deployment group create \
    --name "exampledeployment" \
    --resource-group "examplegroup" \
    --template-uri "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.machinelearningservices/machine-learning-workspace-vnet/azuredeploy.json" \
    --parameters workspaceName="exampleworkspace" location="eastus"

Secara default, semua sumber daya yang dibuat sebagai bagian dari templat adalah baru. Namun, Anda juga memiliki opsi untuk menggunakan sumber daya yang ada. Dengan memberikan parameter tambahan ke templat, Anda dapat menggunakan sumber daya yang ada. Misalnya, jika Anda ingin menggunakan akun penyimpanan yang ada, atur nilai storageAccountOption ke yang sudah ada dan berikan nama akun penyimpanan Anda di parameter storageAccountName.

Penting

Jika Anda ingin menggunakan akun Azure Storage yang sudah ada, akun tersebut tidak boleh menjadi akun premium (Premium_LRS dan Premium_GRS). akun tersebut juga tidak dapat memiliki namespace layanan hierarkis (digunakan dengan Azure Data Lake Storage Gen2). Penyimpanan premium atau namespace layanan hierarkis tidak didukung dengan akun penyimpanan default ruang kerja. Penyimpanan premium atau namespace layanan hierarkis tidak didukung dengan akun penyimpanan default ruang kerja. Anda dapat menggunakan penyimpanan premium atau namespace layanan hierarkis dengan akun penyimpanan non-default.

az deployment group create \
    --name "exampledeployment" \
    --resource-group "examplegroup" \
    --template-uri "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.machinelearningservices/machine-learning-workspace-vnet/azuredeploy.json" \
    --parameters workspaceName="exampleworkspace" \
      location="eastus" \
      storageAccountOption="existing" \
      storageAccountName="existingstorageaccountname"

Menyebarkan ruang kerja terenkripsi

Contoh templat berikut menunjukkan cara membuat ruang kerja dengan tiga pengaturan:

  • Aktifkan pengaturan kerahasiaan tinggi untuk ruang kerja. Ini membuat instans Azure Cosmos DB baru.
  • Aktifkan enkripsi untuk ruang kerja.
  • Menggunakan Azure Key Vault yang ada untuk mengambil kunci yang dikelola pelanggan. Kunci yang dikelola pelanggan digunakan untuk membuat instans Azure Cosmos DB baru untuk ruang kerja.

Penting

Setelah ruang kerja dibuat, Anda tidak dapat mengubah pengaturan untuk data rahasia, enkripsi, ID brankas kunci, atau pengidentifikasi kunci. Untuk mengubah nilai ini, Anda harus membuat ruang kerja baru menggunakan nilai baru.

Untuk informasi selengkapnya, lihat Kunci yang dikelola pelanggan.

Penting

Ada beberapa persyaratan khusus yang harus dipenuhi langganan Anda sebelum menggunakan templat ini:

  • Anda harus memiliki Azure Key Vault yang sudah ada yang berisi kunci enkripsi.
  • Azure Key Vault harus berada di wilayah yang sama tempat Anda berencana membuat ruang kerja Azure Machine Learning.
  • Anda harus menentukan ID Azure Key Vault dan URI kunci enkripsi.

Untuk langkah-langkah membuat vault dan kunci, lihat Mengonfigurasi kunci yang dikelola pelanggan.

Untuk mendapatkan nilai untuk parameter cmk_keyvault(ID brankas kunci) dan resource_cmk_uri (URI kunci) yang diperlukan oleh templat ini, gunakan langkah-langkah berikut:

  1. Untuk mendapatkan ID Azure Key Vault, gunakan perintah berikut:

    az keyvault show --name <keyvault-name> --query 'id' --output tsv    
    

    Perintah ini mengembalikan nilai yang mirip dengan /subscriptions/{subscription-guid}/resourceGroups/<resource-group-name>/providers/Microsoft.KeyVault/vaults/<keyvault-name>.

  2. Untuk mendapatkan nilai URI untuk kunci yang dikelola pelanggan, gunakan perintah berikut:

    az keyvault key show --vault-name <keyvault-name> --name <key-name> --query 'key.kid' --output tsv    
    

Perintah ini mengembalikan nilai yang mirip dengan https://mykeyvault.vault.azure.net/keys/mykey/{guid}.

Penting

Setelah ruang kerja dibuat, Anda tidak dapat mengubah pengaturan untuk data rahasia, enkripsi, ID brankas kunci, atau pengidentifikasi kunci. Untuk mengubah nilai ini, Anda harus membuat ruang kerja baru menggunakan nilai baru.

Untuk mengaktifkan penggunaan Kunci Terkelola Pelanggan, atur parameter berikut saat menyebarkan templat:

  • encryption_status untuk diaktifkan.
  • cmk_keyvault nilai cmk_keyvault yang diperoleh dalam langkah sebelumnya.
  • resource_cmk_uri nilai resource_cmk_uri yang diperoleh dalam langkah sebelumnya.
az deployment group create \
    --name "exampledeployment" \
    --resource-group "examplegroup" \
    --template-uri "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.machinelearningservices/machine-learning-workspace-vnet/azuredeploy.json" \
    --parameters workspaceName="exampleworkspace" \
      location="eastus" \
      encryption_status="Enabled" \
      cmk_keyvault="/subscriptions/{subscription-guid}/resourceGroups/<resource-group-name>/providers/Microsoft.KeyVault/vaults/<keyvault-name>" \
      resource_cmk_uri="https://mykeyvault.vault.azure.net/keys/mykey/{guid}" \

Saat menggunakan kunci yang dikelola pelanggan, Azure Pembelajaran Mesin membuat grup sumber daya sekunder yang berisi instans Azure Cosmos DB. Untuk informasi selengkapnya, lihat Enkripsi saat tidak aktif di Azure Cosmos DB.

Konfigurasi tambahan yang dapat Anda berikan untuk data Anda adalah mengatur parameter confidential_data ke true. Melakukannya, lakukan hal berikut:

  • Mulai mengenkripsi disk awal lokal untuk kluster komputasi Azure Machine Learning, asalkan Anda belum membuat kluster sebelumnya dalam langganan Anda. Jika sebelumnya Anda telah membuat kluster dalam langganan, buka tiket dukungan agar enkripsi dari disk goresan diaktifkan untuk kluster komputasi Anda.

  • Membersihkan disk awal lokal di antara pekerjaan.

  • Meneruskan infromasi masuk dengan aman untuk akun penyimpanan, registri kontainer, dan akun SSH dari lapisan eksekusi ke kluster komputasi anda menggunakan brankas kunci.

  • Mengaktifkan pemfilteran IP untuk memastikan lapisan kumpulan batch tidak dapat dipanggil oleh layanan eksternal apa pun selain AzureMachineLearningService.

    Penting

    Setelah ruang kerja dibuat, Anda tidak dapat mengubah pengaturan untuk data rahasia, enkripsi, ID brankas kunci, atau pengidentifikasi kunci. Untuk mengubah nilai ini, Anda harus membuat ruang kerja baru menggunakan nilai baru.

    Untuk informasi lebih lanjut, lihat Enkripsi saat istirahat.

sebarkan ruang kerja di belakang jaringan virtual

Dengan mengatur vnetOption nilai parameter ke salah satu new atau existing, Anda dapat membuat sumber daya yang digunakan oleh ruang kerja di belakang jaringan virtual.

Penting

Untuk kontainer registry, hanya sku 'Premium' yang didukung.

Penting

Application Insights tidak mendukung penyebaran di balik jaringan virtual.

Hanya menyebarkan ruang kerja di belakang titik akhir privat

Jika sumber daya terkait tidak berada di belakang jaringan virtual, Anda dapat mengatur parameter privateEndpointType ke AutoAproval atau ManualApproval untuk menyebarkan ruang kerja di belakang titik akhir pribadi. Ini dapat dilakukan untuk ruang kerja baru dan yang sudah ada. Saat memperbarui ruang kerja yang sudah ada, isi parameter templat dengan informasi dari ruang kerja yang ada.

az deployment group create \
    --name "exampledeployment" \
    --resource-group "examplegroup" \
    --template-uri "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.machinelearningservices/machine-learning-workspace-vnet/azuredeploy.json" \
    --parameters workspaceName="exampleworkspace" \
      location="eastus" \
      privateEndpointType="AutoApproval"

Gunakan jaringan virtual baru

Untuk menyebarkan sumber daya di belakang jaringan virtual baru, atur vnetOption ke baru bersama dengan pengaturan jaringan virtual untuk sumber daya masing-masing. Penyebaran di bawah ini menunjukkan cara menyebarkan ruang kerja dengan sumber daya akun penyimpanan di belakang jaringan virtual baru.

az deployment group create \
    --name "exampledeployment" \
    --resource-group "examplegroup" \
    --template-uri "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.machinelearningservices/machine-learning-workspace-vnet/azuredeploy.json" \
    --parameters workspaceName="exampleworkspace" \
      location="eastus" \
      vnetOption="new" \
      vnetName="examplevnet" \
      storageAccountBehindVNet="true"
      privateEndpointType="AutoApproval"

Atau, Anda dapat menyebarkan beberapa atau semua sumber daya dependen di belakang jaringan virtual.

az deployment group create \
    --name "exampledeployment" \
    --resource-group "examplegroup" \
    --template-uri "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.machinelearningservices/machine-learning-workspace-vnet/azuredeploy.json" \
    --parameters workspaceName="exampleworkspace" \
      location="eastus" \
      vnetOption="new" \
      vnetName="examplevnet" \
      storageAccountBehindVNet="true" \
      keyVaultBehindVNet="true" \
      containerRegistryBehindVNet="true" \
      containerRegistryOption="new" \
      containerRegistrySku="Premium"
      privateEndpointType="AutoApproval"

Menggunakan jaringan virtual dan sumber daya yang sudah ada

Untuk menerapkan ruang kerja dengan sumber daya terkait yang ada, Anda harus mengatur parameter vnetOption ke yang sudah ada bersama dengan parameter subnet. Namun, Anda perlu membuat titik akhir layanan di jaringan virtual untuk setiap sumber daya sebelum penyebaran. Seperti penyebaran jaringan virtual baru, Anda dapat memiliki satu atau semua sumber daya Anda di belakang jaringan virtual.

Penting

Subnet harus memiliki Microsoft.Storage titik akhir layanan

Penting

subnet tidak memperbolehkan pembuatan titik akhir privat. Nonaktifkan titik akhir privat untuk mengaktifkan subnet.

  1. Aktifkan titik akhir layanan untuk sumber daya.

    az network vnet subnet update --resource-group "examplegroup" --vnet-name "examplevnet" --name "examplesubnet" --service-endpoints "Microsoft.Storage"
    az network vnet subnet update --resource-group "examplegroup" --vnet-name "examplevnet" --name "examplesubnet" --service-endpoints "Microsoft.KeyVault"
    az network vnet subnet update --resource-group "examplegroup" --vnet-name "examplevnet" --name "examplesubnet" --service-endpoints "Microsoft.ContainerRegistry"
    
  2. sebarkan ruang kerja

    az deployment group create \
    --name "exampledeployment" \
    --resource-group "examplegroup" \
    --template-uri "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.machinelearningservices/machine-learning-workspace-vnet/azuredeploy.json" \
    --parameters workspaceName="exampleworkspace" \
      location="eastus" \
      vnetOption="existing" \
      vnetName="examplevnet" \
      vnetResourceGroupName="examplegroup" \
      storageAccountBehindVNet="true" \
      keyVaultBehindVNet="true" \
      containerRegistryBehindVNet="true" \
      containerRegistryOption="new" \
      containerRegistrySku="Premium" \
      subnetName="examplesubnet" \
      subnetOption="existing"
      privateEndpointType="AutoApproval"
    

Menggunakan portal Azure

  1. Ikuti langkah-langkah dalam penyebaran sumber daya dari templat kustom. Saat Anda tiba di layar Pilih templat, pilih entri mulai cepat. Ketika muncul, pilih tautan yang berlabel "Klik di sini untuk membuka repositori templat". Tautan ini membawa Anda ke quickstartsdirektori di repositori templat mulai cepat Azure.

  2. Dalam daftar templat mulai cepat, pilih microsoft.machinelearningservices. Terakhir, pilih Deploy to Azure.

  3. Saat templat muncul, berikan informasi yang diperlukan berikut ini dan parameter lainnya tergantung pada skenario penyebaran Anda.

    • Langganan: Pilih langganan Azure yang akan digunakan untuk sumber daya ini.
    • Grup sumber daya: Pilih atau buat grup sumber daya untuk mengisi layanan.
    • Kawasan: Pilih wilayah Azure tempat sumber daya akan dibuat.
    • Nama ruang kerja: Nama yang akan digunakan untuk ruang kerja Azure Machine Learning yang akan dibuat. Nama ruang kerja harus antara 3 hingga 33 karakter. nama tersebut mungkin hanya berisi karakter alfanumerik dan '-'.
    • Lokasi: Pilih lokasi tempat sumber daya akan dibuat.
  4. Pilih Tinjau + buat.

  5. Di layar Tinjau + buat, setujui syarat dan ketentuan yang tercantum dan pilih Buat.

Untuk informasi selengkapnya, lihat Menyebarkan sumber daya dari templat kustom.

Pemecahan Masalah

Kesalahan penyedia sumber daya

Saat membuat ruang kerja Azure Machine Learning, atau sumber daya yang digunakan oleh ruang kerja, Anda mungkin menerima kesalahan yang mirip dengan pesan berikut:

  • No registered resource provider found for location {location}
  • The subscription is not registered to use namespace {resource-provider-namespace}

Sebagian besar penyedia sumber daya secara otomatis terdaftar, tetapi tidak semua. Jika Anda menerima pesan ini, Anda perlu mendaftarkan penyedia yang disebutkan.

Tabel berikut berisi daftar penyedia sumber daya yang diperlukan oleh Azure Machine Learning:

Penyedia sumber daya Mengapa dibutuhkan
Microsoft.MachineLearningServices Membuat ruang kerja Azure Machine Learning.
Microsoft.Storage Akun Azure Storage: Digunakan sebagai penyimpanan data default untuk ruang kerja.
Microsoft.ContainerRegistry Azure Container Registry digunakan oleh ruang kerja untuk membangun gambar Docker.
Microsoft.KeyVault Azure Key Vault digunakan oleh ruang kerja untuk menyimpan rahasia.
Microsoft.Notebooks Notebook terintegrasi pada instans komputasi Azure Machine Learning.
Microsoft.ContainerService Jika Anda berencana menyebarkan model terlatih ke Azure Kubernetes Services.

Jika Anda berencana menggunakan kunci yang dikelola pelanggan dengan Azure Machine Learning, maka penyedia layanan berikut harus terdaftar:

Penyedia sumber daya Mengapa dibutuhkan
Microsoft.DocumentDB Instans Azure CosmosDB yang mencatat metadata untuk ruang kerja.
Microsoft.Search Azure Search menyediakan kemampuan pengindeksan untuk ruang kerja.

Jika Anda berencana menggunakan jaringan virtual terkelola dengan Azure Pembelajaran Mesin, penyedia sumber daya Microsoft.Network harus didaftarkan. Penyedia sumber daya ini digunakan oleh ruang kerja saat membuat titik akhir privat untuk jaringan virtual terkelola.

Untuk informasi selengkapnya tentang cara mendaftarkan penyedia sumber daya, lihat Mengatasi kesalahan untuk pendaftaran penyedia sumber daya.

Kebijakan akses Azure Key Vault dan templat Azure Resource Manager

Saat Anda menggunakan templat Azure Resource Manager untuk membuat ruang kerja dan sumber daya terkait (termasuk Azure Key Vault), beberapa kali. Misalnya, menggunakan templat beberapa kali dengan parameter yang sama sebagai bagian dari integrasi berkelanjutan dan alur penyebaran.

Sebagian besar operasi pembuatan sumber daya melalui templat bersifat idempoten, tetapi Azure Key Vault membersihkan kebijakan akses setiap kali templat digunakan. Membersihkan kebijakan akses akan memutus akses ke Azure Key Vault untuk setiap ruang kerja yang ada yang menggunakannya. Misalnya, Hentikan/Buat fungsionalitas Notebooks komputer virtual mungkin gagal.

Untuk menghindari masalah ini, kami merekomendasikan salah satu pendekatan berikut:

  • Jangan menyebarkan templat lebih dari sekali untuk parameter yang sama. Atau hapus sumber daya yang ada sebelum menggunakan templat untuk membuatnya kembali.

  • Periksa kebijakan akses Azure Key Vault lalu gunakan kebijakan ini untuk accessPolicies mengatur properti templat. Untuk menampilkan kebijakan akses, gunakan perintah Azure CLI berikut ini:

    az keyvault show --name mykeyvault --resource-group myresourcegroup --query properties.accessPolicies
    

    Untuk informasi selengkapnya tentang menggunakan accessPolicies bagian templat, lihat referensi objek AccessPolicyEntry.

  • Periksa apakah sumber daya Azure Key Vault sudah ada. Jika ya, jangan buat ulang melalui templat. Misalnya, untuk menggunakan Azure Key Vault yang ada alih-alih membuat yang baru, buat perubahan berikut pada templat:

    • Tambahkan parameter yang menerima ID sumber daya Azure Key Vault yang ada:

      "keyVaultId":{
        "type": "string",
        "metadata": {
          "description": "Specify the existing Key Vault ID."
        }
      }
      
    • Hapus bagian yang membuat sumber daya Azure Key Vault:

      {
        "type": "Microsoft.KeyVault/vaults",
        "apiVersion": "2018-02-14",
        "name": "[variables('keyVaultName')]",
        "location": "[parameters('location')]",
        "properties": {
          "tenantId": "[variables('tenantId')]",
          "sku": {
            "name": "standard",
            "family": "A"
          },
          "accessPolicies": [
          ]
        }
      },
      
    • hapus baris "[resourceId('Microsoft.KeyVault/vaults', variables('keyVaultName'))]", dari bagian dependsOn ruang kerja. selain itu Ubah entri keyVault di bagian properties ruang kerja untuk mereferensikan keyVaultId parameter:

      {
        "type": "Microsoft.MachineLearningServices/workspaces",
        "apiVersion": "2019-11-01",
        "name": "[parameters('workspaceName')]",
        "location": "[parameters('location')]",
        "dependsOn": [
          "[resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName'))]",
          "[resourceId('Microsoft.Insights/components', variables('applicationInsightsName'))]"
        ],
        "identity": {
          "type": "systemAssigned"
        },
        "sku": {
          "tier": "[parameters('sku')]",
          "name": "[parameters('sku')]"
        },
        "properties": {
          "friendlyName": "[parameters('workspaceName')]",
          "keyVault": "[parameters('keyVaultId')]",
          "applicationInsights": "[resourceId('Microsoft.Insights/components',variables('applicationInsightsName'))]",
          "storageAccount": "[resourceId('Microsoft.Storage/storageAccounts/',variables('storageAccountName'))]"
        }
      }
      

    Setelah perubahan ini, Anda dapat menentukan ID sumber daya Azure Key Vault yang ada saat menjalankan templat. Kemudian Templat akan menggunakan kembali Azure Key Vault dengan mengatur keyVault properti ruang kerja ke ID-nya.

    Untuk mendapatkan ID Key Vault, Anda dapat mereferensikan output pekerjaan templat asli atau menggunakan Azure CLI. Perintah berikut ini adalah contoh penggunaan Azure CLI untuk mendapatkan ID sumber daya Azure Key Vault:

    az keyvault show --name mykeyvault --resource-group myresourcegroup --query id
    

    Perintah ini mengembalikan nilai yang mirip dengan URI berikut:

    /subscriptions/{subscription-guid}/resourceGroups/myresourcegroup/providers/Microsoft.KeyVault/vaults/mykeyvault
    

Langkah berikutnya