Spec-Zone.ru › Ansible

community.sops.sops lookup – Чтение содержимого файла, зашифрованного с помощью SOPS

Примечание

Этот плагин поиска входит в коллекцию community.sops (версия 1.9.1).

Эта коллекция может быть уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.

Для установки используйте: ansible-galaxy collection install community.sops. Для использования этого плагина поиска потребуются дополнительные требования. Подробности см. в разделе Требования.

Для использования в книге задач укажите: community.sops.sops.

Новое в community.sops 0.1.0

  • Описание
  • Требования
  • Термины
  • Ключевые параметры
  • Примечания
  • См. также
  • Примеры
  • Значение возврата

Описание

  • Этот поиск возвращает содержимое файла из файловой системы контроллера Ansible.
  • Для этого поиска требуется, чтобы исполняемый файл sops был доступен в переменной среды PATH контроллера.

Требования

Ниже перечислены требования к локальному узлу-контроллеру, на котором выполняется этот поиск.

  • Исполняемый файл sops (https://github.com/getsops/sops) должен существовать в PATH или быть настроен как sops_binary.

Термины

Параметр

Комментарии

Термины

строка / обязательно

Пути к файлам для чтения.

Ключевые параметры

Здесь описаны ключевые параметры поиска. Это значения key1=value1, key2=value2 и т. д. в следующих примерах: lookup('community.sops.sops', key1=value1, key2=value2, ...) и query('community.sops.sops', key1=value1, key2=value2, ...)

Параметр

Комментарии

age_key

string

added in community.sops 1.4.0

Один или несколько закрытых ключей age, которые могут быть использованы для расшифровки зашифрованных файлов.

Будет установлен как переменная среды SOPS_AGE_KEY при вызове SOPS.

Требуется SOPS 3.7.1+.

Конфигурация:

  • Переменная среды: ANSIBLE_SOPS_AGE_KEY
  • Переменная: sops_age_key

age_keyfile

path

added in community.sops 1.4.0

Файл, содержащий закрытые ключи age, которые SOPS может использовать для расшифровки зашифрованных файлов.

Будет установлен как переменная среды SOPS_AGE_KEY_FILE при вызове SOPS.

По умолчанию SOPS ищет sops/age/keys.txt в вашем каталоге пользовательской конфигурации.

Требуется SOPS 3.7.0+.

Конфигурация:

  • Запись INI:

    [community.sops]
    age_keyfile = VALUE
    
  • Переменная среды: ANSIBLE_SOPS_AGE_KEYFILE
  • Переменная: sops_age_keyfile

aws_access_key_id

string

added in community.sops 1.0.0

Идентификатор ключа доступа AWS, который будет использоваться для запросов к AWS.

Устанавливает переменную среды AWS_ACCESS_KEY_ID для вызова SOPS.

Конфигурация:

  • Запись INI:

    [community.sops]
    aws_access_key_id = VALUE
    

    added in community.sops 1.2.0

  • Переменная среды: ANSIBLE_SOPS_AWS_ACCESS_KEY_ID

    added in community.sops 1.2.0

  • Переменная: sops_aws_access_key_id

aws_profile

string

added in community.sops 1.0.0

Профиль AWS, который будет использоваться для запросов к AWS.

Это соответствует параметру SOPS --aws-profile.

Конфигурация:

  • Запись INI:

    [community.sops]
    aws_profile = VALUE
    

    added in community.sops 1.2.0

  • Переменная среды: ANSIBLE_SOPS_AWS_PROFILE

    added in community.sops 1.2.0

  • Переменная: sops_aws_profile

aws_secret_access_key

string

added in community.sops 1.0.0

Секретный ключ доступа AWS, который будет использоваться для запросов к AWS.

Устанавливает переменную среды AWS_SECRET_ACCESS_KEY для вызова SOPS.

Конфигурация:

  • Переменная среды: ANSIBLE_SOPS_AWS_SECRET_ACCESS_KEY

    added in community.sops 1.2.0

  • Переменная: sops_aws_secret_access_key

aws_session_token

string

added in community.sops 1.0.0

Токен сессии AWS, который будет использоваться для запросов к AWS.

Устанавливает переменную среды AWS_SESSION_TOKEN для вызова SOPS.

Конфигурация:

  • Запись INI:

    [community.sops]
    aws_session_token = VALUE
    

    added in community.sops 1.2.0

  • Переменная среды: ANSIBLE_SOPS_AWS_SESSION_TOKEN

    added in community.sops 1.2.0

  • Переменная: sops_session_token
  • Переменная: sops_aws_session_token

    added in community.sops 1.2.0

base64

boolean

Кодирует результат в Base64.

Используйте это, если вы хотите хранить двоичные данные в переменных Ansible.

Варианты:

  • false ← (default)
  • true

config_path

path

added in community.sops 1.0.0

Путь к конфигурационному файлу SOPS.

Если не задан, SOPS будет рекурсивно искать конфигурационный файл, начиная с файла, который зашифрован или расшифрован.

Это соответствует параметру SOPS --config.

Конфигурация:

  • Запись INI:

    [community.sops]
    config_path = VALUE
    

    added in community.sops 1.2.0

  • Переменная среды: ANSIBLE_SOPS_CONFIG_PATH

    added in community.sops 1.2.0

  • Переменная: sops_config_path

empty_on_not_exist

boolean

При установке в true, не будет генерироваться ошибка, если файл не найден, а вместо этого будет возвращена пустая строка.

Варианты:

  • false ← (default)
  • true

enable_local_keyservice

boolean

added in community.sops 1.0.0

Указывает SOPS использовать локальный сервис ключей.

Это соответствует параметру SOPS --enable-local-keyservice.

Варианты:

  • false ← (default)
  • true

Конфигурация:

  • Запись INI:

    [community.sops]
    enable_local_keyservice = false
    

    added in community.sops 1.2.0

  • Переменная среды: ANSIBLE_SOPS_ENABLE_LOCAL_KEYSERVICE

    added in community.sops 1.2.0

  • Переменная: sops_enable_local_keyservice

extract

string

added in community.sops 1.9.0

Указывает SOPS извлечь определённый ключ из файла JSON или YAML.

Ожидает строку с тем же синтаксисом ‘querystring’, что и параметр SOPS --encrypt, например ["somekey"][0].

Примечание: Правильно экранируйте кавычки.

input_type

строка

Укажите SOPS, как интерпретировать зашифрованный файл.

По умолчанию SOPS выбирает тип входных данных по расширению файла. Если он определит неправильный тип файла, это может привести к сбою процесса расшифровки.

Значение ini доступно начиная с community.sops 1.9.0.

Варианты:

  • "binary"
  • "json"
  • "yaml"
  • "dotenv"
  • "ini"

keyservice

список / элементы=строка

добавлен в community.sops 1.0.0

Укажите службы ключей, которые следует использовать помимо локальной.

Служба ключей должна быть указана в формате protocol://address, например tcp://myserver.com:5000.

Это соответствует параметру SOPS --keyservice.

Настройка:

  • Запись INI:

    [community.sops]
    keyservice = VALUE
    

    добавлен в community.sops 1.2.0

  • Переменная среды: ANSIBLE_SOPS_KEYSERVICE

    добавлен в community.sops 1.2.0

  • Переменная: sops_keyservice

output_type

строка

Укажите SOPS, как интерпретировать расшифрованный файл.

По умолчанию SOPS выбирает тип выходных данных по расширению файла. Если он определит неправильный тип файла, это может привести к сбою процесса расшифровки.

Значение ini доступно начиная с community.sops 1.9.0.

Варианты:

  • "binary"
  • "json"
  • "yaml"
  • "dotenv"
  • "ini"

rstrip

булево

Удалить ли хвостовые символы новой строки и пробелы.

Варианты:

  • false
  • true ← (по умолчанию)

sops_binary

путь

добавлен в community.sops 1.0.0

Путь к бинарному файлу SOPS.

По умолчанию используется sops.

Настройка:

  • Запись INI:

    [community.sops]
    binary = VALUE
    

    добавлен в community.sops 1.2.0

  • Переменная среды: ANSIBLE_SOPS_BINARY

    добавлен в community.sops 1.2.0

  • Переменная: sops_binary

Примечания

Примечание

  • При совместном использовании ключевых и позиционных параметров, позиционные параметры должны быть перечислены перед ключевыми параметрами: lookup('community.sops.sops', term1, term2, key1=value1, key2=value2) и query('community.sops.sops', term1, term2, key1=value1, key2=value2)
  • Данный поиск не поддерживает «шаблоны» - используйте поиск по файлам вместо этого.

См. также

См. также

community.sops.decrypt плагин фильтра

Фильтр расшифровки может быть использован для расшифровки данных, зашифрованных SOPS, в оперативной памяти.

community.sops.sops плагин переменных

Плагин переменных sops может быть использован для загрузки переменных хоста или группы, зашифрованных SOPS.

community.sops.load_vars

Загрузка переменных, зашифрованных SOPS, из файлов динамически в задаче.

Примеры

- name: Output secrets to screen (BAD IDEA!)
  ansible.builtin.debug:
    msg: "Content: {{ lookup('community.sops.sops', item) }}"
  loop:
    - sops-encrypted-file.enc.yaml

- name: Add SSH private key
  ansible.builtin.copy:
    # Note that rstrip=false is necessary for some SSH versions to be able to use the key
    content: "{{ lookup('community.sops.sops', user + '-id_rsa', rstrip=false) }}"
    dest: /home/{{ user }}/.ssh/id_rsa
    owner: "{{ user }}"
    group: "{{ user }}"
    mode: 0600
  no_log: true  # avoid content to be written to log

- name: The file file.json is a YAML file, which contains the encryption of binary data
  ansible.builtin.debug:
    msg: "Content: {{ lookup('community.sops.sops', 'file.json', input_type='yaml', output_type='binary') }}"

Значение возврата

Ключ

Описание

Значение возврата

список / элементы=строка

Содержимое расшифрованного файла.

Возвращено: успех

Авторы

  • Edoardo Tenani (@endorama)

Подсказка

Записи конфигурации для каждого типа имеют порядок приоритета от низкого к высокому. Например, переменная, расположенная ниже в списке, переопределяет переменную, расположенную выше.

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (источники)
  • Задать вопрос (SOPS)
  • Отправить сообщение об ошибке
  • Запросить функцию
  • Связь

© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/sops/sops_lookup.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API