Müşteri tarafından yönetilen anahtarları kullanarak bekleyen uygulama verilerinizi şifreleme

İşlev uygulamanızın bekleyen uygulama verilerini şifrelemek için bir Azure Depolama Hesabı ve bir Azure Key Vault gerekir. Bu hizmetler, uygulamanızı bir dağıtım paketinden çalıştırdığınızda kullanılır.

  • Azure Depolama bekleyen şifreleme sağlar. Sistem tarafından sağlanan anahtarları veya kendi müşteri tarafından yönetilen anahtarlarınızı kullanabilirsiniz. Uygulama verileriniz Azure'daki bir işlev uygulamasında çalıştırılmadığında burada depolanır.
  • Dağıtım paketinden çalıştırmak, App Service bir dağıtım özelliğidir. Site içeriğinizi Paylaşılan Erişim İmzası (SAS) URL'si kullanarak bir Azure Depolama Hesabından dağıtmanıza olanak tanır.
  • Key Vault başvuruları, App Service bir güvenlik özelliğidir. Çalışma zamanında gizli dizileri uygulama ayarları olarak içeri aktarmanızı sağlar. Azure Depolama Hesabınızın SAS URL'sini şifrelemek için bunu kullanın.

Bekleyen şifrelemeyi ayarlama

Azure Depolama hesabı oluşturma

İlk olarak bir Azure Depolama hesabı oluşturun ve bunu müşteri tarafından yönetilen anahtarlarla şifreleyin. Depolama hesabı oluşturulduktan sonra paket dosyalarını karşıya yüklemek için Azure Depolama Gezgini kullanın.

Ardından sas oluşturmak için Depolama Gezgini kullanın.

Not

Bu SAS URL'sini kaydedin; daha sonra çalışma zamanında dağıtım paketine güvenli erişim sağlamak için kullanılır.

Depolama hesabınızdan bir paketten çalıştırmayı yapılandırma

Dosyanızı Blob depolamaya yükledikten ve dosyanın SAS URL'sine sahip olduktan sonra, uygulama ayarını SAS URL'si olarak ayarlayın WEBSITE_RUN_FROM_PACKAGE . Aşağıdaki örnek bunu Azure CLI kullanarak yapar:

az webapp config appsettings set --name <app-name> --resource-group <resource-group-name> --settings WEBSITE_RUN_FROM_PACKAGE="<your-SAS-URL>"

Bu uygulama ayarının eklenmesi, işlev uygulamanızın yeniden başlatılmasına neden olur. Uygulama yeniden başlatıldıktan sonra uygulamaya göz atın ve uygulamanın dağıtım paketini kullanarak doğru şekilde başlatıldığından emin olun. Uygulama düzgün başlatılmadıysa Paketten çalıştırma sorun giderme kılavuzuna bakın.

Key Vault başvurularını kullanarak uygulama ayarını şifreleme

Artık uygulama ayarının WEBSITE_RUN_FROM_PACKAGE değerini SAS ile kodlanmış URL'ye Key Vault bir başvuruyla değiştirebilirsiniz. Bu, ek bir güvenlik katmanı sağlayan SAS URL'sini Key Vault şifrelenmiş olarak tutar.

  1. Key Vault örneği oluşturmak için aşağıdaki az keyvault create komutu kullanın.

    az keyvault create --name "Contoso-Vault" --resource-group <group-name> --location eastus    
    
  2. Uygulamanıza anahtar kasanıza erişim vermek için şu yönergeleri izleyin:

  3. Dış URL'nizi anahtar kasanıza gizli dizi olarak eklemek için aşağıdaki az keyvault secret set komutu kullanın:

    az keyvault secret set --vault-name "Contoso-Vault" --name "external-url" --value "<SAS-URL>"    
    
  4. Dış URL'ye Key Vault başvurusu olarak değeriyle uygulama ayarını oluşturmak WEBSITE_RUN_FROM_PACKAGE için aşağıdaki az webapp config appsettings set komutu kullanın:

    az webapp config appsettings set --settings WEBSITE_RUN_FROM_PACKAGE="@Microsoft.KeyVault(SecretUri=https://Contoso-Vault.vault.azure.net/secrets/external-url/<secret-version>"    
    

    , <secret-version> önceki az keyvault secret set komutun çıkışında olacaktır.

Bu uygulama ayarının güncelleştirilmesi işlev uygulamanızın yeniden başlatılmasına neden olur. Uygulama yeniden başlatıldıktan sonra, Key Vault başvuruyu kullanarak uygulamanın doğru şekilde başlatıldığından emin olun.

Erişim belirtecini döndürme

Depolama hesabınızın SAS anahtarını düzenli aralıklarla döndürmek en iyi yöntemdir. İşlev uygulamasının yanlışlıkla erişimi kaybetmediğinden emin olmak için Key Vault'de SAS URL'sini de güncelleştirmeniz gerekir.

  1. Azure portal depolama hesabınıza giderek SAS anahtarını döndürün. Ayarlar>Erişim tuşları'nın altında SAS tuşunu döndürmek için simgeyi seçin.

  2. Yeni SAS URL'sini kopyalayın ve anahtar kasanızda güncelleştirilmiş SAS URL'sini ayarlamak için aşağıdaki komutu kullanın:

    az keyvault secret set --vault-name "Contoso-Vault" --name "external-url" --value "<SAS-URL>"    
    
  3. Uygulama ayarınızdaki anahtar kasası başvurusunu yeni gizli dizi sürümüne güncelleştirin:

    az webapp config appsettings set --settings WEBSITE_RUN_FROM_PACKAGE="@Microsoft.KeyVault(SecretUri=https://Contoso-Vault.vault.azure.net/secrets/external-url/<secret-version>"    
    

    , <secret-version> önceki az keyvault secret set komutun çıkışında olacaktır.

İşlev uygulamasının veri erişimini iptal etme

İşlev uygulamasının depolama hesabına erişimini iptal etmek için iki yöntem vardır.

Azure Depolama hesabının SAS anahtarını döndürme

Depolama hesabının SAS anahtarı döndürülürse işlev uygulaması artık depolama hesabına erişemeyecek, ancak paket dosyasının son indirilen sürümüyle çalışmaya devam edecektir. son indirilen sürümü temizlemek için işlev uygulamasını yeniden başlatın.

İşlev uygulamasının Key Vault erişimini kaldırma

İşlev uygulamasının Key Vault erişimini devre dışı bırakarak işlev uygulamasının site verilerine erişimini iptal edebilirsiniz. Bunu yapmak için işlev uygulamasının kimliğine yönelik erişim ilkesini kaldırın. Bu, daha önce anahtar kasası başvurularını yapılandırırken oluşturduğunuz kimlikle aynıdır.

Özet

Uygulama dosyalarınız artık depolama hesabınızda bekleme sırasında şifrelenir. İşlev uygulamanız başlatıldığında anahtar kasanızdan SAS URL'sini alır. Son olarak, işlev uygulaması depolama hesabından uygulama dosyalarını yükler.

İşlev uygulamasının depolama hesabınıza erişimini iptal etmeniz gerekiyorsa, anahtar kasasına erişimi iptal edebilir veya depolama hesabı anahtarlarını döndürebilirsiniz; her ikisi de SAS URL'sini geçersiz kılabilir.

Sık Sorulan Sorular

İşlev uygulamamı dağıtım paketinden çalıştırmak için ek ücret alınır mı?

Yalnızca Azure Depolama Hesabı ile ilişkili maliyet ve geçerli çıkış ücretleri.

Dağıtım paketinden çalıştırmak işlev uygulamamı nasıl etkiler?

  • Uygulamanızı dağıtım paketinden çalıştırmak salt okunur hale getirir wwwroot/ . Uygulamanız bu dizine yazmaya çalıştığında bir hata alıyor.
  • TAR ve GZIP biçimleri desteklenmez.
  • Bu özellik yerel önbellekle uyumlu değildir.

Sonraki adımlar