Mengonfigurasi identitas terkelola untuk sumber daya Azure di komputer virtual Azure menggunakan templat

Identitas terkelola untuk sumber daya Azure adalah fitur ID Microsoft Entra. Setiap layanan Azure yang mendukung identitas terkelola untuk sumber daya Azure tunduk pada garis waktu mereka masing-masing. Pastikan Anda meninjau status ketersediaan identitas terkelola untuk sumber daya dan masalah yang diketahui sebelum Anda memulai.

Identitas terkelola untuk sumber daya Azure memberikan layanan Azure identitas terkelola otomatis di Microsoft Entra ID. Anda dapat menggunakan identitas ini untuk mengautentikasi tiap layanan yang mendukung autentikasi Microsoft Entra, tanpa memiliki kredensial dalam kode Anda.

Dalam artikel ini, dengan menggunakan templat penyebaran Azure Resource Manager, Anda mempelajari cara menjalankan identitas terkelola berikut untuk operasi sumber daya Azure di komputer virtual Azure:

Prasyarat

Templat Azure Resource Manager

Seperti portal Azure dan pembuatan skrip, templat Azure Resource Manager memungkinkan Anda untuk menerapkan sumber daya baru atau yang dimodifikasi yang ditentukan oleh grup sumber daya Azure. Beberapa opsi tersedia untuk pengeditan dan penyebaran templat, baik berbasis lokal maupun portal, termasuk:

Terlepas dari opsi yang Anda pilih, sintaks templat sama selama penyebaran awal dan pemindahan ulang. Mengaktifkan identitas terkelola yang ditetapkan sistem atau pengguna di komputer virtual baru atau yang sudah ada dilakukan dengan cara yang sama. Selain itu, secara default, Azure Resource Manager melakukan pembaruan bertahap untuk penyebaran.

Identitas terkelola yang ditetapkan sistem

Di bagian ini, Anda akan mengaktifkan dan menonaktifkan identitas terkelola yang ditetapkan sistem menggunakan templat Azure Resource Manager.

Mengaktifkan identitas terkelola yang ditetapkan sistem selama pembuatan komputer virtual Azure atau komputer virtual yang ada

Untuk mengaktifkan identitas terkelola yang ditetapkan sistem pada komputer virtual, akun Anda memerlukan penetapan peran Kontributor Komputer Virtual. Tidak diperlukan penetapan peran direktori Microsoft Entra lainnya.

  1. Baik Anda masuk ke Azure secara lokal maupun melalui portal Microsoft Azure, gunakan akun yang terkait dengan langganan Azure yang berisi komputer virtual.

  2. Untuk mengaktifkan identitas terkelola yang ditetapkan sistem, muat templat ke editor, temukan sumber daya Microsoft.Compute/virtualMachines yang menarik dalam bagian resources dan tambahkan properti "identity" pada tingkat yang sama dengan properti "type": "Microsoft.Compute/virtualMachines". Gunakan sintaks berikut:

    "identity": {
        "type": "SystemAssigned"
    },
    
  3. Bila sudah selesai, bagian berikut harus ditambahkan ke bagian resource dari templat Anda dan harus menyerupai yang berikut:

     "resources": [
         {
             //other resource provider properties...
             "apiVersion": "2018-06-01",
             "type": "Microsoft.Compute/virtualMachines",
             "name": "[variables('vmName')]",
             "location": "[resourceGroup().location]",
             "identity": {
                 "type": "SystemAssigned",
                 }                        
         }
     ]
    

Menetapkan peran identitas terkelola yang ditetapkan sistem komputer virtual

Setelah mengaktifkan identitas terkelola yang ditetapkan sistem pada VM Anda, Anda mungkin ingin memberinya peran seperti akses Pembaca ke grup sumber daya tempat identitas tersebut dibuat. Temukan informasi terperinci untuk membantu Anda dengan langkah ini di artikel Menetapkan peran Azure menggunakan templat Azure Resource Manager.

Menonaktifkan identitas terkelola yang ditetapkan sistem dari komputer virtual Azure

Untuk menghapus identitas terkelola yang ditetapkan sistem dari Komputer Virtual, akun Anda memerlukan penetapan peran Kontributor Komputer virtual. Tidak diperlukan penetapan peran direktori Microsoft Entra lainnya.

  1. Baik Anda masuk ke Azure secara lokal maupun melalui portal Microsoft Azure, gunakan akun yang terkait dengan langganan Azure yang berisi komputer virtual.

  2. Muat kerangka ke dalam editor dan temukan Microsoft.Compute/virtualMachines sumber daya yang diinginkan dalam bagian resources. Jika Anda memiliki Komputer Virtual yang hanya memiliki identitas terkelola yang ditetapkan sistem, Anda dapat menonaktifkannya dengan mengubah jenis identitas menjadi None .

    Microsoft.Compute/virtualMachines versi API 2018-06-01

    Jika komputer virtual Anda memiliki identitas terkelola yang ditetapkan sistem dan pengguna, hapus SystemAssigned dari jenis identitas dan ikuti UserAssigned dengan nilai kamus userAssignedIdentities.

    Microsoft.Compute/virtualMachines versi API 2018-06-01

    Jika apiVersion Anda adalah 2017-12-01 dan komputer virtual Anda memiliki identitas terkelola yang ditetapkan sistem dan pengguna, hapus SystemAssigned dari jenis identitas dan ikuti UserAssigned dengan array identityIds dari identitas terkelola yang ditetapkan pengguna.

Contoh berikut memperlihatkan cara menghapus identitas terkelola yang ditetapkan sistem dari komputer virtual tanpa identitas terkelola yang ditetapkan pengguna:

{
    "apiVersion": "2018-06-01",
    "type": "Microsoft.Compute/virtualMachines",
    "name": "[parameters('vmName')]",
    "location": "[resourceGroup().location]",
    "identity": {
        "type": "None"
    }
}

Identitas terkelola yang ditetapkan pengguna

Di bagian ini, Anda menetapkan identitas terkelola yang ditetapkan pengguna ke komputer virtual Azure menggunakan templat Azure Resource Manager.

Catatan

Untuk membuat identitas terkelola yang ditetapkan pengguna menggunakan Templat Azure Resource Manager, lihat Membuat identitas terkelola yang ditetapkan pengguna.

Menetapkan identitas terkelola yang ditetapkan pengguna ke komputer virtual Azure

Untuk menetapkan identitas yang ditetapkan pengguna ke mesin virtual, akun Anda memerlukan penetapan peran Operator Identitas Terkelola. Tidak diperlukan penetapan peran direktori Microsoft Entra lainnya.

  1. Di elemen resources, tambahkan entri berikut untuk menetapkan identitas terkelola yang ditetapkan pengguna ke komputer virtual Anda. Pastikan untuk mengganti <USERASSIGNEDIDENTITY> dengan nama identitas terkelola yang ditetapkan pengguna yang Anda buat.

    Microsoft.Compute/virtualMachines versi API 2018-06-01

    Jika apiVersion Anda adalah 2018-06-01, identitas terkelola yang ditetapkan pengguna Anda disimpan dalam format kamus userAssignedIdentities dan nilai <USERASSIGNEDIDENTITYNAME> harus disimpan dalam variabel yang ditentukan di bagian variables dari templat Anda.

     {
         "apiVersion": "2018-06-01",
         "type": "Microsoft.Compute/virtualMachines",
         "name": "[variables('vmName')]",
         "location": "[resourceGroup().location]",
         "identity": {
             "type": "userAssigned",
             "userAssignedIdentities": {
                 "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]": {}
             }
         }
     }
    

    Microsoft.Compute/virtualMachines versi API 2017-12-01

    Jika apiVersion Anda adalah 2017-12-01, identitas terkelola yang ditetapkan pengguna Anda disimpan dalam array identityIds dan nilai <USERASSIGNEDIDENTITYNAME> harus disimpan dalam variabel yang ditentukan di bagian variables dari templat Anda.

    {
        "apiVersion": "2017-12-01",
        "type": "Microsoft.Compute/virtualMachines",
        "name": "[variables('vmName')]",
        "location": "[resourceGroup().location]",
        "identity": {
            "type": "userAssigned",
            "identityIds": [
                "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]"
            ]
        }
    }
    
  2. Bila sudah selesai, bagian berikut harus ditambahkan ke bagian resource dari templat Anda dan harus menyerupai yang berikut:

    Microsoft.Compute/virtualMachines versi API 2018-06-01

      "resources": [
         {
             //other resource provider properties...
             "apiVersion": "2018-06-01",
             "type": "Microsoft.Compute/virtualMachines",
             "name": "[variables('vmName')]",
             "location": "[resourceGroup().location]",
             "identity": {
                 "type": "userAssigned",
                 "userAssignedIdentities": {
                    "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]": {}
                 }
             }
         }
     ] 
    

    Microsoft.Compute/virtualMachines versi API 2017-12-01

    "resources": [
         {
             //other resource provider properties...
             "apiVersion": "2017-12-01",
             "type": "Microsoft.Compute/virtualMachines",
             "name": "[variables('vmName')]",
             "location": "[resourceGroup().location]",
             "identity": {
                 "type": "userAssigned",
                 "identityIds": [
                    "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]"
                 ]
             }
         }
    ]
    

Menghapus identitas terkelola yang ditetapkan pengguna dari komputer virtual Azure

Untuk menghapus identitas yang ditetapkan pengguna dari Komputer Virtual, akun Anda memerlukan penetapan peran Kontributor Komputer Virtual. Tidak diperlukan penetapan peran direktori Microsoft Entra lainnya.

  1. Baik Anda masuk ke Azure secara lokal maupun melalui portal Microsoft Azure, gunakan akun yang terkait dengan langganan Azure yang berisi komputer virtual.

  2. Muat kerangka ke dalam editor dan temukan Microsoft.Compute/virtualMachines sumber daya yang diinginkan dalam bagian resources. Jika Anda memiliki komputer virtual yang hanya memiliki identitas terkelola yang ditetapkan pengguna, Anda dapat menonaktifkannya dengan mengubah jenis identitas menjadi None.

    Contoh berikut menunjukkan kepada Anda cara menghapus semua identitas terkelola yang ditetapkan pengguna dari Komputer Virtual tanpa identitas terkelola yang ditetapkan sistem:

     {
       "apiVersion": "2018-06-01",
       "type": "Microsoft.Compute/virtualMachines",
       "name": "[parameters('vmName')]",
       "location": "[resourceGroup().location]",
       "identity": {
           "type": "None"
           },
     }
    

    Microsoft.Compute/virtualMachines versi API 2018-06-01

    Untuk menghapus satu identitas terkelola yang ditetapkan pengguna dari komputer virtual, hapus dari kamus useraAssignedIdentities.

    Jika Anda memiliki identitas terkelola yang ditetapkan sistem, simpan dalam nilai type di bawah nilai identity.

    Microsoft.Compute/virtualMachines versi API 2017-12-01

    Untuk menghapus satu identitas terkelola yang ditetapkan pengguna dari komputer virtual, hapus dari array identityIds.

    Jika Anda memiliki identitas terkelola yang ditetapkan sistem, simpan dalam nilai type di bawah nilai identity.

Langkah berikutnya