Praktik terbaik untuk mengamankan aplikasi web dan seluler PaaS menggunakan Azure Storage

Dalam artikel ini, kita akan membahas kumpulan praktik terbaik keamanan Azure Storage untuk mengamankan aplikasi web dan seluler platform-as-a-service (PaaS). Praktik terbaik ini berasal dari pengalaman kami dengan Azure dan pengalaman pelanggan seperti Anda.

Azure memungkinkan penyebaran dan penggunaan penyimpanan dengan cara yang sulit dilakukan secara lokal. Dengan penyimpanan Azure, Anda dapat mencapai skalabilitas dan ketersediaan tingkat tinggi melalui usaha yang relatif sedikit. Selain menjadi fondasi untuk Windows dan Linux Azure Virtual Machines, Azure Storage juga dapat mendukung aplikasi terdistribusi yang besar.

Azure Storage menyediakan empat layanan berikut: Penyimpanan blob, Penyimpanan tabel, Penyimpanan antrean, dan Penyimpanan file. Untuk mempelajari selengkapnya, lihat Pengantar Microsoft Azure Storage.

Artikel ini membahas praktik terbaik berikut ini:

  • Tanda tangan akses bersama (SAS)
  • Kontrol akses berbasis peran Azure (Azure RBAC)
  • Enkripsi sisi klien untuk data bernilai tinggi
  • Enkripsi Layanan Penyimpanan

Menggunakan tanda tangan akses bersama sebagai ganti kunci akun penyimpanan

Kontrol akses sangatlah penting. Saat Anda membuat akun penyimpanan, Azure menghasilkan dua kunci akun penyimpanan (SAK) 512-bit untuk membantu Anda mengontrol akses ke Azure Storage. Tingkat redundansi kunci memungkinkan Anda menghindari gangguan layanan selama rotasi kunci rutin.

Kunci akses penyimpanan adalah rahasia prioritas tinggi dan hanya boleh diakses oleh orang yang bertanggung jawab atas kontrol akses penyimpanan. Jika orang yang salah mendapatkan akses ke kunci ini, mereka akan memiliki kontrol penuh atas penyimpanan dan dapat mengganti, menghapus, atau menambahkan file ke penyimpanan. Ini termasuk malware dan jenis konten lain yang berpotensi membahayakan organisasi atau pelanggan Anda.

Anda masih memerlukan cara untuk memberikan akses ke objek dalam penyimpanan. Untuk memberikan akses yang lebih terperinci, Anda dapat memanfaatkan tanda tangan akses bersama (SAS). SAS memungkinkan Anda berbagi objek tertentu dalam penyimpanan untuk interval waktu yang telah ditentukan sebelumnya dan dengan izin tertentu. Tanda tangan akses bersama memungkinkan Anda menentukan:

  • Interval waktu berlakunya SAS, termasuk waktu mulai dan waktu kedaluwarsa.
  • Izin yang diberikan oleh SAS. Misalnya, SAS pada blob dapat memberi pengguna izin baca dan tulis ke blob tersebut, tetapi tidak izin hapus.
  • Satu alamat IP opsional atau beberapa alamat IP tempat Azure Storage menerima SAS. Misalnya, Anda dapat menentukan beberapa alamat IP milik organisasi Anda. Ini memberikan tindakan keamanan lain untuk SAS Anda.
  • Protokol yang menjadi jalur penerimaan SAS oleh Azure Storage. Anda dapat menggunakan parameter opsional ini untuk membatasi akses ke klien menggunakan HTTPS.

SAS memungkinkan Anda berbagi konten dengan cara yang Anda inginkan tanpa memberikan kunci akun penyimpanan. Selalu menggunakan SAS dalam aplikasi Anda adalah cara yang aman untuk berbagi sumber daya penyimpanan tanpa membahayakan kunci akun penyimpanan Anda.

Untuk mempelajari selengkapnya tentang tanda tangan akses bersama, lihat Menggunakan tanda tangan akses bersama.

Menggunakan kontrol akses berbasis peran Azure

Cara lain untuk mengelola akses adalah dengan menggunakan kontrol akses berbasis peran Azure (Azure RBAC). Dengan Azure RBAC, Anda hanya perlu berfokus untuk memberi karyawan izin yang tepat yang mereka butuhkan, berdasarkan prinsip perlunya mengetahui dan keamanan hak istimewa paling sedikit. Terlalu banyak izin dapat mengekspos akun terhadap penyerang. Terlalu sedikit izin mengakibatkan karyawan tidak dapat menyelesaikan pekerjaan mereka secara efisien. Azure RBAC membantu mengatasi masalah ini dengan menawarkan manajemen akses terperinci untuk Azure. Kontrol akses sangat penting bagi organisasi yang ingin menerapkan kebijakan keamanan untuk akses data.

Anda dapat menggunakan peran bawaan Azure di Azure untuk menetapkan hak istimewa kepada pengguna. Misalnya, gunakan peran Kontributor Akun Penyimpanan untuk operator cloud yang perlu mengelola akun penyimpanan dan peran Kontributor Akun Penyimpanan Klasik untuk mengelola akun penyimpanan klasik. Untuk operator cloud yang perlu mengelola VM tetapi bukan jaringan virtual atau akun penyimpanan yang terhubung dengannya, Anda dapat menambahkannya ke peran Kontributor Komputer Virtual.

Organisasi yang tidak memberlakukan kontrol akses data dengan menggunakan kemampuan seperti Azure RBAC mungkin memberikan lebih banyak hak istimewa daripada yang diperlukan untuk pengguna mereka. Lebih banyak hak istimewa daripada yang diperlukan dapat menyebabkan penyusupan data dengan memungkinkan beberapa pengguna mengakses data yang seharusnya tidak mereka miliki di tempat pertama.

Untuk mempelajari selengkapnya tentang Azure RBAC, lihat:

Menggunakan enkripsi sisi klien untuk data bernilai tinggi

Enkripsi sisi klien memungkinkan Anda mengenkripsi data secara terprogram saat transit sebelum mengunggah data ke Azure Storage, serta mendekripsi data secara terprogram saat mengambilnya. Enkripsi sisi klien menyediakan enkripsi data saat transit tetapi juga menyediakan enkripsi data tidak aktif. Enkripsi sisi klien adalah metode yang paling aman untuk mengenkripsi data Anda, tetapi metode ini mengharuskan Anda untuk melakukan perubahan terprogram pada aplikasi dan menerapkan proses manajemen kunci.

Enkripsi sisi klien juga memungkinkan Anda memiliki kontrol penuh atas kunci enkripsi Anda. Anda dapat membuat dan mengelola kunci enkripsi Anda sendiri. Tindakan ini menggunakan teknik envelope, yang memungkinkan pustaka klien penyimpanan Azure menghasilkan kunci enkripsi konten (CEK) yang kemudian dibungkus (dienkripsi) menggunakan kunci enkripsi utama (KEK). KEK diidentifikasi oleh pengidentifikasi kunci dan dapat menjadi pasangan kunci asimetris atau kunci simetris serta dikelola secara lokal atau disimpan di Azure Key Vault.

Enkripsi sisi klien disertakan dalam pustaka klien penyimpanan Java dan .NET. Lihat Enkripsi sisi klien dan Azure Key Vault untuk Microsoft Azure Storage guna mendapatkan informasi tentang cara mengenkripsi data dalam aplikasi klien serta menghasilkan dan mengelola kunci enkripsi Anda sendiri.

Mengaktifkan Enkripsi Layanan Penyimpanan untuk data tidak aktif

Ketika Enkripsi Layanan Penyimpanan untuk Penyimpanan file diaktifkan, data akan otomatis dienkripsi menggunakan enkripsi AES-256. Microsoft menangani semua enkripsi, dekripsi, dan manajemen kunci. Fitur ini tersedia untuk jenis redundansi LRS dan GRS.

Langkah berikutnya

Artikel ini memberi Anda pengantar tentang kumpulan praktik terbaik keamanan Azure Storage untuk mengamankan aplikasi web dan seluler PaaS. Untuk mempelajari selengkapnya tentang cara mengamankan penyebaran PaaS Anda, lihat: