Share via


Azure sanal makinelerinde (VM) yönetilen kimlikleri yapılandırma

Azure kaynakları için yönetilen kimlikler, Microsoft Entra Id'nin bir özelliğidir. Azure kaynakları için yönetilen kimlikleri destekleyen Azure hizmetlerinin her biri kendi zaman çizelgesine tabidir. Başlamadan önce kaynağınıza yönelik yönetilen kimliklerin kullanılabilirlik durumunu ve bilinen sorunları gözden geçirdiğinizden emin olun.

Azure kaynakları için yönetilen kimlikler, Azure hizmetlerine Microsoft Entra ID üzerinde otomatik olarak yönetilen bir kimlik 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 portalını kullanarak Azure Sanal Makinesi (VM) için sistem ve kullanıcı tarafından atanan yönetilen kimlikleri etkinleştirmeyi ve devre dışı bırakmayı öğreneceksiniz.

Önkoşullar

Sistem tarafından atanan yönetilen kimlik

Bu bölümde, Azure portalını kullanarak VM için sistem tarafından atanan yönetilen kimliği etkinleştirmeyi ve devre dışı bırakmayı öğreneceksiniz.

VM oluşturma sırasında sistem tarafından yönetilen kimliği etkinleştirme

Oluşturma sırasında bir VM'de sistem tarafından atanan yönetilen kimliği etkinleştirmek için hesabınızın Sanal Makine Katılımcısı rol atamasına ihtiyacı vardır. Başka Microsoft Entra dizin rolü ataması gerekmez.

  • Kimlik bölümündeki Yönetim sekmesinin altında Yönetilen hizmet kimliği'ni Açık olarak değiştirin.

VM oluşturma sırasında sistem tarafından atanan kimliği etkinleştirmeyi gösteren ekran görüntüsü.

VM oluşturmak için aşağıdaki Hızlı Başlangıçlara bakın:

Var olan bir VM'de sistem tarafından yönetilen kimliği etkinleştirme

İpucu

Bu makaledeki adımlar, başladığınız portala göre biraz değişiklik gösterebilir.

Sistem tarafından atanan yönetilen kimliği başlangıçta bu olmadan sağlanan bir VM'de etkinleştirmek için hesabınıza Sanal Makine Katkıda Bulunanı rol ataması gerekir. Başka Microsoft Entra dizin rolü ataması gerekmez.

  1. VM'yi içeren Azure aboneliğiyle ilişkilendirilmiş bir hesabı kullanarak Azure portalında oturum açın.

  2. İstediğiniz Sanal Makineye gidin ve Kimlik'i seçin.

  3. Sistem atandı, Durum'un altında Açık'ı seçin ve kaydet'e tıklayın:

Vm'den sistem tarafından atanan yönetilen kimliği kaldırma

Sistem tarafından atanan yönetilen kimliği bir VM'den kaldırmak için hesabınızın Sanal Makine Katılımcısı rol atamasına ihtiyacı vardır. Başka Microsoft Entra dizin rolü ataması gerekmez.

Artık sistem tarafından atanan yönetilen kimliğe ihtiyaç olmayan bir Sanal Makineniz varsa:

  1. VM'yi içeren Azure aboneliğiyle ilişkilendirilmiş bir hesabı kullanarak Azure portalında oturum açın.

  2. İstediğiniz Sanal Makineye gidin ve Kimlik'i seçin.

  3. Sistem atandı, Durum'un altında Kapalı'yı seçin ve kaydet'e tıklayın:

    Yapılandırma sayfasının ekran görüntüsü.

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

Bu bölümde, Azure portalını kullanarak kullanıcı tarafından atanan yönetilen kimliği eklemeyi ve vm'den kaldırmayı öğreneceksiniz.

VM oluşturulurken kullanıcı tarafından atanan kimlik atama

Vm'ye kullanıcı tarafından atanan bir kimlik atamak için hesabınıza Sanal Makine Katkıda Bulunanı ve Yönetilen Kimlik Operatörü rol atamaları gerekir. Başka Microsoft Entra dizin rolü ataması gerekmez.

Şu anda Azure portalı, vm oluşturulurken kullanıcı tarafından atanan yönetilen kimlik atamayı desteklememektedir. Bunun yerine, önce bir VM oluşturmak için aşağıdaki VM oluşturma Hızlı Başlangıç makalelerinden birine bakın ve ardından vm'ye kullanıcı tarafından atanan yönetilen kimlik atamayla ilgili ayrıntılar için sonraki bölüme geçin:

Mevcut vm'ye kullanıcı tarafından atanan yönetilen kimlik atama

Vm'ye kullanıcı tarafından atanan bir kimlik atamak için hesabınıza Sanal Makine Katkıda Bulunanı ve Yönetilen Kimlik Operatörü rol atamaları gerekir. Başka Microsoft Entra dizin rolü ataması gerekmez.

  1. VM'yi içeren Azure aboneliğiyle ilişkilendirilmiş bir hesabı kullanarak Azure portalında oturum açın.

  2. İstediğiniz VM'ye gidin ve Kimlik, Kullanıcı tarafından atanan ve +Ekle'ye tıklayın.

    Kullanıcı tarafından atanan ve Ekle düğmesinin vurgulandığı Kimlik sayfasını gösteren ekran görüntüsü.

  3. VM'ye eklemek istediğiniz kullanıcı tarafından atanan kimliğe tıklayın ve ardından Ekle'ye tıklayın.

    VM'ye kullanıcı tarafından atanan yönetilen kimlik eklemeyi gösteren ekran görüntüsü.

Vm'den kullanıcı tarafından atanan yönetilen kimliği kaldırma

Vm'den kullanıcı tarafından atanan bir kimliği kaldırmak için hesabınıza Sanal Makine Katılımcısı rol ataması gerekir. Başka Microsoft Entra dizin rolü ataması gerekmez.

  1. VM'yi içeren Azure aboneliğiyle ilişkilendirilmiş bir hesabı kullanarak Azure portalında oturum açın.

  2. İstediğiniz VM'ye gidin ve Silmek istediğiniz kullanıcı tarafından atanan yönetilen kimliğin adı olan Kimlik, Kullanıcı tarafından atanan'ı seçin ve ardından Kaldır'a tıklayın (onay bölmesinde Evet'e tıklayın).

    Vm'den kullanıcı tarafından atanan yönetilen kimliği kaldırmayı gösteren ekran görüntüsü

Sonraki adımlar

Bu makalede, Azure CLI'yı kullanarak azure vm'sinde Azure kaynakları işlemleri için aşağıdaki yönetilen kimlikleri gerçekleştirmeyi öğreneceksiniz:

  • Azure VM'de sistem tarafından atanan yönetilen kimliği etkinleştirme ve devre dışı bırakma
  • Azure VM'de 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 CLI kullanarak Bir Azure VM'de sistem tarafından atanan yönetilen kimliği etkinleştirmeyi ve devre dışı bırakmayı öğreneceksiniz.

Azure VM oluşturulurken sistem tarafından atanan yönetilen kimliği etkinleştirme

Sistem tarafından atanan yönetilen kimliğin etkinleştirildiği bir Azure VM oluşturmak için hesabınızın Sanal Makine Katılımcısı rol ataması gerekir. Başka Microsoft Entra dizin rolü ataması gerekmez.

  1. VM'nizin ve onunla ilgili kaynakların kapsaması ve dağıtımı için, az group create komutunu kullanarak 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. az vm create kullanarak VM oluşturun. Aşağıdaki örnek, belirtilen ve --scopeparametresi tarafından --assign-identity istendiği gibi sistem tarafından atanan yönetilen kimliğe sahip --role myVM adlı bir VM oluşturur. --admin-username ve --admin-password parametreleri, sanal makinede oturum açmak için yönetici hesabının kullanıcı adı ve parolasını belirtir. Bu değerleri ortamınıza uyacak şekilde güncelleştirin:

    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
    

Mevcut Bir Azure VM'de sistem tarafından atanan yönetilen kimliği etkinleştirme

Vm'de sistem tarafından atanan yönetilen kimliği etkinleştirmek için hesabınıza Sanal Makine Katılımcısı rol ataması gerekir. Başka Microsoft Entra dizin rolü ataması gerekmez.

  1. Azure CLI'yi yerel bir konsolda kullanıyorsanız, önce az login kullanarak Azure'da oturum açın. VM'yi içeren Azure aboneliğiyle ilişkilendirilmiş bir hesap kullanın.

    az login
    
  2. Az vm identity assign komutunu kullanarak identity assign mevcut bir VM'ye sistem tarafından atanan kimliği etkinleştirin:

    az vm identity assign -g myResourceGroup -n myVm
    

Azure VM'den sistem tarafından atanan kimliği devre dışı bırakma

Vm'de sistem tarafından atanan yönetilen kimliği devre dışı bırakmak için hesabınıza Sanal Makine Katılımcısı rol ataması gerekir. Başka Microsoft Entra dizin rolü ataması gerekmez.

Artık sistem tarafından atanan kimliğe ihtiyacı olmayan ancak yine de kullanıcı tarafından atanan kimliklere ihtiyaç duyan bir Sanal Makineniz varsa aşağıdaki komutu kullanın:

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

Artık sistem tarafından atanan kimliğe ihtiyacı olmayan ve kullanıcı tarafından atanan kimlikleri olmayan bir sanal makineniz varsa aşağıdaki komutu kullanın:

Not

Değer none büyük/küçük harfe duyarlıdır. Küçük harfle yazılmalıdır.

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

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

Bu bölümde, Azure CLI kullanarak Azure VM'de kullanıcı tarafından atanan yönetilen kimliği eklemeyi ve kaldırmayı öğreneceksiniz. Kullanıcı tarafından atanan yönetilen kimliğinizi VM'nizden farklı bir RG'de oluşturursanız. Vm'nize atamak için yönetilen kimliğinizin URL'sini kullanmanız gerekir. Örneğin:

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

Azure VM oluşturulurken kullanıcı tarafından atanan yönetilen kimlik atama

Oluşturma sırasında vm'ye kullanıcı tarafından atanan bir kimlik atamak için hesabınızın Sanal Makine Katkıda Bulunanı ve Yönetilen Kimlik Operatörü rol atamalarına ihtiyacı vardır. Başka Microsoft Entra dizin rolü ataması gerekmez.

  1. Kullanmak istediğiniz bir kaynak grubunuz varsa bu adımı atlayabilirsiniz. az group create komutunu kullanarak kullanıcı tarafından atanan yönetilen kimliğinizin kapsaması ve dağıtımı için bir kaynak grubu oluşturun. <RESOURCE GROUP> ve <LOCATION> parametre değerlerini kendi değerlerinizle değiştirmeyi unutmayın. :

    az group create --name <RESOURCE GROUP> --location <LOCATION>
    
  2. Kullanıcı tarafından atanan yönetilen kimliği oluşturmak için az identity create kullanın. -g parametresi kullanıcı tarafından atanan yönetilen kimliğin oluşturulduğu kaynak grubunu belirtirken, -n parametresi de bunun adını belirtir.

    Önemli

    Kullanıcı tarafından atanan yönetilen kimlikler oluşturduğunuzda, ad bir harf veya sayı ile başlamalıdır ve alfasayısal karakterler, kısa çizgi (-) ve alt çizgi (_) birleşimini içerebilir. Bir sanal makineye veya sanal makine ölçek kümesine atamanın düzgün çalışması için ad 24 karakterle sınırlıdır. Daha fazla bilgi için bkz. SSS ve bilinen sorunlar.

    az identity create -g myResourceGroup -n myUserAssignedIdentity
    

    Yanıt, aşağıdakine benzer şekilde, oluşturulan kullanıcı tarafından atanan yönetilen kimliğin ayrıntılarını içerir. Kullanıcı tarafından atanan yönetilen kimliğe atanan kaynak kimliği değeri aşağıdaki adımda kullanılır.

    {
        "clientId": "00001111-aaaa-2222-bbbb-3333cccc4444",
        "clientSecretUrl": "https://control-westcentralus.identity.azure.net/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<myUserAssignedIdentity>/credentials?tid=5678&oid=9012&aid=00001111-aaaa-2222-bbbb-3333cccc4444",
        "id": "/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>",
        "location": "westcentralus",
        "name": "<USER ASSIGNED IDENTITY NAME>",
        "principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222",
        "resourceGroup": "<RESOURCE GROUP>",
        "tags": {},
        "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
        "type": "Microsoft.ManagedIdentity/userAssignedIdentities"    
    }
    
  3. az vm create kullanarak VM oluşturun. Aşağıdaki örnek, parametresi tarafından --assign-identity belirtilen yeni kullanıcı tarafından atanan kimlikle ilişkilendirilmiş ve --scopeile --role ilişkilendirilmiş bir VM oluşturur. , , <VM NAME>, , <USER NAME>, <PASSWORD>, <ROLE><USER ASSIGNED IDENTITY NAME>ve <SUBSCRIPTION> parametre değerlerini kendi değerlerinizle değiştirmeyi <RESOURCE GROUP>unutmayın.

    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> 
    

Mevcut Azure VM'sine kullanıcı tarafından atanan yönetilen kimlik atama

Vm'ye kullanıcı tarafından atanan bir kimlik atamak için hesabınıza Sanal Makine Katkıda Bulunanı ve Yönetilen Kimlik Operatörü rol atamaları gerekir. Başka Microsoft Entra dizin rolü ataması gerekmez.

  1. Kullanıcı tarafından atanan kimliği oluşturmak için az identity create kullanın. -g parametresi, kullanıcı tarafından atanan kimliğin oluşturulduğu kaynak grubunu, parametresi ise -n adını belirtir. <RESOURCE GROUP> ve <USER ASSIGNED IDENTITY NAME> parametre değerlerini kendi değerlerinizle değiştirmeyi unutmayın:

    Önemli

    Addaki özel karakterlerle (ör. alt çizgi) kullanıcı tarafından atanan yönetilen kimliklerin oluşturulması şu anda desteklenmemektedir. Lütfen alfasayısal karakterler kullanın. Güncelleştirmeler için sonra yeniden denetleyin. Daha fazla bilgi için bkz . SSS ve bilinen sorunlar

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

    Yanıt, aşağıdakine benzer şekilde, oluşturulan kullanıcı tarafından atanan yönetilen kimliğin ayrıntılarını içerir.

    {
      "clientId": "00001111-aaaa-2222-bbbb-3333cccc4444",
      "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=00001111-aaaa-2222-bbbb-3333cccc4444",
      "id": "/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>",
      "location": "westcentralus",
      "name": "<USER ASSIGNED IDENTITY NAME>",
      "principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222",
      "resourceGroup": "<RESOURCE GROUP>",
      "tags": {},
      "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
      "type": "Microsoft.ManagedIdentity/userAssignedIdentities"    
    }
    
  2. az vm identity assign komutunu kullanarak vm'nize kullanıcı tarafından atanan kimliği atayın. <RESOURCE GROUP> ve <VM NAME> parametre değerlerini kendi değerlerinizle değiştirmeyi unutmayın. <USER ASSIGNED IDENTITY NAME>, önceki adımda oluşturulduğu gibi kullanıcı tarafından atanan yönetilen kimliğin kaynak name özelliğidir. Kullanıcı tarafından atanan yönetilen kimliğinizi VM'nizden farklı bir RG'de oluşturduysanız. Yönetilen kimliğinizin URL'sini kullanmanız gerekir.

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

Azure VM'den kullanıcı tarafından atanan yönetilen kimliği kaldırma

Vm'ye kullanıcı tarafından atanan bir kimliği kaldırmak için hesabınıza Sanal Makine Katılımcısı rol ataması gerekir.

Sanal makineye atanan tek kullanıcı tarafından atanan yönetilen kimlik buysa, UserAssigned kimlik türü değerinden kaldırılır. <RESOURCE GROUP> ve <VM NAME> parametre değerlerini kendi değerlerinizle değiştirmeyi unutmayın. <USER ASSIGNED IDENTITY>, kullanıcı tarafından atanan kimliğin name özelliğidir ve bunu kullanarak az vm identity showsanal makinenin kimlik bölümünde bulabilirsiniz:

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

VM'nizin sistem tarafından atanan yönetilen kimliği yoksa ve kullanıcı tarafından atanan tüm kimlikleri kaldırmak istiyorsanız aşağıdaki komutu kullanın:

Not

Değer none büyük/küçük harfe duyarlıdır. Küçük harfle yazılmalıdır.

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

VM'nizde hem sistem tarafından atanan hem de kullanıcı tarafından atanan kimlikler varsa, yalnızca sistem tarafından atanan kimlikleri kullanmaya geçerek kullanıcı tarafından atanan tüm kimlikleri kaldırabilirsiniz. Aşağıdaki komutu kullanın:

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

Sonraki adımlar

Bu makalede, PowerShell'i kullanarak azure vm'sinde Azure kaynakları işlemleri için aşağıdaki yönetilen kimlikleri gerçekleştirmeyi öğreneceksiniz.

Not

Azure ile etkileşim kurmak için Azure Az PowerShell modülünü kullanmanızı öneririz. Başlamak için bkz. Azure PowerShell'i yükleme. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.

Önkoşullar

Sistem tarafından atanan yönetilen kimlik

Bu bölümde, Azure PowerShell kullanarak sistem tarafından atanan yönetilen kimliği etkinleştirme ve devre dışı bırakma adımlarını ele aacağız.

Azure VM oluşturulurken sistem tarafından atanan yönetilen kimliği etkinleştirme

Sistem tarafından atanan yönetilen kimliğin etkinleştirildiği bir Azure VM oluşturmak için hesabınızın Sanal Makine Katılımcısı rol ataması gerekir. Başka Microsoft Entra dizin rolü ataması gerekmez.

  1. Yalnızca gerekli bölümleri tamamlayarak ("Azure'da oturum açın", "Kaynak grubu oluştur", "Ağ grubu oluştur", "VM'yi oluşturma") aşağıdaki Azure VM Hızlı Başlangıçlarından birine bakın.

    "VM Oluşturma" bölümüne gittiğiniz zaman New-AzVMConfig cmdlet söz diziminde küçük bir değişiklik yapın. Vm'yi sistem tarafından atanan kimlik etkin olarak sağlamak için bir -IdentityType SystemAssigned parametre eklediğinizden emin olun, örneğin:

    $vmConfig = New-AzVMConfig -VMName myVM -IdentityType SystemAssigned ...
    

Mevcut Bir Azure VM'de sistem tarafından atanan yönetilen kimliği etkinleştirme

Sistem tarafından atanan yönetilen kimliği başlangıçta bu olmadan sağlanan bir VM'de etkinleştirmek için hesabınıza Sanal Makine Katkıda Bulunanı rol ataması gerekir. Başka Microsoft Entra dizin rolü ataması gerekmez.

  1. cmdlet'ini Get-AzVM kullanarak VM özelliklerini alın. Ardından sistem tarafından atanan yönetilen kimliği etkinleştirmek için Update-AzVM cmdlet'indeki anahtarı kullanın-IdentityType:

    $vm = Get-AzVM -ResourceGroupName myResourceGroup -Name myVM
    Update-AzVM -ResourceGroupName myResourceGroup -VM $vm -IdentityType SystemAssigned
    

Gruba VM sistem tarafından atanan kimlik ekleme

Vm'de sistem tarafından atanan kimliği etkinleştirdikten sonra bir gruba ekleyebilirsiniz. Aşağıdaki yordam, vm'nin sistem tarafından atanan kimliğini bir gruba ekler.

  1. VM'nin hizmet sorumlusunun ObjectID (döndürülen değerlerin Id alanında belirtildiği gibi) değerini alın ve not alın:

    Get-AzADServicePrincipal -displayname "myVM"
    
  2. Grubun değerini (döndürülen değerlerin Id alanında belirtildiği gibi) alın ve not ObjectID alın:

    Get-AzADGroup -searchstring "myGroup"
    
  3. VM'nin hizmet sorumlusunu gruba ekleyin:

    New-MgGroupMember -GroupId "<Id of group>" -DirectoryObjectId "<Id of VM service principal>" 
    

Azure VM'den sistem tarafından atanan yönetilen kimliği devre dışı bırakma

Vm'de sistem tarafından atanan yönetilen kimliği devre dışı bırakmak için hesabınıza Sanal Makine Katılımcısı rol ataması gerekir. Başka Microsoft Entra dizin rolü ataması gerekmez.

Artık sistem tarafından atanan yönetilen kimliğe ihtiyacı olmayan ancak yine de kullanıcı tarafından atanan yönetilen kimliklere ihtiyaç duyan bir Sanal Makineniz varsa aşağıdaki cmdlet'i kullanın:

  1. cmdlet'ini Get-AzVM kullanarak VM özelliklerini alın ve parametresini -IdentityType olarak UserAssignedayarlayın:

    $vm = Get-AzVM -ResourceGroupName myResourceGroup -Name myVM
    Update-AzVm -ResourceGroupName myResourceGroup -VM $vm -IdentityType "UserAssigned" -IdentityID "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/<RESROURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>..."
    

Artık sistem tarafından atanan yönetilen kimliğe ihtiyacı olmayan bir sanal makineniz varsa ve kullanıcı tarafından atanan yönetilen kimlikleri yoksa aşağıdaki komutları kullanın:

$vm = Get-AzVM -ResourceGroupName myResourceGroup -Name myVM
Update-AzVm -ResourceGroupName myResourceGroup -VM $vm -IdentityType None

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

Bu bölümde, Azure PowerShell kullanarak bir VM'de kullanıcı tarafından atanan yönetilen kimliği eklemeyi ve kaldırmayı öğreneceksiniz.

Oluşturma sırasında vm'ye kullanıcı tarafından atanan yönetilen kimlik atama

Vm'ye kullanıcı tarafından atanan bir kimlik atamak için hesabınıza Sanal Makine Katkıda Bulunanı ve Yönetilen Kimlik Operatörü rol atamaları gerekir. Başka Microsoft Entra dizin rolü ataması gerekmez.

  1. Yalnızca gerekli bölümleri tamamlayarak ("Azure'da oturum açın", "Kaynak grubu oluştur", "Ağ grubu oluştur", "VM'yi oluşturma") aşağıdaki Azure VM Hızlı Başlangıçlarından birine bakın.

    "VM oluşturma" bölümüne gittiğiniz zaman, cmdlet söz diziminde New-AzVMConfig küçük bir değişiklik yapın. VM'yi -IdentityType UserAssigned kullanıcı tarafından atanan bir kimlikle sağlamak için ve -IdentityID parametrelerini ekleyin. ,<SUBSCRIPTION ID>, <RESROURCE GROUP>ve <USER ASSIGNED IDENTITY NAME> değerlerini kendi değerlerinizle değiştirin<VM NAME>. Örneğin:

    $vmConfig = New-AzVMConfig -VMName <VM NAME> -IdentityType UserAssigned -IdentityID "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/<RESROURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>..."
    

Mevcut Azure VM'sine kullanıcı tarafından atanan yönetilen kimlik atama

Vm'ye kullanıcı tarafından atanan bir kimlik atamak için hesabınıza Sanal Makine Katkıda Bulunanı ve Yönetilen Kimlik Operatörü rol atamaları gerekir. Başka Microsoft Entra dizin rolü ataması gerekmez.

  1. New-AzUserAssignedIdentity cmdlet'ini kullanarak kullanıcı tarafından atanan bir yönetilen kimlik oluşturun. Id Sonraki adımda bu bilgilere ihtiyacınız olduğundan çıktıdaki öğesini not edin.

    Önemli

    Kullanıcı tarafından atanan yönetilen kimlikler oluşturmak yalnızca alfasayısal, alt çizgi ve kısa çizgi (0-9 veya a-z veya A-Z, _ veya -) karakterleri destekler. Ayrıca, VM/VMSS'ye atamanın düzgün çalışması için ad 3 ile 128 karakter uzunluğunda sınırlandırılmalıdır. Daha fazla bilgi için bkz . SSS ve bilinen sorunlar

    New-AzUserAssignedIdentity -ResourceGroupName <RESOURCEGROUP> -Name <USER ASSIGNED IDENTITY NAME>
    
  2. cmdlet'ini Get-AzVM kullanarak VM özelliklerini alın. Ardından Azure VM'ye kullanıcı tarafından atanan bir yönetilen kimlik atamak için Update-AzVM cmdlet'ini ve -IdentityID anahtarını kullanın-IdentityType. parametresinin-IdentityId değeri, önceki adımda not ettiğiniz değerdir Id . , <SUBSCRIPTION ID>, <RESROURCE GROUP>ve <USER ASSIGNED IDENTITY NAME> değerlerini kendi değerlerinizle değiştirin<VM NAME>.

    Uyarı

    Vm'ye daha önce kullanıcı tarafından atanan yönetilen kimlikleri korumak için, VM nesnesinin özelliğini (örneğin, $vm.Identity) sorgularIdentity. Kullanıcı tarafından atanan yönetilen kimlikler döndürülürse, bunları vm'ye atamak istediğiniz yeni kullanıcı tarafından atanan yönetilen kimlikle birlikte aşağıdaki komuta ekleyin.

    $vm = Get-AzVM -ResourceGroupName <RESOURCE GROUP> -Name <VM NAME>
    Update-AzVM -ResourceGroupName <RESOURCE GROUP> -VM $vm -IdentityType UserAssigned -IdentityID "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/<RESROURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>"
    

Azure VM'den kullanıcı tarafından atanan yönetilen kimliği kaldırma

Vm'ye kullanıcı tarafından atanan bir kimliği kaldırmak için hesabınıza Sanal Makine Katılımcısı rol ataması gerekir.

VM'nizde kullanıcı tarafından atanan birden çok yönetilen kimlik varsa, aşağıdaki komutları kullanarak sonuncusu dışında tümünü kaldırabilirsiniz. <RESOURCE GROUP> ve <VM NAME> parametre değerlerini kendi değerlerinizle değiştirmeyi unutmayın. <USER ASSIGNED IDENTITY NAME>, vm'de kalması gereken kullanıcı tarafından atanan yönetilen kimliğin ad özelliğidir. Bu bilgiler, VM nesnesinin Identity özelliğini aramak için bir sorgu kullanılarak bulunabilir. Örneğin, $vm.Identity:

$vm = Get-AzVm -ResourceGroupName myResourceGroup -Name myVm
Update-AzVm -ResourceGroupName myResourceGroup -VirtualMachine $vm -IdentityType UserAssigned -IdentityID <USER ASSIGNED IDENTITY NAME>

VM'nizin sistem tarafından atanan yönetilen kimliği yoksa ve kullanıcı tarafından atanan tüm yönetilen kimlikleri kaldırmak istiyorsanız aşağıdaki komutu kullanın:

$vm = Get-AzVm -ResourceGroupName myResourceGroup -Name myVm
Update-AzVm -ResourceGroupName myResourceGroup -VM $vm -IdentityType None

VM'nizde hem sistem tarafından atanan hem de kullanıcı tarafından atanan yönetilen kimlikler varsa, yalnızca sistem tarafından atanan yönetilen kimlikleri kullanmaya geçerek kullanıcı tarafından atanan tüm yönetilen kimlikleri kaldırabilirsiniz.

$vm = Get-AzVm -ResourceGroupName myResourceGroup -Name myVm
Update-AzVm -ResourceGroupName myResourceGroup -VirtualMachine $vm -IdentityType "SystemAssigned"

Sonraki adımlar

Bu makalede, Azure Resource Manager dağıtım şablonunu kullanarak bir Azure VM'de Azure kaynakları işlemleri için aşağıdaki yönetilen kimlikleri gerçekleştirmeyi öğreneceksiniz:

Önkoşullar

Azure Resource Manager şablonları

Azure portalı ve betik oluşturmada olduğu gibi Azure Resource Manager şablonları da bir Azure kaynak grubu tarafından tanımlanan yeni veya değiştirilmiş kaynakları dağıtmanıza olanak sağlar. Şablon düzenleme ve dağıtım için hem yerel hem de portal tabanlı çeşitli seçenekler mevcuttur:

Seçtiğiniz seçenek ne olursa olsun, şablon söz dizimi ilk dağıtım ve yeniden dağıtım sırasında aynıdır. Yeni veya mevcut bir VM'de sistem veya kullanıcı tarafından atanan yönetilen kimliği etkinleştirme işlemi aynı şekilde yapılır. Ayrıca Azure Resource Manager varsayılan olarak dağıtımlara yönelik artımlı bir güncelleştirme yapar.

Sistem tarafından atanan yönetilen kimlik

Bu bölümde, Azure Resource Manager şablonu kullanarak sistem tarafından atanan yönetilen kimliği etkinleştirecek ve devre dışı bırakacaksınız.

Azure VM'sinin oluşturulması sırasında veya mevcut bir VM'de sistem tarafından atanan yönetilen kimliği etkinleştirme

Vm'de sistem tarafından atanan yönetilen kimliği etkinleştirmek için hesabınıza Sanal Makine Katılımcısı rol ataması gerekir. Başka Microsoft Entra dizin rolü ataması gerekmez.

  1. Azure'da yerel olarak veya Azure portalı aracılığıyla oturum açtığınızda, VM'yi içeren Azure aboneliğiyle ilişkili bir hesap kullanın.

  2. Sistem tarafından atanan yönetilen kimliği etkinleştirmek için şablonu bir düzenleyiciye yükleyin, bölümünde ilgilendiğiniz kaynağı bulun Microsoft.Compute/virtualMachines ve özelliği özelliğiyle "type": "Microsoft.Compute/virtualMachines" aynı düzeyde ekleyin"identity".resources Aşağıdaki sözdizimini kullanın:

    "identity": {
        "type": "SystemAssigned"
    },
    
  3. İşiniz bittiğinde, şablonunuzun bölümüne aşağıdaki bölümler eklenmelidir resource ve aşağıdakine benzer olmalıdır:

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

VM'nin sistem tarafından atanan yönetilen kimliğine rol atama

VM'nizde sistem tarafından atanan yönetilen kimliği etkinleştirdikten sonra, oluşturulduğu kaynak grubuna Okuyucu erişimi gibi bir rol vermek isteyebilirsiniz. Bu adımda size yardımcı olacak ayrıntılı bilgileri Azure Resource Manager şablonlarını kullanarak Azure rollerini atama makalesinde bulabilirsiniz.

Azure VM'den sistem tarafından atanan yönetilen kimliği devre dışı bırakma

Sistem tarafından atanan yönetilen kimliği bir VM'den kaldırmak için hesabınızın Sanal Makine Katılımcısı rol atamasına ihtiyacı vardır. Başka Microsoft Entra dizin rolü ataması gerekmez.

  1. Azure'da yerel olarak veya Azure portalı aracılığıyla oturum açtığınızda, VM'yi içeren Azure aboneliğiyle ilişkili bir hesap kullanın.

  2. Şablonu bir düzenleyiciye yükleyin ve bölümün Microsoft.Compute/virtualMachines içinde resources ilgili kaynağı bulun. Yalnızca sistem tarafından atanan yönetilen kimliğe sahip bir VM'niz varsa, kimlik türünü Noneolarak değiştirerek vm'yi devre dışı bırakabilirsiniz.

    Microsoft.Compute/virtualMachines API sürüm 2018-06-01

    VM'nizde hem sistem hem de kullanıcı tarafından atanan yönetilen kimlikler varsa, kimlik türünden kaldırın SystemAssigned ve sözlük değerleriyle userAssignedIdentities birlikte tutunUserAssigned.

    Microsoft.Compute/virtualMachines API sürüm 2018-06-01

    Sizin apiVersion2017-12-01 ve VM'nizin hem sistem hem de kullanıcı tarafından atanan yönetilen kimlikleri varsa, kimlik türünden kaldırın SystemAssigned ve kullanıcı tarafından atanan yönetilen kimlikler dizisiyle identityIds birlikte tutunUserAssigned.

Aşağıdaki örnekte, kullanıcı tarafından atanan yönetilen kimlikler olmadan bir VM'den sistem tarafından atanan yönetilen kimliğin nasıl kaldırılacağı gösterilmektedir:

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

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

Bu bölümde, Azure Resource Manager şablonunu kullanarak Bir Azure VM'ye kullanıcı tarafından atanan yönetilen kimlik atayacaksınız.

Not

Azure Resource Manager Şablonu kullanarak kullanıcı tarafından atanan yönetilen kimlik oluşturmak için bkz . Kullanıcı tarafından atanan yönetilen kimlik oluşturma.

Azure VM'ye kullanıcı tarafından atanan yönetilen kimlik atama

Vm'ye kullanıcı tarafından atanan bir kimlik atamak için hesabınızın Yönetilen Kimlik Operatörü rol ataması gerekir. Başka Microsoft Entra dizin rolü ataması gerekmez.

  1. öğesinin resources altına aşağıdaki girdiyi ekleyerek vm'nize kullanıcı tarafından atanan yönetilen kimliği atayın. değerini oluşturduğunuz kullanıcı tarafından atanan yönetilen kimliğin adıyla değiştirdiğinizden <USERASSIGNEDIDENTITY> emin olun.

    Microsoft.Compute/virtualMachines API sürüm 2018-06-01

    sizin apiVersion ise 2018-06-01, kullanıcı tarafından atanan yönetilen kimlikleriniz sözlük biçiminde depolanır userAssignedIdentities ve <USERASSIGNEDIDENTITYNAME> değer, şablonunuzun bölümünde tanımlanan bir değişkende variables depolanmalıdır.

     {
         "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 API sürüm 2017-12-01

    sizin apiVersion ise 2017-12-01, kullanıcı tarafından atanan yönetilen kimlikleriniz dizide identityIds depolanır ve <USERASSIGNEDIDENTITYNAME> değer, şablonunuzun bölümünde tanımlanan bir değişkende variables depolanmalıdır.

    {
        "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. İşiniz bittiğinde, şablonunuzun bölümüne aşağıdaki bölümler eklenmelidir resource ve aşağıdakine benzer olmalıdır:

    Microsoft.Compute/virtualMachines API sürüm 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 API sürüm 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>'))]"
                 ]
             }
         }
    ]
    

Azure VM'den kullanıcı tarafından atanan yönetilen kimliği kaldırma

Vm'den kullanıcı tarafından atanan bir kimliği kaldırmak için hesabınıza Sanal Makine Katılımcısı rol ataması gerekir. Başka Microsoft Entra dizin rolü ataması gerekmez.

  1. Azure'da yerel olarak veya Azure portalı aracılığıyla oturum açtığınızda, VM'yi içeren Azure aboneliğiyle ilişkili bir hesap kullanın.

  2. Şablonu bir düzenleyiciye yükleyin ve bölümün Microsoft.Compute/virtualMachines içinde resources ilgili kaynağı bulun. Yalnızca kullanıcı tarafından atanan yönetilen kimliğe sahip bir VM'niz varsa, kimlik türünü Noneolarak değiştirerek vm'yi devre dışı bırakabilirsiniz.

    Aşağıdaki örnekte, sistem tarafından atanan yönetilen kimlikler olmadan sanal makineden kullanıcı tarafından atanan tüm yönetilen kimliklerin nasıl kaldırılacağı gösterilmektedir:

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

    Microsoft.Compute/virtualMachines API sürüm 2018-06-01

    Vm'den kullanıcı tarafından atanan tek bir yönetilen kimliği kaldırmak için, bunu sözlükten useraAssignedIdentities kaldırın.

    Sistem tarafından atanan bir yönetilen kimliğiniz varsa, değerin type altındaki değerde identity tutun.

    Microsoft.Compute/virtualMachines API sürüm 2017-12-01

    Vm'den kullanıcı tarafından atanan tek bir yönetilen kimliği kaldırmak için diziden identityIds kaldırın.

    Sistem tarafından atanan bir yönetilen kimliğiniz varsa, değerin type altındaki değerde identity tutun.

Sonraki adımlar

Azure Resource Manager REST uç noktasına çağrı yapmak için CURL'yi kullanarak bu makalede, azure vm'sinde Azure kaynakları işlemleri için aşağıdaki yönetilen kimlikleri gerçekleştirmeyi öğreneceksiniz:

  • Azure VM'de sistem tarafından atanan yönetilen kimliği etkinleştirme ve devre dışı bırakma
  • Azure VM'de 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 Azure VM'de sistem tarafından atanan yönetilen kimliği etkinleştirmeyi ve devre dışı bırakmayı öğreneceksiniz.

Azure VM oluşturulurken sistem tarafından atanan yönetilen kimliği etkinleştirme

Sistem tarafından atanan yönetilen kimliğin etkinleştirildiği bir Azure VM oluşturmak için hesabınızın Sanal Makine Katılımcısı rol ataması gerekir. Başka Microsoft Entra dizin rolü ataması gerekmez.

  1. VM'nizin ve onunla ilgili kaynakların kapsaması ve dağıtımı için, az group create komutunu kullanarak 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. VM'niz için bir ağ arabirimi oluşturun:

     az network nic create -g myResourceGroup --vnet-name myVnet --subnet mySubnet -n myNic
    
  3. Vm'nizi sistem tarafından atanan yönetilen kimlikle 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 VM oluşturun. Aşağıdaki örnek, istek gövdesinde değerine "identity":{"type":"SystemAssigned"}göre tanımlanarak sistem tarafından atanan yönetilen kimliğe sahip myVM adlı bir VM 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/virtualMachines/myVM?api-version=2018-06-01' -X PUT -d '{"location":"westus","name":"myVM","identity":{"type":"SystemAssigned"},"properties":{"hardwareProfile":{"vmSize":"Standard_D2_v2"},"storageProfile":{"imageReference":{"sku":"2016-Datacenter","publisher":"MicrosoftWindowsServer","version":"latest","offer":"WindowsServer"},"osDisk":{"caching":"ReadWrite","managedDisk":{"storageAccountType":"StandardSSD_LRS"},"name":"myVM3osdisk","createOption":"FromImage"},"dataDisks":[{"diskSizeGB":1023,"createOption":"Empty","lun":0},{"diskSizeGB":1023,"createOption":"Empty","lun":1}]},"osProfile":{"adminUsername":"azureuser","computerName":"myVM","adminPassword":"<SECURE PASSWORD STRING>"},"networkProfile":{"networkInterfaces":[{"id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic","properties":{"primary":true}}]}}}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
    
    PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?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

      {
        "location":"westus",
        "name":"myVM",
        "identity":{
           "type":"SystemAssigned"
        },
        "properties":{
           "hardwareProfile":{
              "vmSize":"Standard_D2_v2"
           },
           "storageProfile":{
              "imageReference":{
                 "sku":"2016-Datacenter",
                 "publisher":"MicrosoftWindowsServer",
                 "version":"latest",
                 "offer":"WindowsServer"
              },
              "osDisk":{
                 "caching":"ReadWrite",
                 "managedDisk":{
                    "storageAccountType":"StandardSSD_LRS"
                 },
                 "name":"myVM3osdisk",
                 "createOption":"FromImage"
              },
              "dataDisks":[
                 {
                    "diskSizeGB":1023,
                    "createOption":"Empty",
                    "lun":0
                 },
                 {
                    "diskSizeGB":1023,
                    "createOption":"Empty",
                    "lun":1
                 }
              ]
           },
           "osProfile":{
              "adminUsername":"azureuser",
              "computerName":"myVM",
              "adminPassword":"myPassword12"
           },
           "networkProfile":{
              "networkInterfaces":[
                 {
                    "id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic",
                    "properties":{
                       "primary":true
                    }
                 }
              ]
           }
        }
     }  
    

Mevcut bir Azure VM'de sistem tarafından atanan kimliği etkinleştirme

Sistem tarafından atanan yönetilen kimliği başlangıçta bu olmadan sağlanan bir VM'de etkinleştirmek için hesabınıza Sanal Makine Katkıda Bulunanı rol ataması gerekir. Başka Microsoft Entra dizin rolü ataması gerekmez.

  1. Vm'nizi sistem tarafından atanan yönetilen kimlikle 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 myVM adlı bir VM'nin değeriyle {"identity":{"type":"SystemAssigned"} tanımlanan şekilde VM'nizde 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

    VM'ye 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/virtualMachines/<VM NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>". Yanıttaki değerde identity tanımlanan şekilde VM'ye kullanıcı tarafından atanan yönetilen kimlikleriniz varsa, vm'nizde 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/virtualMachines/myVM?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/virtualMachines/myVM?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 kimliklere sahip bir VM'de sistem tarafından atanan yönetilen kimliği etkinleştirmek için değere type eklemeniz SystemAssigned gerekir.

    Örneğin, VM'nizde kullanıcı tarafından atanan yönetilen kimlikler ID1 varsa ve ID2 vm'ye 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/virtualMachines/myVM?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/virtualMachines/myVM?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/virtualMachines/myVM?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/virtualMachines/myVM?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"
           ]
        }
     }
    

Azure VM'den sistem tarafından atanan yönetilen kimliği devre dışı bırakma

Vm'de sistem tarafından atanan yönetilen kimliği devre dışı bırakmak için hesabınıza Sanal Makine Katılımcısı rol ataması gerekir. Başka Microsoft Entra dizin rolü ataması gerekmez.

  1. Vm'nizi sistem tarafından atanan yönetilen kimlikle 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 VM'yi güncelleştirin. Aşağıdaki örnek, istek gövdesinde myVM adlı bir VM'den alınan değerle {"identity":{"type":"None"}} tanımlanan sistem tarafından atanan yönetilen kimliği 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

    VM'ye 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/virtualMachines/<VM NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>". Yanıttaki değerde identity tanımlanan şekilde VM'ye kullanıcı tarafından atanmış yönetilen kimlikleriniz varsa, vm'nizde sistem tarafından atanan yönetilen kimliği devre dışı bırakırken 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/virtualMachines/myVM?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/virtualMachines/myVM?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 makineden 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 Azure VM'de kullanıcı tarafından atanan yönetilen kimliği eklemeyi ve kaldırmayı öğreneceksiniz.

Azure VM oluşturulurken kullanıcı tarafından atanan yönetilen kimlik atama

Vm'ye kullanıcı tarafından atanan bir kimlik atamak için hesabınıza Sanal Makine Katkıda Bulunanı ve Yönetilen Kimlik Operatörü rol atamaları gerekir. Başka Microsoft Entra dizin rolü ataması gerekmez.

  1. Vm'nizi sistem tarafından atanan yönetilen kimlikle 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. VM'niz için bir ağ arabirimi oluşturun:

     az network nic create -g myResourceGroup --vnet-name myVnet --subnet mySubnet -n myNic
    
  3. Vm'nizi sistem tarafından atanan yönetilen kimlikle 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 VM oluşturun. Aşağıdaki örnek, kullanıcı tarafından atanan yönetilen kimliğine ID1sahip myResourceGroup kaynak grubunda, istek gövdesinde değerine "identity":{"type":"UserAssigned"}göre tanımlanan myVM adlı bir VM 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/virtualMachines/myVM?api-version=2018-06-01' -X PUT -d '{"location":"westus","name":"myVM","identity":{"type":"UserAssigned","identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"]},"properties":{"hardwareProfile":{"vmSize":"Standard_D2_v2"},"storageProfile":{"imageReference":{"sku":"2016-Datacenter","publisher":"MicrosoftWindowsServer","version":"latest","offer":"WindowsServer"},"osDisk":{"caching":"ReadWrite","managedDisk":{"storageAccountType":"StandardSSD_LRS"},"name":"myVM3osdisk","createOption":"FromImage"},"dataDisks":[{"diskSizeGB":1023,"createOption":"Empty","lun":0},{"diskSizeGB":1023,"createOption":"Empty","lun":1}]},"osProfile":{"adminUsername":"azureuser","computerName":"myVM","adminPassword":"myPassword12"},"networkProfile":{"networkInterfaces":[{"id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic","properties":{"primary":true}}]}}}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
    
    PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?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

     {  
        "location":"westus",
        "name":"myVM",
        "identity":{  
           "type":"UserAssigned",
           "identityIds":[  
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"
           ]
        },
        "properties":{  
           "hardwareProfile":{  
              "vmSize":"Standard_D2_v2"
           },
           "storageProfile":{  
              "imageReference":{  
                 "sku":"2016-Datacenter",
                 "publisher":"MicrosoftWindowsServer",
                 "version":"latest",
                 "offer":"WindowsServer"
              },
              "osDisk":{  
                 "caching":"ReadWrite",
                 "managedDisk":{  
                    "storageAccountType":"StandardSSD_LRS"
                 },
                 "name":"myVM3osdisk",
                 "createOption":"FromImage"
              },
              "dataDisks":[  
                 {  
                    "diskSizeGB":1023,
                    "createOption":"Empty",
                    "lun":0
                 },
                 {  
                    "diskSizeGB":1023,
                    "createOption":"Empty",
                    "lun":1
                 }
              ]
           },
           "osProfile":{  
              "adminUsername":"azureuser",
              "computerName":"myVM",
              "adminPassword":"myPassword12"
           },
           "networkProfile":{  
              "networkInterfaces":[  
                 {  
                    "id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic",
                    "properties":{  
                       "primary":true
                    }
                 }
              ]
           }
        }
     }
    
    

    API SÜRÜM 2017-12-01

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01' -X PUT -d '{"location":"westus","name":"myVM","identity":{"type":"UserAssigned","identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"]},"properties":{"hardwareProfile":{"vmSize":"Standard_D2_v2"},"storageProfile":{"imageReference":{"sku":"2016-Datacenter","publisher":"MicrosoftWindowsServer","version":"latest","offer":"WindowsServer"},"osDisk":{"caching":"ReadWrite","managedDisk":{"storageAccountType":"StandardSSD_LRS"},"name":"myVM3osdisk","createOption":"FromImage"},"dataDisks":[{"diskSizeGB":1023,"createOption":"Empty","lun":0},{"diskSizeGB":1023,"createOption":"Empty","lun":1}]},"osProfile":{"adminUsername":"azureuser","computerName":"myVM","adminPassword":"myPassword12"},"networkProfile":{"networkInterfaces":[{"id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic","properties":{"primary":true}}]}}}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
    
    PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?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

     {
        "location":"westus",
        "name":"myVM",
        "identity":{
           "type":"UserAssigned",
           "identityIds":[
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"
           ]
        },
        "properties":{
           "hardwareProfile":{
              "vmSize":"Standard_D2_v2"
           },
           "storageProfile":{
              "imageReference":{
                 "sku":"2016-Datacenter",
                 "publisher":"MicrosoftWindowsServer",
                 "version":"latest",
                 "offer":"WindowsServer"
              },
              "osDisk":{
                 "caching":"ReadWrite",
                 "managedDisk":{
                    "storageAccountType":"StandardSSD_LRS"
                 },
                 "name":"myVM3osdisk",
                 "createOption":"FromImage"
              },
              "dataDisks":[
                 {
                    "diskSizeGB":1023,
                    "createOption":"Empty",
                    "lun":0
                 },
                 {
                    "diskSizeGB":1023,
                    "createOption":"Empty",
                    "lun":1
                 }
              ]
           },
           "osProfile":{
              "adminUsername":"azureuser",
              "computerName":"myVM",
              "adminPassword":"myPassword12"
           },
           "networkProfile":{
              "networkInterfaces":[
                 {
                    "id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic",
                    "properties":{
                       "primary":true
                    }
                 }
              ]
           }
        }
     }
    

Mevcut Azure VM'sine kullanıcı tarafından atanan yönetilen kimlik atama

Vm'ye kullanıcı tarafından atanan bir kimlik atamak için hesabınıza Sanal Makine Katkıda Bulunanı ve Yönetilen Kimlik Operatörü rol atamaları gerekir. Başka Microsoft Entra dizin rolü ataması gerekmez.

  1. Vm'nizi sistem tarafından atanan yönetilen kimlikle 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. VM'ye atanan mevcut kullanıcı veya sistem tarafından atanan yönetilen kimlikleri silmediğinizden emin olmak için aşağıdaki CURL komutunu kullanarak VM'ye atanan kimlik türlerini listelemeniz gerekir. Sanal makine ölçek kümesine atanmış yönetilen kimlikleriniz varsa, bunlar değerinin identity altında listelenir.

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachines/<VM 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/virtualMachines/<VM 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.

    Yanıttaki değerde identity tanımlanan şekilde VM'ye atanmış kullanıcı veya sistem tarafından atanmış yönetilen kimlikleriniz varsa, vm'nize kullanıcı tarafından atanan yönetilen kimliği eklerken sistem tarafından atanan yönetilen kimliği nasıl tutabileceğinizi gösteren 5. adıma geçin.

  4. VM'nize kullanıcı tarafından atanmış yönetilen kimlikleriniz yoksa, vm'ye 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.

    Aşağıdaki örnek, ID1 myResourceGroup kaynak grubundaki myVM adlı vm'ye 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/virtualMachines/myVM?api-version=2018-06-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/virtualMachines/myVM?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":"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/virtualMachines/myVM?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/virtualMachines/myVM?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. VM'nize kullanıcı tarafından atanmış veya sistem tarafından atanmış yönetilen bir 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 VM'nize atanmış olan kullanıcı tarafından atanan yönetilen kimliğiniz ID1 varsa ve kullanıcı tarafından atanan yönetilen kimliği ID2 buna eklemek istiyorsanız:

    curl  'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?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/virtualMachines/myVM?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 yönetilen kimliğiniz ve şu anda VM'nize atanmış olan kullanıcı tarafından atanan yönetilen kimliğiniz ID1 varsa ve kullanıcı tarafından atanan yönetilen kimliği ID2 buna eklemek istiyorsanız:

    curl  'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?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/virtualMachines/myVM?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"
           ]
        }
     }
    

Azure VM'den kullanıcı tarafından atanan yönetilen kimliği kaldırma

Vm'ye kullanıcı tarafından atanan bir kimliği kaldırmak için hesabınıza Sanal Makine Katılımcısı rol ataması gerekir.

  1. Vm'nizi sistem tarafından atanan yönetilen kimlikle 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. VM'ye atanmış olarak tutmak veya sistem tarafından atanan yönetilen kimliği kaldırmak istediğiniz mevcut kullanıcı tarafından atanan yönetilen kimlikleri silmediğinizden 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/virtualMachines/<VM 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/virtualMachines/<VM NAME>?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.

    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 VM'nize atanmışsa ve yalnızca sistem tarafından atanan 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/virtualMachines/myVM?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/virtualMachines/myVM?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/virtualMachines/myVM?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/virtualMachines/myVM?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"
           ]
        }
     }
    

VM'nizde 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 yönetilen kimliği 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/virtualMachines/myVM?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/virtualMachines/myVM?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"
   }
}

VM'nizde 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/virtualMachines/myVM?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/virtualMachines/myVM?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:

Bu makalede, Azure SDK kullanarak azure vm için Azure kaynakları için yönetilen kimlikleri etkinleştirmeyi ve kaldırmayı öğreneceksiniz.

Önkoşullar

Azure kaynakları için yönetilen kimliklere sahip Azure SDK'ları desteği

Azure desteği bir dizi aracılığıyla birden çok programlama platformuna sahiptir Azure SDK'ları. Bunların bazıları Azure kaynakları için yönetilen kimlikleri destekleyecek şekilde güncelleştirildi ve kullanımı göstermek için ilgili örnekleri sağladı. Diğer destek eklendikçe bu liste güncelleştirilir:

SDK Örnek
.NET Azure kaynakları için yönetilen kimlikler etkinleştirilmiş bir VM'den kaynağı yönetme
Java Azure kaynakları için yönetilen kimliklerle etkinleştirilmiş bir VM'den depolamayı yönetme
Node.js Sistem tarafından atanan yönetilen kimliğin etkin olduğu bir VM oluşturma
Python Sistem tarafından atanan yönetilen kimliğin etkin olduğu bir VM oluşturma
Ruby Sistem tarafından atanan kimlik etkinken Azure VM oluşturma

Sonraki adımlar

  • Azure portalını, PowerShell'i, CLI'yı ve kaynak şablonlarını nasıl kullanabileceğinizi öğrenmek için Azure VM için Kimlik Yapılandırma altındaki ilgili makalelere bakın.