Azure İşlevleri için uygulama düzeyinde gizli bilgileri Azure Container Apps üzerinde saklayın

Uygulama düzeyinde gizli anahtarlar, işlev kodunuzun ve bağlayıcılarınızın çalışma zamanında kullandığı yapılandırma değerleridir. HTTP uç noktalarının güvenliğini sağlayan İşlevler erişim anahtarlarının aksine uygulama düzeyinde gizli diziler, uygulamanızın diğer hizmetlere bağlanmak için ihtiyaç duyduğu kimlik bilgileridir.

Bazı yaygın örnekler aşağıdakileri içermektedir:

  • Altyapı bağlantıları - AzureWebJobsStorage bağlantı dizeleri, Event Hubs, Service Bus, Cosmos DB ve SQL için tetikleyici ve bağlama bağlantıları olarak.
  • İş kimlik bilgileri - üçüncü taraf API anahtarları, veritabanı parolaları, SaaS platform belirteçleri.
  • Özel yapılandırma : Kodunuzun ortam değişkenlerinden okuduğu tüm hassas değerler.

Bir depolama seçeneği belirleyin

Azure Container Apps, uygulama düzeyinde gizli bilgileri depolamak için iki yol sağlar.

Option En iyi kullanım alanı: Merkezi yönetim Otomatik döndürme Denetim günlüğü
Container Apps gizli bilgileri Geliştirme/test, basit tek uygulamalı iş yükleri Hayır - bir uygulamayla sınırlıdır Hayır Yalnızca etkinlik günlükleri
Key Vault referansları Üretim, çoklu uygulama, uyumluluk Evet - tüm uygulamalarda Evet (sürümsüz URI) Tam Key Vault tanılama

Tip

Basitlik için Container Apps gizli bilgileriyle başlayın. Merkezi yönetim, otomatik yenileme veya uyumluluk düzeyinde denetim ihtiyacınız olduğunda Key Vault başvurularına geçin.

Prerequisites

Container Apps gizli anahtarlarını kullanma

Container Apps, sırları uygulamanın configuration.secrets dizisinde depolar ve durgun haldeki değerleri şifreler. Ortam değişkenlerinde, ölçek kurallarında, birim bağlamalarında ve Dapr bileşenlerinde gizli bilgileri referans alabilirsiniz.

Bir sır sakla

  1. Azure portalında İşlevler kapsayıcı uygulamanıza gidin.

  2. Ayarlar altında Gizlilik seçin.

  3. Ekle'yi seçin ve aşağıdaki değerleri girin:

    Mülkiyet Değer
    İsim database-password gibi gizli bir ad. Yalnızca küçük harf, sayı ve kısa çizgi kullanın.
    Type Container Apps Gizli
    Değer Gizli değeriniz.
  4. Add (Ekle) seçeneğini belirleyin.

Ortam değişkeninde gizli anahtara başvurma

Gizli bir bilgiyi depoladıktan sonra, işlev kodunuzun okuyabilmesi için bir ortam değişkeninde bu gizli bilgiye başvurun.

  1. İşlevler kapsayıcı uygulamanızda , Uygulama'nın altında Düzeltmeler ve çoğaltmalar'ı seçin.

  2. Yeni düzeltme oluştur'u seçin.

  3. Kapsayıcı sekmesinde kapsayıcınızı ve ardından Düzenle'yi seçin.

  4. Ortam değişkenleri sekmesini ve ardından Ekle'yi seçin.

  5. Aşağıdaki değerleri girin:

    Mülkiyet Değer
    İsim DATABASE_PASSWORD
    Source Bir gizliye başvurma
    Değer database-password
  6. Yeni düzeltmeyi dağıtmak için Kaydet'i ve ardından Oluştur'u seçin.

Gizliyi doğrula

İşlevinizi çağırarak ve yapılandırma eksikliğiyle ilgili hatalar olmadan çalıştığını denetleyerek, işlevinizin gizli değeri okuyabildiğini onaylayın.

curl "https://<FUNCTIONS_APP_URL>/api/<FUNCTION_NAME>"

Important

Container Apps gizli dizi değerini çalışma zamanında ortam değişkenine ekler. Kodunuz ortam değişkenini okur ve gizli dizi deposuna doğrudan erişmez.

Limitations

Container Apps sırları aşağıdaki sınırlamalara tabidir.

  • Merkezileştirme yok - her kapsayıcı uygulama kendi gizli bilgilerini ayrı depolar.
  • Otomatik döndürme yok - Gizli dizi değerlerini el ile güncelleştirmeniz gerekir.
  • Süresi dolmaz - gizli bilgilerin süresi otomatik olarak dolmaz.
  • Sınırlı denetim - yalnızca temel etkinlik günlükleri; ayrıntılı gizli anahtarlara erişim denetimi yok.
  • Sürüm oluşturma yok - yerleşik gizli sürüm geçmişi yok.
  • Güncelleştirme davranışı - Gizliyi değiştirmek yeni bir düzeltmeyi tetiklemez. Değişiklikleri almak için yeni bir düzeltme oluşturmanız veya mevcut düzeltmeleri yeniden başlatmanız gerekir.

Key Vault referanslarını kullanın

Key Vault referansları, kapsayıcı uygulamanızın yönetilen kimlik kullanarak gizli bilgileri doğrudan Azure Key Vault'tan çekmesine olanak sağlar. Bu yaklaşım size merkezi yönetim, otomatik döndürme ve uyumluluk sınıfı denetim sağlar.

1. Adım: Yönetilen kimliği ayarlama

Kapsayıcı uygulamanızın kimlik bilgileri olmadan Key Vault kimlik doğrulaması yapmak için yönetilen bir kimliğe ihtiyacı vardır.

  1. Azure portalında İşlevler kapsayıcı uygulamanıza gidin.

  2. Ayarlar'ın altında Kimlik'i seçin.

  3. Sistem tarafından atanan sekmesinde Durum seçeneğini Açık olarak ayarlayın.

  4. Kaydet'i ve ardından onaylamak için Evet'i seçin.

2. Adım: Key Vault erişim verme

Yönetilen kimliğe gizli anahtarları okuyabilmesi için Key Vault Gizli Anahtar Kullanıcısı rolünü atayın.

  1. Azure portalında Key Vault'unuza gidin.

  2. Ayarlar altında Erişim denetimi (IAM) öğesini seçin.

  3. Ekle>Rol ataması ekle’yi seçin.

  4. Role sekmesinde Key Vault Gizli Kullanıcıları'nı seçin.

  5. sonrakiseçin.

  6. Üyeler sekmesinde Yönetilen kimlik öğesini ve ardından Üye seç öğesini seçin.

  7. Yönetilen kimlikleri seçin bölmesinde aboneliğinizi seçin, yönetilen kimlik türü için Kapsayıcı Uygulaması'nı seçin, İşlevler kapsayıcı uygulamanızı ve ardından Seç'i seçin.

  8. Gözden geçir + ata'yı seçin.

3. Adım: Bir sırrı Key Vault'ta depolama

  1. Key Vault Objects altında Secrets öğesini seçin.

  2. Oluştur/İçe aktar seçeneğini belirleyin.

  3. Aşağıdaki değerleri girin:

    Mülkiyet Değer
    Karşıya yükleme seçenekleri Kılavuz
    İsim Gizli isim, örneğin DatabasePassword.
    Değer Gizli değeriniz.
  4. Oluştur'i seçin.

  5. Yeni oluşturduğunuz gizli anahtarı seçin, ardından geçerli sürümü seçin.

  6. Gizli Dizi Tanımlayıcısı URI'sini kopyalayın. Otomatik döndürmeyi etkinleştirmek için sürümsüz URI'yi (sondaki sürüm kesimi olmadan) kullanın.

4. Adım: Container Apps'te Key Vault gizli anahtarına referans verme

Key Vault gizli dizisine başvuran bir Container Apps gizli dizisi oluşturun ve bunu bir ortam değişkenine bağlayın.

  1. Fonksiyon konteyner uygulamanıza gidin. Ayarlar altında Gizlilik seçin.

  2. Add (Ekle) seçeneğini belirleyin.

  3. Gizli dizi ekle bölümüne aşağıdaki değerleri girin:

    Mülkiyet Değer
    İsim database-password
    Type Key Vault referansı
    Key Vault sır URL'si Kopyaladığınız Gizli Tanımlayıcı URI'si.
    Identity Sistem tarafından atanan (veya kullanıcı tarafından atanan kimliğiniz).
  4. Add (Ekle) seçeneğini belirleyin.

  5. Uygulama'nın altında Düzeltmeler ve çoğaltmalar'ı seçin. DATABASE_PASSWORD gizlisini referans alan ortam değişkeni ile yeni bir revizyon oluşturun.

5. Adım: Key Vault başvurusunu doğrulamak

İşlevinizi çağırıp eksik yapılandırmayla ilgili hatalar olmadan çalıştığını onaylayın.

curl "https://<FUNCTIONS_APP_URL>/api/<FUNCTION_NAME>"

Otomatik gizli dizi döndürme

Sürümsüz URI'ye sahip bir Key Vault gizlisine başvurduğunuzda, Container Apps en son sürümü otomatik olarak alır.

  • Sürümsüz URI: https://myvault.vault.azure.net/secrets/mysecret - her zaman en son sürümü kullanır.
  • Sürüm URI'si: https://myvault.vault.azure.net/secrets/mysecret/ec96f020... - Belirli bir sürüme sabitlenir.

Sürümsüz URI'lerle, Container Apps yeni sürümleri 30 dakika içinde denetler ve yeni değeri almak için etkin düzeltmeleri otomatik olarak yeniden başlatır.