Spec-Zone.ru › Ansible

community.hashi_vault.vault_token_create lookup — Создание токена 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)
  • Подробные требования см. на странице требований к коллекции.

Термины

Параметр

Комментарии

Термины

строка

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

Параметры ключевых слов

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

Параметр

Комментарии

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"

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

  • Запись INI:

    [hashi_vault_collection]
    auth_method = token
    

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

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

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

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

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

aws_access_key

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

string

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

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

  • Переменная среды: EC2_ACCESS_KEY
  • Переменная среды: AWS_ACCESS_KEY
  • Переменная среды: AWS_ACCESS_KEY_ID

aws_iam_server_id

string

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

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

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

  • Запись INI:

    [hashi_vault_collection]
    aws_iam_server_id = VALUE
    

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

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

aws_profile

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

string

Профиль AWS

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

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

aws_secret_key

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

string

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

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

  • Переменная среды: EC2_SECRET_KEY
  • Переменная среды: AWS_SECRET_KEY
  • Переменная среды: AWS_SECRET_ACCESS_KEY

aws_security_token

string

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

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

  • Переменная среды: EC2_SECURITY_TOKEN
  • Переменная среды: AWS_SESSION_TOKEN
  • Переменная среды: AWS_SECURITY_TOKEN

azure_client_id

string

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

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

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

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

  • Запись INI:

    [hashi_vault_collection]
    azure_client_id = VALUE
    
  • Переменная среды: ANSIBLE_HASHI_VAULT_AZURE_CLIENT_ID
  • Переменная: ansible_hashi_vault_azure_client_id

azure_client_secret

string

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

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

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

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

azure_resource

string

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

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

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

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

  • Запись INI:

    [hashi_vault_collection]
    azure_resource = https://management.azure.com/
    
  • Переменная среды: ANSIBLE_HASHI_VAULT_AZURE_RESOURCE
  • Переменная: ansible_hashi_vault_azure_resource

azure_tenant_id

string

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

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

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

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

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

  • Запись INI:

    [hashi_vault_collection]
    azure_tenant_id = VALUE
    
  • Переменная среды: ANSIBLE_HASHI_VAULT_AZURE_TENANT_ID
  • Переменная: ansible_hashi_vault_azure_tenant_id

ca_cert

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

string

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

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

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

  • Запись INI:

    [hashi_vault_collection]
    ca_cert = VALUE
    

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

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

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

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

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

cert_auth_private_key

path

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

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

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

  • Запись INI:

    [hashi_vault_collection]
    cert_auth_private_key = VALUE
    
  • Переменная среды: ANSIBLE_HASHI_VAULT_CERT_AUTH_PRIVATE_KEY
  • Переменная: ansible_hashi_vault_cert_auth_private_key

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

cert_auth_public_key

path

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

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

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

  • Запись INI:

    [hashi_vault_collection]
    cert_auth_public_key = VALUE
    
  • Переменная среды: ANSIBLE_HASHI_VAULT_CERT_AUTH_PUBLIC_KEY
  • Переменная: ansible_hashi_vault_cert_auth_public_key

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

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.

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

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

meta

dictionary

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

mount_point

string

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

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

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

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

  • Запись INI:

    [hashi_vault_collection]
    mount_point = VALUE
    

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

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

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

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

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

namespace

string

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

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

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

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

  • Запись INI:

    [hashi_vault_collection]
    namespace = VALUE
    

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

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

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

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

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

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

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

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

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

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

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

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

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.

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

  • Запись INI:

    [hashi_vault_collection]
    proxies = VALUE
    

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

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

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

region

string

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

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

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

renewable

boolean

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

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

Варианты:

  • false
  • true

retries

any

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

Позволяет повторять попытки при возникновении ошибок на основе класса Retry из библиотеки urllib3.

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

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

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

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

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

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

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

  • Запись INI:

    [hashi_vault_collection]
    retries = VALUE
    

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

  • Переменная окружения: ANSIBLE_HASHI_VAULT_RETRIES
  • Переменная: ansible_hashi_vault_retries

retry_action

string

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

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

Не действует, если запрос не выполняется повторно.

Варианты:

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

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

  • Запись INI:

    [hashi_vault_collection]
    retry_action = warn
    

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

  • Переменная окружения: ANSIBLE_HASHI_VAULT_RETRY_ACTION
  • Переменная: ansible_hashi_vault_retry_action

role_id

string

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

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

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

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

  • Запись INI:

    [hashi_vault_collection]
    role_id = VALUE
    

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

  • Переменная окружения: ANSIBLE_HASHI_VAULT_ROLE_ID

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

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

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

role_name

string

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

secret_id

string

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

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

  • Переменная окружения: ANSIBLE_HASHI_VAULT_SECRET_ID

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

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

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

timeout

integer

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

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

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

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

  • Запись INI:

    [hashi_vault_collection]
    timeout = VALUE
    

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

  • Переменная окружения: ANSIBLE_HASHI_VAULT_TIMEOUT
  • Переменная: ansible_hashi_vault_timeout

token

string

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

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

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

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

  • Переменная окружения: ANSIBLE_HASHI_VAULT_TOKEN

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

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

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

token_file

string

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

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

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

  • Запись INI:

    [hashi_vault_collection]
    token_file = .vault-token
    

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

  • Переменная окружения: ANSIBLE_HASHI_VAULT_TOKEN_FILE

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

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

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

token_path

string

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

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

  • Запись INI:

    [hashi_vault_collection]
    token_path = VALUE
    

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

  • Переменная окружения: ANSIBLE_HASHI_VAULT_TOKEN_PATH

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

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

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

token_validate

boolean

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

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

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

Варианты:

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

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

  • Запись INI:

    [hashi_vault_collection]
    token_validate = false
    

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

  • Переменная окружения: ANSIBLE_HASHI_VAULT_TOKEN_VALIDATE
  • Переменная: ansible_hashi_vault_token_validate

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

ttl

string

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

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

type

string

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

Варианты:

  • "batch"
  • "service"

url

string

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

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

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

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

  • Запись INI:

    [hashi_vault_collection]
    url = VALUE
    

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

  • Переменная окружения: ANSIBLE_HASHI_VAULT_ADDR

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

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

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

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

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

username

string

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

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

  • Переменная окружения: ANSIBLE_HASHI_VAULT_USERNAME

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

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

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

validate_certs

boolean

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

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

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

Варианты:

  • false
  • true

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

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

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

wrap_ttl

string

Задаёт длительность действия токена обёртки ответа. Например: 15s, 20m, 25h.

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

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

Примечание

Перечисленные выше записи конфигурации для каждого типа записи (переменная Ansible, переменная окружения и т. д.) упорядочены от низкого приоритета к высокому. Например, переменная, находящаяся ниже в списке, переопределяет переменную, расположенную выше. Типы записей также упорядочены по возрастанию приоритета. Например, запись ansible.cfg (расположенная выше в списке) переопределяется переменной Ansible (расположенной ниже в списке).

Примечания

Примечание

  • При совместном использовании именованных и позиционных параметров позиционные параметры необходимо указывать перед именованными: lookup('community.hashi_vault.vault_token_create', term1, term2, key1=value1, key2=value2) и query('community.hashi_vault.vault_token_create', term1, term2, key1=value1, key2=value2)
  • Создание токена — это операция записи (создание токена с сохранением в хранилище), поэтому этот модуль всегда сообщает changed=True.
  • Однако в сценариях Ansible может быть полезнее задать changed_when=false, если вы выполняете проверки идемпотентности целевой системы.
  • В режиме проверки этот модуль не создаёт токен, а возвращает базовую структуру с пустым токеном. Однако это может быть бесполезно, если токен необходим для последующих задач. Возможно, лучше использовать этот модуль с параметром check_mode=false, чтобы получить действительный токен, который можно использовать.

См. также

См. также

community.hashi_vault.vault_token_create

Создание токена HashiCorp Vault.

community.hashi_vault.vault_login lookup

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

community.hashi_vault.vault_login

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

community.hashi_vault.vault_login_token filter

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

Примеры

- name: Login via userpass and create a child token
  ansible.builtin.set_fact:
    token_data: "{{ lookup('community.hashi_vault.vault_token_create', url='https://vault', auth_method='userpass', username=user, password=passwd) }}"

- 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 (token via direct dict access)
  community.hashi_vault.vault_read:
    url: https://vault:8201
    auth_method: token
    token: '{{ token_data.auth.client_token }}'
    path: auth/approle/role/role-name/role-id
  register: approle_id

# implicitly uses url & token auth with a token from the environment
- name: Create an orphaned token with a short TTL and display the full response
  ansible.builtin.debug:
    var: lookup('community.hashi_vault.vault_token_create', orphan=True, ttl='60s')

Возвращаемое значение

Ключ

Описание

Возвращаемое значение

dictionary

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

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

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

auth

dictionary

Элемент auth ответа с токеном.

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

client_token

string

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

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

data

dictionary

Элемент 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_lookup.html

Spec-Zone.ru

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