‫Baiklah,
‫jadi fitur baru dalam 1. 13. Saya mendukung penuh rahasia.
‫Jika saya harus membuat tag line apa ini, itu pada dasarnya solusi aman termudah untuk menyimpan rahasia di
‫Swarm. “Saya katakan
‫itu yang termudah karena terpasang di Swarm, ia keluar dari
‫kotak, dan tidak ada yang perlu Anda lakukan untuk menggunakannya. Selama Anda menginisialisasi kawanan Anda dan pada versi
‫1 Anda. 13
‫atau lebih baru, Anda punya rahasia. Saya mengatakan itu aman karena dirancang dari bawah
‫ke atas untuk dienkripsi pada disk untuk dienkripsi dalam perjalanan dan hanya tersedia di tempat-tempat yang diperlukan.
‫Dan itulah yang benar-benar kita butuhkan.
‫Jadi apa rahasia itu? Rahasia, dalam hal ini, adalah mengklasifikasikan apa pun yang tidak Anda
‫inginkan di halaman depan surat kabar. Jika ada di halaman depan dan Anda
‫harus mengubahnya, itu rahasia.
‫Itu adalah nama pengguna atau
‫kata sandi, sertifikat TLS atau kunci untuk
‫itu, ini adalah
‫kunci SSH, itu adalah kunci Twitter API, ini adalah kunci Amazon, itu adalah apa pun yang Anda perlukan untuk memungkinkan
‫konektivitas antar barang mungkin rahasia dan Anda harus melindunginya.
‫Hingga saat ini kami belum memiliki banyak pilihan hebat untuk Swarm.
‫Jelas ada banyak opsi di luar sana seperti Vault dan alat hebat lainnya untuk menyimpan rahasia, tetapi
‫mereka tidak dibangun di dalam dan mereka membutuhkan pengaturan infrastruktur terpisah sehingga Anda bahkan
‫bisa mulai menggunakannya.
‫Jadi, kita bisa menyimpan apa pun di sini yang berupa string atau biner. Ukurannya 5MB.
‫Dan bagian paling keren tentang ini adalah sebenarnya tidak mengharuskan aplikasi Anda ditulis ulang
‫untuk menggunakannya.
‫Anda tidak perlu meminta aplikasi berbicara dengan layanan web di tempat lain untuk mendapatkannya.
‫Jadi mari kita lihat cara kerjanya.
‫Mulai 1. 13. 0 database Swarm Raft dienkripsi pada disk secara default. Jika Anda menginstal Docker dan melakukan
‫init seperti yang telah kami lakukan sebelumnya, itu
‫adalah basis data terenkripsi.
‫Dan ketika mematikan layanan, itu dienkripsi dengan kunci yang disimpan dengan aman.
‫Ini hanya disimpan pada disk node manajer dan hanya mereka yang memiliki kunci
‫untuk membuka kunci atau mendekripsi.
‫Ini sudah ada di Swarm, tetapi pada dasarnya cara kunci turun
‫ke kontainer adalah melalui bidang kontrol atau komunikasi jaringan TLS
‫terenkripsi antara Manajer dan Pekerja. Dan, koneksi itu sudah aman, sudah menggunakan TLS dan otentikasi
‫mutual PKI, jadi itu cara yang bagus untuk menggunakan saluran yang ada untuk membawa rahasia ini ke wadah kami.
‫Cara kita mendapatkannya adalah kita benar-benar pertama-tama memasukkannya ke dalam database Swarm menggunakan perintah
‫rahasia Docker.
‫Kemudian kami menugaskan mereka ke layanan apakah kami menggunakan perintah layanan sendiri atau file tumpukan untuk
‫memberi tahu Swarm siapa yang diizinkan menggunakan rahasia ini. Kuncinya di sini adalah hanya karena ada sebuah wadah pada host
‫atau pada sebuah node dan Anda telah menetapkan kunci untuk layanan itu, tidak berarti kontainer lain
‫dapat mengaksesnya.
‫Karena ini dibangun untuk Mesin Docker, Pekerja Docker menjaga kunci aman di memori saja dan hanya
‫turun ke wadah pada node yang membutuhkannya.
‫Sekarang, bagaimana mereka disajikan dalam sistem file ke wadah, apakah itu terlihat seperti file pada hard drive ke aplikasi
‫Anda di dalam wadah.
‫Tapi sebenarnya bukan itu. Mereka tidak benar-benar berjalan di disk. Mereka berada dalam memori hanya menggunakan
‫sistem file ramfs dan Anda akan mendapatkan mereka di bawah direktori / run / secrets di mana itu akan, secara default,
‫menjadi nama yang Anda berikan rahasia sebagai file.
‫Kemudian ketika Anda hanya mengakses file itu, Anda akan melihat satu rahasia yang ada di dalamnya.
‫Jika Anda menganggap ini seperti penyimpanan
‫nilai kunci, kuncinya adalah nama file dan nilainya adalah apa yang ada di dalamnya.
‫Kami juga dapat mengatur alias sehingga kami dapat memiliki beberapa nama untuk tombol yang sama dan kami akan melihat bagaimana hal itu
‫bisa terjadi nanti.
‫Untuk pengembangan lokal, jika Anda menggunakan file tumpukan yang memiliki tugas rahasia di dalamnya, itu sebenarnya akan berfungsi di
‫Docker Compose di mesin lokal Anda.
‫Sekarang, lagi-lagi docker-compose, baris perintah, tidak boleh digunakan dalam produksi di server produksi.
‫Khususnya dalam kasus ini, sebenarnya memalsukan keamanan.
‫Jadi apa yang terjadi adalah kita benar-benar ingin pengembang Docker atau pengguna Docker di mesin mereka untuk
‫dapat menggunakan file stack sebanyak mungkin.
‫Jadi kontainer yang Anda jalankan di mesin lokal Anda, akan benar-benar melihat rahasia seperti yang mereka
‫lakukan di Swarm.
‫Tetapi kami tidak memiliki Swarm di mesin lokal kami kecuali kami menginisialisasi di sana, yang
‫kebanyakan orang tidak akan melakukannya.
‫Dan cara kami menyimpan rahasia ada di basis data Swarm.
‫Jadi ini mungkin agak jelas bagi Anda tetapi rahasia tergantung pada Swarm. Itu hanya masalah Swarm. Jika Anda tidak memiliki
‫Swarm, Anda tidak dapat menggunakan rahasia.
‫Namun, perintah docker-compose memiliki solusi di mana ia benar-benar memasang rahasia dalam file teks yang jelas
‫ke dalam wadah lokal.
‫Nah, itu tidak aman, tetapi itu memungkinkan kami untuk menggunakan rahasia secara lokal di mesin kami.
‫Ini bukan sesuatu yang Anda ingin gunakan dalam produksi, itulah sebabnya kami memiliki toko aman untuk
‫Swarm.