Ansible'ın `--vault-password-file` dosyasının yapılandırma eşdeğeri nedir?


12

Ansible-playbook'un yardımına göre, --user=REMOTE_USERssh kullanıcısını tanımlamak için kullanılabilir , ancak ansible_ssh_user: REMOTE_USERhost- veya group_vars içinde de tanımlanabilir .

Soru

Çalışırken --vault-password-filetanımlanmasını önlemek için group- veya host_vars dizininde hangi değişkenin tanımlanması gerekir ansible-playbook?

Denemeler

  • Ne zaman ansible_vault_password_file: ~/.vault_pass.txtconfig tanımlanan şifre çözme başarısız:

    ERROR! Decryption failed on /path/to/vault
    
  • Bu dokümanda ilişkili kasa değişkeni bulunamadı


Btw şimdi (sürüm 1.7'den) burada belgelenmiştir: docs.ansible.com/ansible/…
Tensibai

Yanıtlar:


13

İşte tanımı:

DEFAULT_VAULT_PASSWORD_FILE = get_config(p, DEFAULTS, 'vault_password_file', \
'ANSIBLE_VAULT_PASSWORD_FILE', None, value_type='path')

Bu, ansible.cfg veya playbook koyduğunuz anlamına gelir:

vault_password_file: ~/.vault_pass.txt

Veya kabuğunuzda bu değişkeni tanımladı:

export ANSIBLE_VAULT_PASSWORD_FILE=~/.vault_pass.txt

Kod metni, belgelerin eksik olduğu ve kodun kolayca nerede bulunabileceği konusunda nasıl yardımcı olabileceğini göstermek için kasıtlı olarak URL metnini orada bıraktım. Ama sanırım bir köprü yeterli olmalı.
Jiri Klouda

Başka bir şey başarısız olursa, belgeleri okuyun ... ve hiçbir belge yoksa, kaynağı okuyun ... erişebiliyorsanız ... ve eğer yaparsanız, doğru sürüme baktığınızdan emin olun .. o zaman geriye kalan tek şey hepsini anlayabilmek. PS: bağlantılar bir gün çalışmayı durdurabilir ...
Pierre.Vriens

@JiriKlouda tanımlanmış olmasına rağmen çalışmıyor gibi görünüyor group_vars/all/vars. export ANSIBLE_VAULT_PASSWORD_FILE=~/.vault_pass.txtkoşmak zorunda kaldı.
030

Bu bir yapılandırma değişkenidir. Ansible.cfg veya eşdeğeri veya oynatma kitabında olmalıdır.
Jiri Klouda

Ayrıca özellikle çalıştırdığınız 2.2 sürümünü kontrol ettim ve orada: github.com/ansible/ansible/blob/stable-2.2/lib/ansible/…
Jiri Klouda

2

ANSIBLE_VAULT_PASSWORD_FILEKasa parolası dosyasının yolunu saklayan bir ortam değişkeni ayarlayabilirsiniz . Bu şekilde, --vault-password-filebir oynatma kitabı çalıştırırken her zaman anahtarı kullanmazsınız .

Bu, Ansible'ın Apps Kasası belgelerinde, burada bulunabilir .

Yani, eklemek export ANSIBLE_VAULT_PASSWORD_FILE=~/.vault_pass.txtiçin için ~/.bash_profileondan, kaynağa ve gitmeye hazırsınız.

Farklı ana bilgisayar grupları için farklı kasa şifrelerine ihtiyacınız varsa, aşağıdakileri yapmanız gerekir:

Bu alt dizinin içinde vars ve vault adlı iki dosya oluşturun. Vars dosyasının içinde, hassas olanlar da dahil olmak üzere gerekli tüm değişkenleri tanımlayın. Ardından, tüm hassas değişkenleri kasa dosyasına kopyalayın ve bu değişkenlerin önüne vault_ önekini ekleyin. Vars dosyasındaki değişkenleri eşleşen vault_ değişkenlerini gösterecek şekilde ayarlamalı ve kasa dosyasının kasa şifreli olduğundan emin olmalısınız.

Bu, grup başına hassas bilgileri yönetmek için en iyi uygulamalar yaklaşımına bir örnektir. Daha fazla bilgiyi Ansible'ın belgelerinde bulabilirsiniz (Yukarıdaki metin oradan kopyalanır).


1
Bu, ana bilgisayar başına farklı bir parolaya izin vermez
Tensibai

Bağlantı şifresinden mi bahsediyorsunuz? Çünkü bunu yaparsanız Ansible Vault ile ortak noktası nedir?
13dimitar

Kasa parolasından bahsettim, farklı gruplar için farklı kasa parolasına sahip olmak isteyen mantıklı (ve anladığım kadarıyla sorunun kökü).
Tensibai

Ben öyle anlamadım. Cevabımı bu senaryoyu içerecek şekilde düzenledim.
13dimitar

daha iyi görünüyor. Btw downvote is not mine
Tensibai
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.