Şablonları 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, 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 şablonları

Azure portalı ve betik oluşturmada olduğu gibi Azure Resource Manager şablonları da bir Azure kaynak grubu tarafından tanımlanan yeni veya değiştirilmiş kaynakları dağıtmanıza olanak sağlar. Şablon düzenleme ve dağıtım için hem yerel hem de portal tabanlı çeşitli seçenekler mevcuttur:

Seçtiğiniz seçenek ne olursa olsun, şablon söz dizimi ilk dağıtım ve yeniden dağıtım sırasında aynıdır. Yeni veya mevcut bir VM'de sistem veya kullanıcı tarafından atanan yönetilen kimliği etkinleştirme işlemi aynı şekilde yapılır. Ayrıca Azure Resource Manager varsayılan olarak dağıtımlara yönelik artımlı bir güncelleştirme yapar.

Sistem tarafından atanan yönetilen kimlik

Bu bölümde, Azure Resource Manager şablonu kullanarak sistem tarafından atanan yönetilen kimliği etkinleştirecek ve devre dışı bırakacaksınız.

Azure VM'sinin oluşturulması sırasında veya mevcut bir VM'de sistem tarafından atanan yönetilen kimliği etkinleştirme

Vm'de sistem tarafından atanan yönetilen kimliği etkinleştirmek için hesabınıza Sanal Makine Katılımcısı rol ataması gerekir. Başka Microsoft Entra dizin rolü ataması gerekmez.

  1. Azure'da yerel olarak veya Azure portalı aracılığıyla oturum açtığınızda, VM'yi içeren Azure aboneliğiyle ilişkili bir hesap kullanın.

  2. Sistem tarafından atanan yönetilen kimliği etkinleştirmek için şablonu bir düzenleyiciye yükleyin, 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"
    },
    
  3. İşiniz bittiğinde, şablonunuzun bölümüne aşağıdaki bölümler eklenmelidir resource ve aşağıdakine benzer olmalıdır:

     "resources": [
         {
             //other resource provider properties...
             "apiVersion": "2018-06-01",
             "type": "Microsoft.Compute/virtualMachines",
             "name": "[variables('vmName')]",
             "location": "[resourceGroup().location]",
             "identity": {
                 "type": "SystemAssigned",
                 }                        
         }
     ]
    

VM'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.

  1. Azure'da yerel olarak veya Azure portalı aracılığıyla oturum açtığınızda, VM'yi içeren Azure aboneliğiyle ilişkili bir hesap kullanın.

  2. Şablonu bir düzenleyiciye yükleyin ve bölümün Microsoft.Compute/virtualMachines içinde resources ilgili kaynağı bulun. Yalnızca sistem tarafından atanan yönetilen kimliğe sahip bir VM'niz varsa, kimlik türünü Noneolarak değiştirerek vm'yi devre dışı bırakabilirsiniz.

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

    VM'nizde hem sistem hem de kullanıcı tarafından atanan yönetilen kimlikler varsa, kimlik türünden kaldırın SystemAssigned ve sözlük değerleriyle userAssignedIdentities birlikte tutunUserAssigned.

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

    Sizin apiVersion2017-12-01 ve VM'nizin hem sistem hem de kullanıcı tarafından atanan yönetilen kimlikleri varsa, kimlik türünden kaldırın SystemAssigned ve kullanıcı tarafından atanan yönetilen kimlikler dizisiyle identityIds 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.

Dekont

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.

  1. öğ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 ise 2018-06-01, kullanıcı tarafından atanan yönetilen kimlikleriniz sözlük biçiminde depolanır userAssignedIdentities ve <USERASSIGNEDIDENTITYNAME> değer, şablonunuzun bölümünde tanımlanan bir değişkende variables 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 ise 2017-12-01, kullanıcı tarafından atanan yönetilen kimlikleriniz dizide identityIds depolanır ve <USERASSIGNEDIDENTITYNAME> değer, şablonunuzun bölümünde tanımlanan bir değişkende variables 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>'))]"
            ]
        }
    }
    
  2. İşiniz bittiğinde, şablonunuzun bölümüne aşağıdaki bölümler eklenmelidir resource ve aşağıdakine benzer olmalıdır:

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

      "resources": [
         {
             //other resource provider properties...
             "apiVersion": "2018-06-01",
             "type": "Microsoft.Compute/virtualMachines",
             "name": "[variables('vmName')]",
             "location": "[resourceGroup().location]",
             "identity": {
                 "type": "userAssigned",
                 "userAssignedIdentities": {
                    "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]": {}
                 }
             }
         }
     ] 
    

    Microsoft.Compute/virtualMachines API sürüm 2017-12-01

    "resources": [
         {
             //other resource provider properties...
             "apiVersion": "2017-12-01",
             "type": "Microsoft.Compute/virtualMachines",
             "name": "[variables('vmName')]",
             "location": "[resourceGroup().location]",
             "identity": {
                 "type": "userAssigned",
                 "identityIds": [
                    "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]"
                 ]
             }
         }
    ]
    

Azure VM'den kullanıcı tarafından atanan yönetilen kimliği kaldırma

Vm'den kullanıcı tarafından atanan bir kimliği kaldırmak için hesabınıza Sanal Makine Katılımcısı rol ataması gerekir. Başka Microsoft Entra dizin rolü ataması gerekmez.

  1. Azure'da yerel olarak veya Azure portalı aracılığıyla oturum açtığınızda, VM'yi içeren Azure aboneliğiyle ilişkili bir hesap kullanın.

  2. Şablonu bir düzenleyiciye yükleyin ve bölümün Microsoft.Compute/virtualMachines içinde resources ilgili kaynağı bulun. Yalnızca kullanıcı tarafından atanan yönetilen kimliğe sahip bir VM'niz varsa, kimlik türünü Noneolarak değiştirerek vm'yi devre dışı bırakabilirsiniz.

    Aşağıdaki örnekte, sistem tarafından atanan yönetilen kimlikler olmadan sanal makineden kullanıcı tarafından atanan tüm yönetilen kimliklerin nasıl kaldırılacağı gösterilmektedir:

     {
       "apiVersion": "2018-06-01",
       "type": "Microsoft.Compute/virtualMachines",
       "name": "[parameters('vmName')]",
       "location": "[resourceGroup().location]",
       "identity": {
           "type": "None"
           },
     }
    

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

    Vm'den kullanıcı tarafından atanan tek bir yönetilen kimliği kaldırmak için, bunu sözlükten useraAssignedIdentities kaldırın.

    Sistem tarafından atanan bir yönetilen kimliğiniz varsa, değerin type altındaki değerde identity 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ğerde identity tutun.

Sonraki adımlar