Azure sanal makinelerinde (VM) yönetilen kimlikleri yapılandırma
Azure kaynakları için yönetilen kimlikler, Microsoft Entra Id'nin bir özelliğidir. Azure kaynakları için yönetilen kimlikleri destekleyen Azure hizmetlerinin her biri kendi zaman çizelgesine tabidir. Başlamadan önce kaynağınıza yönelik yönetilen kimliklerin kullanılabilirlik durumunu ve bilinen sorunları gözden geçirdiğinizden emin olun.
Azure kaynakları için yönetilen kimlikler, Azure hizmetlerine Microsoft Entra ID üzerinde otomatik olarak yönetilen bir kimlik sağlar. Bu kimliği kullanarak, Microsoft Entra kimlik doğrulamasını destekleyen tüm hizmetlerde kodunuzda kimlik bilgileri bulunmasına gerek kalmadan kimlik doğrulaması yapabilirsiniz.
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
- Azure kaynakları için yönetilen kimlikleri bilmiyorsanız genel bakış bölümüne göz atın.
- Henüz bir Azure hesabınız yoksa, devam etmeden önce ücretsiz bir hesaba kaydolun.
Sistem tarafından atanan yönetilen kimlik
Bu bölümde, Azure portalını kullanarak VM için sistem tarafından atanan yönetilen kimliği etkinleştirmeyi ve devre dışı bırakmayı öğreneceksiniz.
VM oluşturma sırasında sistem tarafından yönetilen kimliği etkinleştirme
Oluşturma sırasında bir VM'de sistem tarafından atanan yönetilen kimliği etkinleştirmek için hesabınızın Sanal Makine Katılımcısı rol atamasına ihtiyacı vardır. Başka Microsoft Entra dizin rolü ataması gerekmez.
- Kimlik bölümündeki Yönetim sekmesinin altında Yönetilen hizmet kimliği'ni Açık olarak değiştirin.
VM oluşturmak için aşağıdaki Hızlı Başlangıçlara bakın:
Var olan bir VM'de sistem tarafından yönetilen kimliği etkinleştirme
İpucu
Bu makaledeki adımlar, başladığınız portala göre biraz değişiklik gösterebilir.
Sistem tarafından atanan yönetilen kimliği başlangıçta bu olmadan sağlanan bir VM'de etkinleştirmek için hesabınıza Sanal Makine Katkıda Bulunanı rol ataması gerekir. Başka Microsoft Entra dizin rolü ataması gerekmez.
VM'yi içeren Azure aboneliğiyle ilişkilendirilmiş bir hesabı kullanarak Azure portalında oturum açın.
İstediğiniz Sanal Makineye gidin ve Kimlik'i seçin.
Sistem atandı, Durum'un altında Açık'ı seçin ve kaydet'e tıklayın:
Vm'den sistem tarafından atanan yönetilen kimliği kaldırma
Sistem tarafından atanan yönetilen kimliği bir VM'den kaldırmak için hesabınızın Sanal Makine Katılımcısı rol atamasına ihtiyacı vardır. Başka Microsoft Entra dizin rolü ataması gerekmez.
Artık sistem tarafından atanan yönetilen kimliğe ihtiyaç olmayan bir Sanal Makineniz varsa:
VM'yi içeren Azure aboneliğiyle ilişkilendirilmiş bir hesabı kullanarak Azure portalında oturum açın.
İstediğiniz Sanal Makineye gidin ve Kimlik'i seçin.
Sistem atandı, Durum'un altında Kapalı'yı seçin ve kaydet'e tıklayın:
Kullanıcı tarafından atanan yönetilen kimlik
Bu bölümde, Azure portalını kullanarak kullanıcı tarafından atanan yönetilen kimliği eklemeyi ve vm'den kaldırmayı öğreneceksiniz.
VM oluşturulurken kullanıcı tarafından atanan kimlik atama
Vm'ye kullanıcı tarafından atanan bir kimlik atamak için hesabınıza Sanal Makine Katkıda Bulunanı ve Yönetilen Kimlik Operatörü rol atamaları gerekir. Başka Microsoft Entra dizin rolü ataması gerekmez.
Şu anda Azure portalı, vm oluşturulurken kullanıcı tarafından atanan yönetilen kimlik atamayı desteklememektedir. Bunun yerine, önce bir VM oluşturmak için aşağıdaki VM oluşturma Hızlı Başlangıç makalelerinden birine bakın ve ardından vm'ye kullanıcı tarafından atanan yönetilen kimlik atamayla ilgili ayrıntılar için sonraki bölüme geçin:
Mevcut vm'ye kullanıcı tarafından atanan yönetilen kimlik atama
Vm'ye kullanıcı tarafından atanan bir kimlik atamak için hesabınıza Sanal Makine Katkıda Bulunanı ve Yönetilen Kimlik Operatörü rol atamaları gerekir. Başka Microsoft Entra dizin rolü ataması gerekmez.
VM'yi içeren Azure aboneliğiyle ilişkilendirilmiş bir hesabı kullanarak Azure portalında oturum açın.
İstediğiniz VM'ye gidin ve Kimlik, Kullanıcı tarafından atanan ve +Ekle'ye 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.
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 Silmek istediğiniz kullanıcı tarafından atanan yönetilen kimliğin adı olan Kimlik, Kullanıcı tarafından atanan'ı seçin ve ardından Kaldır'a tıklayın (onay bölmesinde Evet'e tıklayın).
Sonraki adımlar
- Azure portalını kullanarak bir Azure VM'sinin yönetilen kimliğine başka bir Azure kaynağına erişim verin.
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 kaynakları için yönetilen kimlikleri bilmiyorsanız bkz . Azure kaynakları için yönetilen kimlikler nelerdir?. Sistem tarafından atanan ve kullanıcı tarafından atanan yönetilen kimlik türleri hakkında bilgi edinmek için bkz . Yönetilen kimlik türleri.
Azure Cloud Shell'de Bash ortamını kullanın. Daha fazla bilgi için bkz . Azure Cloud Shell'de Bash için hızlı başlangıç.
CLI başvuru komutlarını yerel olarak çalıştırmayı tercih ediyorsanız Azure CLI'yı yükleyin . Windows veya macOS üzerinde çalışıyorsanız Azure CLI’yi bir Docker kapsayıcısında çalıştırmayı değerlendirin. Daha fazla bilgi için bkz . Docker kapsayıcısında Azure CLI'yi çalıştırma.
Yerel yükleme kullanıyorsanız az login komutunu kullanarak Azure CLI ile oturum açın. Kimlik doğrulama işlemini tamamlamak için terminalinizde görüntülenen adımları izleyin. Diğer oturum açma seçenekleri için bkz . Azure CLI ile oturum açma.
İstendiğinde, ilk kullanımda Azure CLI uzantısını yükleyin. Uzantılar hakkında daha fazla bilgi için bkz. Azure CLI ile uzantıları kullanma.
Yüklü sürümü ve bağımlı kitaplıkları bulmak için az version komutunu çalıştırın. En son sürüme yükseltmek için az upgrade komutunu çalıştırın.
Sistem tarafından atanan yönetilen kimlik
Bu bölümde, Azure CLI kullanarak Bir Azure VM'de sistem tarafından atanan yönetilen kimliği etkinleştirmeyi ve devre dışı bırakmayı öğreneceksiniz.
Azure VM oluşturulurken sistem tarafından atanan yönetilen kimliği etkinleştirme
Sistem tarafından atanan yönetilen kimliğin etkinleştirildiği bir Azure VM oluşturmak için hesabınızın Sanal Makine Katılımcısı rol ataması gerekir. Başka Microsoft Entra dizin rolü ataması gerekmez.
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
az vm create kullanarak VM oluşturun. Aşağıdaki örnek, belirtilen ve
--scope
parametresi tarafından--assign-identity
istendiği gibi sistem tarafından atanan yönetilen kimliğe sahip--role
myVM adlı bir VM oluşturur.--admin-username
ve--admin-password
parametreleri, sanal makinede oturum açmak için yönetici hesabının kullanıcı adı ve parolasını belirtir. Bu değerleri ortamınıza uyacak şekilde güncelleştirin:az vm create --resource-group myResourceGroup --name myVM --image win2016datacenter --generate-ssh-keys --assign-identity --role contributor --scope mySubscription --admin-username azureuser --admin-password myPassword12
Mevcut Bir Azure VM'de sistem tarafından atanan yönetilen kimliği etkinleştirme
Vm'de sistem tarafından atanan yönetilen kimliği etkinleştirmek için hesabınıza Sanal Makine Katılımcısı rol ataması gerekir. Başka Microsoft Entra dizin rolü ataması gerekmez.
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
Az vm identity assign komutunu kullanarak
identity assign
mevcut bir VM'ye sistem tarafından atanan kimliği etkinleştirin:az vm identity assign -g myResourceGroup -n myVm
Azure VM'den sistem tarafından atanan kimliği devre dışı bırakma
Vm'de sistem tarafından atanan yönetilen kimliği devre dışı bırakmak için hesabınıza Sanal Makine Katılımcısı rol ataması gerekir. Başka Microsoft Entra dizin rolü ataması gerekmez.
Artık sistem tarafından atanan kimliğe ihtiyacı olmayan ancak yine de kullanıcı tarafından atanan kimliklere ihtiyaç duyan bir Sanal Makineniz varsa aşağıdaki komutu kullanın:
az vm update -n myVM -g myResourceGroup --set identity.type='UserAssigned'
Artık sistem tarafından atanan kimliğe ihtiyacı olmayan ve kullanıcı tarafından atanan kimlikleri olmayan bir sanal makineniz varsa aşağıdaki komutu kullanın:
Not
Değer none
büyük/küçük harfe duyarlıdır. Küçük harfle yazılmalıdır.
az vm update -n myVM -g myResourceGroup --set identity.type="none"
Kullanıcı tarafından atanan yönetilen kimlik
Bu bölümde, Azure CLI kullanarak Azure VM'de kullanıcı tarafından atanan yönetilen kimliği eklemeyi ve kaldırmayı öğreneceksiniz. Kullanıcı tarafından atanan yönetilen kimliğinizi VM'nizden farklı bir RG'de oluşturursanız. Vm'nize atamak için yönetilen kimliğinizin URL'sini kullanmanız gerekir. Örneğin:
--identities "/subscriptions/<SUBID>/resourcegroups/<RESROURCEGROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER_ASSIGNED_ID_NAME>"
Azure VM oluşturulurken kullanıcı tarafından atanan yönetilen kimlik atama
Oluşturma sırasında vm'ye kullanıcı tarafından atanan bir kimlik atamak için hesabınızın Sanal Makine Katkıda Bulunanı ve Yönetilen Kimlik Operatörü rol atamalarına ihtiyacı vardır. Başka Microsoft Entra dizin rolü ataması gerekmez.
Kullanmak istediğiniz bir kaynak grubunuz varsa bu adımı atlayabilirsiniz. az group create komutunu kullanarak kullanıcı tarafından atanan yönetilen kimliğinizin kapsaması ve dağıtımı için bir kaynak grubu oluşturun.
<RESOURCE GROUP>
ve<LOCATION>
parametre değerlerini kendi değerlerinizle değiştirmeyi unutmayın. :az group create --name <RESOURCE GROUP> --location <LOCATION>
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/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>", "location": "westcentralus", "name": "<USER ASSIGNED IDENTITY NAME>", "principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222", "resourceGroup": "<RESOURCE GROUP>", "tags": {}, "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee", "type": "Microsoft.ManagedIdentity/userAssignedIdentities" }
az vm create kullanarak VM oluşturun. Aşağıdaki örnek, parametresi tarafından
--assign-identity
belirtilen yeni kullanıcı tarafından atanan kimlikle ilişkilendirilmiş ve--scope
ile--role
ilişkilendirilmiş bir VM oluşturur. , ,<VM NAME>
, ,<USER NAME>
,<PASSWORD>
,<ROLE>
<USER ASSIGNED IDENTITY NAME>
ve<SUBSCRIPTION>
parametre değerlerini kendi değerlerinizle değiştirmeyi<RESOURCE GROUP>
unutmayın.az vm create --resource-group <RESOURCE GROUP> --name <VM NAME> --image <SKU linux image> --admin-username <USER NAME> --admin-password <PASSWORD> --assign-identity <USER ASSIGNED IDENTITY NAME> --role <ROLE> --scope <SUBSCRIPTION>
Mevcut Azure VM'sine kullanıcı tarafından atanan yönetilen kimlik atama
Vm'ye kullanıcı tarafından atanan bir kimlik atamak için hesabınıza Sanal Makine Katkıda Bulunanı ve Yönetilen Kimlik Operatörü rol atamaları gerekir. Başka Microsoft Entra dizin rolü ataması gerekmez.
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üncelleştirmeler için sonra yeniden denetleyin. Daha fazla bilgi için bkz . SSS ve bilinen sorunlar
az identity create -g <RESOURCE GROUP> -n <USER ASSIGNED IDENTITY NAME>
Yanıt, aşağıdakine benzer şekilde, oluşturulan kullanıcı tarafından atanan yönetilen kimliğin ayrıntılarını içerir.
{ "clientId": "00001111-aaaa-2222-bbbb-3333cccc4444", "clientSecretUrl": "https://control-westcentralus.identity.azure.net/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>/credentials?tid=5678&oid=9012&aid=aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb", "id": "/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>", "location": "westcentralus", "name": "<USER ASSIGNED IDENTITY NAME>", "principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222", "resourceGroup": "<RESOURCE GROUP>", "tags": {}, "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee", "type": "Microsoft.ManagedIdentity/userAssignedIdentities" }
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 kaynakname
özelliğidir. Kullanıcı tarafından atanan yönetilen kimliğinizi VM'nizden farklı bir RG'de oluşturduysanız. Yönetilen kimliğinizin URL'sini kullanmanız gerekir.az vm identity assign -g <RESOURCE GROUP> -n <VM NAME> --identities <USER ASSIGNED IDENTITY>
Azure VM'den kullanıcı tarafından atanan yönetilen kimliği kaldırma
Vm'ye kullanıcı tarafından atanan bir kimliği kaldırmak için hesabınıza Sanal Makine Katılımcısı rol ataması gerekir.
Sanal makineye atanan tek kullanıcı tarafından atanan yönetilen kimlik buysa, UserAssigned
kimlik türü değerinden kaldırılır. <RESOURCE GROUP>
ve <VM NAME>
parametre değerlerini kendi değerlerinizle değiştirmeyi unutmayın. <USER ASSIGNED IDENTITY>
, kullanıcı tarafından atanan kimliğin name
özelliğidir ve bunu kullanarak az vm identity show
sanal makinenin kimlik bölümünde bulabilirsiniz:
az vm identity remove -g <RESOURCE GROUP> -n <VM NAME> --identities <USER ASSIGNED IDENTITY>
VM'nizin sistem tarafından atanan yönetilen kimliği yoksa ve kullanıcı tarafından atanan tüm kimlikleri kaldırmak istiyorsanız aşağıdaki komutu kullanın:
Not
Değer none
büyük/küçük harfe duyarlıdır. Küçük harfle yazılmalıdır.
az vm update -n myVM -g myResourceGroup --set identity.type="none" identity.userAssignedIdentities=null
VM'nizde hem sistem tarafından atanan hem de kullanıcı tarafından atanan kimlikler varsa, yalnızca sistem tarafından atanan kimlikleri kullanmaya geçerek kullanıcı tarafından atanan tüm kimlikleri kaldırabilirsiniz. Aşağıdaki komutu kullanın:
az vm update -n myVM -g myResourceGroup --set identity.type='SystemAssigned' identity.userAssignedIdentities=null
Sonraki adımlar
- Azure kaynakları için yönetilen kimliklere genel bakış
- Azure VM oluşturma hızlı başlangıçlarının tamamı için bkz:
Bu makalede, PowerShell'i kullanarak azure vm'sinde Azure kaynakları işlemleri için aşağıdaki yönetilen kimlikleri gerçekleştirmeyi öğreneceksiniz.
Not
Azure ile etkileşim kurmak için Azure Az PowerShell modülünü kullanmanızı öneririz. Başlamak için bkz. Azure PowerShell'i yükleme. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.
Önkoşullar
- 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-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 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.
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.
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.
VM'nin hizmet sorumlusunun
ObjectID
(döndürülen değerlerinId
alanında belirtildiği gibi) değerini alın ve not alın:Get-AzADServicePrincipal -displayname "myVM"
Grubun değerini (döndürülen değerlerin
Id
alanında belirtildiği gibi) alın ve notObjectID
alın:Get-AzADGroup -searchstring "myGroup"
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:
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" -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.
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.
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>
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>
,<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> # Get the list of existing identity IDs and then append to it $identityIds = $vm.Identity.UserAssignedIdentities.Keys $uid = "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/<RESROURCE 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
Azure VM oluşturma hızlı başlangıçlarının tamamı için bkz:
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:
- Azure Market özel bir şablon kullanarak sıfırdan bir şablon oluşturabilir veya şablonu mevcut ortak veya hızlı başlangıç şablonuna dayandırabilirsiniz.
- Şablonu özgün dağıtımdan veya dağıtımın geçerli durumundan dışarı aktararak mevcut bir kaynak grubundan türetme.
- Yerel bir JSON düzenleyicisi (VS Code gibi) kullanma ve ardından PowerShell veya CLI kullanarak karşıya yükleme ve dağıtma.
- Şablon oluşturmak ve dağıtmak için Visual Studio Azure Kaynak Grubu projesini kullanma.
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.
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.
Sistem tarafından atanan yönetilen kimliği etkinleştirmek için şablonu bir düzenleyiciye yükleyin, bölümünde ilgilendiğiniz kaynağı bulun
Microsoft.Compute/virtualMachines
ve özelliği özelliğiyle"type": "Microsoft.Compute/virtualMachines"
aynı düzeyde ekleyin"identity"
.resources
Aşağıdaki sözdizimini kullanın:"identity": { "type": "SystemAssigned" },
İşiniz bittiğinde, şablonunuzun bölümüne aşağıdaki bölümler eklenmelidir
resource
ve aşağıdakine benzer olmalıdır:"resources": [ { //other resource provider properties... "apiVersion": "2018-06-01", "type": "Microsoft.Compute/virtualMachines", "name": "[variables('vmName')]", "location": "[resourceGroup().location]", "identity": { "type": "SystemAssigned", } } ]
VM'nin sistem tarafından atanan yönetilen kimliğine rol atama
VM'nizde sistem tarafından atanan yönetilen kimliği etkinleştirdikten sonra, oluşturulduğu kaynak grubuna Okuyucu erişimi gibi bir rol vermek isteyebilirsiniz. Bu adımda size yardımcı olacak ayrıntılı bilgileri Azure Resource Manager şablonlarını kullanarak Azure rollerini atama makalesinde bulabilirsiniz.
Azure VM'den sistem tarafından atanan yönetilen kimliği devre dışı bırakma
Sistem tarafından atanan yönetilen kimliği bir VM'den kaldırmak için hesabınızın Sanal Makine Katılımcısı rol atamasına ihtiyacı vardır. Başka Microsoft Entra dizin rolü ataması gerekmez.
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.
Şablonu bir düzenleyiciye yükleyin ve bölümün
Microsoft.Compute/virtualMachines
içinderesources
ilgili kaynağı bulun. Yalnızca sistem tarafından atanan yönetilen kimliğe sahip bir VM'niz varsa, kimlik türünüNone
olarak değiştirerek vm'yi devre dışı bırakabilirsiniz.Microsoft.Compute/virtualMachines API sürüm 2018-06-01
VM'nizde hem sistem hem de kullanıcı tarafından atanan yönetilen kimlikler varsa, kimlik türünden kaldırın
SystemAssigned
ve sözlük değerleriyleuserAssignedIdentities
birlikte tutunUserAssigned
.Microsoft.Compute/virtualMachines API sürüm 2018-06-01
Sizin
apiVersion
2017-12-01
ve VM'nizin hem sistem hem de kullanıcı tarafından atanan yönetilen kimlikleri varsa, kimlik türünden kaldırınSystemAssigned
ve kullanıcı tarafından atanan yönetilen kimlikler dizisiyleidentityIds
birlikte tutunUserAssigned
.
Aşağıdaki örnekte, kullanıcı tarafından atanan yönetilen kimlikler olmadan bir VM'den sistem tarafından atanan yönetilen kimliğin nasıl kaldırılacağı gösterilmektedir:
{
"apiVersion": "2018-06-01",
"type": "Microsoft.Compute/virtualMachines",
"name": "[parameters('vmName')]",
"location": "[resourceGroup().location]",
"identity": {
"type": "None"
}
}
Kullanıcı tarafından atanan yönetilen kimlik
Bu bölümde, Azure Resource Manager şablonunu kullanarak Bir Azure VM'ye kullanıcı tarafından atanan yönetilen kimlik atayacaksınız.
Not
Azure Resource Manager Şablonu kullanarak kullanıcı tarafından atanan yönetilen kimlik oluşturmak için bkz . Kullanıcı tarafından atanan yönetilen kimlik oluşturma.
Azure VM'ye kullanıcı tarafından atanan yönetilen kimlik atama
Vm'ye kullanıcı tarafından atanan bir kimlik atamak için hesabınızın Yönetilen Kimlik Operatörü rol ataması gerekir. Başka Microsoft Entra dizin rolü ataması gerekmez.
öğesinin
resources
altına aşağıdaki girdiyi ekleyerek vm'nize kullanıcı tarafından atanan yönetilen kimliği atayın. değerini oluşturduğunuz kullanıcı tarafından atanan yönetilen kimliğin adıyla değiştirdiğinizden<USERASSIGNEDIDENTITY>
emin olun.Microsoft.Compute/virtualMachines API sürüm 2018-06-01
sizin
apiVersion
ise2018-06-01
, kullanıcı tarafından atanan yönetilen kimlikleriniz sözlük biçiminde depolanıruserAssignedIdentities
ve<USERASSIGNEDIDENTITYNAME>
değer, şablonunuzun bölümünde tanımlanan bir değişkendevariables
depolanmalıdır.{ "apiVersion": "2018-06-01", "type": "Microsoft.Compute/virtualMachines", "name": "[variables('vmName')]", "location": "[resourceGroup().location]", "identity": { "type": "userAssigned", "userAssignedIdentities": { "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]": {} } } }
Microsoft.Compute/virtualMachines API sürüm 2017-12-01
sizin
apiVersion
ise2017-12-01
, kullanıcı tarafından atanan yönetilen kimlikleriniz dizideidentityIds
depolanır ve<USERASSIGNEDIDENTITYNAME>
değer, şablonunuzun bölümünde tanımlanan bir değişkendevariables
depolanmalıdır.{ "apiVersion": "2017-12-01", "type": "Microsoft.Compute/virtualMachines", "name": "[variables('vmName')]", "location": "[resourceGroup().location]", "identity": { "type": "userAssigned", "identityIds": [ "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]" ] } }
İş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.
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.
Şablonu bir düzenleyiciye yükleyin ve bölümün
Microsoft.Compute/virtualMachines
içinderesources
ilgili kaynağı bulun. Yalnızca kullanıcı tarafından atanan yönetilen kimliğe sahip bir VM'niz varsa, kimlik türünüNone
olarak değiştirerek vm'yi devre dışı bırakabilirsiniz.Aşağıdaki örnekte, sistem tarafından atanan yönetilen kimlikler olmadan sanal makineden kullanıcı tarafından atanan tüm yönetilen kimliklerin nasıl kaldırılacağı gösterilmektedir:
{ "apiVersion": "2018-06-01", "type": "Microsoft.Compute/virtualMachines", "name": "[parameters('vmName')]", "location": "[resourceGroup().location]", "identity": { "type": "None" }, }
Microsoft.Compute/virtualMachines API sürüm 2018-06-01
Vm'den kullanıcı tarafından atanan tek bir yönetilen kimliği kaldırmak için, bunu sözlükten
useraAssignedIdentities
kaldırın.Sistem tarafından atanan bir yönetilen kimliğiniz varsa, değerin
type
altındaki değerdeidentity
tutun.Microsoft.Compute/virtualMachines API sürüm 2017-12-01
Vm'den kullanıcı tarafından atanan tek bir yönetilen kimliği kaldırmak için diziden
identityIds
kaldırın.Sistem tarafından atanan bir yönetilen kimliğiniz varsa, değerin
type
altındaki değerdeidentity
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 kaynakları için yönetilen kimlikleri bilmiyorsanız bkz . Azure kaynakları için yönetilen kimlikler nelerdir?. Sistem tarafından atanan ve kullanıcı tarafından atanan yönetilen kimlik türleri hakkında bilgi edinmek için bkz . Yönetilen kimlik türleri.
Azure Cloud Shell'de Bash ortamını kullanın. Daha fazla bilgi için bkz . Azure Cloud Shell'de Bash için hızlı başlangıç.
CLI başvuru komutlarını yerel olarak çalıştırmayı tercih ediyorsanız Azure CLI'yı yükleyin . Windows veya macOS üzerinde çalışıyorsanız Azure CLI’yi bir Docker kapsayıcısında çalıştırmayı değerlendirin. Daha fazla bilgi için bkz . Docker kapsayıcısında Azure CLI'yi çalıştırma.
Yerel yükleme kullanıyorsanız az login komutunu kullanarak Azure CLI ile oturum açın. Kimlik doğrulama işlemini tamamlamak için terminalinizde görüntülenen adımları izleyin. Diğer oturum açma seçenekleri için bkz . Azure CLI ile oturum açma.
İstendiğinde, ilk kullanımda Azure CLI uzantısını yükleyin. Uzantılar hakkında daha fazla bilgi için bkz. Azure CLI ile uzantıları kullanma.
Yüklü sürümü ve bağımlı kitaplıkları bulmak için az version komutunu çalıştırın. En son sürüme yükseltmek için az upgrade komutunu çalıştırın.
Sistem tarafından atanan yönetilen kimlik
Bu bölümde, Azure Resource Manager REST uç noktasına çağrı yapmak için CURL kullanarak Azure VM'de sistem tarafından atanan yönetilen kimliği etkinleştirmeyi ve devre dışı bırakmayı öğreneceksiniz.
Azure VM oluşturulurken sistem tarafından atanan yönetilen kimliği etkinleştirme
Sistem tarafından atanan yönetilen kimliğin etkinleştirildiği bir Azure VM oluşturmak için hesabınızın Sanal Makine Katılımcısı rol ataması gerekir. Başka Microsoft Entra dizin rolü ataması gerekmez.
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
VM'niz için bir ağ arabirimi oluşturun:
az network nic create -g myResourceGroup --vnet-name myVnet --subnet mySubnet -n myNic
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
Azure Cloud Shell'i kullanarak AZURE Resource Manager REST uç noktasını çağırmak için CURL kullanarak bir VM oluşturun. Aşağıdaki örnek, istek gövdesinde değerine
"identity":{"type":"SystemAssigned"}
göre tanımlanarak sistem tarafından atanan yönetilen kimliğe sahip myVM adlı bir VM oluşturur. değerini bir Taşıyıcı erişim belirteci istediğinizde önceki adımda aldığınız değerle ve<SUBSCRIPTION ID>
ortamınız için uygun değerle değiştirin<ACCESS TOKEN>
.curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PUT -d '{"location":"westus","name":"myVM","identity":{"type":"SystemAssigned"},"properties":{"hardwareProfile":{"vmSize":"Standard_D2_v2"},"storageProfile":{"imageReference":{"sku":"2016-Datacenter","publisher":"MicrosoftWindowsServer","version":"latest","offer":"WindowsServer"},"osDisk":{"caching":"ReadWrite","managedDisk":{"storageAccountType":"StandardSSD_LRS"},"name":"myVM3osdisk","createOption":"FromImage"},"dataDisks":[{"diskSizeGB":1023,"createOption":"Empty","lun":0},{"diskSizeGB":1023,"createOption":"Empty","lun":1}]},"osProfile":{"adminUsername":"azureuser","computerName":"myVM","adminPassword":"<SECURE PASSWORD STRING>"},"networkProfile":{"networkInterfaces":[{"id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic","properties":{"primary":true}}]}}}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
İstek üst bilgileri
İstek üst bilgisi Açıklama İçerik Türü Gerekli. application/json
olarak ayarlayın.Yetkilendirme Gerekli. Geçerli Bearer
bir erişim belirteci olarak ayarlayın.İstek gövdesi
{ "location":"westus", "name":"myVM", "identity":{ "type":"SystemAssigned" }, "properties":{ "hardwareProfile":{ "vmSize":"Standard_D2_v2" }, "storageProfile":{ "imageReference":{ "sku":"2016-Datacenter", "publisher":"MicrosoftWindowsServer", "version":"latest", "offer":"WindowsServer" }, "osDisk":{ "caching":"ReadWrite", "managedDisk":{ "storageAccountType":"StandardSSD_LRS" }, "name":"myVM3osdisk", "createOption":"FromImage" }, "dataDisks":[ { "diskSizeGB":1023, "createOption":"Empty", "lun":0 }, { "diskSizeGB":1023, "createOption":"Empty", "lun":1 } ] }, "osProfile":{ "adminUsername":"azureuser", "computerName":"myVM", "adminPassword":"myPassword12" }, "networkProfile":{ "networkInterfaces":[ { "id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic", "properties":{ "primary":true } } ] } } }
Mevcut bir Azure VM'de sistem tarafından atanan kimliği etkinleştirme
Sistem tarafından atanan yönetilen kimliği başlangıçta bu olmadan sağlanan bir VM'de etkinleştirmek için hesabınıza Sanal Makine Katkıda Bulunanı rol ataması gerekir. Başka Microsoft Entra dizin rolü ataması gerekmez.
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
İstek gövdesinde myVM adlı bir VM'nin değeriyle
{"identity":{"type":"SystemAssigned"}
tanımlanan şekilde VM'nizde sistem tarafından atanan yönetilen kimliği etkinleştirmek üzere Azure Resource Manager REST uç noktasını çağırmak için aşağıdaki CURL komutunu kullanın. değerini bir Taşıyıcı erişim belirteci istediğinizde önceki adımda aldığınız değerle ve<SUBSCRIPTION ID>
ortamınız için uygun değerle değiştirin<ACCESS TOKEN>
.Önemli
VM'ye atanan mevcut kullanıcı tarafından atanan yönetilen kimlikleri silmediğinizden emin olmak için şu CURL komutunu kullanarak kullanıcı tarafından atanan yönetilen kimlikleri listelemeniz gerekir:
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachines/<VM NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>"
. Yanıttaki değerdeidentity
tanımlanan şekilde VM'ye kullanıcı tarafından atanan yönetilen kimlikleriniz varsa, vm'nizde sistem tarafından atanan yönetilen kimliği etkinleştirirken kullanıcı tarafından atanan yönetilen kimlikleri nasıl tutabileceğinizi gösteren 3. adıma geçin.curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned"}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
İstek üst bilgileri
İstek üst bilgisi Açıklama İçerik Türü Gerekli. application/json
olarak ayarlayın.Yetkilendirme Gerekli. Geçerli Bearer
bir erişim belirteci olarak ayarlayın.İstek gövdesi
{ "identity":{ "type":"SystemAssigned" } }
Kullanıcı tarafından atanan mevcut yönetilen kimliklere sahip bir VM'de sistem tarafından atanan yönetilen kimliği etkinleştirmek için değere
type
eklemenizSystemAssigned
gerekir.Örneğin, VM'nizde kullanıcı tarafından atanan yönetilen kimlikler
ID1
varsa veID2
vm'ye sistem tarafından atanan yönetilen kimlik eklemek istiyorsanız aşağıdaki CURL çağrısını kullanın. ve<SUBSCRIPTION ID>
değerlerini ortamınıza uygun değerlerle değiştirin<ACCESS TOKEN>
.API sürümü
2018-06-01
, kullanıcı tarafından atanan yönetilen kimlikleriuserAssignedIdentities
, API sürümünde2017-12-01
kullanılan dizi biçimindeki değerdenidentityIds
farklı olarak sözlük biçiminde depolar.API SÜRÜM 2018-06-01
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned, UserAssigned", "userAssignedIdentities":{"/subscriptions/<<SUBSCRIPTION ID>>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{},"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":{}}}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
İstek üst bilgileri
İstek üst bilgisi Açıklama İçerik Türü Gerekli. application/json
olarak ayarlayın.Yetkilendirme Gerekli. Geçerli Bearer
bir erişim belirteci olarak ayarlayın.İstek gövdesi
{ "identity":{ "type":"SystemAssigned, UserAssigned", "userAssignedIdentities":{ "/subscriptions/<<SUBSCRIPTION ID>>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{ }, "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":{ } } } }
API SÜRÜM 2017-12-01
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01' -X PATCH -d '{"identity":{"type":"SystemAssigned, UserAssigned", "identityIds":["/subscriptions/<<SUBSCRIPTION ID>>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1","/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2"]}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01 HTTP/1.1
İstek üst bilgileri
İstek üst bilgisi Açıklama İçerik Türü Gerekli. application/json
olarak ayarlayın.Yetkilendirme Gerekli. Geçerli Bearer
bir erişim belirteci olarak ayarlayın.İstek gövdesi
{ "identity":{ "type":"SystemAssigned, UserAssigned", "identityIds":[ "/subscriptions/<<SUBSCRIPTION ID>>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1", "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2" ] } }
Azure VM'den sistem tarafından atanan yönetilen kimliği devre dışı bırakma
Vm'de sistem tarafından atanan yönetilen kimliği devre dışı bırakmak için hesabınıza Sanal Makine Katılımcısı rol ataması gerekir. Başka Microsoft Entra dizin rolü ataması gerekmez.
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
Sistem tarafından atanan yönetilen kimliği devre dışı bırakmak üzere Azure Resource Manager REST uç noktasını çağırmak için CURL kullanarak VM'yi güncelleştirin. Aşağıdaki örnek, istek gövdesinde myVM adlı bir VM'den alınan değerle
{"identity":{"type":"None"}}
tanımlanan sistem tarafından atanan yönetilen kimliği devre dışı bırakır. değerini bir Taşıyıcı erişim belirteci istediğinizde önceki adımda aldığınız değerle ve<SUBSCRIPTION ID>
ortamınız için uygun değerle değiştirin<ACCESS TOKEN>
.Önemli
VM'ye atanan mevcut kullanıcı tarafından atanan yönetilen kimlikleri silmediğinizden emin olmak için şu CURL komutunu kullanarak kullanıcı tarafından atanan yönetilen kimlikleri listelemeniz gerekir:
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachines/<VM NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>"
. Yanıttaki değerdeidentity
tanımlanan şekilde VM'ye kullanıcı tarafından atanmış yönetilen kimlikleriniz varsa, vm'nizde sistem tarafından atanan yönetilen kimliği devre dışı bırakırken kullanıcı tarafından atanan yönetilen kimlikleri nasıl tutabileceğinizi gösteren 3. adıma geçin.curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"None"}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
İstek üst bilgileri
İstek üst bilgisi Açıklama İçerik Türü Gerekli. application/json
olarak ayarlayın.Yetkilendirme Gerekli. Geçerli Bearer
bir erişim belirteci olarak ayarlayın.İstek gövdesi
{ "identity":{ "type":"None" } }
Kullanıcı tarafından atanan yönetilen kimlikleri olan bir sanal makineden sistem tarafından atanan yönetilen kimliği kaldırmak için, API sürüm 2018-06-01 kullanıyorsanız değeri ve
userAssignedIdentities
sözlük değerlerini koruyarakUserAssigned
değerden{"identity":{"type:" "}}
kaldırınSystemAssigned
. API 2017-12-01 veya önceki bir sürümünü kullanıyorsanız diziyiidentityIds
koruyun.
Kullanıcı tarafından atanan yönetilen kimlik
Bu bölümde, Azure Resource Manager REST uç noktasına çağrı yapmak için CURL kullanarak Azure VM'de kullanıcı tarafından atanan yönetilen kimliği eklemeyi ve kaldırmayı öğreneceksiniz.
Azure VM oluşturulurken kullanıcı tarafından atanan yönetilen kimlik atama
Vm'ye kullanıcı tarafından atanan bir kimlik atamak için hesabınıza Sanal Makine Katkıda Bulunanı ve Yönetilen Kimlik Operatörü rol atamaları gerekir. Başka Microsoft Entra dizin rolü ataması gerekmez.
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
VM'niz için bir ağ arabirimi oluşturun:
az network nic create -g myResourceGroup --vnet-name myVnet --subnet mySubnet -n myNic
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
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.
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
ID1
sahip myResourceGroup kaynak grubunda, istek gövdesinde değerine"identity":{"type":"UserAssigned"}
göre tanımlanan myVM adlı bir VM oluşturur. değerini bir Taşıyıcı erişim belirteci istediğinizde önceki adımda aldığınız değerle ve<SUBSCRIPTION ID>
ortamınız için uygun değerle değiştirin<ACCESS TOKEN>
.API SÜRÜM 2018-06-01
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PUT -d '{"location":"westus","name":"myVM","identity":{"type":"UserAssigned","identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"]},"properties":{"hardwareProfile":{"vmSize":"Standard_D2_v2"},"storageProfile":{"imageReference":{"sku":"2016-Datacenter","publisher":"MicrosoftWindowsServer","version":"latest","offer":"WindowsServer"},"osDisk":{"caching":"ReadWrite","managedDisk":{"storageAccountType":"StandardSSD_LRS"},"name":"myVM3osdisk","createOption":"FromImage"},"dataDisks":[{"diskSizeGB":1023,"createOption":"Empty","lun":0},{"diskSizeGB":1023,"createOption":"Empty","lun":1}]},"osProfile":{"adminUsername":"azureuser","computerName":"myVM","adminPassword":"myPassword12"},"networkProfile":{"networkInterfaces":[{"id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic","properties":{"primary":true}}]}}}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
İstek üst bilgileri
İstek üst bilgisi Açıklama İçerik Türü Gerekli. application/json
olarak ayarlayın.Yetkilendirme Gerekli. Geçerli Bearer
bir erişim belirteci olarak ayarlayın.İstek gövdesi
{ "location":"westus", "name":"myVM", "identity":{ "type":"UserAssigned", "identityIds":[ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1" ] }, "properties":{ "hardwareProfile":{ "vmSize":"Standard_D2_v2" }, "storageProfile":{ "imageReference":{ "sku":"2016-Datacenter", "publisher":"MicrosoftWindowsServer", "version":"latest", "offer":"WindowsServer" }, "osDisk":{ "caching":"ReadWrite", "managedDisk":{ "storageAccountType":"StandardSSD_LRS" }, "name":"myVM3osdisk", "createOption":"FromImage" }, "dataDisks":[ { "diskSizeGB":1023, "createOption":"Empty", "lun":0 }, { "diskSizeGB":1023, "createOption":"Empty", "lun":1 } ] }, "osProfile":{ "adminUsername":"azureuser", "computerName":"myVM", "adminPassword":"myPassword12" }, "networkProfile":{ "networkInterfaces":[ { "id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic", "properties":{ "primary":true } } ] } } }
API SÜRÜM 2017-12-01
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01' -X PUT -d '{"location":"westus","name":"myVM","identity":{"type":"UserAssigned","identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"]},"properties":{"hardwareProfile":{"vmSize":"Standard_D2_v2"},"storageProfile":{"imageReference":{"sku":"2016-Datacenter","publisher":"MicrosoftWindowsServer","version":"latest","offer":"WindowsServer"},"osDisk":{"caching":"ReadWrite","managedDisk":{"storageAccountType":"StandardSSD_LRS"},"name":"myVM3osdisk","createOption":"FromImage"},"dataDisks":[{"diskSizeGB":1023,"createOption":"Empty","lun":0},{"diskSizeGB":1023,"createOption":"Empty","lun":1}]},"osProfile":{"adminUsername":"azureuser","computerName":"myVM","adminPassword":"myPassword12"},"networkProfile":{"networkInterfaces":[{"id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic","properties":{"primary":true}}]}}}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01 HTTP/1.1
İstek üst bilgileri
İstek üst bilgisi Açıklama İçerik Türü Gerekli. application/json
olarak ayarlayın.Yetkilendirme Gerekli. Geçerli Bearer
bir erişim belirteci olarak ayarlayın.İstek gövdesi
{ "location":"westus", "name":"myVM", "identity":{ "type":"UserAssigned", "identityIds":[ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1" ] }, "properties":{ "hardwareProfile":{ "vmSize":"Standard_D2_v2" }, "storageProfile":{ "imageReference":{ "sku":"2016-Datacenter", "publisher":"MicrosoftWindowsServer", "version":"latest", "offer":"WindowsServer" }, "osDisk":{ "caching":"ReadWrite", "managedDisk":{ "storageAccountType":"StandardSSD_LRS" }, "name":"myVM3osdisk", "createOption":"FromImage" }, "dataDisks":[ { "diskSizeGB":1023, "createOption":"Empty", "lun":0 }, { "diskSizeGB":1023, "createOption":"Empty", "lun":1 } ] }, "osProfile":{ "adminUsername":"azureuser", "computerName":"myVM", "adminPassword":"myPassword12" }, "networkProfile":{ "networkInterfaces":[ { "id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic", "properties":{ "primary":true } } ] } } }
Mevcut Azure VM'sine kullanıcı tarafından atanan yönetilen kimlik atama
Vm'ye kullanıcı tarafından atanan bir kimlik atamak için hesabınıza Sanal Makine Katkıda Bulunanı ve Yönetilen Kimlik Operatörü rol atamaları gerekir. Başka Microsoft Entra dizin rolü ataması gerekmez.
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
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.
VM'ye atanan mevcut kullanıcı veya sistem tarafından atanan yönetilen kimlikleri silmediğinizden emin olmak için aşağıdaki CURL komutunu kullanarak VM'ye atanan kimlik türlerini listelemeniz gerekir. Sanal makine ölçek kümesine atanmış yönetilen kimlikleriniz varsa, bunlar değerinin
identity
altında listelenir.curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachines/<VM NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>"
GET https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachines/<VM NAME>?api-version=2018-06-01 HTTP/1.1
İstek üst bilgileri
İstek üst bilgisi Açıklama Yetkilendirme Gerekli. Geçerli Bearer
bir erişim belirteci olarak ayarlayın.Yanıttaki değerde
identity
tanımlanan şekilde VM'ye atanmış kullanıcı veya sistem tarafından atanmış yönetilen kimlikleriniz varsa, vm'nize kullanıcı tarafından atanan yönetilen kimliği eklerken sistem tarafından atanan yönetilen kimliği nasıl tutabileceğinizi gösteren 5. adıma geçin.VM'nize kullanıcı tarafından atanmış yönetilen kimlikleriniz yoksa, vm'ye kullanıcı tarafından atanan ilk yönetilen kimliği atamak üzere Azure Resource Manager REST uç noktasını çağırmak için aşağıdaki CURL komutunu kullanın.
Aşağıdaki örnek,
ID1
myResourceGroup kaynak grubundaki myVM adlı vm'ye kullanıcı tarafından atanan bir yönetilen kimlik atar. değerini bir Taşıyıcı erişim belirteci istediğinizde önceki adımda aldığınız değerle ve<SUBSCRIPTION ID>
ortamınız için uygun değerle değiştirin<ACCESS TOKEN>
.API SÜRÜM 2018-06-01
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"UserAssigned", "userAssignedIdentities":{"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{}}}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
İstek üst bilgileri
İstek üst bilgisi Açıklama İçerik Türü Gerekli. application/json
olarak ayarlayın.Yetkilendirme Gerekli. Geçerli Bearer
bir erişim belirteci olarak ayarlayın.İstek gövdesi
{ "identity":{ "type":"UserAssigned", "userAssignedIdentities":{ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{ } } } }
API SÜRÜM 2017-12-01
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01' -X PATCH -d '{"identity":{"type":"userAssigned", "identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"]}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01 HTTP/1.1
İstek üst bilgileri
İstek üst bilgisi Açıklama İçerik Türü Gerekli. application/json
olarak ayarlayın.Yetkilendirme Gerekli. Geçerli Bearer
bir erişim belirteci olarak ayarlayın.İstek gövdesi
{ "identity":{ "type":"userAssigned", "identityIds":[ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1" ] } }
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ğiID2
buna eklemek istiyorsanız:curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned, UserAssigned", "userAssignedIdentities":{"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{},"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":{}}}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
İstek üst bilgileri
İstek üst bilgisi Açıklama İçerik Türü Gerekli. application/json
olarak ayarlayın.Yetkilendirme Gerekli. Geçerli Bearer
bir erişim belirteci olarak ayarlayın.İstek gövdesi
{ "identity":{ "type":"SystemAssigned, UserAssigned", "userAssignedIdentities":{ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{ }, "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":{ } } } }
API SÜRÜM 2017-12-01
Kullanıcı tarafından atanan yeni yönetilen kimliği eklerken dizi değerinde tutmak istediğiniz kullanıcı tarafından atanan yönetilen kimlikleri koruyun
identityIds
.Örneğin, sistem tarafından atanan yönetilen kimliğiniz ve şu anda VM'nize atanmış olan kullanıcı tarafından atanan yönetilen kimliğiniz
ID1
varsa ve kullanıcı tarafından atanan yönetilen kimliğiID2
buna eklemek istiyorsanız:curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01' -X PATCH -d '{"identity":{"type":"SystemAssigned,UserAssigned", "identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1","/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2"]}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01 HTTP/1.1
İstek üst bilgileri
İstek üst bilgisi Açıklama İçerik Türü Gerekli. application/json
olarak ayarlayın.Yetkilendirme Gerekli. Geçerli Bearer
bir erişim belirteci olarak ayarlayın.İstek gövdesi
{ "identity":{ "type":"SystemAssigned,UserAssigned", "identityIds":[ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1", "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2" ] } }
Azure VM'den kullanıcı tarafından atanan yönetilen kimliği kaldırma
Vm'ye kullanıcı tarafından atanan bir kimliği kaldırmak için hesabınıza Sanal Makine Katılımcısı rol ataması gerekir.
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
VM'ye atanmış olarak tutmak veya sistem tarafından atanan yönetilen kimliği kaldırmak istediğiniz mevcut kullanıcı tarafından atanan yönetilen kimlikleri silmediğinizden emin olmak için, aşağıdaki CURL komutunu kullanarak yönetilen kimlikleri listelemeniz gerekir:
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachines/<VM NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>"
GET https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachines/<VM NAME>?api-version=2018-06-01 HTTP/1.1
İstek üst bilgileri
İstek üst bilgisi Açıklama İçerik Türü Gerekli. application/json
olarak ayarlayın.Yetkilendirme Gerekli. Geçerli Bearer
bir erişim belirteci olarak ayarlayın.VM'ye atanmış yönetilen kimlikleriniz varsa, bunlar yanıtta değerde
identity
listelenir.Örneğin, kullanıcı tarafından atanan yönetilen kimlikleriniz
ID1
varsa veID2
VM'nize atanmışsa ve yalnızca sistem tarafından atanan kimliğin atanmasını ve korunmasını istiyorsanızID1
:API SÜRÜM 2018-06-01
Kaldırmak istediğiniz kullanıcı tarafından atanan yönetilen kimliğe ekleyin
null
:curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned, UserAssigned", "userAssignedIdentities":{"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":null}}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
İstek üst bilgileri
İstek üst bilgisi Açıklama İçerik Türü Gerekli. application/json
olarak ayarlayın.Yetkilendirme Gerekli. Geçerli Bearer
bir erişim belirteci olarak ayarlayın.İstek gövdesi
{ "identity":{ "type":"SystemAssigned, UserAssigned", "userAssignedIdentities":{ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":null } } }
API SÜRÜM 2017-12-01
Yalnızca dizide tutmak istediğiniz kullanıcı tarafından atanan yönetilen kimlikleri
identityIds
koruyun:curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01' -X PATCH -d '{"identity":{"type":"SystemAssigned, UserAssigned", "identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"]}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2017-12-01 HTTP/1.1
İstek üst bilgileri
İstek üst bilgisi Açıklama İçerik Türü Gerekli. application/json
olarak ayarlayın.Yetkilendirme Gerekli. Geçerli Bearer
bir erişim belirteci olarak ayarlayın.İstek gövdesi
{ "identity":{ "type":"SystemAssigned, UserAssigned", "identityIds":[ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1" ] } }
VM'nizde hem sistem tarafından atanan hem de kullanıcı tarafından atanan yönetilen kimlikler varsa, aşağıdaki komutu kullanarak yalnızca sistem tarafından atanan yönetilen kimliği kullanmaya geçerek kullanıcı tarafından atanan tüm yönetilen kimlikleri kaldırabilirsiniz:
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned"}}' -H "Content-Type: application/json" -H "Authorization:Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
İstek üst bilgileri
İstek üst bilgisi | Açıklama |
---|---|
İçerik Türü | Gerekli. application/json olarak ayarlayın. |
Yetkilendirme | Gerekli. Geçerli Bearer bir erişim belirteci olarak ayarlayın. |
İstek gövdesi
{
"identity":{
"type":"SystemAssigned"
}
}
VM'nizde yalnızca kullanıcı tarafından atanan yönetilen kimlikler varsa ve bunların tümünü kaldırmak istiyorsanız aşağıdaki komutu kullanın:
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"None"}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM?api-version=2018-06-01 HTTP/1.1
İstek üst bilgileri
İstek üst bilgisi | Açıklama |
---|---|
İçerik Türü | Gerekli. application/json olarak ayarlayın. |
Yetkilendirme | Gerekli. Geçerli Bearer bir erişim belirteci olarak ayarlayın. |
İstek gövdesi
{
"identity":{
"type":"None"
}
}
Sonraki adımlar
REST kullanarak kullanıcı tarafından atanan yönetilen kimlikleri oluşturma, listeleme veya silme hakkında bilgi için bkz:
Bu makalede, Azure SDK kullanarak azure vm için Azure kaynakları için yönetilen kimlikleri etkinleştirmeyi ve kaldırmayı öğreneceksiniz.
Önkoşullar
- Azure kaynakları için yönetilen kimlikler özelliği hakkında bilgi sahibi değilseniz bu genel bakışı inceleyin. Azure hesabınız yoksa, devam etmeden önce ücretsiz bir hesaba kaydolun.
Azure kaynakları için yönetilen kimliklere sahip Azure SDK'ları desteği
Azure desteği bir dizi aracılığıyla birden çok programlama platformuna sahiptir Azure SDK'ları. Bunların bazıları Azure kaynakları için yönetilen kimlikleri destekleyecek şekilde güncelleştirildi ve kullanımı göstermek için ilgili örnekleri sağladı. Diğer destek eklendikçe bu liste güncelleştirilir:
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.