REST API çağrılarını kullanarak sanal makine ölçek kümesinde Azure kaynakları için yönetilen kimlikleri yapılandırma

Azure kaynakları için yönetilen kimlikler, Azure hizmetlerine Microsoft Entra Id'de otomatik olarak yönetilen bir sistem kimliği sağlar. Bu kimliği kullanarak, Microsoft Entra kimlik doğrulamasını destekleyen tüm hizmetlerde kodunuzda kimlik bilgileri bulunmasına gerek kalmadan kimlik doğrulaması yapabilirsiniz.

Bu makalede, Azure Resource Manager REST uç noktasına çağrı yapmak için CURL kullanarak, bir sanal makine ölçek kümesinde Azure kaynakları işlemleri için aşağıdaki yönetilen kimlikleri gerçekleştirmeyi öğreneceksiniz:

  • Azure sanal makine ölçek kümesinde sistem tarafından atanan yönetilen kimliği etkinleştirme ve devre dışı bırakma
  • Azure sanal makine ölçek kümesinde kullanıcı tarafından atanan yönetilen kimliği ekleme ve kaldırma

Henüz bir Azure hesabınız yoksa, devam etmeden önce ücretsiz bir hesaba kaydolun.

Önkoşullar

  • Azure Cloud Shell'de Bash ortamını kullanın. Daha fazla bilgi için bkz . Azure Cloud Shell'de Bash için hızlı başlangıç.

  • CLI başvuru komutlarını yerel olarak çalıştırmayı tercih ediyorsanız Azure CLI'yı yükleyin . Windows veya macOS üzerinde çalışıyorsanız Azure CLI’yi bir Docker kapsayıcısında çalıştırmayı değerlendirin. Daha fazla bilgi için bkz . Docker kapsayıcısında Azure CLI'yi çalıştırma.

    • Yerel yükleme kullanıyorsanız az login komutunu kullanarak Azure CLI ile oturum açın. Kimlik doğrulama işlemini tamamlamak için terminalinizde görüntülenen adımları izleyin. Diğer oturum açma seçenekleri için bkz . Azure CLI ile oturum açma.

    • İstendiğinde, ilk kullanımda Azure CLI uzantısını yükleyin. Uzantılar hakkında daha fazla bilgi için bkz. Azure CLI ile uzantıları kullanma.

    • Yüklü sürümü ve bağımlı kitaplıkları bulmak için az version komutunu çalıştırın. En son sürüme yükseltmek için az upgrade komutunu çalıştırın.

Sistem tarafından atanan yönetilen kimlik

Bu bölümde, Azure Resource Manager REST uç noktasına çağrı yapmak için CURL kullanarak sanal makine ölçek kümesinde sistem tarafından atanan yönetilen kimliği etkinleştirmeyi ve devre dışı bırakmayı öğreneceksiniz.

Sanal makine ölçek kümesi oluşturulurken sistem tarafından atanan yönetilen kimliği etkinleştirme

Sistem tarafından atanan yönetilen kimliğin etkinleştirildiği bir sanal makine ölçek kümesi oluşturmak için, sistem tarafından atanan yönetilen kimlik türü değeriyle Resource Manager uç noktasını çağırmak üzere CURL kullanmak üzere bir sanal makine ölçek kümesi oluşturmanız ve erişim belirteci almanız gerekir.

  1. az group create komutunu kullanarak sanal makine ölçek kümenizin ve ilgili kaynaklarının kapsaması ve dağıtımı için bir kaynak grubu oluşturun. Bunun yerine kullanmak istediğiniz bir kaynak grubunuz varsa, bu adımı atlayabilirsiniz:

    az group create --name myResourceGroup --location westus
    
  2. Sanal makine ölçek kümeniz için bir ağ arabirimi oluşturun:

     az network nic create -g myResourceGroup --vnet-name myVnet --subnet mySubnet -n myNic
    
  3. Sistem tarafından atanan yönetilen kimlikle sanal makine ölçek kümenizi oluşturmak için Yetkilendirme üst bilgisindeki bir sonraki adımda kullanacağınız Taşıyıcı erişim belirtecini alın.

    az account get-access-token
    
  4. Azure Cloud Shell'i kullanarak AZURE Resource Manager REST uç noktasını çağırmak için CURL kullanarak bir sanal makine ölçek kümesi oluşturun. Aşağıdaki örnek, myResourceGroup içinde, istek gövdesinde değeriyle "identity":{"type":"SystemAssigned"}tanımlandığı şekilde sistem tarafından atanan yönetilen kimlikle myVMSS adlı bir sanal makine ölçek kümesi oluşturur. değerini bir Taşıyıcı erişim belirteci istediğinizde önceki adımda aldığınız değerle ve <SUBSCRIPTION ID> ortamınız için uygun değerle değiştirin<ACCESS TOKEN>.

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01' -X PUT -d '{"sku":{"tier":"Standard","capacity":3,"name":"Standard_D1_v2"},"location":"eastus","identity":{"type":"SystemAssigned"},"properties":{"overprovision":true,"virtualMachineProfile":{"storageProfile":{"imageReference":{"sku":"2016-Datacenter","publisher":"MicrosoftWindowsServer","version":"latest","offer":"WindowsServer"},"osDisk":{"caching":"ReadWrite","managedDisk":{"storageAccountType":"StandardSSD_LRS"},"createOption":"FromImage"}},"osProfile":{"computerNamePrefix":"myVMSS","adminUsername":"azureuser","adminPassword":"myPassword12"},"networkProfile":{"networkInterfaceConfigurations":[{"name":"myVMSS","properties":{"primary":true,"enableIPForwarding":true,"ipConfigurations":[{"name":"myVMSS","properties":{"subnet":{"id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"}}}]}}]}},"upgradePolicy":{"mode":"Manual"}}}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
    
    PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1
    

    İstek üst bilgileri

    İstek üst bilgisi Açıklama
    İçerik Türü Gerekli. application/json olarak ayarlayın.
    Yetkilendirme Gerekli. Geçerli Bearer bir erişim belirteci olarak ayarlayın.

    İstek gövdesi

     {
        "sku":{
           "tier":"Standard",
           "capacity":3,
           "name":"Standard_D1_v2"
        },
        "location":"eastus",
        "identity":{
           "type":"SystemAssigned"
        },
        "properties":{
           "overprovision":true,
           "virtualMachineProfile":{
              "storageProfile":{
                 "imageReference":{
                    "sku":"2016-Datacenter",
                    "publisher":"MicrosoftWindowsServer",
                    "version":"latest",
                    "offer":"WindowsServer"
                 },
                 "osDisk":{
                    "caching":"ReadWrite",
                    "managedDisk":{
                       "storageAccountType":"StandardSSD_LRS"
                    },
                    "createOption":"FromImage"
                 }
              },
              "osProfile":{
                 "computerNamePrefix":"myVMSS",
                 "adminUsername":"azureuser",
                 "adminPassword":"myPassword12"
              },
              "networkProfile":{
                 "networkInterfaceConfigurations":[
                    {
                       "name":"myVMSS",
                       "properties":{
                          "primary":true,
                          "enableIPForwarding":true,
                          "ipConfigurations":[
                             {
                                "name":"myVMSS",
                                "properties":{
                                   "subnet":{
                                      "id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"
                                   }
                                }
                             }
                          ]
                       }
                    }
                 ]
              }
           },
           "upgradePolicy":{
              "mode":"Manual"
           }
        }
     }  
    

Mevcut bir sanal makine ölçek kümesinde sistem tarafından atanan yönetilen kimliği etkinleştirme

Mevcut bir sanal makine ölçek kümesinde sistem tarafından atanan yönetilen kimliği etkinleştirmek için bir erişim belirteci almanız ve ardından kimlik türünü güncelleştirmek üzere Resource Manager REST uç noktasını çağırmak için CURL kullanmanız gerekir.

  1. Sistem tarafından atanan yönetilen kimlikle sanal makine ölçek kümenizi oluşturmak için Yetkilendirme üst bilgisindeki bir sonraki adımda kullanacağınız Taşıyıcı erişim belirtecini alın.

    az account get-access-token
    
  2. İstek gövdesinde myVMSS adlı bir sanal makine ölçek kümesinin değeriyle {"identity":{"type":"SystemAssigned"} tanımlandığı şekilde sanal makine ölçek kümenizde sistem tarafından atanan yönetilen kimliği etkinleştirmek üzere Azure Resource Manager REST uç noktasını çağırmak için aşağıdaki CURL komutunu kullanın. değerini bir Taşıyıcı erişim belirteci istediğinizde önceki adımda aldığınız değerle ve <SUBSCRIPTION ID> ortamınız için uygun değerle değiştirin<ACCESS TOKEN>.

    Önemli

    Sanal makine ölçek kümesine atanan mevcut kullanıcı tarafından atanan yönetilen kimlikleri silmediğinizden emin olmak için şu CURL komutunu kullanarak kullanıcı tarafından atanan yönetilen kimlikleri listelemeniz gerekir: curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachineScaleSets/<VMSS NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>". Yanıttaki değerde identity tanımlandığı gibi sanal makine ölçek kümesine kullanıcı tarafından atanan yönetilen kimlikleriniz varsa, sanal makine ölçek kümenizde sistem tarafından atanan yönetilen kimliği etkinleştirirken kullanıcı tarafından atanan yönetilen kimlikleri nasıl tutabileceğinizi gösteren 3. adıma geçin.

     curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned"}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
    
    PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1
    

    İstek üst bilgileri

    İstek üst bilgisi Açıklama
    İçerik Türü Gerekli. application/json olarak ayarlayın.
    Yetkilendirme Gerekli. Geçerli Bearer bir erişim belirteci olarak ayarlayın.

    İstek gövdesi

     {
        "identity":{
           "type":"SystemAssigned"
        }
     }
    
  3. Kullanıcı tarafından atanan mevcut yönetilen kimliklerle bir sanal makine ölçek kümesinde sistem tarafından atanan yönetilen kimliği etkinleştirmek için değere type eklemeniz SystemAssigned gerekir.

    Örneğin, sanal makine ölçek kümenizde kullanıcı tarafından atanan yönetilen kimlikler ID1 varsa ve ID2 sanal makine ölçek kümesine sistem tarafından atanan yönetilen kimlik eklemek istiyorsanız aşağıdaki CURL çağrısını kullanın. ve <SUBSCRIPTION ID> değerlerini ortamınıza uygun değerlerle değiştirin<ACCESS TOKEN>.

    API sürümü2018-06-01, kullanıcı tarafından atanan yönetilen kimlikleriuserAssignedIdentities, API sürümünde 2017-12-01kullanılan dizi biçimindeki değerden identityIds farklı olarak sözlük biçiminde depolar.

    API SÜRÜM 2018-06-01

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned,UserAssigned", "userAssignedIdentities":{"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{},"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":{}}}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
    
    PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1
    

    İstek üst bilgileri

    İstek üst bilgisi Açıklama
    İçerik Türü Gerekli. application/json olarak ayarlayın.
    Yetkilendirme Gerekli. Geçerli Bearer bir erişim belirteci olarak ayarlayın.

    İstek gövdesi

     {
        "identity":{
           "type":"SystemAssigned,UserAssigned",
           "userAssignedIdentities":{
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{
              },
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":{
    
              }
           }
        }
     }
    

    API SÜRÜM 2017-12-01

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01' -X PATCH -d '{"identity":{"type":"SystemAssigned,UserAssigned", "identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1","/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2"]}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
    
    PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01 HTTP/1.1
    

    İstek üst bilgileri

    İstek üst bilgisi Açıklama
    İçerik Türü Gerekli. application/json olarak ayarlayın.
    Yetkilendirme Gerekli. Geçerli Bearer bir erişim belirteci olarak ayarlayın.

    İstek gövdesi

     {
        "identity":{
           "type":"SystemAssigned,UserAssigned",
           "identityIds":[
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1",
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2"
           ]
        }
     }
    

Sanal makine ölçek kümesinden sistem tarafından atanan yönetilen kimliği devre dışı bırakma

Mevcut bir sanal makine ölçek kümesinde sistem tarafından atanan bir kimliği devre dışı bırakmak için bir erişim belirteci almanız ve ardından kimlik türünü Noneolarak güncelleştirmek üzere Resource Manager REST uç noktasını çağırmak için CURL kullanmanız gerekir.

  1. Sistem tarafından atanan yönetilen kimlikle sanal makine ölçek kümenizi oluşturmak için Yetkilendirme üst bilgisindeki bir sonraki adımda kullanacağınız Taşıyıcı erişim belirtecini alın.

    az account get-access-token
    
  2. Sistem tarafından atanan yönetilen kimliği devre dışı bırakmak üzere Azure Resource Manager REST uç noktasını çağırmak için CURL kullanarak sanal makine ölçek kümesini güncelleştirin. Aşağıdaki örnek, istek gövdesinde tanımlanan sistem tarafından atanan yönetilen kimliği myVMSS adlı bir sanal makine ölçek kümesinden alınan değerle {"identity":{"type":"None"}} devre dışı bırakır. değerini bir Taşıyıcı erişim belirteci istediğinizde önceki adımda aldığınız değerle ve <SUBSCRIPTION ID> ortamınız için uygun değerle değiştirin<ACCESS TOKEN>.

    Önemli

    Sanal makine ölçek kümesine atanan mevcut kullanıcı tarafından atanan yönetilen kimlikleri silmediğinizden emin olmak için şu CURL komutunu kullanarak kullanıcı tarafından atanan yönetilen kimlikleri listelemeniz gerekir: curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachineScaleSets/<VMSS NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>". Sanal makine ölçek kümesine kullanıcı tarafından atanan yönetilen bir kimliğiniz varsa, sanal makine ölçek kümenizden sistem tarafından atanan yönetilen kimliği kaldırırken kullanıcı tarafından atanan yönetilen kimlikleri nasıl koruyabileceğinizi gösteren 3. adıma geçin.

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"None"}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
    
    PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1
    

    İstek üst bilgileri

    İstek üst bilgisi Açıklama
    İçerik Türü Gerekli. application/json olarak ayarlayın.
    Yetkilendirme Gerekli. Geçerli Bearer bir erişim belirteci olarak ayarlayın.

    İstek gövdesi

     {
        "identity":{
           "type":"None"
        }
     }
    

    Kullanıcı tarafından atanan yönetilen kimlikleri olan bir sanal makine ölçek kümesinden sistem tarafından atanan yönetilen kimliği kaldırmak için, API sürüm 2018-06-01 kullanıyorsanız değeri ve userAssignedIdentities sözlük değerlerini koruyarak UserAssigned değerden {"identity":{"type:" "}} kaldırınSystemAssigned. API 2017-12-01 veya önceki bir sürümünü kullanıyorsanız diziyi identityIds koruyun.

Kullanıcı tarafından atanan yönetilen kimlik

Bu bölümde, Azure Resource Manager REST uç noktasına çağrı yapmak için CURL kullanarak sanal makine ölçek kümesinde kullanıcı tarafından atanan yönetilen kimliği eklemeyi ve kaldırmayı öğreneceksiniz.

Sanal makine ölçek kümesi oluşturulurken kullanıcı tarafından atanan yönetilen kimlik atama

  1. Sistem tarafından atanan yönetilen kimlikle sanal makine ölçek kümenizi oluşturmak için Yetkilendirme üst bilgisindeki bir sonraki adımda kullanacağınız Taşıyıcı erişim belirtecini alın.

    az account get-access-token
    
  2. Sanal makine ölçek kümeniz için bir ağ arabirimi oluşturun:

     az network nic create -g myResourceGroup --vnet-name myVnet --subnet mySubnet -n myNic
    
  3. Sistem tarafından atanan yönetilen kimlikle sanal makine ölçek kümenizi oluşturmak için Yetkilendirme üst bilgisindeki bir sonraki adımda kullanacağınız Taşıyıcı erişim belirtecini alın.

    az account get-access-token
    
  4. Burada bulunan yönergeleri kullanarak kullanıcı tarafından atanan bir yönetilen kimlik oluşturun: Kullanıcı tarafından atanan yönetilen kimlik oluşturma.

  5. Azure Resource Manager REST uç noktasını çağırmak için CURL kullanarak bir sanal makine ölçek kümesi oluşturun. Aşağıdaki örnek, kullanıcı tarafından atanan yönetilen kimliğe ID1sahip myResourceGroup kaynak grubunda, istek gövdesinde değeriyle "identity":{"type":"UserAssigned"}tanımlandığı gibi myVMSS adlı bir sanal makine ölçek kümesi oluşturur. değerini bir Taşıyıcı erişim belirteci istediğinizde önceki adımda aldığınız değerle ve <SUBSCRIPTION ID> ortamınız için uygun değerle değiştirin<ACCESS TOKEN>.

    API SÜRÜM 2018-06-01

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01' -X PUT -d '{"sku":{"tier":"Standard","capacity":3,"name":"Standard_D1_v2"},"location":"eastus","identity":{"type":"UserAssigned","userAssignedIdentities":{"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{}}},"properties":{"overprovision":true,"virtualMachineProfile":{"storageProfile":{"imageReference":{"sku":"2016-Datacenter","publisher":"MicrosoftWindowsServer","version":"latest","offer":"WindowsServer"},"osDisk":{"caching":"ReadWrite","managedDisk":{"storageAccountType":"StandardSSD_LRS"},"createOption":"FromImage"}},"osProfile":{"computerNamePrefix":"myVMSS","adminUsername":"azureuser","adminPassword":"myPassword12"},"networkProfile":{"networkInterfaceConfigurations":[{"name":"myVMSS","properties":{"primary":true,"enableIPForwarding":true,"ipConfigurations":[{"name":"myVMSS","properties":{"subnet":{"id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"}}}]}}]}},"upgradePolicy":{"mode":"Manual"}}}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
    
    PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1
    

    İstek üst bilgileri

    İstek üst bilgisi Açıklama
    İçerik Türü Gerekli. application/json olarak ayarlayın.
    Yetkilendirme Gerekli. Geçerli Bearer bir erişim belirteci olarak ayarlayın.

    İstek gövdesi

     {
        "sku":{
           "tier":"Standard",
           "capacity":3,
           "name":"Standard_D1_v2"
        },
        "location":"eastus",
        "identity":{
           "type":"UserAssigned",
           "userAssignedIdentities":{
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{
    
              }
           }
        },
        "properties":{
           "overprovision":true,
           "virtualMachineProfile":{
              "storageProfile":{
                 "imageReference":{
                    "sku":"2016-Datacenter",
                    "publisher":"MicrosoftWindowsServer",
                    "version":"latest",
                    "offer":"WindowsServer"
                 },
                 "osDisk":{
                    "caching":"ReadWrite",
                    "managedDisk":{
                       "storageAccountType":"StandardSSD_LRS"
                    },
                    "createOption":"FromImage"
                 }
              },
              "osProfile":{
                 "computerNamePrefix":"myVMSS",
                 "adminUsername":"azureuser",
                 "adminPassword":"myPassword12"
              },
              "networkProfile":{
                 "networkInterfaceConfigurations":[
                    {
                       "name":"myVMSS",
                       "properties":{
                          "primary":true,
                          "enableIPForwarding":true,
                          "ipConfigurations":[
                             {
                                "name":"myVMSS",
                                "properties":{
                                   "subnet":{
                                      "id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"
                                   }
                                }
                             }
                          ]
                       }
                    }
                 ]
              }
           },
           "upgradePolicy":{
              "mode":"Manual"
           }
        }
     }
    

    API SÜRÜM 2017-12-01

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01' -X PUT -d '{"sku":{"tier":"Standard","capacity":3,"name":"Standard_D1_v2"},"location":"eastus","identity":{"type":"UserAssigned","identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"]},"properties":{"overprovision":true,"virtualMachineProfile":{"storageProfile":{"imageReference":{"sku":"2016-Datacenter","publisher":"MicrosoftWindowsServer","version":"latest","offer":"WindowsServer"},"osDisk":{"caching":"ReadWrite","managedDisk":{"storageAccountType":"StandardSSD_LRS"},"createOption":"FromImage"}},"osProfile":{"computerNamePrefix":"myVMSS","adminUsername":"azureuser","adminPassword":"myPassword12"},"networkProfile":{"networkInterfaceConfigurations":[{"name":"myVMSS","properties":{"primary":true,"enableIPForwarding":true,"ipConfigurations":[{"name":"myVMSS","properties":{"subnet":{"id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"}}}]}}]}},"upgradePolicy":{"mode":"Manual"}}}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
    
    PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01 HTTP/1.1
    

    İstek üst bilgileri

    İstek üst bilgisi Açıklama
    İçerik Türü Gerekli. application/json olarak ayarlayın.
    Yetkilendirme Gerekli. Geçerli Bearer bir erişim belirteci olarak ayarlayın.

    İstek gövdesi

     {
        "sku":{
           "tier":"Standard",
           "capacity":3,
           "name":"Standard_D1_v2"
        },
        "location":"eastus",
        "identity":{
           "type":"UserAssigned",
           "identityIds":[
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"
           ]
        },
        "properties":{
           "overprovision":true,
           "virtualMachineProfile":{
              "storageProfile":{
                 "imageReference":{
                    "sku":"2016-Datacenter",
                    "publisher":"MicrosoftWindowsServer",
                    "version":"latest",
                    "offer":"WindowsServer"
                 },
                 "osDisk":{
                    "caching":"ReadWrite",
                    "managedDisk":{
                       "storageAccountType":"StandardSSD_LRS"
                    },
                    "createOption":"FromImage"
                 }
              },
              "osProfile":{
                 "computerNamePrefix":"myVMSS",
                 "adminUsername":"azureuser",
                 "adminPassword":"myPassword12"
              },
              "networkProfile":{
                 "networkInterfaceConfigurations":[
                    {
                       "name":"myVMSS",
                       "properties":{
                          "primary":true,
                          "enableIPForwarding":true,
                          "ipConfigurations":[
                             {
                                "name":"myVMSS",
                                "properties":{
                                   "subnet":{
                                      "id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"
                                   }
                                }
                             }
                          ]
                       }
                    }
                 ]
              }
           },
           "upgradePolicy":{
              "mode":"Manual"
           }
        }
     }
    

Mevcut bir Azure sanal makine ölçek kümesine kullanıcı tarafından atanan yönetilen kimlik atama

  1. Sistem tarafından atanan yönetilen kimlikle sanal makine ölçek kümenizi oluşturmak için Yetkilendirme üst bilgisindeki bir sonraki adımda kullanacağınız Taşıyıcı erişim belirtecini alın.

    az account get-access-token
    
  2. Burada bulunan Kullanıcı tarafından atanan yönetilen kimlik oluşturma yönergelerini kullanarak kullanıcı tarafından atanan bir yönetilen kimlik oluşturun.

  3. Sanal makine ölçek kümesine atanan mevcut kullanıcı veya sistem tarafından atanan yönetilen kimlikleri silmediğinizden emin olmak için aşağıdaki CURL komutunu kullanarak sanal makine ölçek kümesine atanan kimlik türlerini listelemeniz gerekir. Sanal makine ölçek kümesine atanmış yönetilen kimlikleriniz varsa, bunlar değerde identity listelenir.

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachineScaleSets/<VMSS NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>"
    
    GET https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachineScaleSets/<VMSS NAME>?api-version=2018-06-01 HTTP/1.1
    

    İstek üst bilgileri

    İstek üst bilgisi Açıklama
    Yetkilendirme Gerekli. Geçerli Bearer bir erişim belirteci olarak ayarlayın.
  4. Sanal makine ölçek kümenize atanmış kullanıcı veya sistem tarafından atanmış yönetilen kimlikleriniz yoksa, sanal makine ölçek kümesine kullanıcı tarafından atanan ilk yönetilen kimliği atamak üzere Azure Resource Manager REST uç noktasını çağırmak için aşağıdaki CURL komutunu kullanın. Sanal makine ölçek kümesine atanmış bir kullanıcı veya sistem tarafından atanan yönetilen kimlikleriniz varsa, bir sanal makine ölçek kümesine kullanıcı tarafından atanan birden çok yönetilen kimliği ekleme ve sistem tarafından atanan yönetilen kimliği koruma adımlarını gösteren 5. adıma geçin.

    Aşağıdaki örnek, ID1 myResourceGroup kaynak grubundaki myVMSS adlı bir sanal makine ölçek kümesine kullanıcı tarafından atanan bir yönetilen kimlik atar. değerini bir Taşıyıcı erişim belirteci istediğinizde önceki adımda aldığınız değerle ve <SUBSCRIPTION ID> ortamınız için uygun değerle değiştirin<ACCESS TOKEN>.

    API SÜRÜM 2018-06-01

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-12-01' -X PATCH -d '{"identity":{"type":"userAssigned", "userAssignedIdentities":{"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{}}}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
    
    PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-12-01 HTTP/1.1
    

    İstek üst bilgileri

    İstek üst bilgisi Açıklama
    İçerik Türü Gerekli. application/json olarak ayarlayın.
    Yetkilendirme Gerekli. Geçerli Bearer bir erişim belirteci olarak ayarlayın.

    İstek gövdesi

     {
        "identity":{
           "type":"userAssigned",
           "userAssignedIdentities":{
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{
    
              }
           }
        }
     }
    

    API SÜRÜM 2017-12-01

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01' -X PATCH -d '{"identity":{"type":"userAssigned", "identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"]}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
    
    PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01 HTTP/1.1
    

    İstek üst bilgileri

    İstek üst bilgisi Açıklama
    İçerik Türü Gerekli. application/json olarak ayarlayın.
    Yetkilendirme Gerekli. Geçerli Bearer bir erişim belirteci olarak ayarlayın.

    İstek gövdesi

     {
        "identity":{
           "type":"userAssigned",
           "identityIds":[
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"
           ]
        }
     }
    
  5. Sanal makine ölçek kümenize kullanıcı tarafından atanmış veya sistem tarafından atanmış bir yönetilen kimliğiniz varsa:

    API SÜRÜM 2018-06-01

    Kullanıcı tarafından atanan yönetilen kimliği userAssignedIdentities sözlük değerine ekleyin.

    Örneğin, sistem tarafından atanan yönetilen kimliğiniz ve şu anda sanal makine ölçeğinize atanmış olan kullanıcı tarafından atanan yönetilen kimliğiniz ID1 varsa ve buna kullanıcı tarafından atanan yönetilen kimliği ID2 eklemek istiyorsanız:

    curl  'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned, UserAssigned", "userAssignedIdentities":{"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{},"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":{}}}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
    
    PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1
    

    İstek üst bilgileri

    İstek üst bilgisi Açıklama
    İçerik Türü Gerekli. application/json olarak ayarlayın.
    Yetkilendirme Gerekli. Geçerli Bearer bir erişim belirteci olarak ayarlayın.

    İstek gövdesi

     {
        "identity":{
           "type":"SystemAssigned, UserAssigned",
           "userAssignedIdentities":{
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{
    
              },
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":{
    
              }
           }
        }
     }
    

    API SÜRÜM 2017-12-01

    Kullanıcı tarafından atanan yeni yönetilen kimliği eklerken dizi değerinde tutmak istediğiniz kullanıcı tarafından atanan yönetilen kimlikleri koruyun identityIds .

    Örneğin, sistem tarafından atanan kimliğiniz ve şu anda sanal makine ölçek kümenize atanmış kullanıcı tarafından atanan yönetilen kimliğiniz ID1 varsa ve buna kullanıcı tarafından atanan yönetilen kimliği ID2 eklemek istiyorsanız:

    curl  'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01' -X PATCH -d '{"identity":{"type":"SystemAssigned, UserAssigned", "identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1","/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2"]}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
    
    PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01 HTTP/1.1
    

    İstek üst bilgileri

    İstek üst bilgisi Açıklama
    İçerik Türü Gerekli. application/json olarak ayarlayın.
    Yetkilendirme Gerekli. Geçerli Bearer bir erişim belirteci olarak ayarlayın.

    İstek gövdesi

     {
        "identity":{
           "type":"SystemAssigned, UserAssigned",
           "identityIds":[
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1",
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2"
           ]
        }
     }
    

Sanal makine ölçek kümesinden kullanıcı tarafından atanan yönetilen kimliği kaldırma

  1. Sistem tarafından atanan yönetilen kimlikle sanal makine ölçek kümenizi oluşturmak için Yetkilendirme üst bilgisindeki bir sonraki adımda kullanacağınız Taşıyıcı erişim belirtecini alın.

    az account get-access-token
    
  2. Sanal makine ölçek kümesine atanmasını istediğiniz mevcut kullanıcı tarafından atanan yönetilen kimlikleri silmediğinizden veya sistem tarafından atanan yönetilen kimliği kaldırmadığınızdan emin olmak için, aşağıdaki CURL komutunu kullanarak yönetilen kimlikleri listelemeniz gerekir:

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachineScaleSets/<VMSS NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>" 
    
    GET https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachineScaleSets/<VMSS NAME>?api-version=2018-06-01 HTTP/1.1
    

    İstek üst bilgileri

    İstek üst bilgisi Açıklama
    Yetkilendirme Gerekli. Geçerli Bearer bir erişim belirteci olarak ayarlayın.

    VM'ye atanmış yönetilen kimlikleriniz varsa, bunlar yanıtta değerde identity listelenir.

    Örneğin, kullanıcı tarafından atanan yönetilen kimlikleriniz ID1 varsa ve ID2 sanal makine ölçek kümenize atanmışsanız ve yalnızca sistem tarafından atanan yönetilen kimliğin atanmasını ve korunmasını istiyorsanız ID1 :

    API SÜRÜM 2018-06-01

    Kaldırmak istediğiniz kullanıcı tarafından atanan yönetilen kimliğe ekleyin null :

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned, UserAssigned", "userAssignedIdentities":{"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":null}}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
    
    PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1
    

    İstek üst bilgileri

    İstek üst bilgisi Açıklama
    İçerik Türü Gerekli. application/json olarak ayarlayın.
    Yetkilendirme Gerekli. Geçerli Bearer bir erişim belirteci olarak ayarlayın.

    İstek gövdesi

     {
        "identity":{
           "type":"SystemAssigned, UserAssigned",
           "userAssignedIdentities":{
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":null
           }
        }
     }
    

    API SÜRÜM 2017-12-01

    Yalnızca dizide tutmak istediğiniz kullanıcı tarafından atanan yönetilen kimlikleri identityIds koruyun:

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01' -X PATCH -d '{"identity":{"type":"SystemAssigned,UserAssigned", "identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"]}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
    
    PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01 HTTP/1.1
    

    İstek üst bilgileri

    İstek üst bilgisi Açıklama
    İçerik Türü Gerekli. application/json olarak ayarlayın.
    Yetkilendirme Gerekli. Geçerli Bearer bir erişim belirteci olarak ayarlayın.

    İstek gövdesi

     {
        "identity":{
           "type":"SystemAssigned,UserAssigned",
           "identityIds":[
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"
           ]
        }
     }
    

Sanal makine ölçek kümenizde hem sistem tarafından atanan hem de kullanıcı tarafından atanan yönetilen kimlikler varsa, aşağıdaki komutu kullanarak yalnızca sistem tarafından atanan kimlikleri kullanmaya geçerek kullanıcı tarafından atanan tüm yönetilen kimlikleri kaldırabilirsiniz:

curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned"}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1

İstek üst bilgileri

İstek üst bilgisi Açıklama
İçerik Türü Gerekli. application/json olarak ayarlayın.
Yetkilendirme Gerekli. Geçerli Bearer bir erişim belirteci olarak ayarlayın.

İstek gövdesi

{
   "identity":{
      "type":"SystemAssigned"
   }
}

Sanal makine ölçek kümenizde yalnızca kullanıcı tarafından atanan yönetilen kimlikler varsa ve bunların tümünü kaldırmak istiyorsanız aşağıdaki komutu kullanın:

curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"None"}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1

İstek üst bilgileri

İstek üst bilgisi Açıklama
İçerik Türü Gerekli. application/json olarak ayarlayın.
Yetkilendirme Gerekli. Geçerli Bearer bir erişim belirteci olarak ayarlayın.

İstek gövdesi

{
   "identity":{
      "type":"None"
   }
}

Sonraki adımlar

REST kullanarak kullanıcı tarafından atanan yönetilen kimlikleri oluşturma, listeleme veya silme hakkında bilgi için bkz: