Azure Storage enkripsi untuk data tidak aktif

Azure Storage menggunakan enkripsi sisi layanan (SSE) untuk secara otomatis mengenkripsi data Anda saat disimpan di cloud. Azure Storage enkripsi melindungi data Anda dan membantu Anda memenuhi komitmen keamanan dan kepatuhan organisasi Anda.

Microsoft merekomendasikan penggunaan enkripsi sisi layanan untuk melindungi data Anda untuk sebagian besar skenario. Namun, pustaka klien Azure Storage untuk Blob Storage dan Queue Storage juga menyediakan enkripsi sisi klien bagi pelanggan yang perlu mengenkripsi data pada klien. Untuk informasi selengkapnya, lihat Enkripsi sisi klien untuk blob dan antrean.

Tentang enkripsi sisi layanan Azure Storage

Data di Azure Storage dienkripsi dan didekripsi secara transparan menggunakan enkripsi AES 256-bit, salah satu cipher blok terkuat yang tersedia, dan sesuai dengan FIPS 140-2. enkripsi Azure Storage mirip dengan enkripsi BitLocker pada Windows.

Azure Storage enkripsi sisi layanan menggunakan AES Galois/Counter Mode 256-bit (AES-GCM) untuk mengenkripsi objek yang diunggah. Enkripsi Azure Storage diaktifkan untuk semua akun penyimpanan. Anda tidak dapat menonaktifkan enkripsi Azure Storage. Karena data Anda diamankan secara default, Anda tidak perlu memodifikasi kode atau aplikasi untuk memanfaatkan enkripsi Azure Storage.

Data dalam akun penyimpanan dienkripsi terlepas dari tingkat performa (standar atau premium) atau tingkat akses (panas atau dingin). Semua blob blok baru dan yang sudah ada, blob penambahan, dan blob halaman dienkripsi, termasuk blob di tingkat arsip. Semua opsi redundansi Azure Storage mendukung enkripsi, dan semua data di wilayah utama dan sekunder dienkripsi saat replikasi geografis diaktifkan. Semua sumber daya Azure Storage dienkripsi, termasuk blob, disk, file, antrean, dan tabel. Semua metadata objek juga dienkripsi.

Tidak ada biaya tambahan untuk enkripsi Azure Storage.

Untuk informasi selengkapnya tentang modul kriptografi yang mendasar Azure Storage enkripsi, lihat Cryptography API: Generasi Berikutnya.

Untuk informasi tentang enkripsi dan manajemen kunci untuk disk terkelola Azure, lihat Enkripsi di sisi server untuk disk terkelola Azure.

Tentang manajemen kunci enkripsi

Data di akun penyimpanan baru dienkripsi dengan kunci yang dikelola Microsoft secara default. Anda dapat terus mengandalkan kunci yang dikelola Microsoft untuk enkripsi data Anda, atau Anda dapat mengelola enkripsi dengan kunci Anda sendiri. Jika Anda memilih untuk mengelola enkripsi dengan kunci Anda sendiri, Anda memiliki dua opsi. Anda dapat menggunakan salah satu jenis manajemen kunci, atau keduanya:

  • Anda dapat menentukan kunci yang dikelola pelanggan customer-managed key untuk mengenkripsi dan mendekripsi data dalam Blob Storage dan di Azure Files.1,2 Kunci yang dikelola pelanggan harus disimpan di Azure Key Vault atau Modul Keamanan Perangkat Keras Terkelola Azure Key Vault (HSM). Untuk informasi selengkapnya tentang kunci yang dikelola pelanggan, lihat Gunakan kunci yang dikelola pelanggan untuk enkripsi Azure Storage.
  • Anda dapat menentukan kunci yang disediakan customer pada operasi Blob Storage. Klien yang membuat permintaan baca atau tulis terhadap Blob Storage dapat menyertakan kunci enkripsi pada permintaan kontrol terperinci tentang bagaimana data blob dienkripsi dan didekripsi. Untuk informasi selengkapnya tentang kunci yang disediakan pelanggan, lihat Provide kunci enkripsi atas permintaan ke Blob Storage.

Secara default, akun penyimpanan dienkripsi dengan kunci yang tercakup ke seluruh akun penyimpanan. Cakupan enkripsi memungkinkan Anda mengelola enkripsi menggunakan kunci yang diterapkan pada sebuah kontainer atau blob individu. Anda dapat menggunakan cakupan enkripsi untuk membuat batas aman antara data yang berada di akun penyimpanan yang sama, tetapi milik pelanggan yang berbeda. Cakupan enkripsi dapat menggunakan kunci yang dikelola Microsoft atau kunci yang dikelola pelanggan. Untuk informasi selengkapnya tentang cakupan enkripsi, lihat Cakupan enkripsi untuk penyimpanan Blob.

Tabel berikut membandingkan opsi manajemen kunci untuk enkripsi Azure Storage.

Parameter manajemen kunci kunci yang dikelola Microsoft Kunci yang dikelola pelanggan Kunci yang disediakan pelanggan
Operasi enkripsi/dekripsi Azure Azure Azure
layanan Azure Storage didukung Semua Blob Storage, Azure Files 1,2 Blob Storage
Penyimpanan kunci Microsoft penyimpanan kunci Azure Key Vault atau Key Vault HSM Toko kunci pelanggan sendiri
Tanggung jawab pergantian kunci Microsoft Pelanggan Pelanggan
Pengendalian kunci Microsoft Pelanggan Pelanggan
Lingkup kunci Akun (default), kontainer, atau blob Akun (default), kontainer, atau blob N/A

1 Untuk informasi tentang cara membuat akun yang mendukung penggunaan kunci yang dikelola pelanggan dengan penyimpanan antrean, lihat Membuat akun yang mendukung kunci yang dikelola pelanggan untuk antrean.
2 Untuk informasi tentang membuat akun yang mendukung penggunaan kunci yang dikelola pelanggan dengan penyimpanan Tabel, lihat Membuat akun yang mendukung kunci yang dikelola pelanggan untuk tabel.

Catatan

kunci yang dikelola Microsoft diputar dengan tepat sesuai persyaratan kepatuhan. Jika Anda memiliki persyaratan rotasi kunci tertentu, Microsoft menyarankan agar Anda pindah ke kunci yang dikelola pelanggan sehingga Anda dapat mengelola dan mengaudit rotasi sendiri.

Mengenkripsi data ganda dengan enkripsi infrastruktur

Jika Anda membutuhkan tingkat jaminan tinggi bahwa data Anda aman, Anda juga dapat mengaktifkan enkripsi AES 256-bit pada tingkat infrastruktur Azure Storage. Ketika Anda mengaktifkan enkripsi infrastruktur, data Anda di akun penyimpanan dienkripsi dua kali - sekali di tingkat layanan dan sekali di tingkat infrastruktur - dengan dua algoritma enkripsi berbeda dan dua kunci yang berbeda. Enkripsi ganda data Azure Storage melindungi dari skenario di mana salah satu algoritma atau kunci enkripsi dikompromikan. Dalam skenario ini, lapisan enkripsi tambahan terus melindungi data Anda.

Enkripsi tingkat layanan mendukung penggunaan kunci yang dikelola Microsoft atau kunci yang dikelola pelanggan dengan Azure Key Vault. Enkripsi tingkat infrastruktur bergantung pada kunci yang dikelola Microsoft dan selalu menggunakan kunci terpisah.

Untuk informasi selengkapnya tentang cara membuat akun penyimpanan yang mengaktifkan enkripsi infrastruktur, lihat Membuat akun penyimpanan dengan enkripsi infrastruktur yang diaktifkan untuk enkripsi ganda data.

Enkripsi di sisi klien untuk blob dan antrian

Pustaka klien Azure Blob Storage untuk .NET, Java, dan Python mendukung enkripsi data dalam aplikasi klien sebelum mengunggah ke Azure Storage, dan mendekripsi data saat mengunduh ke klien. Pustaka klien Queue Storage untuk .NET dan Python juga mendukung enkripsi sisi klien.

Catatan

Pertimbangkan untuk menggunakan fitur enkripsi sisi layanan yang disediakan oleh Azure Storage untuk melindungi data Anda, bukan enkripsi sisi klien.

Perpustakaan klien Blob Storage dan Queue Storage menggunakan AES untuk mengenkripsi data pengguna. Ada dua versi enkripsi sisi klien yang tersedia di pustaka klien:

  • Versi 2 menggunakan mode Galois/Counter Mode (GCM) dengan AES. SDK Penyimpanan Blob dan Penyimpanan Antrean mendukung enkripsi sisi klien menggunakan v2.
  • Versi 1 menggunakan mode Cipher Block Chaining (CBC) dengan AES. SDK Blob Storage, Queue Storage, dan Table Storage mendukung enkripsi sisi klien dengan v1.

Peringatan

Kami tidak lagi menyarankan penggunaan enkripsi sisi klien versi 1 karena kerentanan keamanan dalam penerapan mode CBC pada pustaka klien. Untuk informasi selengkapnya tentang kerentanan keamanan ini, lihat Azure Storage memperbarui enkripsi sisi klien di SDK untuk mengatasi kerentanan keamanan. Jika Anda saat ini menggunakan v1, perbarui aplikasi Anda untuk menggunakan enkripsi sisi klien v2 dan migrasikan data Anda.

SDK Penyimpanan Tabel Azure hanya mendukung enkripsi sisi klien v1. Menggunakan enkripsi sisi klien dengan Table Storage tidak disarankan.

Tabel berikut menunjukkan pustaka klien mana yang mendukung versi enkripsi sisi klien mana dan memberikan panduan untuk bermigrasi ke enkripsi sisi klien v2.

Perpustakaan klien Versi enkripsi sisi klien didukung Migrasi yang direkomendasikan Panduan tambahan
Blob Storage pustaka klien untuk .NET (versi 12.13.0 ke atas), Java (versi 12.18.0 ke atas), dan Python (versi 12.13.0 ke atas) 2.0

1.0 (hanya untuk kompatibilitas mundur)
Perbarui kode Anda untuk menggunakan enkripsi sisi klien v2.

Unduh data terenkripsi apa pun untuk mendekripsinya, lalu enkripsi ulang dengan enkripsi sisi klien v2.
Enkripsi sisi klien untuk blob
Blob Storage pustaka klien untuk .NET (versi 12.12.0 ke bawah), Java (versi 12.17.0 ke bawah), dan Python (versi 12.12.0 ke bawah) 1.0 (tidak disarankan) Perbarui aplikasi Anda untuk menggunakan versi SDK Blob Storage yang mendukung enkripsi sisi klien v2. Untuk detailnya, lihat Matriks dukungan SDK untuk enkripsi sisi klien.

Perbarui kode Anda untuk menggunakan enkripsi sisi klien v2.

Unduh data terenkripsi apa pun untuk mendekripsinya, lalu enkripsi ulang dengan enkripsi sisi klien v2.
Enkripsi sisi klien untuk blob
Pustaka klien Queue Storage untuk .NET (versi 12.11.0 ke atas) dan Python (versi 12.4 ke atas) 2.0

1.0 (hanya untuk kompatibilitas mundur)
Perbarui kode Anda untuk menggunakan enkripsi sisi klien v2. Enkripsi sisi klien untuk antrean
Pustaka klien Queue Storage untuk .NET (versi 12.10.0 ke bawah) dan Python (versi 12.3.0 ke bawah) 1.0 (tidak disarankan) Perbarui aplikasi Anda untuk menggunakan versi SDK Queue Storage yang mendukung enkripsi sisi klien v2. Lihat Matriks dukungan SDK untuk enkripsi sisi klien

Perbarui kode Anda untuk menggunakan enkripsi sisi klien v2.
Enkripsi sisi klien untuk antrean
Pustaka klien Table Storage untuk .NET, Java, dan Python 1.0 (tidak disarankan) Tidak tersedia. N/A

Langkah berikutnya