PowerShell kullanarak Azure VM'sinde Azure kaynakları için yönetilen kimlikleri yapılandırma

Azure kaynakları için yönetilen kimlikler bir Azure Active Directory ö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 Azure Active Directory'de otomatik olarak yönetilen bir kimlik sağlar. Bu kimliği kullanarak, Azure AD kimlik doğrulamasını destekleyen tüm hizmetlerde kodunuzda kimlik bilgileri bulunmasına gerek kalmadan kimlik doğrulaması yapabilirsiniz.

Bu makalede, PowerShell kullanarak bir Azure VM üzerinde Azure kaynakları işlemleri için aşağıdaki yönetilen kimlikleri gerçekleştirmeyi öğreneceksiniz.

Not

Azure ile etkileşime geçmek 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 işleminin üzerinden geçeceğiz.

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ıza Sanal Makine Katılımcısı rol ataması gerekir. Başka Azure AD 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 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 kimlik olmadan sağlanan bir VM'de etkinleştirmek için hesabınıza Sanal Makine Katılımcısı rol ataması gerekir. Başka Azure AD 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 gruba ekleyebilirsiniz. Aşağıdaki yordam, vm'nin sistem tarafından atanan kimliğini bir gruba ekler.

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

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

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

    Add-AzureADGroupMember -ObjectId "<objectID of group>" -RefObjectId "<object 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 Azure AD 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"
    

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 sanal makineye 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 Katılımcısı ve Yönetilen Kimlik Operatörü rol atamaları gerekir. Başka Azure AD 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 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>. Örnek:

    $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 Katılımcısı ve Yönetilen Kimlik Operatörü rol atamaları gerekir. Başka Azure AD dizin rolü ataması gerekmez.

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

    Önemli

    Kullanıcı tarafından atanan yönetilen kimlikler oluşturma yalnızca alfasayısal, alt çizgi ve kısa çizgi (0-9 veya a-z ya da 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ırlanmalı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>, ve <RESROURCE GROUP><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) sorgulaIdentity. 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>, kullanıcı tarafından atanan yönetilen kimliğin ad özelliğidir ve bu özellik VM'de kalır. 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