Copie com segurança o arquivo de um minion Sal para outro

3

Como uso o Salt para copiar com segurança um arquivo confidencial (uma chave criptográfica) de um lacaio especifico para outro lacao especifico? Eu não quero que nenhum outro laca seja capaz de ler o arquivo.

Mina de sal?

A Sal Mine parece ser um lugar lógico para começar, mas a documentação diz:

The Salt Mine is used to collect arbitrary data from Minions and store it on the Master. This data is then made available to all Minions via the salt.modules.mine module.

Eu não quero que os dados sejam disponibilizados para todos os minions, apenas um. Além disso, não preciso da atualização periódica - só preciso que o arquivo seja lido sempre que eu executar state.highstate para o servo de destino.

cp.push ?

Salt's cp.push função parece ser uma boa maneira de obter o arquivo para o mestre, exceto:

  • ele usa o método salt.transport.Channel.send() , que não é garantido como confidencial
  • o mestre fornece os arquivos enviados por cp.push permissões de leitura globais no sistema de arquivos do mestre
  • uma vez que o arquivo está no master, não é óbvio como obtê-lo para o minion de destino

Pilar Externo Personalizado?

Eu poderia escrever um pilar externo personalizado que de alguma forma leia o arquivo da fonte minion (como?) e, em seguida, torna o conteúdo do arquivo disponível através de um pilar para um segundo lacaio. Isso parece ser um grande esforço para um comportamento que deve ser incorporado.

    
por Richard Hansen 14.03.2016 / 03:37

1 resposta

0

Esta é apenas uma meia resposta, mas talvez ajude.

Você escreveu:

once the file is on the master, it's not obvious how to get it to the destination minion

e:

I could write a custom external pillar that somehow ... makes the file's contents available via a pillar to a second minion.

Esse recurso (o file_tree pilar externo) é agora em sal a partir de 2015.5.0. Veja isto FAQ .

Quanto a como obter o arquivo do minion de origem para o master, o paradigma salt é mais para o master ser a fonte de dados. Você pode:

  • O que quer que gira a chave, escreve para o mestre?
  • Aciona um evento que um reator acessa e busca via scp?
  • Configurar uma montagem NFS compartilhada entre os dois minions que desejam compartilhar a chave (ou o minion e o master de origem)?
  • Configure um servidor da Web https no minion de origem com as ACLs permitir apenas o acesso ao mestre ou ao destino?
por 19.03.2016 / 08:02