Mengonfigurasi kunci yang dikelola pelanggan untuk akun Azure Batch Anda dengan Azure Key Vault dan Managed Identity
Secara default Azure Batch menggunakan kunci yang dikelola platform untuk mengenkripsi semua data pelanggan yang disimpan di Azure Batch Service, seperti sertifikat, metadata pekerjaan/tugas. Secara opsional, Anda dapat menggunakan kunci Anda sendiri, yaitu kunci yang dikelola pelanggan, untuk mengenkripsi data yang disimpan di Azure Batch.
Kunci yang Anda berikan harus dibuat di Azure Key Vault, dan kunci tersebut harus diakses dengan identitas terkelola untuk sumber daya Azure.
Ada dua jenis identitas terkelola: identitas yang ditetapkan sistem dan identitas yang ditetapkan pengguna.
Anda dapat membuat akun Batch dengan identitas terkelola yang ditetapkan sistem, atau membuat identitas terkelola terpisah yang ditetapkan pengguna yang memiliki akses ke kunci yang dikelola pelanggan. Tinjau tabel perbandingan untuk memahami perbedaan dan mempertimbangkan opsi mana yang paling sesuai untuk solusi Anda. Misalnya, jika Anda ingin menggunakan identitas terkelola yang sama untuk mengakses beberapa sumber daya Azure, identitas terkelola yang ditetapkan pengguna diperlukan. Jika tidak, identitas terkelola yang ditetapkan sistem yang terkait dengan akun Batch Anda mungkin cukup. Menggunakan identitas terkelola yang ditetapkan pengguna juga memberi Anda opsi untuk memberlakukan kunci yang dikelola pelanggan di pembuatan akun Batch, seperti yang ditunjukkan berikutnya.
Membuat akun Batch dengan identitas terkelola yang ditetapkan sistem
Jika Anda tidak memerlukan identitas terkelola yang ditetapkan pengguna terpisah, Anda dapat mengaktifkan identitas terkelola yang ditetapkan sistem saat membuat akun Batch Anda.
Penting
Identitas terkelola yang ditetapkan sistem yang dibuat untuk akun Batch untuk enkripsi data pelanggan seperti yang dijelaskan dalam dokumen ini tidak dapat digunakan sebagai identitas terkelola yang ditetapkan pengguna pada kumpulan Batch. Jika Anda ingin menggunakan identitas terkelola yang sama pada akun Batch dan kumpulan Batch, gunakan identitas terkelola umum yang ditetapkan pengguna sebagai gantinya.
Portal Azure
Di portal Microsoft Azure, saat Anda membuat akun Batch, pilih Sistem yang ditetapkan dalam tipe identitas di bawah tab Tingkat Lanjut.
Setelah akun dibuat, Anda dapat menemukan GUID unik di bidang Id Identitas utama di bawah bagian Properti. Tipe Identitas akan ditampilkan System assigned
.
Anda memerlukan nilai ini untuk memberikan akses akun Batch ini ke Key Vault.
Azure CLI
Saat Anda membuat akun Batch baru, tentukan SystemAssigned
untuk parameter --identity
.
resourceGroupName='myResourceGroup'
accountName='mybatchaccount'
az batch account create \
--name $accountName \
--resource-group $resourceGroupName \
--locations regionName='West US 2' \
--identity 'SystemAssigned'
Setelah akun dibuat, Anda dapat memverifikasi bahwa identitas terkelola yang ditetapkan sistem telah diaktifkan pada akun ini. Pastikan untuk mencatat , karena PrincipalId
nilai ini diperlukan untuk memberikan akses akun Batch ini ke Key Vault.
az batch account show \
--name $accountName \
--resource-group $resourceGroupName \
--query identity
Catatan
Identitas terkelola yang ditetapkan sistem yang dibuat dalam akun Batch hanya digunakan untuk mengambil kunci yang dikelola pelanggan dari Key Vault. Identitas ini tidak tersedia di kumpulan Batch. Untuk menggunakan identitas terkelola yang ditetapkan pengguna di kumpulan, lihat Mengonfigurasi identitas terkelola di kumpulan Batch.
Membuat identitas terkelola yang ditetapkan pengguna
Jika mau, Anda dapat membuat identitas terkelola yang ditetapkan pengguna yang dapat digunakan untuk mengakses kunci yang dikelola pelanggan Anda.
Anda memerlukan nilai ID Klien dari identitas ini agar dapat mengakses Key Vault.
Mengonfigurasi instans Azure Key Vault Anda
Azure Key Vault tempat kunci Anda dibuat harus dibuat di penyewa yang sama dengan akun Batch Anda. Ini tidak perlu berada dalam grup sumber daya yang sama atau bahkan dalam langganan yang sama.
Membuat Azure Key Vault
Saat membuat instans Azure Key Vault dengan kunci yang dikelola pelanggan untuk Azure Batch, pastikan bahwa Penghapusan Sementara dan Perlindungan Hapus Menyeluruh keduanya diaktifkan.
Menambahkan kebijakan akses ke instans Azure Key Vault Anda
Di portal Microsoft Azure, setelah Key Vault dibuat, Dalam Kebijakan Akses di bawah Pengaturan, tambahkan akses akun Batch menggunakan identitas terkelola. Di bawah Izin Kunci, pilih Dapatkan, Kunci Terbungkus dan Kunci Terbuka.
Di bidang Pilih di bawah Utama, isi salah satu hal berikut ini:
- Untuk identitas terkelola yang ditetapkan sistem: Masukkan
principalId
yang sebelumnya Anda ambil atau nama akun Batch. - Untuk identitas terkelola yang ditetapkan pengguna: Masukkan ID Klien yang sebelumnya Anda ambil atau nama identitas terkelola yang ditetapkan pengguna.
Membuat kunci di Azure Key Vault
Di portal Microsoft Azure, buka instans Key Vault di bagian kunci, pilih Buat/Impor. Pilih Tipe Kunci menjadi RSA
dan Ukuran Kunci RSA menjadi setidaknya 2048
bit. EC
jenis kunci saat ini tidak didukung sebagai kunci yang dikelola pelanggan pada akun Batch.
Setelah kunci dibuat, klik pada kunci yang baru dibuat dan versi saat ini, salin Pengidentifikasi Kunci di bawah bagian properti. Pastikan bahwa di bawah Operasi yang Diizinkan, Kunci Bungkus, dan Kunci Bungkus keduanya dicentang.
Mengaktifkan kunci yang dikelola pelanggan pada akun Batch
Setelah prasyarat diterapkan, Anda dapat mengaktifkan kunci yang dikelola pelanggan di akun Batch Anda.
Portal Azure
Di portal Microsoft Azure, buka halaman Akun batch. Di bawah bagian Enkripsi,, aktifkan kunci yang dikelola pelanggan. Anda dapat langsung menggunakan Pengidentifikasi Kunci, atau Anda dapat memilih brankas kunci lalu klik Pilih brankas kunci dan kunci.
Azure CLI
Setelah akun Batch dibuat dengan identitas terkelola yang ditetapkan sistem dan akses ke Key Vault diberikan, perbarui akun Batch dengan URL {Key Identifier}
di bawah parameter keyVaultProperties
. Atur --encryption-key-source
juga sebagai Microsoft.KeyVault
.
az batch account set \
--name $accountName \
--resource-group $resourceGroupName \
--encryption-key-source Microsoft.KeyVault \
--encryption-key-identifier {YourKeyIdentifier}
Membuat akun Batch dengan identitas terkelola yang ditetapkan pengguna dan kunci yang dikelola pelanggan
Sebagai contoh menggunakan klien .NET manajemen Batch, Anda dapat membuat akun Batch yang memiliki identitas terkelola yang ditetapkan pengguna dan kunci yang dikelola pelanggan.
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;
Memperbarui versi kunci yang dikelola pelanggan
Saat Anda membuat versi kunci baru, perbarui akun Batch untuk menggunakan versi baru tersebut. Ikuti langkah-langkah ini:
- Buka akun Batch Anda di portal Microsoft Azure dan tampilkan pengaturan Enkripsi.
- Masukkan URI untuk versi kunci baru. Secara bergantian, Anda dapat memilih Key Vault dan kunci itu lagi untuk memperbarui versi.
- Simpan perubahan Anda.
Anda juga dapat menggunakan Azure CLI untuk memperbarui versi.
az batch account set \
--name $accountName \
--resource-group $resourceGroupName \
--encryption-key-identifier {YourKeyIdentifierWithNewVersion}
Tip
Anda dapat memutar kunci secara otomatis dengan membuat kebijakan rotasi kunci dalam Key Vault. Saat menentukan Pengidentifikasi Kunci untuk akun Batch, gunakan pengidentifikasi kunci tanpa versi untuk mengaktifkan rotasi otomatis dengan kebijakan rotasi yang valid. Untuk informasi selengkapnya, lihat cara mengonfigurasi rotasi kunci di Key Vault.
Gunakan kunci yang berbeda untuk enkripsi Batch
Untuk mengubah kunci yang digunakan untuk enkripsi Batch, ikuti langkah-langkah berikut:
- Buka akun Batch Anda dan tampilkan pengaturan Enkripsi.
- Masukkan URI untuk kunci baru. Secara bergantian, Anda dapat memilih Key Vault dan memilih kunci baru.
- Simpan perubahan Anda.
Anda juga dapat menggunakan Azure CLI untuk menggunakan kunci yang berbeda.
az batch account set \
--name $accountName \
--resource-group $resourceGroupName \
--encryption-key-identifier {YourNewKeyIdentifier}
Tanya jawab umum
- Apakah kunci yang dikelola pelanggan didukung untuk akun Batch yang sudah ada? Tidak. Kunci yang dikelola pelanggan hanya didukung untuk akun Batch baru.
- Bisakah saya memilih ukuran kunci RSA yang lebih besar dari 2048 bit? Ya, ukuran kunci RSA
3072
dan4096
bit juga didukung. - Operasi apa yang tersedia setelah kunci yang dikelola pelanggan dicabut? Satu-satunya operasi yang diperbolehkan adalah penghapusan akun jika Batch kehilangan akses ke kunci yang dikelola pelanggan.
- Bagaimana cara memulihkan akses ke akun Batch saya jika saya secara tidak sengaja menghapus kunci Key Vault? Karena perlindungan penghapusan menyeluruh dan penghapusan sementara diaktifkan, Anda dapat memulihkan kunci yang ada. Untuk informasi selengkapnya, lihat Apa yang dimaksud Azure Key Vault?.
- Dapatkah saya menonaktifkan kunci yang dikelola pelanggan? Anda dapat mengatur tipe enkripsi Akun Batch kembali ke "kunci terkelola Microsoft" kapan saja. Anda bebas menghapus atau mengubah kunci setelahnya.
- Bagaimana cara memutar kunci saya? Kunci yang dikelola pelanggan tidak diputar secara otomatis kecuali kunci tanpa versi dengan kebijakan rotasi kunci yang sesuai yang ditetapkan dalam Key Vault. Untuk memutar kunci secara manual, perbarui Pengidentifikasi Kunci yang terkait dengan akun.
- Setelah saya memulihkan akses berapa lama waktu yang dibutuhkan untuk akun Batch berfungsi lagi? Diperlukan waktu hingga 10 menit agar akun dapat diakses kembali setelah akses dipulihkan.
- Sementara Akun Batch tidak tersedia apa yang terjadi pada sumber daya saya? Setiap kumpulan yang aktif ketika akses Batch ke kunci yang dikelola pelanggan hilang akan terus berjalan. Namun, simpul dalam kumpulan ini akan beralih ke status tidak tersedia, dan tugas akan berhenti berjalan (dan diantrekan kembali). Setelah akses dipulihkan, simpul menjadi tersedia lagi, dan tugas dimulai ulang.
- Apakah mekanisme enkripsi ini berlaku untuk disk VM dalam kumpulan Batch? Tidak. Untuk kumpulan Konfigurasi Cloud Services (yang tidak digunakan lagi), tidak ada enkripsi yang diterapkan untuk OS dan disk sementara. Untuk kumpulan Konfigurasi Komputer Virtual, OS dan disk data tertentu dienkripsi dengan kunci yang dikelola platform Microsoft secara default. Saat ini, Anda tidak dapat menentukan kunci Anda sendiri untuk disk ini. Untuk mengenkripsi disk sementara VM untuk kumpulan Batch dengan kunci yang dikelola platform Microsoft, Anda harus mengaktifkan properti DiskEncryptionConfiguration di Kumpulan Konfigurasi Komputer Virtual Anda. Untuk lingkungan yang sangat sensitif, kami sarankan Anda mengaktifkan enkripsi disk sementara dan menghindari penyimpanan data sensitif pada OS dan disk data. Untuk informasi selengkapnya, lihat Membuat kumpulan dengan enkripsi disk diaktifkan
- Apakah identitas terkelola yang ditetapkan sistem pada akun Batch tersedia pada simpul komputasi? Tidak. Identitas terkelola yang ditetapkan sistem saat ini hanya digunakan untuk mengakses Azure Key Vault untuk kunci yang dikelola pelanggan. Untuk menggunakan identitas terkelola yang ditetapkan pengguna pada simpul komputasi, lihat Mengonfigurasi identitas terkelola di kumpulan Batch.
Langkah berikutnya
- Pelajari selengkapnya tentang praktik terbaik keamanan di Azure Batch.
- Pelajari lebih lanjut tentang Azure Key Vault.