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
- Azure kaynakları için yönetilen kimlikleri bilmiyorsanız genel bakış bölümünü gözden geçirin. 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 Dene düğmesini kullanarak açabileceğiniz Azure Cloud Shell kullanın.
- Azure PowerShell'nin en son sürümünü yükleyerek betikleri yerel olarak çalıştırın, ardından kullanarak
Connect-AzAccount
Azure'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 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.
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.
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.
VM'nin hizmet sorumlusunun
ObjectID
Id
değerini alın ve not edin (döndürülen değerlerin alanında belirtildiği gibi):Get-AzADServicePrincipal -displayname "myVM"
Grubun değerini alın ve not
ObjectID
edin (döndürülen değerlerin alanında belirtildiğiId
gibi):Get-AzADGroup -searchstring "myGroup"
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:
cmdlet'ini
Get-AzVM
kullanarak VM özelliklerini alın ve parametresini-IdentityType
olarakUserAssigned
ayarlayı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.
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.
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>
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ğerdirId
. ,<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
Tam Azure VM oluşturma Hızlı Başlangıçları için bkz: