PowerShell kullanarak Azure VM'de Azure kaynakları için 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, PowerShell'i kullanarak azure vm'sinde Azure kaynakları işlemleri için aşağıdaki yönetilen kimlikleri gerçekleştirmeyi öğreneceksiniz.

Dekont

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