Mengonfigurasi Identitas terkelola untuk sumber daya Azure di komputer virtual Azure menggunakan Azure CLI

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 ke layanan apa pun yang mendukung autentikasi Microsoft Entra, tanpa memiliki kredensial dalam kode Anda.

Dalam artikel ini, dengan menggunakan Azure CLI, Anda mempelajari cara menjalankan identitas terkelola berikut untuk operasi sumber daya Azure pada komputer virtual Azure:

  • Mengaktifkan dan menonaktifkan identitas terkelola yang ditetapkan sistem di komputer virtual Azure
  • Menambahkan dan menghapus identitas terkelola yang ditetapkan pengguna di komputer virtual Azure

Jika Anda belum memiliki akun Azure, daftar untuk mendapatkan akun gratis sebelum melanjutkan.

Prasyarat

Identitas terkelola yang ditetapkan sistem

Di bagian ini, Anda mempelajari cara mengaktifkan dan menonaktifkan identitas terkelola yang ditetapkan sistem di komputer virtual Azure menggunakan Azure CLI.

Mengaktifkan identitas terkelola yang ditetapkan sistem selama pembuatan komputer virtual Azure

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

  1. Buat grup sumber daya untuk penahanan dan penyebaran komputer virtual Anda dan sumber daya terkaitnya, menggunakan az group create. Anda dapat melewati langkah ini jika Anda sudah memiliki grup sumber daya yang ingin Anda gunakan sebagai gantinya:

    az group create --name myResourceGroup --location westus
    
  2. Buat komputer virtual menggunakan az vm create. Contoh berikut membuat VM bernama myVM dengan identitas terkelola yang ditetapkan sistem, seperti yang diminta oleh parameter --assign-identity, dengan --role dan --scope yang ditentukan. Parameter --admin-username dan --admin-password menentukan nama pengguna administratif dan akun kata sandi untuk masuk komputer virtual. Perbarui nilai ini sebagaimana mestinya untuk lingkungan Anda:

    az vm create --resource-group myResourceGroup --name myVM --image win2016datacenter --generate-ssh-keys --assign-identity --role contributor --scope mySubscription --admin-username azureuser --admin-password myPassword12
    

Mengaktifkan identitas terkelola yang ditetapkan sistem pada 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. Jika Anda menggunakan Azure CLI di konsol lokal, pertama-tama masuk ke Azure menggunakan az login. Gunakan akun yang terkait dengan langganan Azure yang berisi komputer virtual.

    az login
    
  2. Gunakan az vm identity assign dengan perintah identity assign aktifkan identitas yang ditetapkan sistem ke komputer virtual yang ada:

    az vm identity assign -g myResourceGroup -n myVm
    

Menonaktifkan identitas yang ditetapkan sistem dari komputer virtual Azure

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

Jika Anda memiliki Komputer Virtual yang tidak lagi memerlukan identitas yang ditetapkan sistem, tetapi masih memerlukan identitas yang ditetapkan pengguna, gunakan perintah berikut:

az vm update -n myVM -g myResourceGroup --set identity.type='UserAssigned' 

Jika Anda memiliki komputer virtual yang tidak lagi memerlukan identitas yang ditetapkan sistem dan tidak memiliki identitas yang ditetapkan pengguna, gunakan perintah berikut:

Catatan

Nilai none peka huruf besar/kecil. Harus huruf kecil.

az vm update -n myVM -g myResourceGroup --set identity.type="none"

Identitas terkelola yang ditetapkan pengguna

Di bagian ini, Anda akan mempelajari cara menambahkan dan menghapus identitas terkelola yang ditetapkan pengguna dari komputer virtual Azure menggunakan Azure CLI. Jika Anda membuat identitas terkelola yang ditetapkan pengguna di RG yang berbeda dari komputer virtual Anda. Anda harus menggunakan URL identitas terkelola untuk menetapkannya ke komputer virtual Anda. Contohnya:

--identities "/subscriptions/<SUBID>/resourcegroups/<RESROURCEGROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER_ASSIGNED_ID_NAME>"

Menetapkan identitas terkelola yang ditetapkan pengguna selama pembuatan komputer virtual Azure

Untuk menetapkan identitas yang ditetapkan pengguna ke komputer virtual selama pembuatannya, akun Anda memerlukan penetapan peran Kontributor Komputer Virtual dan Operator Identitas Terkelola. Tidak diperlukan penetapan peran direktori Microsoft Entra lainnya.

  1. Anda dapat melewati langkah ini jika sudah memiliki grup sumber daya yang ingin Anda gunakan. Buat grup sumber daya untuk penahanan dan penyebaran identitas terkelola yang ditetapkan pengguna Anda, menggunakan az group create. Pastikan untuk mengganti nilai parameter <RESOURCE GROUP> dan <LOCATION> dengan nilai Anda sendiri. :

    az group create --name <RESOURCE GROUP> --location <LOCATION>
    
  2. Buat identitas terkelola yang ditetapkan pengguna menggunakan buat identitas az. Parameter -g menentukan grup sumber daya tempat identitas terkelola yang ditetapkan pengguna dibuat, dan parameter -n menentukan namanya.

    Penting

    Saat Anda membuat identitas terkelola yang ditetapkan pengguna, hanya karakter alfanumerik (0-9, a-z, dan AZ) dan tanda hubung (-) yang didukung. Untuk penugasan ke komputer virtual atau skala komputer virtual yang diatur agar berfungsi dengan baik, namanya dibatasi hingga 24 karakter. Untuk informasi selengkapnya, lihat Tanya Jawab Umum dan masalah yang sering ditanyakan.

    az identity create -g myResourceGroup -n myUserAssignedIdentity
    

    Respons berisi detail untuk identitas terkelola yang ditetapkan pengguna yang telah dibuat, serupa dengan yang berikut. Nilai ID sumber daya yang ditetapkan ke identitas terkelola yang ditetapkan pengguna digunakan dalam langkah berikut.

    {
        "clientId": "73444643-8088-4d70-9532-c3a0fdc190fz",
        "clientSecretUrl": "https://control-westcentralus.identity.azure.net/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<myUserAssignedIdentity>/credentials?tid=5678&oid=9012&aid=73444643-8088-4d70-9532-c3a0fdc190fz",
        "id": "/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>",
        "location": "westcentralus",
        "name": "<USER ASSIGNED IDENTITY NAME>",
        "principalId": "e5fdfdc1-ed84-4d48-8551-fe9fb9dedfll",
        "resourceGroup": "<RESOURCE GROUP>",
        "tags": {},
        "tenantId": "733a8f0e-ec41-4e69-8ad8-971fc4b533bl",
        "type": "Microsoft.ManagedIdentity/userAssignedIdentities"    
    }
    
  3. Buat komputer virtual menggunakan az vm create. Contoh berikut membuat VM yang terkait dengan identitas baru yang ditetapkan pengguna, seperti yang ditentukan oleh parameter --assign-identity, dengan --role dan --scope yang ditentukan. Pastikan untuk mengganti nilai parameter <RESOURCE GROUP>, <VM NAME>, <USER NAME>, <PASSWORD>, <USER ASSIGNED IDENTITY NAME>, <ROLE>, dan <SUBSCRIPTION> dengan nilai Anda sendiri.

    az vm create --resource-group <RESOURCE GROUP> --name <VM NAME> --image <SKU linux image>  --admin-username <USER NAME> --admin-password <PASSWORD> --assign-identity <USER ASSIGNED IDENTITY NAME> --role <ROLE> --scope <SUBSCRIPTION> 
    

Menetapkan identitas terkelola yang ditetapkan pengguna ke komputer virtual Azure yang sudah ada

Untuk menetapkan identitas yang ditetapkan pengguna ke Komputer Virtual, akun Anda memerlukan penetapan peran Kontributor Komputer Virtual dan Operator Identitas Terkelola. Tidak diperlukan penetapan peran direktori Microsoft Entra lainnya.

  1. Buat identitas yang ditetapkan pengguna menggunakan az identity create. Parameter -g menentukan grup sumber daya tempat identitas yang ditetapkan pengguna dibuat, dan parameter -n menentukan namanya. Pastikan untuk mengganti nilai parameter <RESOURCE GROUP> dan <USER ASSIGNED IDENTITY NAME> dengan nilai Anda sendiri:

    Penting

    Membuat identitas terkelola yang ditetapkan pengguna dengan karakter khusus (misalnya, garis bawah) dalam nama saat ini tidak didukung. Gunakan karakter alfanumerik. Periksa kembali untuk melihat pembaruan. Untuk informasi selengkapnya, lihat Tanya Jawab Umum dan masalah yang diketahui

    az identity create -g <RESOURCE GROUP> -n <USER ASSIGNED IDENTITY NAME>
    

    Respons berisi detail untuk identitas terkelola yang ditetapkan pengguna yang telah dibuat, serupa dengan yang berikut.

    {
      "clientId": "73444643-8088-4d70-9532-c3a0fdc190fz",
      "clientSecretUrl": "https://control-westcentralus.identity.azure.net/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>/credentials?tid=5678&oid=9012&aid=73444643-8088-4d70-9532-c3a0fdc190fz",
      "id": "/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>",
      "location": "westcentralus",
      "name": "<USER ASSIGNED IDENTITY NAME>",
      "principalId": "e5fdfdc1-ed84-4d48-8551-fe9fb9dedfll",
      "resourceGroup": "<RESOURCE GROUP>",
      "tags": {},
      "tenantId": "733a8f0e-ec41-4e69-8ad8-971fc4b533bl",
      "type": "Microsoft.ManagedIdentity/userAssignedIdentities"    
    }
    
  2. Tetapkan identitas yang ditetapkan pengguna ke komputer virtual Anda menggunakan az vm identity assign. Pastikan untuk mengganti nilai parameter <RESOURCE GROUP> dan <VM NAME> dengan nilai Anda sendiri. <USER ASSIGNED IDENTITY NAME> adalah properti name sumber daya identitas terkelola yang ditetapkan pengguna, seperti yang dibuat di langkah sebelumnya. Jika Anda membuat identitas terkelola yang ditetapkan pengguna di RG yang berbeda dari komputer virtual Anda. Anda harus menggunakan URL identitas terkelola Anda.

    az vm identity assign -g <RESOURCE GROUP> -n <VM NAME> --identities <USER ASSIGNED IDENTITY>
    

Menghapus identitas terkelola yang ditetapkan pengguna dari komputer virtual Azure

Untuk menghapus identitas yang ditetapkan pengguna ke komputer virtual, akun Anda memerlukan penetapan peran Kontributor Komputer Virtual.

Jika ini adalah satu-satunya identitas terkelola yang ditetapkan pengguna yang ditetapkan ke komputer virtual, UserAssigned akan dihapus dari nilai jenis identitas. Pastikan untuk mengganti nilai parameter <RESOURCE GROUP> dan <VM NAME> dengan nilai Anda sendiri. <USER ASSIGNED IDENTITY> akan menjadi properti name identitas yang ditetapkan pengguna, yang dapat ditemukan di bagian identitas dari komputer virtual menggunakan az vm identity show:

az vm identity remove -g <RESOURCE GROUP> -n <VM NAME> --identities <USER ASSIGNED IDENTITY>

Jika komputer virtual Anda tidak memiliki identitas terkelola yang ditetapkan sistem dan Anda ingin menghapus semua identitas yang ditetapkan pengguna dari komputer virtual, gunakan perintah berikut:

Catatan

Nilai none peka huruf besar/kecil. Harus huruf kecil.

az vm update -n myVM -g myResourceGroup --set identity.type="none" identity.userAssignedIdentities=null

Jika komputer virtual Anda memiliki identitas yang ditetapkan sistem dan ditetapkan pengguna, Anda dapat menghapus semua identitas yang ditetapkan pengguna dengan beralih untuk hanya menggunakan yang ditetapkan sistem. Gunakan perintah berikut:

az vm update -n myVM -g myResourceGroup --set identity.type='SystemAssigned' identity.userAssignedIdentities=null 

Langkah berikutnya