Uygulama Yapılandırması verilerinizi şifrelemek için müşteri tarafından yönetilen anahtarları kullanma

Azure Uygulaması Yapılandırması bekleyen hassas bilgileri şifreler. Müşteri tarafından yönetilen anahtarların kullanılması, şifreleme anahtarlarınızı yönetmenize olanak tanıyarak gelişmiş veri koruması sağlar. Yönetilen anahtar şifrelemesi kullanıldığında, Uygulama Yapılandırması içindeki tüm hassas bilgiler kullanıcı tarafından sağlanan bir Azure Key Vault anahtarıyla şifrelenir. Bu, şifreleme anahtarını isteğe bağlı olarak döndürme olanağı sağlar. Ayrıca Uygulama Yapılandırması örneğinin anahtara erişimini iptal ederek Azure Uygulaması Yapılandırmasının hassas bilgilere erişimini iptal etme olanağı sağlar.

Genel bakış

Azure Uygulaması Yapılandırması, Microsoft tarafından sağlanan 256 bit AES şifreleme anahtarını kullanarak bekleyen hassas bilgileri şifreler. Her Uygulama Yapılandırması örneği, hizmet tarafından yönetilen ve hassas bilgileri şifrelemek için kullanılan kendi şifreleme anahtarına sahiptir. Hassas bilgiler, anahtar-değer çiftlerinde bulunan değerleri içerir. Müşteri tarafından yönetilen anahtar özelliği etkinleştirildiğinde, Uygulama Yapılandırması Microsoft Entra Kimliği ile kimlik doğrulaması yapmak için Uygulama Yapılandırması örneğine atanmış bir yönetilen kimlik kullanır. Yönetilen kimlik daha sonra Azure Key Vault'ı çağırır ve Uygulama Yapılandırması örneğin şifreleme anahtarını sarmalar. Sarmalanan şifreleme anahtarı daha sonra depolanır ve sarmalanmamış şifreleme anahtarı bir saat boyunca Uygulama Yapılandırması içinde önbelleğe alınır. Uygulama Yapılandırması saatte bir Uygulama Yapılandırması örneğin şifreleme anahtarının eşlenmemiş sürümünü yeniler. Bu işlem normal çalışma koşullarında kullanılabilirlik sağlar.

Önemli

Uygulama Yapılandırması örneğine atanan kimliğin artık örneğin şifreleme anahtarını açma yetkisi yoksa veya yönetilen anahtar kalıcı olarak silinirse, Uygulama Yapılandırması örneğinde depolanan hassas bilgilerin şifresini çözmek artık mümkün olmayacaktır. Azure Key Vault'un geçici silme işlevini kullanarak şifreleme anahtarınızı yanlışlıkla silme olasılığını azaltabilirsiniz.

Kullanıcılar Azure Uygulaması Yapılandırma örneğinde müşteri tarafından yönetilen anahtar özelliğini etkinleştirdiğinde, hizmetin hassas bilgilerine erişme becerisini denetler. Yönetilen anahtar, kök şifreleme anahtarı görevi görür. Kullanıcılar, anahtar kasası erişim ilkesini değiştirerek Uygulama Yapılandırması örneğinin yönetilen anahtarlarına erişimini iptal edebilir. Bu erişim iptal edildiğinde Uygulama Yapılandırması bir saat içinde kullanıcı verilerinin şifresini çözme özelliğini kaybeder. Bu noktada, Uygulama Yapılandırması örneği tüm erişim girişimlerini yasaklar. Bu durum, hizmet yönetilen anahtara bir kez daha erişim vererek kurtarılabilir. bir saat içinde Uygulama Yapılandırması kullanıcı verilerinin şifresini çözebilir ve normal koşullarda çalışabilir.

Not

Tüm Azure Uygulaması Yapılandırma verileri 24 saate kadar yalıtılmış bir yedeklemede depolanır. Bu, eşlenmemiş şifreleme anahtarını içerir. Bu veriler hizmet veya hizmet ekibi tarafından hemen kullanılamaz. Acil geri yükleme durumunda, Azure Uygulaması Yapılandırması yönetilen anahtar verilerinden kendisini yeniden iptal eder.

Gereksinimler

Azure Uygulaması Yapılandırması için müşteri tarafından yönetilen anahtar özelliğini başarıyla etkinleştirmek için aşağıdaki bileşenler gereklidir:

  • Standart katman Azure Uygulaması Yapılandırma örneği.
  • Geçici silme ve temizleme koruması özellikleri etkinleştirilmiş Azure Key Vault.
  • Anahtar Kasası içinde bir RSA veya RSA-HSM anahtarı.
    • Anahtarın süresi dolmamalı, etkinleştirilmeli ve hem sarmalama hem de açma özellikleri etkinleştirilmelidir.

Bu kaynaklar yapılandırıldıktan sonra, Azure Uygulaması Yapılandırmasının Key Vault anahtarını kullanabilmesi için aşağıdaki adımları kullanın:

  1. Azure Uygulaması Yapılandırması örneğine yönetilen kimlik atayın.
  2. Hedef Key Vault'un erişim ilkesinde kimlik GET, WRAPve UNWRAP izinlerini verin.

Uygulama Yapılandırması deponuz için müşteri tarafından yönetilen anahtar şifrelemesini etkinleştirme

  1. Uygulama Yapılandırması deponuz yoksa oluşturun.

  2. Azure CLI kullanarak bir Azure Key Vault oluşturun. Hem hem resource-group-name de vault-name kullanıcı tarafından sağlanır ve benzersiz olmalıdır. Ve'i contoso-resource-group bu örneklerde kullanırızcontoso-vault.

    az keyvault create --name contoso-vault --resource-group contoso-resource-group
    
  3. Key Vault için geçici silme ve temizleme korumasını etkinleştirin. 1. adımda oluşturulan Key Vault (contoso-vault) ve Kaynak Grubu (contoso-resource-group) adlarını değiştirin.

    az keyvault update --name contoso-vault --resource-group contoso-resource-group --enable-purge-protection --enable-soft-delete
    
  4. Bir Key Vault anahtarı oluşturun. Bu anahtar için benzersiz key-name bir anahtar sağlayın ve 1. adımda oluşturulan Key Vault'un (contoso-vault) adlarını değiştirin. Tercih RSARSA-HSM mi yoksa şifreleme mi istediğinizi belirtin.

    az keyvault key create --name key-name --kty {RSA or RSA-HSM} --vault-name contoso-vault
    

    Bu komutun çıktısı, oluşturulan anahtarın anahtar kimliğini ("çocuk") gösterir. Bu alıştırmanın devamında kullanılacak anahtar kimliğini not edin. Anahtar kimliği şu biçimdedir: https://{my key vault}.vault.azure.net/keys/{key-name}/{Key version}. Anahtar kimliği üç önemli bileşene sahiptir:

    1. Key Vault URI'sı: 'https://{anahtar kasam}.vault.azure.net
    2. Key Vault anahtar adı: {Key Name}
    3. Key Vault anahtar sürümü: {Key version}
  5. Önceki adımlarda kullanılan Uygulama Yapılandırması örneğinizin ve kaynak grubunuzun adını değiştirerek Azure CLI kullanarak sistem tarafından atanan yönetilen kimlik oluşturun. Yönetilen kimlik, yönetilen anahtara erişmek için kullanılır. Uygulama Yapılandırması örneğinin adını göstermek için kullanırızcontoso-app-config:

    az appconfig identity assign --name contoso-app-config --resource-group contoso-resource-group --identities [system]
    

    Bu komutun çıktısı, sistem tarafından atanan kimliğin asıl kimliğini ("principalId") ve kiracı kimliğini ("tenandId") içerir. Bu kimlikler, yönetilen anahtara kimlik erişimi vermek için kullanılır.

    {
    "principalId": {Principal Id},
    "tenantId": {Tenant Id},
    "type": "SystemAssigned",
    "userAssignedIdentities": null
    }
    
  6. Azure Uygulaması Yapılandırma örneğinin yönetilen kimliğinin anahtar doğrulama, şifreleme ve şifre çözme işlemlerini gerçekleştirmek için anahtara erişmesi gerekir. Erişmesi gereken belirli eylem kümesi şunlardır: GET, WRAPve UNWRAP anahtarlar için. Erişim vermek için Uygulama Yapılandırması örneğin yönetilen kimliğinin asıl kimliği gerekir. Bu değer önceki adımda alınmıştı. Aşağıda olarak contoso-principalIdgösterilir. Komut satırını kullanarak yönetilen anahtara izin verin:

    az keyvault set-policy -n contoso-vault --object-id contoso-principalId --key-permissions get wrapKey unwrapKey
    
  7. Azure Uygulaması Yapılandırma örneği yönetilen anahtara erişebildikten sonra Azure CLI kullanarak hizmette müşteri tarafından yönetilen anahtar özelliğini etkinleştirebiliriz. Anahtar oluşturma adımları sırasında kaydedilen aşağıdaki özellikleri hatırlayın: key namekey vault URI.

    az appconfig update -g contoso-resource-group -n contoso-app-config --encryption-key-name key-name --encryption-key-version key-version --encryption-key-vault key-vault-Uri
    

Azure Uygulaması Yapılandırma örneğiniz artık Azure Key Vault'ta depolanan müşteri tarafından yönetilen bir anahtarı kullanacak şekilde yapılandırıldı.

Sonraki Adımlar

Bu makalede, Azure Uygulaması Yapılandırma örneğinizi şifreleme için müşteri tarafından yönetilen bir anahtar kullanacak şekilde yapılandırmışsınız. Uygulama hizmetinizi Azure yönetilen kimlikleriyle tümleştirme hakkında daha fazla bilgi edinmek için sonraki adıma geçin.