Öğretici: Azure Key Vault'a erişmek için Windows VM sistem tarafından atanan yönetilen kimlik 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, Bir Windows sanal makinesinin (VM) Azure Key Vault'a erişmek için sistem tarafından atanan yönetilen kimliği nasıl kullanabileceği gösterilir. Key Vault, istemci uygulamanızın Microsoft Entra Kimliği ile güvenliği sağlanmayan kaynaklara erişmek için gizli dizi kullanmasını mümkün kılar. Yönetilen kimlikler Azure tarafından otomatik olarak yönetilir. Bunlar, kodunuzda kimlik doğrulama bilgilerini eklemeden Microsoft Entra kimlik doğrulamasını destekleyen hizmetlerde kimlik doğrulaması yapmanıza olanak tanır.

Şunları yapmayı öğreneceksiniz:

  • VM'nize Key Vault'ta depolanan gizli diziye erişim verme
  • VM kimliği kullanarak erişim belirteci alma ve Key Vault'tan gizli diziyi almak için bunu kullanma

Önkoşullar

  • Yönetilen kimlikleri anlama. 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

Key Vault oluşturma

İpucu

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

Bu bölümde, VM'nize Key Vault'ta depolanan bir gizli diziye nasıl erişim ver iletişim bilgileri gösterilir. Azure kaynakları için yönetilen kimlikleri kullandığınızda kodunuz, Microsoft Entra kimlik doğrulamasını destekleyen kaynaklarda kimlik doğrulaması yapmak için erişim belirteçleri alabilir.  Ancak, tüm Azure hizmetleri Microsoft Entra kimlik doğrulamayı desteklemez. Söz konusu hizmetlerle Azure kaynakları için yönetilen kimlikleri kullanmak için, hizmet kimlik bilgilerini Azure Key Vault'ta depolayın ve VM’nin yönetilen kimliğini kullanarak Key Vault'a erişip kimlik bilgilerini alın.

İlk olarak, Key Vault'u oluşturmalı ve VM'mize Key Vault üzerinde sistem tarafından atanan yönetilen kimlik erişimi vermeliyiz.

  1. [Azure portalı]portal]()https://portal.azure.com/ oturumu açın.

  2. Sol gezinti çubuğunun üst kısmında Kaynak oluştur'u seçin.

  3. Markette ara kutusuna Key Vault yazın ve Enter tuşuna basın.

  4. Sonuçlardan Key Vault'a tıklayın.

  5. Oluştur'u belirleyin.

  6. Yeni anahtar kasası için bir Ad belirtin.

    Anahtar kasası ekranı oluşturun.

  7. Tüm gerekli bilgileri doldurun. Bu öğretici için kullandığınız aboneliği ve kaynak grubunu seçtiğinizden emin olun.

  8. Gözden geçir+ oluştur'u seçin

  9. Oluştur'u seçin

Gizli anahtar oluşturma

Ardından Key Vault'a bir gizli dizi ekleyerek daha sonra VM'nizde çalışan kodu kullanarak bu gizli diziyi alabilirsiniz. Bu öğreticide PowerShell kullanıyoruz ancak aynı kavramlar bu sanal makinede yürütülen tüm kodlar için de geçerlidir.

  1. Yeni oluşturduğunuz Key Vault'a gidin.

  2. Gizli Diziler'i ve ardından Ekle'yi seçin.

  3. Oluştur/İçeri Aktar'ı seçin

  4. Gizli dizi oluştur ekranında, Karşıya yükleme seçenekleri'ndenEl ile seçeneğini seçili bırakın.

  5. Gizli dizi için bir ad ve değer girin.  Değer, istediğiniz herhangi bir şey olabilir. 

  6. Etkinleştirme tarihi ile sona erme tarihini boş bırakın ve Etkin seçeneğini Evet değerinde bırakın. 

  7. Gizli diziyi oluşturmak için Oluştur'u seçin.

    Gizli dizi oluşturmayı gösteren ekran görüntüsü.

Erişim verme

Sanal makine tarafından kullanılan yönetilen kimliğe Key Vault'ta depolayacağımız gizli diziyi okumak için erişim izni verilmesi gerekir.

  1. Yeni oluşturduğunuz Key Vault'a gidin

  2. Sol taraftaki menüden Erişim İlkesi'ni seçin.

  3. Erişim İlkesi Ekle'yi seçin

    Anahtar kasası erişim ilkesi ekranını gösteren ekran görüntüsü.

  4. Erişim ilkesi ekle bölümünde, Şablondan yapılandır (isteğe bağlı) altında, açılır menüden Gizli Dizi Yönetimi'ni seçin.

  5. Sorumlu Seç'i seçin ve arama alanına daha önce oluşturduğunuz VM'nin adını girin.  Sonuç listesinden VM'yi seçin ve Seç'i seçin.

  6. Ekle'yi seçin

  7. Kaydet'i seçin.

Verilere erişme

Bu bölümde, VM kimliğini kullanarak erişim belirtecinin nasıl alınıp key vault'tan gizli diziyi almak için nasıl kullanılacağı gösterilmektedir. PowerShell 4.3.1 veya üstünü yüklemediyseniz, en son sürümü indirip yüklemeniz gerekir.

İlk olarak, Key Vault'ta kimlik doğrulaması yapmak üzere bir erişim belirteci almak için VM'nin sistem tarafından atanan yönetilen kimliğini kullanırız:

  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. PowerShell'de, VM için belirtilen bağlantı noktasında yerel konağın belirtecini almak üzere kiracıda web isteğini çağırın.

PowerShell isteği:

$Response = Invoke-RestMethod -Uri 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https%3A%2F%2Fvault.azure.net' -Method GET -Headers @{Metadata="true"} 

Yanıtın nasıl göründüğünü aşağıda görebilirsiniz:

Belirteç yanıtı içeren bir isteği gösteren ekran görüntüsü.

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

   $KeyVaultToken = $Response.access_token

Son olarak, PowerShell’in Invoke-WebRequest komutunu kullanarak Authorization üst bilgisindeki erişim belirtecini geçirerek Key Vault'ta daha önce oluşturmuş olduğunuz gizli bilgiyi alın.  Key Vault'unuzun URL'sine ihtiyacınız olacaktır. Bu URL, Key Vault'un Genel Bakış sayfasındaki Temel Parçalar bölümünde yer alır.

Invoke-RestMethod -Uri https://<your-key-vault-URL>/secrets/<secret-name>?api-version=2016-10-01 -Method GET -Headers @{Authorization="Bearer $KeyVaultToken"}

Yanıt şöyle görünür:

  value       id                                                                                    attributes
  -----       --                                                                                    ----------
  'My Secret' https://mi-lab-vault.vault.azure.net/secrets/mi-test/50644e90b13249b584c44b9f712f2e51 @{enabled=True; created=16…

Key Vault'tan gizli diziyi aldıktan sonra, bunu kullanarak ad ve parola gerektiren bir hizmette kimlik doğrulaması yapabilirsiniz.

Kaynakları temizleme

Kaynakları temizlemek istediğinizde, Azure portalında oturum açın, Kaynak grupları'nı seçin, bu öğretici (gibimi-test) sürecinde oluşturulan kaynak grubunu bulun ve seçin ve ardından Kaynak grubunu sil komutunu kullanın.

Alternatif olarak PowerShell veya CLI aracılığıyla da kaynakları temizleyebilirsiniz

Sonraki adımlar

Bu öğreticide, Azure Key Vault'a erişmek için Windows VM sistem tarafından atanan yönetilen kimliği kullanmayı öğrendiniz. Azure Key Vault hakkında daha fazla bilgi edinmek için bkz: