Izin dan keamanan di Azure Chaos Studio

Azure Chaos Studio memungkinkan Anda meningkatkan ketahanan layanan dengan memasukkan kesalahan secara sistematis ke sumber daya Azure. Injeksi kesalahan adalah cara yang ampuh untuk meningkatkan ketahanan layanan, tetapi juga berbahaya. Menyebabkan kegagalan dalam aplikasi Anda dapat memiliki dampak yang lebih besar daripada yang dimaksudkan semula dan membuka peluang bagi pelaku jahat untuk menyusup ke aplikasi Anda.

Chaos Studio memiliki model izin yang kuat yang mencegah kesalahan dijalankan secara tidak sengaja atau oleh aktor jahat. Dalam artikel ini, Anda mempelajari cara mengamankan sumber daya yang ditargetkan untuk injeksi kesalahan dengan menggunakan Chaos Studio.

Bagaimana saya dapat membatasi kemampuan untuk memasukkan kesalahan dengan Chaos Studio?

Chaos Studio memiliki tiga tingkat keamanan untuk membantu Anda mengontrol bagaimana dan kapan injeksi kesalahan dapat terjadi terhadap sumber daya:

  • Pertama, eksperimen chaos adalah sumber daya Azure yang disebarkan ke wilayah, grup sumber daya, dan langganan. Pengguna harus memiliki izin Azure Resource Manager yang sesuai untuk membuat, memperbarui, memulai, membatalkan, menghapus, atau melihat eksperimen.

    Setiap izin adalah operasi Resource Manager yang dapat ditetapkan secara terperinci ke identitas atau ditetapkan sebagai bagian dari peran dengan izin kartubebas. Misalnya, peran Kontributor di Azure memiliki */write izin pada cakupan yang ditetapkan, yang mencakup Microsoft.Chaos/experiments/write izin.

    Ketika Anda mencoba mengontrol kemampuan untuk menyuntikkan kesalahan terhadap sumber daya, operasi yang paling penting untuk dibatasi adalah Microsoft.Chaos/experiments/start/action. Operasi ini memulai eksperimen kekacauan yang menyuntikkan kesalahan.

  • Kedua, eksperimen chaos memiliki identitas terkelola yang ditetapkan sistem atau identitas terkelola yang ditetapkan pengguna yang menjalankan kesalahan pada sumber daya. Jika Anda memilih untuk menggunakan identitas terkelola yang ditetapkan sistem untuk eksperimen Anda, identitas dibuat pada waktu pembuatan eksperimen di penyewa Microsoft Entra Anda. Identitas terkelola yang ditetapkan pengguna dapat digunakan di sejumlah eksperimen.

    Dalam eksperimen chaos, Anda dapat memilih untuk mengaktifkan penetapan peran kustom pada pilihan identitas terkelola yang ditetapkan sistem atau yang ditetapkan pengguna. Mengaktifkan fungsionalitas ini memungkinkan Chaos Studio untuk membuat dan menetapkan peran kustom yang berisi kemampuan tindakan eksperimen yang diperlukan ke identitas eksperimen Anda (yang belum ada dalam pilihan identitas Anda). Jika eksperimen chaos menggunakan identitas terkelola yang ditetapkan pengguna, peran kustom apa pun yang ditetapkan ke identitas eksperimen oleh Chaos Studio akan bertahan setelah penghapusan eksperimen.

    Jika Anda memilih untuk memberikan izin eksperimen secara manual, Anda harus memberikan izin yang sesuai dengan identitasnya ke semua sumber daya target. Jika identitas eksperimen tidak memiliki izin yang sesuai ke sumber daya, identitas tersebut tidak dapat menjalankan kesalahan terhadap sumber daya tersebut.

  • Ketiga, setiap sumber daya harus di-onboard ke Chaos Studio sebagai target dengan kemampuan yang sesuai diaktifkan. Jika target atau kemampuan untuk kesalahan yang dijalankan tidak ada, eksperimen gagal tanpa memengaruhi sumber daya.

Identitas Terkelola yang Ditetapkan Pengguna

Eksperimen chaos dapat menggunakan identitas terkelola yang ditetapkan pengguna untuk mendapatkan izin yang memadai untuk menyuntikkan kesalahan pada sumber daya target eksperimen. Selain itu, identitas terkelola yang ditetapkan pengguna dapat digunakan di sejumlah eksperimen di Chaos Studio. Untuk menggunakan fungsionalitas ini, Anda harus:

  • Pertama, buat identitas terkelola yang ditetapkan pengguna dalam layanan Identitas Terkelola. Anda dapat menetapkan izin yang diperlukan identitas terkelola yang ditetapkan pengguna untuk menjalankan eksperimen chaos Anda pada saat ini.
  • Kedua, saat membuat eksperimen chaos Anda, pilih identitas terkelola yang ditetapkan pengguna dari Langganan Anda. Anda dapat memilih untuk mengaktifkan penetapan peran kustom pada langkah ini. Mengaktifkan fungsionalitas ini akan memberikan pilihan identitas Anda izin yang diperlukan berdasarkan kesalahan yang terkandung dalam eksperimen Anda.
  • Ketiga, setelah Anda menambahkan semua kesalahan ke eksperimen chaos, tinjau apakah konfigurasi identitas Anda berisi semua tindakan yang diperlukan agar eksperimen chaos Anda berhasil dijalankan. Jika tidak, hubungi administrator sistem Anda untuk mengakses atau mengedit pilihan kesalahan eksperimen Anda.

Autentikasi agen

Saat menjalankan kesalahan berbasis agen, Anda harus menginstal agen Chaos Studio di komputer virtual (VM) atau set skala komputer virtual Anda. Agen menggunakan identitas terkelola yang ditetapkan pengguna untuk mengautentikasi ke Chaos Studio dan profil agen untuk membuat hubungan dengan sumber daya VM tertentu.

Saat Anda melakukan onboarding VM atau set skala komputer virtual untuk kesalahan berbasis agen, Anda terlebih dahulu membuat target agen. Target agen harus memiliki referensi ke identitas terkelola yang ditetapkan pengguna yang digunakan untuk autentikasi. Target agen berisi ID profil agen, yang disediakan sebagai konfigurasi saat Anda menginstal agen. Profil agen unik untuk setiap target dan target unik per sumber daya.

Operasi dan peran Azure Resource Manager

Chaos Studio memiliki operasi berikut:

Operasi Deskripsi
Microsoft.Chaos/targets/[Read,Write,Delete] Dapatkan, buat, perbarui, atau hapus target.
Microsoft.Chaos/targets/capabilities/[Read,Write,Delete] Dapatkan, buat, perbarui, atau hapus kemampuan.
Microsoft.Chaos/locations/targetTypes/Read Dapatkan semua jenis target.
Microsoft.Chaos/locations/targetTypes/capabilityTypes/Read Dapatkan semua jenis kemampuan.
Microsoft.Chaos/experiments/[Read,Write,Delete] Dapatkan, buat, perbarui, atau hapus eksperimen chaos.
Microsoft.Chaos/experiments/start/action Mulai eksperimen chaos.
Microsoft.Chaos/experiments/cancel/action Hentikan eksperimen chaos.
Microsoft.Chaos/experiments/executions/Read Dapatkan status eksekusi untuk menjalankan eksperimen chaos.
Microsoft.Chaos/experiments/getExecutionDetails/action Dapatkan detail eksekusi (status dan kesalahan untuk setiap tindakan) untuk menjalankan eksperimen chaos.

Untuk menetapkan izin ini secara terperinci, Anda dapat membuat peran kustom.

Keamanan jaringan

Semua interaksi pengguna dengan Chaos Studio terjadi melalui Azure Resource Manager. Jika pengguna memulai eksperimen, eksperimen mungkin berinteraksi dengan titik akhir selain Resource Manager, tergantung pada kesalahannya:

  • Kesalahan langsung layanan: Sebagian besar kesalahan langsung layanan dijalankan melalui Azure Resource Manager dan tidak memerlukan titik akhir jaringan yang diizinkan.
  • Kesalahan Chaos Mesh AKS langsung layanan: Kesalahan langsung layanan untuk Azure Kubernetes Service yang menggunakan Chaos Mesh memerlukan akses ke server API Kubernetes kluster AKS.
  • Kesalahan berbasis agen: Untuk menggunakan kesalahan berbasis agen, agen memerlukan akses ke layanan agen Chaos Studio. VM atau set skala komputer virtual harus memiliki akses keluar ke titik akhir layanan agen agar agen berhasil tersambung. Titik akhir layanan agen adalah https://acs-prod-<region>.chaosagent.trafficmanager.net. Anda harus mengganti <region> tempat penampung dengan wilayah tempat VM Anda disebarkan. Contohnya adalah https://acs-prod-eastus.chaosagent.trafficmanager.net untuk VM di US Timur.
  • Jaringan privat berbasis agen: Agen Chaos Studio sekarang mendukung jaringan privat. Silakan lihat Jaringan privat untuk Chaos Agent.

Tag layanan

Tag layanan adalah sekelompok awalan alamat IP yang dapat ditetapkan ke aturan masuk dan keluar untuk grup keamanan jaringan. Ini secara otomatis menangani pembaruan untuk grup awalan alamat IP tanpa intervensi apa pun. Karena tag layanan terutama mengaktifkan pemfilteran alamat IP, tag layanan saja tidak cukup untuk mengamankan lalu lintas.

Anda dapat menggunakan tag layanan untuk secara eksplisit mengizinkan lalu lintas masuk dari Chaos Studio tanpa perlu mengetahui alamat IP platform. Tag layanan Chaos Studio adalah ChaosStudio.

Batasan tag layanan adalah tag layanan hanya dapat digunakan dengan aplikasi yang memiliki alamat IP publik. Jika sumber daya hanya memiliki alamat IP privat, tag layanan tidak dapat merutekan lalu lintas ke dalamnya.

Kasus penggunaan

Chaos Studio menggunakan Tag Layanan untuk beberapa kasus penggunaan.

  • Untuk menggunakan kesalahan berbasis agen, agen Chaos Studio yang berjalan di dalam komputer virtual pelanggan harus berkomunikasi dengan layanan backend Chaos Studio. Tag Layanan memungkinkan pelanggan mengizinkan daftar lalu lintas dari komputer virtual ke layanan Chaos Studio.
  • Untuk menggunakan kesalahan tertentu yang memerlukan komunikasi di luar management.azure.com namespace layanan, seperti kesalahan Chaos Mesh untuk Azure Kubernetes Service, lalu lintas berasal dari layanan Chaos Studio ke sumber daya pelanggan. Tag Layanan memungkinkan pelanggan mengizinkan daftar lalu lintas dari layanan Chaos Studio ke sumber daya yang ditargetkan.
  • Pelanggan dapat menggunakan Tag Layanan lain sebagai bagian dari kesalahan Aturan Grup Keamanan Jaringan untuk memengaruhi lalu lintas ke/dari layanan Azure tertentu.

Dengan menentukan ChaosStudio Tag Layanan dalam aturan keamanan, lalu lintas dapat diizinkan atau ditolak untuk layanan Chaos Studio tanpa perlu menentukan alamat IP individual.

Pertimbangan keamanan

Saat mengevaluasi dan menggunakan tag layanan, penting untuk dicatat bahwa mereka tidak memberikan kontrol terperinci atas alamat IP individual dan tidak boleh diandalkan sebagai metode tunggal untuk mengamankan jaringan. Mereka bukan pengganti untuk langkah-langkah keamanan jaringan yang tepat.

Enkripsi data

Chaos Studio mengenkripsi semua data secara default. Chaos Studio hanya menerima input untuk properti sistem seperti ID objek identitas terkelola, nama eksperimen/langkah/cabang, dan parameter kesalahan. Contohnya adalah rentang port jaringan yang akan diblokir dalam kesalahan pemutusan jaringan.

Properti ini tidak boleh digunakan untuk menyimpan data sensitif, seperti informasi pembayaran atau kata sandi. Untuk informasi selengkapnya tentang cara Chaos Studio melindungi data Anda, lihat Perlindungan data pelanggan Azure.

Customer Lockbox

Lockbox memberi Anda kontrol untuk menyetujui atau menolak permintaan teknisi Microsoft untuk mengakses data eksperimen Anda selama permintaan dukungan.

Lockbox dapat diaktifkan untuk informasi eksperimen chaos, dan izin untuk mengakses data diberikan oleh pelanggan di tingkat langganan jika lockbox diaktifkan.

Pelajari selengkapnya tentang Customer Lockbox untuk Microsoft Azure

Langkah berikutnya

Sekarang setelah Anda memahami cara mengamankan eksperimen kekacauan Anda, Anda siap untuk: