Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure Uygulama Yapılandırması dinlenme halindeki 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, Azure Uygulama Yapılandırması'nın hassas bilgilere erişimini, Uygulama Yapılandırması örneğinin anahtara erişimini iptal ederek sonlandırma yeteneği sağlar.
Genel bakış
Azure Uygulama Yapılandırması, Microsoft tarafından sağlanan 256 bit AES şifreleme anahtarını kullanarak dinlenme halindeki 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ırma örneği şifreleme anahtarını sarar. 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ğinin şifreleme anahtarının açılmış 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 veya kullanımdaki yönetilen anahtar sürümünün süresi dolarsa, 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. Yönetilen anahtar şifrelemesini yapılandırırken anahtar sürümünü belirtmeyerek ve anahtar kasasında anahtar otomatik döndürme ayarlayarak, altta yatan yönetilen anahtarın süresinin dolma olasılığını azaltmış olursunuz.
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 veya Premium katman Azure Uygulaması Yapılandırma örneği.
- Geçici silme ve temizleme koruması özellikleri etkinleştirilmiş bir 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.
- Anahtar Kasası anahtarına erişebilmek için kimliğe izin verin.
- Azure RBAC'nin etkinleştirildiği Key Vault'lar için, kimliğe hedef Key Vault'ta
Key Vault Crypto Service Encryption User
rolünü atayın. - Key Vault'un erişim ilkesi yetkilendirmesini kullanması için, hedef Key Vault'un erişim ilkesinde kimlik
GET
,WRAP
veUNWRAP
izinlerini verin.
- Azure RBAC'nin etkinleştirildiği Key Vault'lar için, kimliğe hedef Key Vault'ta
Müşteri tarafından yönetilen anahtar şifrelemesini etkinleştirme
Standart veya Premium katmanında bir Uygulama Yapılandırma deposu yoksa oluşturun.
Azure CLI'yı kullanarak temizleme koruması etkinleştirilmiş bir Azure Key Vault oluşturun. Geçici silme varsayılan olarak etkindir. Hem hem
vault-name
deresource-group-name
kullanıcı tarafından sağlanır ve benzersiz olmalıdır.contoso-vault
vecontoso-resource-group
bu örneklerde kullanırız.az keyvault create --name contoso-vault --resource-group contoso-resource-group --enable-purge-protection
Bir Key Vault anahtarı oluşturun. Bu anahtar için benzersiz
key-name
bir anahtar sağlayın ve 2. adımda oluşturulan Key Vault'un (contoso-vault
) adını değiştirin. TercihRSA
RSA-HSM
mi yoksa şifreleme mi istediğinizi belirtin (RSA-HSM
yalnızca Premium katmanında kullanılabilir).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 (
kid
) 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://{my key vault}.vault.azure.net
- Key Vault anahtar adı:
{key-name}
- Key Vault anahtar sürümü:
{key-version}
- Key Vault URI'sı:
Ö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 ("tenantId"
) 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 }
Not
Kullanıcı tarafından atanan yönetilen kimlik oluşturmak için bu öğreticiyi izleyin.
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. Bu izinler, Azure RBAC etkinleştirilmiş Anahtar Kasaları içinKey Vault Crypto Service Encryption User
rolü atanarak verilebilir. Erişim ilkesi yetkilendirmesi kullanan Anahtar Kasaları için, yukarıda belirtilen anahtar izinleri için ilkeyi ayarlayın. Erişim vermek için, Uygulama Yapılandırma örneğinin yönetilen kimliğinin temel kimliği gereklidir. Aşağıda gösterilen değeri öncekicontoso-principalId
adımda elde edilen asıl kimlikle değiştirin. Komut satırını kullanarak yönetilen anahtara izin verin:Azure RBAC'nin etkinleştirildiği Key Vault'lar için aşağıdaki komutu kullanın.
az role assignment create --assignee contoso-principalId --role "Key Vault Crypto Service Encryption User" --scope key-vault-resource-id
artık Azure Uygulaması Yapılandırma örneği yönetilen anahtara erişebildiği için 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-vault key-vault-Uri
Komut, varsayılan olarak anahtar kasasıyla kimlik doğrulaması yapmak için sistem tarafından atanan yönetilen kimliği kullanır.
Not
Müşteri tarafından yönetilen anahtara erişmek için kullanıcı tarafından atanan yönetilen kimlik kullanırken, komutuna
--identity-client-id <client ID of your user assigned identity>
ekleyerek istemci kimliğini açıkça belirtebilirsiniz.
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ı.
Müşteri tarafından yönetilen anahtar şifrelemesini devre dışı bırakma
Geçerli müşteri tarafından yönetilen anahtarın geçerli ve çalışır durumda olduğundan emin olun. Uygulama Yapılandırması'nın, Microsoft tarafından yönetilen anahtarlara geri dönmeden önce mevcut verilerin şifresini geçerli anahtarla çözmesi gerekir. Geçerli anahtarın süresi dolduysa veya erişimi iptal edildiyse, önce bu anahtara erişimi geri yüklemeniz gerekir.
Uygulama Yapılandırması örneğinizi güncelleştirmek ve müşteri tarafından yönetilen anahtar yapılandırmasını kaldırmak için Azure CLI'yi kullanın.
contoso-resource-group
vecontoso-app-config
ayarlarınız için uygun değerlerle değiştirin.az appconfig update -g contoso-resource-group -n contoso-app-config --encryption-key-name ""
Bu komut, uygulama yapılandırma örneğinizden müşteri tarafından yönetilen anahtar yapılandırmasını kaldırır.
Uygulama Yapılandırması örneğinizin özelliklerini denetleyerek müşteri tarafından yönetilen anahtar yapılandırmasının kaldırıldığını doğrulayın.
az appconfig show -g contoso-resource-group -n contoso-app-config --query "encryption"
Çıkış,
encryption.keyVaultProperties
özelliğininnull
olarak ayarlandığını göstermelidir.
Azure Uygulama Yapılandırma örneğiniz artık şifreleme için Microsoft tarafından yönetilen anahtarları kullanacak şekilde yapılandırıldı.
Not
Müşteri tarafından yönetilen anahtar şifrelemesini devre dışı bırakmak, Uygulama Yapılandırma örneğinizi Microsoft tarafından yönetilen anahtarları kullanacak şekilde geri alır. Bu değişikliğin kuruluşunuzun güvenlik ilkeleri ve uyumluluk gereksinimleriyle uyumlu olduğundan emin olun.
Erişim İptali
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ırma örneğinin yönetilen anahtara 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, çözülmüş şifreleme anahtarını içerir. Bu veriler hizmet veya hizmet ekibi için hemen erişilebilir değildir. Acil geri yükleme durumunda, Azure Uygulaması Yapılandırması yönetilen anahtar verilerinden kendisini yeniden iptal eder.
Anahtar Döndürme
Bir Uygulama Yapılandırması örneğinde müşteri tarafından yönetilen anahtar yapılandırıldığında, süresi dolmadığından emin olmak için yönetilen anahtarı düzenli aralıklarla döndürmek gerekir. Başarılı bir anahtar döndürme için geçerli anahtarın geçerli ve çalışır durumda olması gerektiğini unutmayın. Geçerli anahtarın süresi zaten dolduysa veya Uygulama Yapılandırması'nın bu anahtara erişimi iptal edildiyse, Uygulama Yapılandırması örneği verilerin şifresini çözemez ve döndürmeyi imkansız hale getirir. Anahtar kasası anahtarı otomatik döndürme, şifreleme anahtarlarını el ile döndürme gereksinimini ortadan kaldırıp anahtarın en son sürümünün geçerli kaldığından emin olmak için yapılandırılabilir. Anahtar kasasındaki anahtarın otomatik olarak döndürülmesine bağlıyken, App Configuration örneğinizin yönetilen anahtar ayarlarının belirli bir anahtar sürümüne başvurmadığından emin olmanız gerekir. Sürümün atlanması, otomatik döndürme gerçekleştirildiğinde Uygulama Yapılandırması'nın her zaman anahtar kasası anahtarının en son sürümüne geçmesine olanak tanır. Yönetilen anahtarın döndürülememesi bir güvenlik sorunu olarak kabul edilebilir, ancak döndürme eksikliği de Uygulama Yapılandırması örneğine erişim kaybına neden olabilir. Bunun nedeni, kullanımdaki yönetilen anahtar sürümünün süresinin dolması durumunda Uygulama Yapılandırması'nın verilerin şifresini çözemeyeceğidir.
Özetlemek gerekirse, aşağıdaki en iyi yöntemler teşvik edilir:
- Yönetilen anahtarınız için anahtar kasası anahtarının otomatik döndürülmesi'i etkinleştirin.
- Müşteri tarafından yönetilen anahtar şifrelemesini ayarlarken anahtar kasası anahtarının belirli bir sürümünü kullanmayın.
Sürümlenmiş ve sürümsüz anahtarlar karşılaştırması
Müşteri tarafından yönetilen anahtar şifrelemesini ayarlamak için Key Vault'a bir anahtar tanımlayıcısının aktarılması gerekir. Anahtar kasası anahtar tanımlayıcısı bir sürüm içerebilir veya içermeyebilir. Önerimiz, otomatik döndürmeyi etkinleştirmek için müşteri tarafından yönetilen anahtar şifrelemesini yapılandırırken sürümün atlanmasıdır. El ile döndürme işleminin başarısız olması söz konusu anahtar sürümünün süresi dolarsa Uygulama Yapılandırması örneğine erişim kaybına neden olacağı için, sürüme alınan anahtarın kullanılması dikkatli bir şekilde değerlendirilmelidir.
- Sürümsüz anahtar tanımlayıcı örneği:
https://{my key vault}.vault.azure.net/keys/{key-name}
- Sürümlenmiş anahtar tanımlayıcı örneği (önerilmez):
https://{my key vault}.vault.azure.net/keys/{key-name}/{key-version}
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.