Ansible’ı kullanmaya devam ederken, çalışma kitaplarına bazı gizli veya özel bilgiler girmeniz gerekebilir. Bunlar, SSH özel ve genel anahtarlarını, parolaları ve SSL sertifikalarını içerebilir. Bildiğiniz gibi, bariz nedenlerden dolayı bu hassas bilgileri düz metin olarak kaydetmek kötü bir uygulamadır. Bu bilgilerin kilit altında tutulması gerekir çünkü bilgisayar korsanları veya yetkisiz kullanıcılar tarafından ele geçirildiğinde ne olacağını ancak hayal edebilirsiniz.
Neyse ki, Ansible bize Ansible Vault olarak bilinen kullanışlı bir özellik sağlıyor. Adından da anlaşılacağı gibi Ansible Vault, daha önce tartıştığımız gibi hayati gizli bilgilerin güvenliğini sağlamaya yardımcı olur. Ansible Vault, daha sonra göstereceğimiz gibi değişkenleri, hatta tüm dosyaları ve YAML oyun kitaplarını şifreleyebilir. Dosyaları şifrelerken ve şifrelerini çözerken aynı parolayı gerektiren çok kullanışlı ve kullanıcı dostu bir araçtır.
Şimdi konuya girelim ve Ansible Vault kullanılarak gerçekleştirilebilecek çeşitli işlemlere genel bir bakış atalım.
Ansible’da Şifreli Dosya Nasıl Oluşturulur
Şifreli bir Çalışma Kitabı dosyası oluşturmak istiyorsanız, ansible-vault create komutunu kullanmanız ve dosya adını gösterildiği gibi sağlamanız yeterlidir.
# ansible-vault create filename
Örneğin, mysecrets.yml şifreli bir dosya oluşturmak için aşağıdaki komutu yürütün.
# ansible-vault create mysecrets.yml
Bundan sonra sizden bir şifre istenecek ve şifreyi onayladıktan sonra vi editörünü kullanarak oyunlarınızı yazmaya başlayabileceğiniz yeni bir pencere açılacaktır.
Aşağıda bazı bilgilerin bir örneği verilmiştir. İşiniz bittiğinde, çalışma kitabını kaydedin ve çıkın. Ve şifrelenmiş bir dosya oluştururken bununla ilgili.
Dosya şifrelemesini doğrulamak için cat komutunu aşağıda gösterildiği gibi kullanın.
# cat mysecrets.yml
Ansible’da Şifrelenmiş Bir Dosyayı Görüntüleme
Şifreli bir dosyayı görüntülemek istiyorsanız, aşağıda gösterildiği gibi ansible-vault view komutunu kullanmanız yeterlidir.
# ansible-vault view mysecrets.yml
Bir kez daha, bir şifre girmeniz istenecektir. Artık, bilgilerinize erişebileceksiniz.
Ansible’da Şifrelenmiş Bir Dosya Nasıl Düzenlenir
Şifrelenmiş bir dosyada değişiklik yapmak için ansible-vault edit komutunu aşağıda gösterildiği gibi kullanın.
# ansible-vault edit mysecrets.yml
Her zaman olduğu gibi, şifreyi girin ve ardından dosyayı düzenlemeye devam edin.
Düzenlemeyi bitirdikten sonra, kaydedin ve vim düzenleyiciden çıkın.
Ansible Vault Parolası Nasıl Değiştirilir?
Ansible vault parolasını değiştirme ihtiyacı duymanız durumunda, bunu aşağıda gösterildiği gibi ansible-vault rekey komutunu kullanarak kolayca yapabilirsiniz.
# ansible-vault rekey mysecrets.yml
Bu, sizden vault parolasını ister ve daha sonra sizden yeni parolayı girmenizi ve daha sonra onaylamanızı ister.
Ansible’da Şifrelenmemiş Bir Dosya Nasıl Şifrelenir
Diyelim ki şifrelenmemiş bir dosyayı şifrelemek istiyorsunuz, bunu gösterildiği gibi ansible-vault encrypt komutunu çalıştırarak yapabilirsiniz.
# ansible-vault encrypt classified.txt
Dosyayı daha sonra aşağıda belirtildiği gibi cat komutunu kullanarak görüntüleyebilirsiniz.
Şifreli Bir Dosyanın Şifresini Çözme
Şifrelenmiş bir dosyanın içeriğini görüntülemek için, aşağıdaki örnekte gösterildiği gibi ansible-vault şifrelemesini kullanarak dosyanın şifresini çözmeniz yeterlidir.
# ansible-vault decrypt classified.txt
Ansible’da Belirli Değişkenler Nasıl Şifrelenir
Ek olarak, Ansible vault size belirli değişkenleri şifreleme yeteneği verir. Bu, gösterildiği gibi ansible-vault encrypt_string komutu kullanılarak yapılır.
# ansible-vault encrypt_string
Ansible vault sizden parola isteyecek ve daha sonra parolayı onaylamanızı isteyecektir. Ardından, şifrelemek istediğiniz dize değerini yazın. Son olarak, ctrl + d tuşlarına basın. Bundan sonra, bir çalışma kitabında şifrelenmiş değeri atamaya başlayabilirsiniz.
Bu durum, aşağıda gösterildiği gibi tek bir satırda elde edilebilir.
# ansible-vault encrypt_string 'string' --name 'variable_name'
Çalışma Zamanı Sırasında Bir Başucu Kitabı Dosyasının Şifresini Çözme
Bir çalışma kitabı dosyanız varsa ve çalışma sırasında şifresini çözmek istiyorsanız, gösterildiği gibi –ask-vault-pass seçeneğini kullanın.
# ansible-playbook deploy.yml --ask-vault-pass
Bu, aynı parola kullanılarak şifrelenmiş olmaları koşuluyla çalışma kitabında kullanılan tüm dosyaların şifresini çözer.
Parola istemleri bazen can sıkıcı olabilir. Bu istemler, özellikle otomasyon anahtar olduğunda, otomasyonu savunulamaz hale getirir. Çalışma zamanı sırasında çalışma kitaplarının şifresini çözme sürecini kolaylaştırmak için, Ansible vault parolasını içeren ayrı bir parola dosyasına sahip olmanız önerilir. Bu dosya daha sonra çalışma sırasında gösterildiği gibi iletilebilir.
# ansible-playbook deploy.yml --vault-password-file /home/tecmint/vault_pass.txt
Bu, bizi bu konunun ve Ansible otomasyon serisinin sonucuna getiriyor. Öğreticilerin, görevleri tek bir merkezi sistemden birden çok sunucuda nasıl otomatikleştirebileceğiniz konusunda bazı yararlı bilgiler aşıladığını umuyoruz.
Yazının orijinalini buradan okuyabilirsiniz.
Kariyerime 26 yıl önce başladım. Windows ve Linux sistemlerinin kurulumu, yapılandırılması, yönetimi ve bakımı dahil olmak üzere birden fazla sistem üzerinde uzmanlaştım.
Açık kaynak dünyasındaki en son gelişmelerden haberdar olmaktan ve Linux hakkındaki en son araçları, özellikleri ve hizmetleri denemekten hoşlanıyorum.
Son 6 yıldır sistem ve ağ yöneticisi olarak görev yapıyorum ayrıca Pardus Dönüşüm Projesini yönetiyorum ve Pardus İşletim Sisteminin yaygınlaşması adına uğraş gösteriyorum.
Boş zamanlarımda açık kaynaklı uygulamaların Türkçe çevirisine katılıyorum ve The Document Foundation üyesiyim.