Resource Manager’a erişmek için Windows VM sistem tarafından atanan yönetilen kimliği kullanma

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.

Bu öğreticide, sistem tarafından atanan yönetilen kimliğin etkinleştirildiği bir Windows sanal makinesi kullanarak Azure Resource Manager API'sine nasıl erişildiği gösterilmektedir. Azure kaynakları için yönetilen kimlikler Azure tarafından otomatik olarak yönetilir ve kodunuza kimlik bilgileri eklemeye gerek kalmadan Microsoft Entra kimlik doğrulamasını destekleyen hizmetlerde kimlik doğrulaması yapmanıza olanak tanır. Şunları yapmayı öğreneceksiniz:

  • Azure Resource Manager’da Kaynak Grubuna VM'niz için erişim verme
  • VM kimliğini kullanarak erişim belirteci alma ve Azure Resource Manager çağrısı yapmak için bunu kullanma

Önkoşullar

  • Yönetilen kimlikler hakkında temel bilgiler. Azure kaynakları için yönetilen kimlikler özelliği hakkında bilgi sahibi değilseniz bu genel bakışı inceleyin.
  • Bir Azure hesabı, ücretsiz bir hesaba kaydolun.
  • Gerekli kaynak oluşturma ve rol yönetimi adımlarını gerçekleştirmek için uygun kapsamdaki "Sahip" izinleri (aboneliğiniz veya kaynak grubunuz). Rol atama konusunda yardıma ihtiyacınız varsa bkz . Azure abonelik kaynaklarınıza erişimi yönetmek için Azure rolleri atama.
  • Ayrıca sistem tarafından atanan yönetilen kimliklerin etkinleştirildiği bir Windows Sanal makinesine de ihtiyacınız vardır.
    • Bu öğretici için bir sanal makine oluşturmanız gerekiyorsa Sistem tarafından atanan kimlik etkinken sanal makine oluşturma başlıklı makaleyi izleyebilirsiniz

Etkinleştir

Sistem tarafından atanan yönetilen kimliği etkinleştirmek tek tıklamayla yapılan bir deneyimdir. Vm oluşturulurken veya mevcut bir VM'nin özelliklerinde etkinleştirebilirsiniz.

Screenshot shows the System assigned tab for a virtual machine where you can turn on the System assigned status.

Sistem tarafından atanan yönetilen kimliği yeni bir VM'de etkinleştirmek için:

  1. Azure portalda oturum açma

  2. Sistem tarafından atanan kimliğin etkin olduğu bir sanal makine oluşturma

Resource Manager’da kaynak grubuna VM'niz için erişim verme

İpucu

Bu makaledeki adımlar, başladığınız portala göre biraz değişiklik gösterebilir.

Azure kaynakları için yönetilen kimlikleri kullanarak uygulamanız, Microsoft Entra kimlik doğrulamasını destekleyen kaynaklarda kimlik doğrulaması yapmak için erişim belirteçleri alabilir. Azure Resource Manager API'si Microsoft Entra kimlik doğrulamasını destekler. Bu VM'nin kimliğine Azure Resource Manager'daki bir kaynağa, bu durumda bir Kaynak Grubuna erişim izni veririz. Okuyucu rolünü kaynak grubunun kapsamında yönetilen kimliğe atarız.

  1. Yönetici hesabınızla Azure portalında oturum açın.
  2. Kaynak Grupları sekmesine gidin.
  3. VM'nin yönetilen kimlik erişimine vermek istediğiniz Kaynak Grubunu seçin.
  4. Sol panelde Erişim denetimi (IAM) öğesini seçin.
  5. Ekle'yi ve ardından Rol ataması ekle'yi seçin.
  6. Rol sekmesinde Okuyucu'ya tıklayın. Bu rol tüm kaynakları görüntülemenize izin verir, ancak herhangi bir değişiklik yapmanıza izin vermez.
  7. Üyeler sekmesinde, Erişim ata için Yönetilen kimlik'i seçin. Ardından + Üye seç'i seçin.
  8. Abonelik açılan listesinde uygun aboneliğin listelendiğinden emin olun. Kaynak Grubu için de Tüm kaynak grupları'nı seçin.
  9. Kimliği yönet açılan listesinde Sanal Makine'yi seçin.
  10. Son olarak, Seç'te açılan listeden Windows Sanal Makinenizi seçin ve Kaydet'i seçin.

VM’nin sistem tarafından atanan yönetilen kimliğini kullanarak erişim belirteci alma ve Azure Resource Manager çağrısı yapmak için bunu kullanma

Bu kısımda PowerShell kullanmanız gerekir. PowerShell yüklü değilse buradan indirin.

  1. Portalda Sanal Makineler gidin ve Windows sanal makinenize gidin ve Genel Bakış'ta Bağlan'ı seçin.

  2. Windows VM'sini oluştururken eklendiğiniz hesabın Kullanıcı adı ve Parola değerlerini girin.

  3. Sanal makineyle bir Uzak Masaüstü Bağlan oluşturduğunuza göre, uzak oturumda PowerShell'i açın.

  4. Invoke-WebRequest cmdlet'ini kullanarak, Azure Resource Manager için erişim belirteci almak üzere Azure kaynakları uç noktasına yönelik yerel yönetilen kimliğe bir istek gönderin.

       $response = Invoke-WebRequest -Uri 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https://management.azure.com/' -Method GET -Headers @{Metadata="true"}
    

    Not

    "resource" parametresinin değeri, Microsoft Entra Id tarafından beklenen değerle tam olarak eşleşmelidir. Azure Resource Manager kaynak kimliği kullanıldığında, URI'nin sonundaki eğik çizgiyi de eklemelisiniz.

    Ardından, $response nesnesinde JavaScript Nesne Gösterimi (JSON) biçimlendirilmiş dizesi olarak depolanan tam yanıtı ayıklayın.

    $content = $response.Content | ConvertFrom-Json
    

    Ardından, yanıttan erişim belirtecini ayıklayın.

    $ArmToken = $content.access_token
    

    Son olarak erişim belirteci kullanarak Azure Resource Manager çağrısı yapın. Bu örnekte, Azure Resource Manager çağrısı yapmak ve erişim belirtecini Yetkilendirme üst bilgisine eklemek için Invoke-WebRequest cmdlet'ini de kullanıyoruz.

    (Invoke-WebRequest -Uri https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>?api-version=2016-06-01 -Method GET -ContentType "application/json" -Headers @{ Authorization ="Bearer $ArmToken"}).content
    

    Not

    URL büyük/küçük harfe duyarlıdır; dolayısıyla daha önce Kaynak Grubunu adlandırırken kullandığınız büyük/küçük harf düzenini kullanmaya dikkat edin ("resourceGroups" adındaki büyük "G" harfine de dikkat edin).

    Aşağıdaki komut Kaynak Grubu ayrıntılarını döndürür:

    {"id":"/subscriptions/98f51385-2edc-4b79-bed9-7718de4cb861/resourceGroups/DevTest","name":"DevTest","location":"westus","properties":{"provisioningState":"Succeeded"}}
    

Sonraki adımlar

Bu hızlı başlangıçta, Azure Resource Manager API'sine erişmek amacıyla, sistem tarafından atanmış bir yönetilen kimliği nasıl kullanacağınızı öğrendiniz. Azure Resource Manager hakkında daha fazla bilgi edinmek için bkz: