Azure Key Vault ve Yönetilen Kimlik ile Azure Batch hesabınız için müşteri tarafından yönetilen anahtarları yapılandırma
Varsayılan olarak Azure Batch, Azure Batch Hizmetinde depolanan sertifikalar, iş/görev meta verileri gibi tüm müşteri verilerini şifrelemek için platform tarafından yönetilen anahtarları kullanır. İsteğe bağlı olarak, Azure Batch'te depolanan verileri şifrelemek için kendi anahtarlarınızı (müşteri tarafından yönetilen anahtarlar) kullanabilirsiniz.
Sağladığınız anahtarlar Azure Key Vault'ta oluşturulmalı ve Bunlara Azure kaynakları için yönetilen kimliklerle erişilmelidir.
İki tür yönetilen kimlik vardır: sistem tarafından atanan ve kullanıcı tarafından atanan.
Batch hesabınızı sistem tarafından atanan yönetilen kimlikle oluşturabilir veya müşteri tarafından yönetilen anahtarlara erişimi olan ayrı bir kullanıcı tarafından atanan yönetilen kimlik oluşturabilirsiniz. Farklılıkları anlamak için karşılaştırma tablosunu gözden geçirin ve çözümünüz için en uygun seçeneği göz önünde bulundurun. Örneğin, birden çok Azure kaynağına erişmek için aynı yönetilen kimliği kullanmak istiyorsanız, kullanıcı tarafından atanan bir yönetilen kimlik gerekir. Aksi takdirde Batch hesabınızla ilişkilendirilmiş sistem tarafından atanan yönetilen kimlik yeterli olabilir. Kullanıcı tarafından atanan yönetilen kimlik kullanmak, batch hesabı oluşturma sırasında müşteri tarafından yönetilen anahtarları zorunlu kılma seçeneğini de sunar.
Sistem tarafından atanan yönetilen kimlikle Batch hesabı oluşturma
Kullanıcı tarafından atanan ayrı bir yönetilen kimliğe ihtiyacınız yoksa, Batch hesabınızı oluştururken sistem tarafından atanan yönetilen kimliği etkinleştirebilirsiniz.
Önemli
Bu belgede açıklandığı gibi müşteri veri şifrelemesi için Batch hesabı için oluşturulan sistem tarafından atanan yönetilen kimlik, Batch havuzunda kullanıcı tarafından atanan yönetilen kimlik olarak kullanılamaz. Hem Batch hesabında hem de Batch havuzunda aynı yönetilen kimliği kullanmak istiyorsanız, bunun yerine kullanıcı tarafından atanan ortak bir yönetilen kimlik kullanın.
Azure portal
Azure portalında Batch hesapları oluşturduğunuzda, Gelişmiş sekmesinin altındaki kimlik türünde Sistem atanmış'ı seçin.
Hesap oluşturulduktan sonra, Özellikler bölümünün altındaki Kimlik sorumlusu kimliği alanında benzersiz bir GUID bulabilirsiniz. Kimlik Türü gösterilirSystem assigned
.
Bu Batch hesabına Key Vault erişimi vermek için bu değere ihtiyacınız vardır.
Azure CLI
Yeni bir Batch hesabı oluşturduğunuzda parametresini --identity
belirtinSystemAssigned
.
resourceGroupName='myResourceGroup'
accountName='mybatchaccount'
az batch account create \
--name $accountName \
--resource-group $resourceGroupName \
--locations regionName='West US 2' \
--identity 'SystemAssigned'
Hesap oluşturulduktan sonra, sistem tarafından atanan yönetilen kimliğin bu hesapta etkinleştirildiğini doğrulayabilirsiniz. Bu Batch hesabına Key Vault erişimi vermek için bu değer gerektiğinden değerini not PrincipalId
edin.
az batch account show \
--name $accountName \
--resource-group $resourceGroupName \
--query identity
Not
Batch hesabında oluşturulan sistem tarafından atanan yönetilen kimlik yalnızca Key Vault'tan müşteri tarafından yönetilen anahtarları almak için kullanılır. Bu kimlik Batch havuzlarında kullanılamaz. Havuzda kullanıcı tarafından atanan yönetilen kimliği kullanmak için bkz . Batch havuzlarında yönetilen kimlikleri yapılandırma.
Kullanıcı tarafından atanan yönetilen kimlik oluşturma
İsterseniz , müşteri tarafından yönetilen anahtarlarınıza erişmek için kullanılabilecek kullanıcı tarafından atanan bir yönetilen kimlik oluşturabilirsiniz.
Key Vault'a erişebilmesi için bu kimliğin İstemci Kimliği değerine ihtiyacınız vardır.
Azure Key Vault örneğinizi yapılandırma
Anahtarlarınızın oluşturulduğu Azure Key Vault, Batch hesabınızla aynı kiracıda oluşturulmalıdır. Aynı kaynak grubunda, hatta aynı abonelikte olması gerekmez.
Azure Key Vault oluşturma
Azure Batch için müşteri tarafından yönetilen anahtarlarla bir Azure Key Vault örneği oluştururken, Hem Geçici Silme hem de Temizleme Koruması'nın etkinleştirildiğinden emin olun.
Azure Key Vault örneğinize erişim ilkesi ekleme
Azure portalında, Key Vault oluşturulduktan sonra, Ayar altındaki Erişim İlkesi'nde yönetilen kimliği kullanarak Batch hesabı erişimini ekleyin. Anahtar İzinleri'nin altında Al, Anahtarı Sarmala ve Anahtarı Aç'ı seçin.
Sorumlu'nun altındaki Seç alanında aşağıdakilerden birini doldurun:
- Sistem tarafından atanan yönetilen kimlik için: Daha önce aldığınız veya Batch hesabının adını girin
principalId
. - Kullanıcı tarafından atanan yönetilen kimlik için: Daha önce aldığınız İstemci Kimliğini veya kullanıcı tarafından atanan yönetilen kimliğin adını girin.
Azure Key Vault'ta anahtar oluşturma
Azure portalında anahtar bölümünde Key Vault örneğine gidin, Oluştur/İçeri Aktar'ı seçin. En az 2048
bit olacak RSA
Anahtar Türü'nü ve RSA Anahtar Boyutu'nu seçin. EC
anahtar türleri şu anda Batch hesabında müşteri tarafından yönetilen anahtar olarak desteklenmiyor.
Anahtar oluşturulduktan sonra, yeni oluşturulan anahtara ve geçerli sürüme tıklayın, Özellikler bölümünde Anahtar Tanımlayıcısı'nı kopyalayın. İzin Verilen İşlemler'in altında Anahtar Sarmala ve Anahtar Aç'ın her ikisinin de işaretli olduğundan emin olun.
Batch hesabında müşteri tarafından yönetilen anahtarları etkinleştirme
Artık önkoşullar sağlandığından Batch hesabınızda müşteri tarafından yönetilen anahtarları etkinleştirebilirsiniz.
Azure portal
Azure portalında Batch hesabı sayfasına gidin. Şifreleme bölümünde Müşteri tarafından yönetilen anahtarı etkinleştirin. Anahtar Tanımlayıcısı'nı doğrudan kullanabilir veya anahtar kasasını seçip Anahtar kasası ve anahtar seç'e tıklayabilirsiniz.
Azure CLI
Batch hesabı sistem tarafından atanan yönetilen kimlikle oluşturulduktan ve Key Vault'a erişim verildikten sonra Batch hesabını parametresi altındaki {Key Identifier}
keyVaultProperties
URL ile güncelleştirin. Ayrıca olarak Microsoft.KeyVault
ayarlayın--encryption-key-source
.
az batch account set \
--name $accountName \
--resource-group $resourceGroupName \
--encryption-key-source Microsoft.KeyVault \
--encryption-key-identifier {YourKeyIdentifier}
Kullanıcı tarafından atanan yönetilen kimlik ve müşteri tarafından yönetilen anahtarlarla Batch hesabı oluşturma
Batch yönetimi .NET istemcisini kullanarak örnek olarak, kullanıcı tarafından atanan yönetilen kimliğe ve müşteri tarafından yönetilen anahtarlara sahip bir Batch hesabı oluşturabilirsiniz.
string subscriptionId = "Your SubscriptionID";
string resourceGroupName = "Your ResourceGroup name";
var credential = new DefaultAzureCredential();
ArmClient _armClient = new ArmClient(credential);
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = _armClient.GetResourceGroupResource(resourceGroupResourceId);
var data = new BatchAccountCreateOrUpdateContent(AzureLocation.EastUS)
{
Encryption = new BatchAccountEncryptionConfiguration()
{
KeySource = BatchAccountKeySource.MicrosoftKeyVault,
KeyIdentifier = new Uri("Your Key Azure Resource Manager Resource ID"),
},
Identity = new ManagedServiceIdentity(ManagedServiceIdentityType.UserAssigned)
{
UserAssignedIdentities = {
[new ResourceIdentifier("Your Identity Azure Resource Manager ResourceId")] = new UserAssignedIdentity(),
},
}
};
var lro = resourceGroupResource.GetBatchAccounts().CreateOrUpdate(WaitUntil.Completed, "Your BatchAccount name", data);
BatchAccountResource batchAccount = lro.Value;
Müşteri tarafından yönetilen anahtar sürümünü güncelleştirme
Anahtarın yeni bir sürümünü oluşturduğunuzda Batch hesabını yeni sürümü kullanacak şekilde güncelleştirin. Şu adımları izleyin:
- Azure portalında Batch hesabınıza gidin ve Şifreleme ayarlarını görüntüleyin.
- Yeni anahtar sürümü için URI'yi girin. Alternatif olarak, sürümü güncelleştirmek için Key Vault'ı ve anahtarı yeniden seçebilirsiniz.
- Değişikliklerinizi kaydedin.
Sürümü güncelleştirmek için Azure CLI'yi de kullanabilirsiniz.
az batch account set \
--name $accountName \
--resource-group $resourceGroupName \
--encryption-key-identifier {YourKeyIdentifierWithNewVersion}
İpucu
Key Vault'ta bir anahtar döndürme ilkesi oluşturarak anahtarlarınızın otomatik olarak dönmesini sağlayabilirsiniz. Batch hesabı için bir Anahtar Tanımlayıcısı belirtirken, geçerli bir döndürme ilkesiyle otomatik döndürmeyi etkinleştirmek için sürümsüz anahtar tanımlayıcısını kullanın. Daha fazla bilgi için bkz . Key Vault'ta anahtar döndürmeyi yapılandırma.
Batch şifrelemesi için farklı bir anahtar kullanma
Batch şifrelemesi için kullanılan anahtarı değiştirmek için şu adımları izleyin:
- Batch hesabınıza gidin ve Şifreleme ayarlarını görüntüleyin.
- Yeni anahtarın URI'sini girin. Alternatif olarak, Key Vault'u seçip yeni bir anahtar seçebilirsiniz.
- Değişikliklerinizi kaydedin.
Azure CLI'yi farklı bir anahtar kullanmak için de kullanabilirsiniz.
az batch account set \
--name $accountName \
--resource-group $resourceGroupName \
--encryption-key-identifier {YourNewKeyIdentifier}
Sık sorulan sorular
- Müşteri tarafından yönetilen anahtarlar mevcut Batch hesapları için destekleniyor mu? Hayır Müşteri tarafından yönetilen anahtarlar yalnızca yeni Batch hesapları için desteklenir.
- 2048 bitten büyük RSA anahtar boyutlarını seçebilir miyim? Evet, ve
4096
bitlerinin3072
RSA anahtar boyutları da desteklenir. - Müşteri tarafından yönetilen anahtar iptal edildikten sonra hangi işlemler kullanılabilir? Batch'in müşteri tarafından yönetilen anahtara erişimini kaybetmesi durumunda izin verilen tek işlem hesap silme işlemidir.
- Key Vault anahtarını yanlışlıkla silersem Batch hesabıma erişimi nasıl geri yükleyebilirim? Temizleme koruması ve geçici silme etkinleştirildiğinden, mevcut anahtarları geri yükleyebilirsiniz. Daha fazla bilgi için bkz . Azure Key Vault kurtarma.
- Müşteri tarafından yönetilen anahtarları devre dışı bırakabilir miyim? Batch Hesabının şifreleme türünü istediğiniz zaman "Microsoft yönetilen anahtarı" olarak ayarlayabilirsiniz. Daha sonra anahtarı silebilir veya değiştirebilirsiniz.
- Anahtarlarımı nasıl döndürebilirim? Anahtar, Key Vault içinde ayarlanmış uygun bir anahtar döndürme ilkesiyle sürümsüz olmadığı sürece müşteri tarafından yönetilen anahtarlar otomatik olarak döndürülemez. Anahtarı el ile döndürmek için hesabın ilişkili olduğu Anahtar Tanımlayıcısını güncelleştirin.
- Erişimi geri yükledikten sonra Batch hesabının yeniden çalışması ne kadar sürer? Erişim geri yüklendikten sonra hesabın yeniden erişilebilir olması 10 dakika kadar sürebilir.
- Batch Hesabı kullanılamaz durumdayken kaynaklarıma ne olur? Müşteri tarafından yönetilen anahtara Batch erişimi kaybolduğunda etkin olan havuzlar çalışmaya devam eder. Ancak, bu havuzlardaki düğümler kullanılamaz duruma geçirilir ve görevler çalışmayı durdurur (ve yeniden sorgulanır). Erişim geri yüklendikten sonra düğümler yeniden kullanılabilir hale gelir ve görevler yeniden başlatılır.
- Bu şifreleme mekanizması bir Batch havuzundaki VM diskleri için geçerli mi? Hayır Cloud Services Yapılandırma havuzları için (kullanım dışıdır), işletim sistemi ve geçici disk için şifreleme uygulanmaz. Sanal Makine Yapılandırma havuzları için işletim sistemi ve belirtilen veri diskleri varsayılan olarak Microsoft platformu tarafından yönetilen anahtarla şifrelenir. Şu anda bu diskler için kendi anahtarınızı belirtemezsiniz. Bir Batch havuzu için vm'lerin geçici diskini Microsoft platformu tarafından yönetilen anahtarla şifrelemek için Sanal Makine Yapılandırma Havuzunuzda diskEncryptionConfiguration özelliğini etkinleştirmeniz gerekir. Son derece hassas ortamlar için geçici disk şifrelemesini etkinleştirmenizi ve işletim sistemi ve veri disklerinde hassas verilerin depolanmasını önlemenizi öneririz. Daha fazla bilgi için bkz. Disk şifrelemesi etkin bir havuz oluşturma
- Batch hesabında sistem tarafından atanan yönetilen kimlik, işlem düğümlerinde kullanılabilir mi? Hayır Sistem tarafından atanan yönetilen kimlik şu anda yalnızca müşteri tarafından yönetilen anahtar için Azure Key Vault'a erişmek için kullanılmaktadır. İşlem düğümlerinde kullanıcı tarafından atanan yönetilen kimliği kullanmak için bkz . Batch havuzlarında yönetilen kimlikleri yapılandırma.
Sonraki adımlar
- Azure Batch'teki en iyi güvenlik uygulamaları hakkında daha fazla bilgi edinin.
- Azure Key Vault hakkında daha fazla bilgi edinin.