Share via


Öğretici: Azure Key Vault'a erişmek için Linux 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, Linux 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 daha sonra 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 Hizmet Kimlikleri Azure tarafından otomatik olarak yönetilir ve kodunuzdaki 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'nin kimliğini kullanarak erişim belirteci alma ve anahtarı Key Vault'tan almak için 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 Linux Sanal makinesine de ihtiyacınız vardır.
    • Bu öğretici için bir sanal makine oluşturmanız gerekiyorsa Azure portalıyla Linux sanal makinesi 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. Kodunuz, Azure kaynakları için yönetilen kimlikleri kullanarak 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 bir Key Vault oluşturmamız ve VM'mizin sistem tarafından atanan yönetilen kimliğine Key Vault erişimi vermemiz gerekir.

  1. Azure Portal’ında oturum 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.

    Azure Key Vault oluşturma ekranını gösteren ekran görüntüsü.

  7. Bu öğretici için kullandığınız sanal makineyi oluşturduğunuz aboneliği ve kaynak grubunu seçtiğinizden emin olmak için tüm gerekli bilgileri doldurun.

  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. Karşıya yükleme seçenekleri'ndeki Gizli dizi oluştur ekranında El ile'yi 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ğin Key Vault'ta depolanan gizli diziyi okumak için erişimi olmalıdır.

  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ı oluşturma erişim ilkesi ekranının ekran görüntüsü.

  4. Şablondan yapılandır 'ın altındaki Erişim ilkesi ekle bölümünde (isteğe bağlı) 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 adımları tamamlamak bir SSH istemciniz olmalıdır.  Windows kullanıyorsanız, Linux için Windows Alt Sistemi'ndeki SSH istemcisini kullanabilirsiniz. SSSH istemcinizin anahtarlarını yapılandırmak için yardıma ihtiyacınız olursa, bkz. Azure'da Windows ile SSH anahtarlarını kullanma veya Azure’da Linux VM’ler için SSH ortak ve özel anahtar çifti oluşturma.

Önemli

Tüm Azure SDK'ları, hedef hizmetlere erişmek için Microsoft Entra belirteçleri almayı kolaylaştıran Azure.Identity kitaplığını destekler. Azure SDK'ları hakkında daha fazla bilgi edinin ve Azure.Identity kitaplığından yararlanın.

  1. Portalda Linux VM'nize gidin ve Genel Bakış'ta Bağlan'ı seçin

  2. Tercih ettiğiniz SSH istemciyle VM'ye bağlanın

  3. Terminal penceresinde CURL kullanarak Azure Key Vault için erişim belirteci almak üzere Azure kaynakları uç noktasına yönelik yerel yönetilen kimliklere istekte bulunabilirsiniz.   Erişim belirteci için CURL isteği aşağıda yer alır.

    curl 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https%3A%2F%2Fvault.azure.net' -H Metadata:true
    

    Yanıt, Resource Manager'a erişebilmeniz için gereken erişim belirtecini içerir. 

    Yanıt:

    {"access_token":"eyJ0eXAi...",
    "refresh_token":"",
    "expires_in":"3599",
    "expires_on":"1504130527",
    "not_before":"1504126627",
    "resource":"https://vault.azure.net",
    "token_type":"Bearer"} 
    

    Azure Key Vault’ta kimlik doğrulamak için bu erişim belirtecini kullanabilirsiniz.  Sonraki CURL isteği, CURL ve Key Vault REST API kullanarak Key Vault’tan nasıl gizli dizi okunacağını gösterir.  Key Vault'un Genel Bakış sayfasının Temel Parçalar bölümünde yer alan Key Vault'unuzun URL'sine ihtiyacınız vardır.  Ayrıca önceki çağrıda edindiğiniz erişim belirtecinin de olması gerekir. 

    curl 'https://<YOUR-KEY-VAULT-URL>/secrets/<secret-name>?api-version=2016-10-01' -H "Authorization: Bearer <ACCESS TOKEN>" 
    

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

    {"value":"p@ssw0rd!","id":"https://mytestkeyvault.vault.azure.net/secrets/MyTestSecret/7c2204c6093c4d859bc5b9eff8f29050","attributes":{"enabled":true,"created":1505088747,"updated":1505088747,"recoveryLevel":"Purgeable"}} 
    

Key Vault'tan gizli diziyi aldıktan sonra, ad ve parola gerektiren bir hizmette kimlik doğrulaması yapmak için kullanabilirsiniz.

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, bunu PowerShell veya CLI aracılığıyla da yapabilirsiniz.

Sonraki adımlar

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