Ansible

Hassas Verileri Korumak İçin Çalışma Kitaplarında Ansible Vault Nasıl Kullanılır – 10. Bölüm

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.

Create an Encrypted File in Ansible
Ansible’da Şifreli Dosya Oluşturma

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.

Encrypted File in Ansible
Ansible’da Şifreli Dosya

Dosya şifrelemesini doğrulamak için cat komutunu aşağıda gösterildiği gibi kullanın.

# cat mysecrets.yml
Verify Encrypted File in Ansible
Şifrelenmiş Dosyayı Ansible’da Doğrulayın

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.

View Encrypted File in Ansible
Şifrelenmiş Dosyayı Ansible’da Görüntüleyin

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.

Edit Encrypted File in Ansible
Ansible’da Şifrelenmiş Dosyayı Düzenleme

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
Change Ansible Vault Password
Ansible Kasa Parolasını Değiştirin

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
Encrypt an Unencrypted File
Şifrelenmemiş bir Dosyayı Şifreleyin

Dosyayı daha sonra aşağıda belirtildiği gibi cat komutunu kullanarak görüntüleyebilirsiniz.

View Encrypted File
Şifreli Dosyayı Görüntüleme

Ş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
Decrypt an Encrypted File
Şifreli Bir Dosyanın Şifresini Çözün

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 
Encrypted Specific Variables in Ansible
Ansible’da Şifrelenmiş Belirli Değişkenler

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'
Assign Encrypted Value in Ansible Playbook
Ansible Playbook’ta Şifreli Değer Atama

Ç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
Decrypt Playbook File During Runtime
Çalışma Zamanı Sırasında Başucu Kitabı Dosyasının Şifresini Çözme

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.