У меня есть ряд систем (в AWS) что вся потребность доступ SSH без пароля друг к другу. Я записал Соленое состояние, которое копирует пару ключей (общедоступные/частные ключи SSH-RSA, которые я ранее генерировал), и добавляет соответствующую запись в authorized_keys файл пользователя.
Прямо сейчас я храню открытые и закрытые ключи как файлы в Соленом состоянии и получаю их в моем определении состояния. Однако я заметил в salt.states.file.managed () документацию, что они обеспечивают пример, который хранит закрытый ключ в Столбе и затем использует contents_pillar
получить содержание закрытого ключа.
Существует ли причина, я мог бы хотеть сохранить свое частное (или даже общественность) ключевое содержание в Столбе вместо просто файла в каталоге состояния? Я не уверен, существует ли преимущество безопасности, помещающее его там, так как содержание закончится в каждой системе так или иначе. Я использовал Столб для нескольких других вещей, но не было уверено, был ли хороший случай для использования его здесь.
Все состояния доступны для чтения всеми миньонами , поэтому кто-то (с соответствующими разрешениями), вошедший в любой из ваших миньонов, может прочитать закрытые ключи, которые вы храните в состояниях.
Столб данные могут быть ограничены соответствующими миньонами . Здесь вы храните все, что является конфиденциальным для одного или только нескольких миньонов.
Вы должны прочитать страницу документации по столбу: http://docs.saltstack.com/en/latest/topics/pillar/index. html
Вот это примечание:
Хранение конфиденциальных данных
В отличие от дерева состояний, данные столбца доступны только для целевых миньон, указанный типом сопоставления. Это делает его полезным для хранения конфиденциальные данные, относящиеся к определенному миньону.