Keamanan di Azure Cosmos DB - gambaran umum

BERLAKU UNTUK: SQL API Cassandra API Gremlin API Table API Azure Cosmos DB API for MongoDB

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 konfigurasi apa pun; dan Anda mendapatkan latensi, throughput, ketersediaan, dan fungsionalitas hebat yang sama seperti sebelumnya dengan data yang aman berkat enkripsi saat istirahat. Data yang disimpan di akun Azure Cosmos Anda dienkripsi secara otomatis dan tanpa hambatan dengan kunci yang dikelola oleh Microsoft menggunakan kunci yang dikelola layanan. Secara opsional, Anda dapat memilih untuk menambahkan lapisan kedua dari enkripsi dengan kunci yang Anda kelola menggunakan kunci yang dikelola pelanggan atau CMK.

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 memilih solusi lokal, Anda perlu menyediakan segalanya mulai dari perlindungan titik akhir hingga keamanan fisik perangkat keras Anda - yang bukan merupakan tugas mudah. Jika memilih penyedia database awan PaaS seperti Azure Cosmos DB, pasti tingkat kekhawatiran Anda akan 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.

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? Dan bagaimana Anda bisa membandingkan solusinya satu sama lain?

Kami merekomendasikan daftar persyaratan berikut untuk membandingkan sistem database:

  • Setelan keamanan jaringan dan firewall
  • Autentikasi pengguna dan kontrol pengguna rinci
  • Kemampuan untuk mereplikasi data secara global untuk kegagalan wilayah
  • Kemampuan fail over 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

Meski sudah jelas, pelanggaran database berskala besar baru-baru ini mengingatkan kita tentang pentingnya persyaratan berikut:

  • Server 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 bahas 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 untuk dukungan firewall masuk. Kontrol akses berbasis IP mirip dengan aturan firewall yang digunakan sistem database tradisional, tetapi diperluas sehingga akun database Azure Cosmos hanya dapat diakses dari serangkaian mesin atau layanan awan yang disetujui. Pelajari selengkapnya di artikel Dukungan firewall Azure Cosmos DB.

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

Semua permintaan yang berasal dari mesin di luar daftar yang diizinkan ini diblokir oleh Azure Cosmos DB. 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 aturan sumber atau tujuan yang sesuai, Anda dapat mengizinkan atau menolak lalu lintas bagi layanan terkait.
Authorization Azure Cosmos DB menggunakan kode autentikasi pesan berbasis hash (HMAC) untuk otorisasi.

Setiap permintaan di-hash menggunakan kunci akun rahasia, dan hash kode basis-64 berikutnya dikirim bersama setiap panggilan ke Azure Cosmos DB. Untuk validasi permintaan, layanan Azure Cosmos DB menggunakan kunci dan properti rahasia yang benar untuk menghasilkan hash, lalu membandingkan nilai dengan yang ada dalam permintaan. Jika kedua nilai cocok, operasi berhasil diotorisasi dan permintaan diproses, jika tidak, maka otorisasi gagal dan permintaan ditolak.

Anda dapat menggunakan kunci primer, atau token sumber daya sehingga ada akses rinci ke sumber daya seperti dokumen.

Pelajari selengkapnya di Mengamankan akses ke sumber daya Azure Cosmos DB.
Pengguna dan izin Menggunakan kunci primer untuk akun, Anda bisa 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.

Pelajari selengkapnya di Mengamankan akses ke sumber daya Azure Cosmos DB.
Integrasi direktori Azure (Azure RBAC) Anda juga dapat memberikan atau membatasi akses ke akun Cosmos, database, kontainer, dan menawarkan (throughput) menggunakan kontrol Akses (IAM) di portal Microsoft Azure. IAM menyediakan kontrol akses berbasis peran dan terintegrasi dengan Direktori Aktif. Anda dapat menggunakan peran bawaan atau peran kustom untuk individu dan grup. Lihat artikel integrasi Direktori Aktif untuk informasi selengkapnya.
Replikasi global Azure Cosmos DB menawarkan distribusi global turnkey, yang memungkinkan Anda untuk mereplikasi data ke salah satu pusat data Azure di seluruh dunia dalam satu klik. 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.

Pelajari selengkapnya di Distribusikan 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 wilayah offline. Anda bisa membuat daftar wilayah kegagalan yang diprioritaskan menggunakan wilayah tempat data Anda direplikasi.

Pelajari selengkapnya di Failovers Wilayah di Azure Cosmos DB.
Replikasi lokal Bahkan dalam satu pusat data, Azure Cosmos DB secara otomatis mereplikasi data untuk ketersediaan tinggi yang 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 dicadangkan secara teratur dan disimpan di penyimpanan geo redundan.

Pelajari lebih lanjut di Pencadangan dan pemulihan online otomatis dengan Azure Cosmos DB.
Memulihkan data yang dihapus Pencadangan online otomatis dapat digunakan untuk memulihkan data yang mungkin telah Anda hapus secara tidak sengaja hingga ~30 hari setelah kejadian.

Pelajari lebih lanjut di 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 dan baca-tulis tertentu, atau akses 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, siapa yang memulai operasi, kapan operasi terjadi, status operasi, dan banyak lagi seperti yang ditunjukkan dalam tangkapan layar setelah tabel ini.
Menanggapi serangan Setelah Anda menghubungi dukungan Azure untuk melaporkan potensi serangan, proses respons insiden 5 langkah dimulai. Tujuan dari proses 5 langkah adalah untuk memulihkan keamanan dan operasi layanan normal secepat mungkin setelah masalah terdeteksi dan penyelidikan dimulai.

Pelajari selengkapnya di Microsoft Azure Security Response di Awan.
Pagar geografis Azure Cosmos DB memastikan tata kelola data untuk wilayah berdaulat (misalnya, Jerman, Tiongkok, US Gov).
Fasilitas terlindungi Data di Azure Cosmos DB disimpan di SSD di pusat data terlindungi.

Pelajari selengkapnya di pusat data global Microsoft
Enkripsi HTTPS/SSL/TLS Semua koneksi ke Azure Cosmos DB mendukung HTTPS. Azure Cosmos DB sudah mendukung TLS 1.2.
Sekarang Anda dapat memberlakukan versi TLS minimum sisi server. Untuk membuatnya, buka tiket dukungan Azure.
Enkripsi saat istirahat Semua data yang disimpan ke Azure Cosmos DB dienkripsi saat istirahat. Pelajari lebih lanjut di enkripsi Azure Cosmos DB saat istirahat
Server patch Sebagai database terkelola, Azure Cosmos DB menghilangkan kebutuhan untuk mengelola dan mem-patch server, yang dilakukan untuk Anda, secara otomatis.
Akun administratif dengan kata sandi yang kuat Sulit dipercaya bahwa kami bahkan perlu menyebutkan persyaratan ini, tetapi beda dari beberapa pesaing kami, tidak mungkin untuk memiliki akun administratif tanpa kata sandi di Azure Cosmos DB.

Keamanan melalui autentikasi berbasis rahasia TLS dan HMAC di-bake secara default.
Sertifikasi keamanan dan perlindungan data Untuk daftar sertifikasi terbaru, lihat keseluruhan situs Azure Compliance serta Dokumen Azure Compliance terbaru dengan semua sertifikasi (cari Cosmos).

Cuplikan layar berikut menunjukkan bagaimana cara menggunakan log audit dan log aktivitas untuk memantau akun Anda: 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 menggulir 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, tetapi 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 yang diuraikan di bawah ini. Untuk memantau akun Anda untuk pembaruan kunci dan regenerasi kunci, lihat artikel pembaruan kunci monitor dengan metrik dan peringatan.

Jika aplikasi Anda saat ini menggunakan kunci primer

  1. Arahkan ke akun Azure Cosmos DB Anda di portal Azure.

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

    Screenshot of the Azure portal showing how to regenerate the secondary key

  3. Validasi bahwa kunci sekunder baru berfungsi secara konsisten terhadap akun Azure Cosmos DB Anda. Regenerasi kunci dapat berlangsung dari satu menit hingga beberapa jam tergantung pada ukuran akun 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 of the Azure portal showing how to regenerate the primary key

Jika aplikasi Anda saat ini menggunakan kunci sekunder

  1. Arahkan ke akun Azure Cosmos DB Anda di portal Azure.

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

    Screenshot of the Azure portal showing how to regenerate the primary key

  3. Validasi bahwa kunci primer baru bekerja secara konsisten terhadap akun Azure Cosmos DB Anda. Regenerasi kunci dapat berlangsung dari satu menit hingga beberapa jam tergantung pada ukuran akun 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 of the Azure portal showing how to regenerate the secondary key

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 Microsoft Azure dan navigasikan ke akun Azure Cosmos DB Anda.

  2. Buka panel Log aktivitas dan atur filter berikut:

    • Atur Jenis sumber daya untuk akun Azure Cosmos DB.
    • Atur Operasi menjadi Merotasi kunci.

    Status of key regeneration from Activity log

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

Langkah berikutnya

Untuk informasi selengkapnya tentang kunci primer dan token sumber daya, lihat Mengamankan akses ke data Azure Cosmos DB.

Untuk informasi selengkapnya tentang pengelogan audit, lihat Pengelogan diagnostik Azure Cosmos DB.

Untuk informasi selengkapnya tentang sertifikasi Microsoft, lihat Azure Trust Center.