Spec-Zone.ru › Ansible

community.hashi_vault.vault_token_create lookup – Создание токена HashiCorp Vault

Примечание

Этот плагин поиска входит в коллекцию community.hashi_vault (версия 6.2.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 library)
  • Подробные требования см. на странице требований к коллекции.

Термины

Параметр

Комментарии

Термины

строка

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

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

Это описывает ключевые параметры поиска. Это значения 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

строка

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

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

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

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

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

Варианты:

  • "token" ← (по умолчанию)
  • "userpass"
  • "ldap"
  • "approle"
  • "aws_iam"
  • "azure"
  • "jwt"
  • "cert"
  • "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

строка

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

Настройка:

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

aws_iam_server_id

строка

добавлено в 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

строка

Профиль AWS

Настройка:

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

aws_secret_key

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

строка

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

Настройка:

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

aws_security_token

строка

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

Настройка:

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

azure_client_id

строка

добавлено в 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

строка

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

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

Настройка:

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

azure_resource

строка

добавлено в 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

added in community.hashi_vault 3.2.0

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

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

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

Configuration:

  • INI entry:

    [hashi_vault_collection]
    azure_tenant_id = VALUE
    
  • Environment variable: ANSIBLE_HASHI_VAULT_AZURE_TENANT_ID
  • Variable: ansible_hashi_vault_azure_tenant_id

ca_cert

aliases: cacert

string

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

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

Configuration:

  • INI entry:

    [hashi_vault_collection]
    ca_cert = VALUE
    

    added in community.hashi_vault 1.4.0

  • Environment variable: ANSIBLE_HASHI_VAULT_CA_CERT

    added in community.hashi_vault 1.2.0

  • Variable: ansible_hashi_vault_ca_cert

    added in community.hashi_vault 1.2.0

cert_auth_private_key

path

added in community.hashi_vault 1.4.0

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

Configuration:

  • INI entry:

    [hashi_vault_collection]
    cert_auth_private_key = VALUE
    
  • Environment variable: ANSIBLE_HASHI_VAULT_CERT_AUTH_PRIVATE_KEY
  • Variable: ansible_hashi_vault_cert_auth_private_key

    added in community.hashi_vault 6.2.0

cert_auth_public_key

path

added in community.hashi_vault 1.4.0

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

Configuration:

  • INI entry:

    [hashi_vault_collection]
    cert_auth_public_key = VALUE
    
  • Environment variable: ANSIBLE_HASHI_VAULT_CERT_AUTH_PUBLIC_KEY
  • Variable: ansible_hashi_vault_cert_auth_public_key

    added in community.hashi_vault 6.2.0

display_name

string

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

entity_alias

string

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

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

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

explicit_max_ttl

string

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

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

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

id

string

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

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

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

jwt

string

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

Configuration:

  • Environment variable: ANSIBLE_HASHI_VAULT_JWT

meta

dictionary

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

mount_point

string

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

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

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

Configuration:

  • INI entry:

    [hashi_vault_collection]
    mount_point = VALUE
    

    added in community.hashi_vault 1.5.0

  • Environment variable: ANSIBLE_HASHI_VAULT_MOUNT_POINT

    added in community.hashi_vault 1.5.0

  • Variable: ansible_hashi_vault_mount_point

    added in community.hashi_vault 1.5.0

namespace

string

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

Необязательно, это может быть достигнуто путем добавления префикса к точке монтирования аутентификации и/или пути к секрету с помощью пространства имен (например, mynamespace/secret/mysecret).

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

Configuration:

  • INI entry:

    [hashi_vault_collection]
    namespace = VALUE
    

    added in community.hashi_vault 1.4.0

  • Environment variable: ANSIBLE_HASHI_VAULT_NAMESPACE

    added in community.hashi_vault 0.2.0

  • Variable: ansible_hashi_vault_namespace

    added in community.hashi_vault 1.2.0

no_default_policy

boolean

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

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

Choices:

  • 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

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

У него не будет максимального срока действия (если не установлен 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 для отключения возможности обновления токена после его начального срока действия.

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

Варианты:

  • 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. Токен может быть указан явно, через перечисленные переменные среды, а также через переменную среды 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, например, где час — наибольший суффикс.

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

type

string

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

Варианты:

  • "batch"
  • "service"

url

строка

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

строка

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

Настройка:

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

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

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

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

validate_certs

логическое

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

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

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

Варианты:

  • false
  • true

Настройка:

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

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

wrap_ttl

строка

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

Настройка:

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

Примечания

Примечание

  • Когда ключевые и позиционные параметры используются вместе, позиционные параметры должны указываться перед ключевыми параметрами: 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')

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

Ключ

Описание

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

словарь

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

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

Пример: {"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_lookup.html

Spec-Zone.ru

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