Spec-Zone.ru › Ansible

модуль community.hashi_vault.vault_token_create – Создание токена HashiCorp Vault

Примечание

Этот модуль входит в состав коллекции community.hashi_vault (версия 6.2.0).

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

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

Для использования в playbook используйте: community.hashi_vault.vault_token_create.

Новая в community.hashi_vault 2.3.0

  • Описание
  • Требования
  • Параметры
  • Атрибуты
  • Примечания
  • См. также
  • Примеры
  • Возвращаемые значения

Описание

  • Создаёт токен в HashiCorp Vault, возвращая ответ, включая токен.

Требования

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

  • hvac (Python библиотека)
  • Подробные требования см. на странице требований коллекции.

Параметры

Параметр

Комментарии

auth_method

string

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

none auth method was added in collection version 1.2.0.

cert auth method was added in collection version 1.4.0.

aws_iam_login was renamed aws_iam in collection version 2.1.0 and was removed in 3.0.0.

azure auth method was added in collection version 3.2.0.

Варианты:

  • "token" ← (default)
  • "userpass"
  • "ldap"
  • "approle"
  • "aws_iam"
  • "azure"
  • "jwt"
  • "cert"
  • "none"

aws_access_key

aliases: aws_access_key_id

string

Ключ доступа AWS для использования.

aws_iam_server_id

string

added in community.hashi_vault 0.2.0

Если указано, устанавливает значение для использования в заголовке X-Vault-AWS-IAM-Server-ID в рамках запроса GetCallerIdentity.

aws_profile

aliases: boto_profile

string

Профиль AWS

aws_secret_key

aliases: aws_secret_access_key

string

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

aws_security_token

string

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

azure_client_id

string

added in community.hashi_vault 3.2.0

Идентификатор клиента (также известный как идентификатор приложения) субъекта безопасности Azure AD или управляемой идентичности. Должен быть UUID.

Если не указан, будет использоваться назначенная системой управляемая идентичность.

azure_client_secret

string

added in community.hashi_vault 3.2.0

Секретный ключ клиента субъекта безопасности Azure AD.

azure_resource

string

added in community.hashi_vault 3.2.0

URL ресурса для приложения, зарегистрированного в Azure Active Directory. Обычно не следует изменять значение по умолчанию.

Значение по умолчанию: "https://management.azure.com/"

azure_tenant_id

string

added in community.hashi_vault 3.2.0

Идентификатор клиента Azure Active Directory (также известный как идентификатор каталога) субъекта безопасности. Должен быть UUID.

Требуется при использовании субъекта безопасности для аутентификации в Vault, например, требуется, когда указаны как azure_client_id, так и azure_client_secret.

Необязательно при использовании управляемой идентичности для аутентификации в Vault.

ca_cert

aliases: cacert

string

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

Если не указано иными способами, будет использоваться переменная среды VAULT_CACERT.

cert_auth_private_key

path

added in community.hashi_vault 1.4.0

Для аутентификации cert, путь к файлу с закрытым ключом для аутентификации в формате PEM.

cert_auth_public_key

path

added in community.hashi_vault 1.4.0

Для аутентификации cert, путь к файлу сертификата для аутентификации в формате PEM.

display_name

string

Отображаемое имя токена.

entity_alias

string

Имя псевдонима сущности, который будет связан во время создания токена.

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

Если это указано, сущность не будет унаследована от родителя.

explicit_max_ttl

string

Если установлено, токен будет иметь явно заданное максимальное время жизни (TTL).

Это максимальное время жизни токена не может быть изменено позже, и в отличие от обычных токенов, обновления значения максимального TTL системы/монтирования не будут иметь эффекта во время обновления.

Токен никогда не сможет быть продлен или использован после значения, установленного во время выдачи.

id

string

Идентификатор клиентского токена. Может быть указан только корневым токеном.

Предоставленный идентификатор не может содержать символ ..

В противном случае идентификатор токена является случайным сгенерированным значением.

jwt

string

JSON Web Token (JWT), который будет использоваться для JWT-аутентификации в Vault.

meta

словарь

Словарь метаданных со строковыми значениями. Передаётся устройствам аудита.

mount_point

строка

Точка подключения Vault.

Если не указано, используется значение по умолчанию для данного метода авторизации.

Не применяется к авторизации по токену.

namespace

строка

Пространство имён Vault, где хранятся секреты. Этот параметр требует HVAC 0.7.0+ и Vault 0.11+.

Можно использовать префикс к точке подключения для аутентификации и/или пути к секрету (например mynamespace/secret/mysecret).

Если установлена переменная среды VAULT_NAMESPACE, её значение будет использовано последним по сравнению с другими способами указания namespace.

no_default_policy

логическое

Если true, политика по умолчанию не будет включена в набор политик данного токена.

Если токен будет использоваться с этим модулем, установите token_validate=false.

Выбор:

  • false
  • true

no_parent

логическое

Этот параметр эффективен только при использовании root или sudo вызова и только тогда, когда orphan=false.

При true, созданный токен не будет иметь родителя.

Выбор:

  • false
  • true

num_uses

целое число

Максимальное количество использований данного токена. Может быть использован для создания токена одноразового использования или с ограниченным использованием.

Значение 0 не имеет ограничения на количество использований.

orphan

логическое

При true, используется конечная точка API /create-orphan, которая требует sudo (но не root) для создания оборванного токена.

С hvac>=1.0.0, требуется версия модуля >=3.3.0.

Выбор:

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

password

строка

Пароль для аутентификации.

period

строка

Если указано, токен будет периодическим.

У него не будет максимального срока действия (если не установлен explicit_max_ttl), но каждое обновление будет использовать указанный период.

Требуется root-токен или токен с возможностью sudo.

policies

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

Список политик для токена. Он должен быть подмножеством политик, принадлежащих токену, который делает запрос, если это не root-токен.

Если не указано, по умолчанию используется все политики вызывающего токена.

proxies

любой

добавлено в community.hashi_vault 1.1.0

URL(ы) прокси-серверов, используемых для доступа к службе Vault.

Может быть строкой или словарем.

Если это словарь, укажите схему (например, http или https) в качестве ключа, а URL в качестве значения.

Если это строка, укажите единственный URL, который будет использоваться как прокси для схем http и https.

Строка, которая может быть интерпретирована как словарь, будет преобразована в него (см. примеры).

Можно указать разные прокси для ресурсов HTTP и HTTPS.

Если не указано, используются переменные среды из библиотеки Requests.

region

строка

AWS регион для создания соединения.

renewable

логическое

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

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

Выбор:

  • false
  • true

retries

любой

добавлено в community.hashi_vault 1.3.0

Разрешает повторные попытки при ошибках, на основе класса Retry в библиотеке urllib3.

Этот модуль определяет рекомендуемые значения по умолчанию для повторных подключений к Vault.

Этот параметр может быть задан как положительное число (целое число) или словарь.

Если этот параметр не указан или число равно 0, повторные попытки отключены.

Число задаёт общее количество повторных попыток и использует значения по умолчанию модуля для других параметров.

Значение в виде словаря используется непосредственно для инициализации класса Retry, что позволяет полностью настроить повторные попытки.

Подробная информация о повторных попытках приведена в руководстве пользователя модуля.

retry_action

строка

добавлено в community.hashi_vault 1.3.0

Управляет отображением сообщений о повторных попытках.

Это не повлияет, если запрос не будет повторён.

Выбор:

  • "ignore"
  • "warn" ← (по умолчанию)

role_id

строка

Идентификатор или имя роли Vault. Используется в approle, aws_iam, azure и cert методах авторизации.

Для cert авторизации, если role_id не указан, по умолчанию происходит попытка всех ролей сертификатов, и возвращается любая подходящая.

Для azure авторизации, role_id обязателен.

role_name

строка

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

secret_id

строка

Идентификатор секрета, используемый для аутентификации Vault AppRole.

timeout

целое число

добавлено в community.hashi_vault 1.3.0

Устанавливает тайм-аут соединения в секундах.

Если не задано, используется значение по умолчанию библиотеки hvac.

token

строка

Токен Vault. Токен может быть указан явно, через перечисленные переменные среды [env] и также через переменную среды VAULT_TOKEN.

Если токен не указан явно или через среду, плагин проверит файл токена, как определено в token_path и token_file.

Порядок загрузки токенов (первый найденный имеет приоритет) — token param -> ansible var -> ANSIBLE_HASHI_VAULT_TOKEN -> VAULT_TOKEN -> token file.

token_file

строка

Если токен не указан, попытается прочитать токен из этого файла в token_path.

По умолчанию: ".vault-token"

token_path

строка

Если токен не указан, попытается прочитать token_file из этого пути.

token_validate

логическое значение

добавлено в community.hashi_vault 0.2.0

Для аутентификации по токену выполнит операцию lookup-self, чтобы определить валидность токена перед использованием.

Отключить, если ваш токен не имеет возможности lookup-self.

Варианты:

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

ttl

строка

Период действия токена, указанный как 1h, где час — наибольший суффикс.

Если не указано, токен действует по умолчанию lease TTL или неограниченно, если используется корневая политика.

type

строка

Тип токена. По умолчанию определяется конфигурацией роли, указанной в role_name.

Варианты:

  • "batch"
  • "service"

url

строка

URL-адрес Vault-сервиса.

Если не указано другими средствами, используется значение переменной среды VAULT_ADDR.

Если также не определено VAULT_ADDR, то будет выдано сообщение об ошибке.

username

строка

Имя пользователя для аутентификации.

validate_certs

логическое значение

Управляет проверкой и валидацией сертификатов SSL, в основном нужно выключать только при самоподписанных.

Будет заполнен обратной величиной VAULT_SKIP_VERIFY, если он установлен и validate_certs не указан явно.

Будет по умолчанию true, если ни validate_certs ни VAULT_SKIP_VERIFY не заданы.

Варианты:

  • false
  • true

wrap_ttl

строка

Указывает, что создание токена обертывается с указанной продолжительностью. Например, 15s, 20m, 25h.

Атрибуты

Атрибут

Поддержка

Описание

action_group

Группа действий: community.hashi_vault.vault

Используйте group/community.hashi_vault.vault в module_defaults для установки значений по умолчанию для данного модуля.

check_mode

Поддержка: частичная

В режиме проверки этот модуль не создаст токен, а вместо этого вернёт базовую структуру с пустым токеном. Однако это может быть бесполезно, если токен необходим для последующих задач.

Возможно, лучше использовать этот модуль с check_mode=false, чтобы получить действительный токен, который можно использовать.

Может работать в режиме check_mode и возвращать прогноз состояния изменения без модификации целевого объекта.

Примечания

Примечание

  • Создание токена — операция записи (создание токена, сохраняемого в хранилище), поэтому этот модуль всегда сообщает changed=True.
  • Однако для целей сценариев Ansible может быть полезнее установить changed_when=false, если вы выполняете проверки идемпотентности на целевой системе.

См. также

См. также

community.hashi_vault.vault_token_create lookup

Официальная документация плагина поиска community.hashi_vault.vault_token_create.

community.hashi_vault.vault_login

Выполнение операции входа в HashiCorp Vault.

community.hashi_vault.vault_login lookup

Официальная документация плагина поиска community.hashi_vault.vault_login.

community.hashi_vault.vault_login_token filter

Официальная документация плагина фильтра community.hashi_vault.vault_login_token.

Примеры

- name: Login via userpass and create a child token
  community.hashi_vault.vault_token_create:
    url: https://vault:8201
    auth_method: userpass
    username: user
    password: '{{ passwd }}'
  register: token_data

- name: Retrieve an approle role ID using the child token (token via filter)
  community.hashi_vault.vault_read:
    url: https://vault:8201
    auth_method: token
    token: '{{ token_data | community.hashi_vault.vault_login_token }}'
    path: auth/approle/role/role-name/role-id
  register: approle_id

- name: Retrieve an approle role ID using the child token (token via direct dict access)
  community.hashi_vault.vault_read:
    url: https://vault:8201
    auth_method: token
    token: '{{ token_data.login.auth.client_token }}'
    path: auth/approle/role/role-name/role-id
  register: approle_id

# implicitly uses token auth with a token from the environment
- name: Create an orphaned token with a short TTL
  community.hashi_vault.vault_token_create:
    url: https://vault:8201
    orphan: true
    ttl: 60s
  register: token_data

- name: Display the full response
  ansible.builtin.debug:
    var: token_data.login

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

Общие значения возврата документированы здесь, следующие поля уникальны для данного модуля:

Ключ

Описание

login

словарь

Результат операции создания токена.

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

Пример: {"auth": {"client_token": "s.rlwajI2bblHAWU7uPqZhLru3"}, "data": null}

auth

словарь

Член auth ответа токена.

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

client_token

строка

Содержит недавно созданный токен.

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

data

словарь

Член data ответа токена.

Возвращено: успешно, когда доступно

Авторы

  • Brian Scholer (@briantist)

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

  • Система отслеживания ошибок
  • Репозиторий (источники)
  • Обсуждение, вопросы и ответы, устранение неполадок
  • Общение

© 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/hashi_vault/vault_token_create_module.html

Spec-Zone.ru

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