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:
- Azure Uygulaması Yapılandırması örneğine yönetilen kimlik atayın.
- Hedef Key Vault'un erişim ilkesinde kimlik
GET
,WRAP
veUNWRAP
izinlerini verin.
Uygulama Yapılandırması deponuz için müşteri tarafından yönetilen anahtar şifrelemesini etkinleştirme
Uygulama Yapılandırması deponuz yoksa oluşturun.
Azure CLI kullanarak bir Azure Key Vault oluşturun. Hem hem
resource-group-name
devault-name
kullanıcı tarafından sağlanır ve benzersiz olmalıdır. Ve'icontoso-resource-group
bu örneklerde kullanırızcontoso-vault
.az keyvault create --name contoso-vault --resource-group contoso-resource-group
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
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. TercihRSA
RSA-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:- Key Vault URI'sı: 'https://{anahtar kasam}.vault.azure.net
- Key Vault anahtar adı: {Key Name}
- Key Vault anahtar sürümü: {Key version}
Ö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ız
contoso-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 }
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
,WRAP
veUNWRAP
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 olarakcontoso-principalId
gö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
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 name
key 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.