Aracılığıyla paylaş


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

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.

Azure İlkesi tanımı ve ayrıntıları hakkında bilgi için bkz. Yönetilen kimlikleri atamak için Azure İlkesi kullanma (önizleme).

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.

Windows sanal makinesi veya Linux sanal makinesioluştururken Yönetim sekmesini seçin.

Kimlik bölümünde Sistem tarafından atanan yönetilen kimlik etkinleştir onay kutusunu seçin.

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

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

Sistem tarafından atanan yönetilen kimliği, başlangıçta bu olmadan sağlanmış bir VM'de etkinleştirmek için hesabınızda Sanal Makine Katkıda Bulunanı rol atamasının olması 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 Güvenlik bölümünde kimlik seçin.

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

    Sistem tarafından atanan durumunun Açık olarak ayarlandığı Kimlik sayfasının ekran görüntüsü.

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 Güvenlik bölümünde kimlik seçin.

  3. Sistem atandı altında, Durum için Kapalı seçeneğini seçin ve ardından Kaydet'e tıklayın:

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

Kullanıcı atamalı 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 bir kimlik atanması

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. önce bir Windows sanal makinesi veya Linux sanal makinesioluşturun, ardından vm'ye kullanıcı tarafından atanan yönetilen kimliği atayın.

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. İstenen VM'ye gidin ve Güvenlik>Kimliği, Kullanıcı tarafından atanan ve ardından +Ekleöğesine tıklayın. VM'ye eklemek istediğiniz kullanıcı tarafından atanan kimliğe tıklayın ve ardından Ekle'ye tıklayın.

  3. Daha önce oluşturulmuş kullanıcı tarafından atanan yönetilen kimlik listeden seçin.

    Kullanıcı ataması seçili ve Ekle düğmesinin vurgulandığı Kimlik sayfasını 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.

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

İstediğiniz VM'ye gidin ve Güvenlik>Kimliğiöğesini Kullanıcı tarafından atanan, silmek istediğiniz kullanıcı tarafından atanan yönetilen kimliğin adını seçin ve ardından Kaldır'a tıklayın (onay bölmesinde Evet tıklayın).

Vm'den kullanıcı tarafından atanan yönetilen kimliğin nasıl kaldırılacağını 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'i kullanmaya başlama.

  • 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 kullanarak Azure'da kimlik doğrulaması.

    • İ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 ve yönetme.

    • 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, parametresi tarafından talep edilen, belirtilen --assign-identity ve --role ile sistem tarafından atanan yönetilen kimliğe sahip --scope 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 /Subscriptions/mySubscriptionId/resourceGroups/myResourceGroup --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:

Uyarı

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ı atamalı 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şturma sırasında kullanıcı tarafından atanan yönetilen kimlik atayın

Oluşturma sırasında bir 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 saklanması 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=aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
        "id": "/subscriptions/<SUBSCRIPTION 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, --assign-identity parametresi ile belirtilen ve yeni kullanıcı tarafından atanan kimlikle ilişkilendirilen, ayrıca --role ve --scope ile belirlenen bir VM oluşturur. <RESOURCE GROUP>, <VM NAME>, <USER NAME>, <PASSWORD>, <USER ASSIGNED IDENTITY NAME>, <ROLE> ve <SUBSCRIPTION> parametre değerlerini kendi değerlerinizle değiştirmeyi 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 (alt çizgi) kullanıcı tarafından atanan yönetilen kimliklerin oluşturulması şu anda desteklenmemektedir. Lütfen alfasayısal karakterler kullanın. Güncellemeler için tekrar kontrol edin. 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=aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
      "id": "/subscriptions/<SUBSCRIPTION 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, sanal makinenin kimlik bölümünde az vm identity show kullanarak 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:

Uyarı

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.

Uyarı

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

  • Azure kaynakları için yönetilen kimlikleri bilmiyorsanız genel bakış bölümüne göz atın. Sistem tarafından atanan ve kullanıcı tarafından atanan yönetilen kimlik arasındaki farkı gözden geçirmeyi unutmayın.
  • Henüz bir Azure hesabınız yoksa, devam etmeden önce ücretsiz bir hesaba kaydolun.
  • Örnek betikleri çalıştırmak için iki seçeneğiniz vardır:
    • Kod bloklarının sağ üst köşesindeki Deneyin düğmesini kullanarak açabileceğiniz Azure Cloud Shell'i kullanın.
    • Azure PowerShell'in en son sürümünü yükleyerek betikleri yerel olarak çalıştırın, ardından kullanarak Connect-AzAccountAzure'da oturum açın.

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ğlanmış bir VM'de etkinleştirmek için hesabınızda Sanal Makine Katkıda Bulunanı rol atamasının olması gerekir. Başka Microsoft Entra dizin rolü ataması gerekmez.

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

    $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, sanal makinenin 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 edin:

    Get-AzADServicePrincipal -displayname "myVM"
    
  2. ObjectID'ı (döndürülen değerlerin Id alanında belirtildiği gibi) alın ve grubun notunu 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/<RESOURCE 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ı atamalı 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 bir VM'ye kullanıcıya atanmış bir 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'ye kullanıcı tarafından atanan bir kimlik sağlamak için -IdentityType UserAssigned ve -IdentityID parametrelerini ekleyin. ,<VM NAME>, <SUBSCRIPTION ID>ve <RESOURCE GROUP> değerlerini kendi değerlerinizle değiştirin<USER ASSIGNED IDENTITY NAME>. Örneğin:

    $vmConfig = New-AzVMConfig -VMName <VM NAME> -IdentityType UserAssigned -IdentityID "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/<RESOURCE 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. Çıktıdaki Id öğesini not edin çünkü bu bilgilere sonraki adımda ihtiyacınız olacak.

    Ö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. Get-AzVM cmdlet'ini kullanarak VM özelliklerini alın. Ardından Azure VM'ye kullanıcı tarafından atanan bir yönetilen kimlik atamak için -IdentityType ve -IdentityID anahtarlarını Update-AzVM cmdlet'inde kullanın. parametresinin-IdentityId değeri, önceki adımda not ettiğiniz değerdir Id . , <VM NAME>, <SUBSCRIPTION ID>ve <RESOURCE GROUP> değerlerini kendi değerlerinizle değiştirin<USER ASSIGNED IDENTITY NAME>.

    Uyarı

    Vm'ye daha önce kullanıcı tarafından atanan yönetilen kimlikleri korumak için, VM nesnesinin özelliğini (örneğin, Identity) sorgular$vm.Identity. 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>
    
    # Get the list of existing identity IDs and then append to it
    $identityIds = $vm.Identity.UserAssignedIdentities.Keys
    $uid = "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>"
    $identityIds = $identityIds + $uid 
    
    # Update the VM with added identity IDs
    Update-AzVM -ResourceGroupName <RESOURCE GROUP> -VM $vm -IdentityType UserAssigned -IdentityID $uid 
    

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 dağıtım şablonunu kullanmayı bilmiyorsanız genel bakış bölümüne göz atın. Sistem tarafından atanan ve kullanıcı tarafından atanan yönetilen kimlik arasındaki farkı gözden geçirmeyi unutmayın.
  • Henüz bir Azure hesabınız yoksa, devam etmeden önce ücretsiz bir hesaba kaydolun.

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, Microsoft.Compute/virtualMachines bölümündeki ilgilendiğiniz resources kaynağını bulun ve "identity" özelliği ile aynı seviyede "type": "Microsoft.Compute/virtualMachines" özelliğini ekleyin. 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'ye sistem tarafından atanan yönetilen kimlik için bir rol atayın

VM'nizde sistem tarafından atanan yönetilen kimliği etkinleştirdikten sonra, oluşturulduğu kaynak grubuna Okuyucu gibi erişim 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 SystemAssigned'yu kaldırın ve sözlük değerleriyle birlikte UserAssigned, userAssignedIdentities tutun.

    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, SystemAssigned öğesini kimlik türünden kaldırın ve UserAssigned ile birlikte identityIds kullanıcı tarafından atanan yönetilen kimlikler dizisini tutun.

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ı atamalı 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.

Uyarı

Azure Resource Manager Şablonu kullanarak kullanıcı tarafından atanan yönetilen kimlik oluşturmak için Kullanıcı tarafından atanan yönetilen kimlik oluşturma bölümüne bakın.

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. Oluşturduğunuz kullanıcı tarafından atanan yönetilen kimliğin adıyla <USERASSIGNEDIDENTITY> değerini değiştirdiğinizden emin olun.

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

    Eğer apiVersion'nız 2018-06-01 ise, kullanıcı tarafından atanan yönetilen kimlikleriniz userAssignedIdentities sözlük biçiminde depolanır ve <USERASSIGNEDIDENTITYNAME> değeri, şablonunuzun variables bölümünde tanımlanan bir değişkende saklanmalı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

    Yetkilendirilmiş yönetilen kimlikleriniz apiVersion ise 2017-12-01, identityIds dizisinde depolanır ve <USERASSIGNEDIDENTITYNAME> değeri, şablonunuzun variables bölümünde tanımlanan bir değişkende depolanması gerekir.

    {
        "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 userAssignedIdentities sözlüğünden kaldırın.

    Sistem tarafından atanan bir yönetilen kimliğiniz varsa, bunu type değerinin altındaki identity değerinde 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, bunu type değerinin altındaki identity değerinde 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'i kullanmaya başlama.

  • 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 kullanarak Azure'da kimlik doğrulaması.

    • İ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 ve yönetme.

    • 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ğeri ile tanımlanarak, sistem tarafından atanan yönetilen kimliğe sahip bir VM oluşturur ve bu VM'ye "identity":{"type":"SystemAssigned"} adını verir. Önceki adımda Bearer erişim jetonu istediğinizde aldığınız değeri <ACCESS TOKEN> ile ve ortamınız için uygun değeri <SUBSCRIPTION ID> ile değiştirin.

    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 başlıkları

    İstek başlığı Açıklama
    İçerik Türü Gerekli. application/json olarak ayarlayın.
    Yetkilendirme Gerekli. Geçerli bir Bearer erişim belirteci 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ğlanmış bir VM'de etkinleştirmek için hesabınızda Sanal Makine Katkıda Bulunanı rol atamasının olması 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. Azure Resource Manager REST uç noktasını çağırarak, istek gövdesinde {"identity":{"type":"SystemAssigned"} değeri ile tanımlanan myVM adındaki VM'de sistem tarafından atanan yönetilen kimliği etkinleştirmek için aşağıdaki CURL komutunu kullanın. Önceki adımda Bearer erişim jetonu istediğinizde aldığınız değeri <ACCESS TOKEN> ile ve ortamınız için uygun değeri <SUBSCRIPTION ID> ile değiştirin.

    Ö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 başlıkları

    İstek başlığı Açıklama
    İçerik Türü Gerekli. application/json olarak ayarlayın.
    Yetkilendirme Gerekli. Geçerli bir Bearer erişim belirteci 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 SystemAssigned eklemeniz type gerekir.

    Örneğin, VM'nizde ID1 ve ID2 olarak atanmış kullanıcı tarafından atanan yönetilen kimlikler varsa ve VM'ye sistem tarafından atanan bir yönetilen kimlik eklemek istiyorsanız, aşağıdaki CURL çağrısını kullanın. ve <ACCESS TOKEN> değerlerini ortamınıza uygun değerlerle değiştirin<SUBSCRIPTION ID>.

    API sürümü2018-06-01, kullanıcı tarafından atanan yönetilen kimlikleriuserAssignedIdentities, API sürümünde identityIdskullanılan dizi biçimindeki değerden 2017-12-01 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 başlıkları

    İstek başlığı Açıklama
    İçerik Türü Gerekli. application/json olarak ayarlayın.
    Yetkilendirme Gerekli. Geçerli bir Bearer erişim belirteci 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 başlıkları

    İstek başlığı Açıklama
    İçerik Türü Gerekli. application/json olarak ayarlayın.
    Yetkilendirme Gerekli. Geçerli bir Bearer erişim belirteci 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 {"identity":{"type":"None"}} değeri ile tanımlanan sistem tarafından atanan yönetilen kimliği, myVM adlı VM'den devre dışı bırakır. Önceki adımda Bearer erişim jetonu istediğinizde aldığınız değeri <ACCESS TOKEN> ile ve ortamınız için uygun değeri <SUBSCRIPTION ID> ile değiştirin.

    Ö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 başlıkları

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

    İstek gövdesi

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

    Kullanıcı tarafından atanan yönetilen kimliklere sahip bir sanal makineden sistem tarafından atanan yönetilen kimliği kaldırmak için, SystemAssigned değerini {"identity":{"type:" "}} değerinden çıkarın ve UserAssigned değerini ile userAssignedIdentities sözlük değerlerini saklayın. API sürümünü 2018-06-01 kullanıyorsanız. "Eğer API'nin 2017-12-01 veya daha önceki bir sürümünü kullanıyorsanız, diziyi identityIds koruyun."

Kullanıcı atamalı 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şturma sırasında kullanıcı tarafından atanan yönetilen kimlik atayın

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 sahip myResourceGroup kaynak grubunda, istek gövdesinde değerine ID1göre tanımlanan myVM"identity":{"type":"UserAssigned"}bir VM oluşturur. Önceki adımda Bearer erişim jetonu istediğinizde aldığınız değeri <ACCESS TOKEN> ile ve ortamınız için uygun değeri <SUBSCRIPTION ID> ile değiştirin.

    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 başlıkları

    İstek başlığı Açıklama
    İçerik Türü Gerekli. application/json olarak ayarlayın.
    Yetkilendirme Gerekli. Geçerli bir Bearer erişim belirteci 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 başlıkları

    İstek başlığı Açıklama
    İçerik Türü Gerekli. application/json olarak ayarlayın.
    Yetkilendirme Gerekli. Geçerli bir Bearer erişim belirteci 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 başlıkları

    İstek başlığı Açıklama
    Yetkilendirme Gerekli. Geçerli bir Bearer erişim belirteci 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. Önceki adımda Bearer erişim jetonu istediğinizde aldığınız değeri <ACCESS TOKEN> ile ve ortamınız için uygun değeri <SUBSCRIPTION ID> ile değiştirin.

    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 başlıkları

    İstek başlığı Açıklama
    İçerik Türü Gerekli. application/json olarak ayarlayın.
    Yetkilendirme Gerekli. Geçerli bir Bearer erişim belirteci 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 başlıkları

    İstek başlığı Açıklama
    İçerik Türü Gerekli. application/json olarak ayarlayın.
    Yetkilendirme Gerekli. Geçerli bir Bearer erişim belirteci 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 başlıkları

    İstek başlığı Açıklama
    İçerik Türü Gerekli. application/json olarak ayarlayın.
    Yetkilendirme Gerekli. Geçerli bir Bearer erişim belirteci 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

    Yeni kullanıcı tarafından atanan yönetilen kimliği eklerken, identityIds dizi değerinde saklamak istediğiniz mevcut kullanıcı tarafından atanan yönetilen kimlikleri koruyun.

    Ö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 başlıkları

    İstek başlığı Açıklama
    İçerik Türü Gerekli. application/json olarak ayarlayın.
    Yetkilendirme Gerekli. Geçerli bir Bearer erişim belirteci 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 istediğiniz mevcut kullanıcı atanmış yönetilen kimlikleri yanlışlıkla 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/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 başlıkları

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

    VM'ye atanmış yönetilen kimlikleriniz varsa, bunlar yanıtın identity değeri içinde 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 null ekleyin.

    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 başlıkları

    İstek başlığı Açıklama
    İçerik Türü Gerekli. application/json olarak ayarlayın.
    Yetkilendirme Gerekli. Geçerli bir Bearer erişim belirteci 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 identityIds dizisinde tutmak istediğiniz kullanıcıya atanan yönetilen kimlik(ler)i 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 başlıkları

    İstek başlığı Açıklama
    İçerik Türü Gerekli. application/json olarak ayarlayın.
    Yetkilendirme Gerekli. Geçerli bir Bearer erişim belirteci 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 başlıkları

İstek başlığı Açıklama
İçerik Türü Gerekli. application/json olarak ayarlayın.
Yetkilendirme Gerekli. Geçerli bir Bearer erişim belirteci 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 başlıkları

İstek başlığı Açıklama
İçerik Türü Gerekli. application/json olarak ayarlayın.
Yetkilendirme Gerekli. Geçerli bir Bearer erişim belirteci 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 kimlikleri destekleyen Azure SDK'ları

Azure, bir dizi Azure SDK'ları aracılığıyla birden çok programlama platformunu destekler. 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
Piton Sistem tarafından atanan yönetilen kimliğin etkin olduğu bir VM oluşturma
Ruby programlama dili Sistem tarafından atanan kimlik etkinleştirilmiş olarak Azure VM oluştur

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.