Spec-Zone.ru › Ansible

Модуль community.hashi_vault.vault_token_create — создание токена HashiCorp Vault

Примечание

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

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

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

Чтобы использовать модуль в плейбуке, укажите: community.hashi_vault.vault_token_create.

Добавлено в community.hashi_vault 2.3.0

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

Краткое описание

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

Требования

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

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

Параметры

Параметр

Комментарии

auth_method

string

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

Метод аутентификации none добавлен в версию коллекции 1.2.0.

Метод аутентификации cert добавлен в версию коллекции 1.4.0.

aws_iam_login переименован в aws_iam в версии коллекции 2.1.0 и удален в 3.0.0.

Метод аутентификации azure добавлен в версию коллекции 3.2.0.

Метод аутентификации gcp добавлен в версию коллекции 7.1.0.

Варианты:

  • "token" ← (по умолчанию)
  • "userpass"
  • "ldap"
  • "approle"
  • "aws_iam"
  • "azure"
  • "jwt"
  • "cert"
  • "gcp"
  • "none"

aws_access_key

псевдонимы: aws_access_key_id

string

Используемый ключ доступа AWS.

aws_iam_server_id

string

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

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

aws_profile

псевдонимы: boto_profile

string

Профиль AWS.

aws_secret_key

псевдонимы: aws_secret_access_key

string

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

aws_security_token

string

Токен безопасности AWS при использовании временных ключей доступа и секретных ключей.

azure_client_id

string

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

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

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

azure_client_secret

string

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

Секрет клиента субъекта-службы Azure AD.

azure_resource

string

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

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

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

azure_tenant_id

string

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

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

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

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

ca_cert

псевдонимы: cacert

string

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

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

cert_auth_private_key

path

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

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

cert_auth_public_key

path

добавлено в 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 токена нельзя изменить позднее; в отличие от обычных токенов, обновление максимального TTL системы или точки монтирования не повлияет на него при продлении.

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

id

string

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

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

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

jwt

string

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

meta

dictionary

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

mount_point

string

Точка монтирования Vault.

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

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

namespace

string

Пространство имен Vault, в котором хранятся секреты. Для этого параметра требуются HVAC версии 0.7.0 или новее и Vault версии 0.11 или новее.

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

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

no_default_policy

boolean

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

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

Варианты:

  • false
  • true

no_parent

boolean

Этот параметр действует только при использовании вызывающей стороной root или sudo и только если orphan=false.

Если задано true, у созданного токена не будет родительского токена.

Варианты:

  • false
  • true

num_uses

integer

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

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

orphan

boolean

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

При использовании hvac>=1.0.0 требуется версия коллекции >=3.3.0.

Варианты:

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

password

string

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

period

string

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

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

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

policies

list / elements=string

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

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

proxies

any

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

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

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

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

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

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

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

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

region

string

Регион AWS, для которого создается подключение.

renewable

boolean

Задайте значение false, чтобы запретить продление токена после истечения его первоначального TTL.

Значение true разрешает продлевать токен до максимального TTL системы или точки монтирования.

Варианты:

  • false
  • true

retries

any

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

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

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

Значением этого параметра может быть положительное число (целое число) или словарь.

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

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

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

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

retry_action

string

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

Определяет, следует ли выводить сообщения при повторных попытках и как именно.

Не влияет на запросы, для которых не выполняются повторные попытки.

Варианты:

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

role_id

string

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

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

Для аутентификации azure параметр role_id обязателен.

role_name

string

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

secret_id

string

Идентификатор секрета для аутентификации в Vault с помощью AppRole.

timeout

integer

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

Задает время ожидания подключения в секундах.

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

token

string

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

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

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

token_file

string

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

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

token_path

string

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

token_validate

boolean

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

При аутентификации по токену перед его использованием выполняется операция lookup-self для проверки его действительности.

Отключите этот параметр, если у вашего токена нет возможности lookup-self.

Варианты:

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

ttl

string

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

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

type

string

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

Варианты:

  • "batch"
  • "service"

url

string

URL-адрес службы Vault.

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

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

username

string

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

validate_certs

boolean

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

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

Если не заданы ни validate_certs, ни VAULT_SKIP_VERIFY, по умолчанию будет использоваться true.

Варианты:

  • false
  • true

wrap_ttl

string

Задает время действия токена-обертки для ответа. Например: 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–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/hashi_vault/vault_token_create_module.html

Spec-Zone.ru

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