Gambaran umum keamanan database di Azure Cosmos DB

BERLAKU UNTUK: Nosql MongoDB Cassandra Gremlin Meja

Artikel ini membahas praktik terbaik dan fitur utama keamanan database yang ditawarkan oleh Azure Cosmos DB untuk membantu Anda mencegah, mendeteksi, dan menanggapi pelanggaran database.

Apa yang baru dalam keamanan Azure Cosmos DB?

Enkripsi saat istirahat sekarang tersedia untuk dokumen dan cadangan yang disimpan di Azure Cosmos DB di semua wilayah Azure. Enkripsi saat istirahat diterapkan secara otomatis untuk pelanggan baru dan yang sudah ada di wilayah ini. Tidak perlu mengonfigurasi apa pun. Anda mendapatkan latensi, throughput, ketersediaan, dan fungsionalitas yang sama seperti sebelumnya dengan manfaat mengetahui data Anda aman dan aman dengan enkripsi saat tidak aktif. Data yang disimpan di akun Azure Cosmos DB Anda dienkripsi secara otomatis dan mulus dengan kunci yang dikelola oleh Microsoft menggunakan kunci yang dikelola layanan. Secara opsional, Anda dapat memilih untuk menambahkan enkripsi lapisan kedua dengan kunci yang Anda kelola dengan menggunakan kunci atau CMK yang dikelola pelanggan.

Bagaimana cara mengamankan database saya?

Keamanan data adalah tanggung jawab bersama antara Anda, pelanggan, dan penyedia database Anda. Tergantung penyedia database yang Anda pilih, besaran tanggung jawab yang Anda bawa bisa bervariasi. Jika Anda memilih solusi lokal, Anda perlu memberikan semuanya mulai dari perlindungan titik akhir hingga keamanan fisik perangkat keras Anda, yang bukan tugas yang mudah. Jika Anda memilih penyedia database cloud platform as a service (PaaS), seperti Azure Cosmos DB, area perhatian Anda sangat menyusut. Gambar berikut, yang dipinjam dari laporan resmi Tanggung Jawab Bersama untuk Komputasi Awan milik Microsoft, menunjukkan bagaimana tanggung jawab Anda berkurang dengan penyedia PaaS seperti Azure Cosmos DB.

Screenshot that shows customer and database provider responsibilities.

Diagram sebelumnya memperlihatkan komponen keamanan awan tingkat tinggi, tetapi item apa yang perlu Anda khawatirkan khusus untuk solusi database Anda? Bagaimana Anda dapat membandingkan solusi satu sama lain?

Kami merekomendasikan daftar persyaratan berikut untuk membandingkan sistem database:

  • Setelan keamanan jaringan dan firewall
  • Autentikasi pengguna dan kontrol pengguna tingkat tinggi
  • Kemampuan untuk mereplikasi data secara global untuk kegagalan wilayah
  • Kemampuan untuk melakukan failover dari satu pusat data ke pusat data lainnya
  • Replikasi data lokal dalam pusat data
  • Pencadangan data otomatis
  • Pemulihan data yang dihapus dari cadangan
  • Melindungi dan mengisolasi data sensitif
  • Pemantauan serangan
  • Menanggapi serangan
  • Kemampuan untuk memagari data secara geografis untuk mematuhi pembatasan tata kelola data
  • Perlindungan fisik server di pusat data yang dilindungi
  • Sertifikasi

Meskipun mungkin tampak jelas, pelanggaran database skala besar baru-baru ini mengingatkan kita tentang pentingnya persyaratan berikut yang sederhana tetapi penting:

  • Server yang di-patch yang selalu diperbarui
  • HTTPS secara default/enkripsi TLS
  • Akun administratif dengan kata sandi yang kuat

Bagaimana Azure Cosmos DB mengamankan database saya?

Mari kita lihat kembali daftar sebelumnya. Berapa banyak persyaratan keamanan yang disediakan Azure Cosmos DB? Semuanya.

Mari kita jelajahi masing-masing secara rinci.

Persyaratan keamanan Pendekatan keamanan Azure Cosmos DB
Keamanan jaringan Menggunakan firewall IP adalah lapisan perlindungan pertama untuk mengamankan database Anda. Azure Cosmos DB mendukung kontrol akses berbasis IP berbasis kebijakan untuk dukungan firewall masuk. Kontrol akses berbasis IP mirip dengan aturan firewall yang digunakan oleh sistem database tradisional. Namun, mereka diperluas sehingga akun database Azure Cosmos DB hanya dapat diakses dari sekumpulan komputer atau layanan cloud yang disetujui. Untuk mempelajari selengkapnya, lihat Dukungan firewall Azure Cosmos DB.

Dengan Azure Cosmos DB, Anda dapat mengaktifkan alamat IP tertentu (168.61.48.0), rentang IP (168.61.48.0/8), dan kombinasi IP dan rentang.

Azure Cosmos DB memblokir semua permintaan yang berasal dari komputer di luar daftar yang diizinkan ini. Permintaan dari mesin dan layanan awan yang disetujui harus menyelesaikan proses autentikasi untuk bisa diberikan kontrol akses ke sumber daya.

Anda dapat menggunakan tag layanan jaringan virtual untuk mencapai isolasi jaringan dan melindungi sumber daya Azure Cosmos DB Anda dari internet umum. Gunakan tag layanan sebagai pengganti alamat IP tertentu saat Anda membuat aturan keamanan. Dengan menentukan nama tag layanan (misalnya, AzureCosmosDB) di bidang sumber atau tujuan aturan yang sesuai, Anda dapat mengizinkan atau menolak lalu lintas untuk layanan yang sesuai.
Authorization Azure Cosmos DB menggunakan kode autentikasi pesan berbasis hash (HMAC) untuk otorisasi.

Setiap permintaan di-hash dengan menggunakan kunci akun rahasia, dan hash berkode base-64 berikutnya dikirim dengan setiap panggilan ke Azure Cosmos DB. Untuk memvalidasi permintaan, Azure Cosmos DB menggunakan kunci rahasia dan properti yang benar untuk menghasilkan hash, lalu membandingkan nilai dengan yang ada dalam permintaan. Jika dua nilai cocok, operasi berhasil diotorisasi dan permintaan diproses. Jika tidak cocok, ada kegagalan otorisasi dan permintaan ditolak.

Anda dapat menggunakan kunci primer atau token sumber daya, yang memungkinkan akses mendetaih ke sumber daya seperti dokumen.

Untuk mempelajari selengkapnya, lihat Mengamankan akses ke sumber daya Azure Cosmos DB.
Pengguna dan izin Dengan menggunakan kunci primer untuk akun, Anda dapat membuat sumber daya pengguna dan sumber daya izin per database. Token sumber daya dikaitkan dengan izin dalam database dan menentukan apakah pengguna memiliki akses (baca-tulis, baca-saja, atau tidak ada akses) ke sumber daya aplikasi dalam database. Sumber daya aplikasi termasuk kontainer, dokumen, lampiran, prosedur tersimpan, pemicu, dan UDF. Token sumber daya lalu digunakan selama autentikasi untuk memberi atau menolak akses ke sumber daya.

Untuk mempelajari selengkapnya, lihat Mengamankan akses ke sumber daya Azure Cosmos DB.
Integrasi Direktori Aktif (kontrol akses berbasis peran Azure) Anda juga dapat menyediakan atau membatasi akses ke akun Azure Cosmos DB, database, kontainer, dan penawaran (throughput) dengan menggunakan kontrol akses (IAM) di portal Azure. IAM menyediakan kontrol akses berbasis peran dan terintegrasi dengan Direktori Aktif. Anda dapat menggunakan peran bawaan atau peran kustom untuk individu dan grup. Untuk mempelajari selengkapnya, lihat Integrasi Direktori Aktif.
Replikasi global Azure Cosmos DB menawarkan distribusi global turnkey, yang memungkinkan Anda mereplikasi data Anda ke salah satu pusat data Azure di seluruh dunia dengan cara turnkey. Replikasi global memungkinkan Anda menskalakan secara global dan menyediakan akses latensi rendah ke data Anda di seluruh dunia.

Dalam konteks keamanan, replikasi global memastikan perlindungan data terhadap kegagalan wilayah.

Untuk mempelajari selengkapnya, lihat Mendistribusikan data secara global.
Kegagalan wilayah Jika Anda telah mereplikasi data di lebih dari satu pusat data, Azure Cosmos DB secara otomatis menggulirkan operasi Anda jika pusat data regional offline. Anda dapat membuat daftar wilayah failover yang diprioritaskan dengan menggunakan wilayah tempat data Anda direplikasi.

Untuk mempelajari selengkapnya, lihat Failover regional di Azure Cosmos DB.
Replikasi lokal Bahkan dalam satu pusat data, Azure Cosmos DB secara otomatis mereplikasi data untuk ketersediaan tinggi, memberi Anda pilihan tingkat konsistensi. Replikasi ini menjamin SLA ketersediaan 99,99% untuk semua akun wilayah tunggal dan semua akun multi-wilayah dengan konsistensi santai, dan ketersediaan baca 99,999% di semua akun database multi-wilayah.
Pencadangan online otomatis Database Azure Cosmos DB dicadangkan secara teratur dan disimpan di penyimpanan geo-redundan.

Untuk mempelajari selengkapnya, lihat Pencadangan dan pemulihan online otomatis dengan Azure Cosmos DB.
Memulihkan pengguna yang dihapus Anda dapat menggunakan cadangan online otomatis untuk memulihkan data yang mungkin telah Anda hapus secara tidak sengaja hingga ~30 hari setelah peristiwa.

Untuk mempelajari selengkapnya, lihat Pencadangan dan pemulihan online otomatis dengan Azure Cosmos DB
Melindungi dan mengisolasi data sensitif Semua data di wilayah yang tercantum di Apa yang baru? sekarang dienkripsi saat istirahat.

Data pribadi dan data rahasia lainnya dapat diisolasi ke kontainer tertentu dan akses baca-tulis, atau baca-saja dapat dibatasi untuk pengguna tertentu.
Monitor serangan Dengan menggunakan pengelogan audit dan log aktivitas, Anda dapat memantau akun untuk aktivitas normal dan abnormal. Anda dapat melihat operasi apa yang dilakukan pada sumber daya Anda. Data ini mencakup siapa yang memulai operasi, ketika operasi terjadi, status operasi, dan banyak lagi.
Menanggapi serangan Setelah Anda menghubungi dukungan Azure untuk melaporkan potensi serangan, proses respons insiden lima langkah dimulai. Tujuannya adalah untuk memulihkan keamanan dan operasi layanan normal. Proses memulihkan layanan secepat mungkin setelah masalah terdeteksi dan penyelidikan dimulai.

Untuk mempelajari selengkapnya, lihat Respons keamanan Microsoft Azure di cloud.
Pagar geografis Azure Cosmos DB memastikan tata kelola data untuk wilayah berdaulat (misalnya, Jerman, Tiongkok, dan Pemerintah AS).
Fasilitas terlindungi Data di Azure Cosmos DB disimpan di solid state drive di pusat data azure yang dilindungi.

Untuk mempelajari selengkapnya, lihat Pusat data global Microsoft.
Enkripsi HTTPS/SSL/TLS Semua koneksi ke Azure Cosmos DB mendukung HTTPS. Azure Cosmos DB mendukung tingkat TLS hingga 1,2 (termasuk).
Dimungkinkan untuk memberlakukan tingkat TLS minimum di sisi server. Untuk melakukannya, lihat panduan layanan mandiri Penerapan versi TLS minimum layanan mandiri di Azure Cosmos DB.
Enkripsi saat tidak aktif Semua data yang disimpan di Azure Cosmos DB dienkripsi saat tidak aktif. Pelajari selengkapnya di enkripsi Azure Cosmos DB saat tidak aktif.
Server patch Sebagai database terkelola, Azure Cosmos DB menghilangkan kebutuhan untuk mengelola dan menambal server karena dilakukan untuk Anda secara otomatis.
Akun administratif dengan kata sandi yang kuat Tidak mungkin memiliki akun administratif tanpa kata sandi di Azure Cosmos DB.

Keamanan melalui autentikasi berbasis rahasia TLS dan HMAC dipanggang secara default.
Sertifikasi keamanan dan perlindungan data Untuk daftar sertifikasi terbaru, lihat Kepatuhan Azure dan dokumen kepatuhan Azure terbaru dengan semua sertifikasi Azure, termasuk Azure Cosmos DB.

Cuplikan layar berikut menunjukkan cara menggunakan pengelogan audit dan log aktivitas untuk memantau akun Anda. Screenshot that shows activity logs for Azure Cosmos DB.

Kunci primer/sekunder

Kunci primer menyediakan akses ke semua sumber daya administratif untuk akun database. Kunci primer/sekunder:

  • Menyediakan akses ke akun, database, pengguna, dan izin.
  • Tidak dapat digunakan untuk menyediakan akses terperinci ke kontainer dan dokumen.
  • Dibuat selama pembuatan akun.
  • Dapat diregenerasi kapan saja.

Setiap akun terdiri dari dua kunci: kunci primer dan kunci sekunder. Tujuan dari kunci ganda adalah agar Anda dapat meregenerasi, atau menggulung, kunci, menyediakan akses berkelanjutan ke akun dan data Anda.

Kunci primer/sekunder hadir dalam dua versi: baca-tulis dan baca-saja. Kunci baca-saja hanya mengizinkan operasi baca pada akun. Mereka tidak menyediakan akses ke sumber daya izin baca.

Regenerasi dan rotasi kunci

Proses regenerasi dan rotasi kunci sederhana. Pertama, pastikan bahwa aplikasi Anda secara konsisten menggunakan kunci primer atau kunci sekunder untuk mengakses akun Azure Cosmos DB. Kemudian, ikuti langkah-langkah di bagian berikutnya. Untuk memantau akun Anda untuk pembaruan utama dan regenerasi kunci, lihat Memantau pembaruan kunci dengan metrik dan pemberitahuan.

Jika aplikasi Anda saat ini menggunakan kunci primer

  1. Buka akun Azure Cosmos DB Anda di portal Azure.

  2. Pilih Kunci dari menu kiri, lalu pilih Regenerasi Kunci Sekunder dari elipsis (...) di sebelah kanan kunci sekunder Anda.

    Screenshot showing how to regenerate the secondary key in the Azure portal when used with the NoSQL API.

  3. Validasi bahwa kunci sekunder baru berfungsi secara konsisten terhadap akun Azure Cosmos DB Anda. Regenerasi kunci dapat memakan waktu dari satu menit hingga beberapa jam tergantung pada ukuran akun Azure Cosmos DB.

  4. Ganti kunci primer Anda dengan kunci sekunder di aplikasi Anda.

  5. Kembali ke portal Microsoft Azure dan picu regenerasi kunci primer.

    Screenshot showing how to regenerate the primary key in the Azure portal when used with the NoSQL API.

Jika aplikasi Anda saat ini menggunakan kunci sekunder

  1. Buka akun Azure Cosmos DB Anda di portal Azure.

  2. Pilih Kunci dari menu kiri, lalu pilih Regenerasi Kunci Primer dari elipsis (...) di sebelah kanan kunci utama Anda.

    Screenshot that shows how to regenerate the primary key in the Azure portal when used with the NoSQL API.

  3. Validasi bahwa kunci primer baru bekerja secara konsisten terhadap akun Azure Cosmos DB Anda. Regenerasi kunci dapat memakan waktu dari satu menit hingga beberapa jam tergantung pada ukuran akun Azure Cosmos DB.

  4. Ganti kunci sekunder Anda dengan kunci primer di aplikasi Anda.

  5. Kembali ke portal Microsoft Azure dan picu regenerasi kunci sekunder.

    Screenshot that shows how to regenerate the secondary key in the Azure portal when used with the NoSQL API.

Melacak status regenerasi kunci

Setelah memutar atau meregenerasi kunci, Anda dapat melacak statusnya dari log aktivitas. Gunakan langkah-langkah berikut untuk melacak status.

  1. Masuk ke portal Azure dan buka akun Azure Cosmos DB Anda.

  2. Pilih Kunci dari menu sebelah kiri. Anda akan melihat tanggal regenerasi kunci terakhir di bawah setiap kunci.

    Screenshot that shows status of key regeneration from the activity log.

    Kami menyarankan agar Anda meregenerasi kunci setidaknya sekali setiap 60 hari. Jika regenerasi terakhir Anda lebih dari 60 hari yang lalu, Anda akan melihat ikon peringatan. Selain itu, Anda dapat melihat bahwa kunci Anda tidak direkam. Jika demikian, akun Anda dibuat sebelum 18 Juni 2022, dan tanggal tidak terdaftar. Namun, Anda harus dapat meregenerasi dan melihat tanggal regenerasi terakhir baru Anda untuk kunci baru.

  3. Anda akan melihat peristiwa regenerasi kunci bersama dengan statusnya, waktu di mana operasi dikeluarkan, dan detail pengguna yang memulai regenerasi kunci. Operasi pembuatan kunci dimulai dengan status Diterima . Ini berubah menjadi Dimulai lalu menjadi Berhasil ketika operasi selesai.

Langkah berikutnya