You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
decort-ansible/wiki/5.4.0/модуль-decort_jwt.md

5.3 KiB

Вспомогательный модуль для получения авторизационного JWT токена decort_jwt

Обзор модуля decort_jwt

Модуль decort_jwt предназначен для получения авторизационного токена JWT (JSON Web Token). Данный модуль может быть полезен при массовом создании ресурсов (например, виртуальных машин), так как позволяет оптимизировать количество API вызовов, инициируемых в адрес контроллера облачной платформы.

По сути, данный модуль является провайдером информации и не управляет облачными ресурсами (всегда возвращает changed: False).

Параметры модуля decort_jwt

Ниже в алфавитном порядке приведен полный список параметров для модуля decort_jwt. Актуальную информацию по параметрам, которые поддерживает версия модуля, установленного на вашем Ansible-сервере, можно получить командой: ansible-doc -t module decort_jwt

Параметр Тип, допустимые значения Описание
app_id (string) Идентификатор приложения, использующийся для подключения к авторизационному серверу. Данный параметр является обязательным. Если параметр не задан в playbook, модуль будет использовать значение переменной окружения DECORT_APP_ID.
app_secret (string) Секретный ключ приложения, который используется для подключения к авторизационному серверу. Данный параметр является обязательным. Так как он содержит секретную информацию, то его не рекомендуется задавать непосредственно в playbook. Если параметр не задан в playbook, то модуль будет использовать значение переменной окружения DECORT_APP_SECRET.
oauth2_url (string) URL авторизационного сервера, работающего по протоколу Oauth2, у которого запрашивается JWT. Данный параметр является обязательным. Если параметр не задан в playbook, модуль будет использовать значение переменной окружения DECORT_OAUTH2_URL.
validity (int)
Default: 3600
Срок действия JWT в секундах.
verify_ssl (bool)
Default: true
Позволяет отключить проверку SSL сертификатов при выполнении API вызовов в адрес авторизационного сервера, например, при работе с изолированной облачной инфраструктурой, использующей самоподписанные сертификаты.
Применяйте данный параметр с осторожностью, предпочтительно в защищенных средах.

Возвращаемые значения модуля decort_jwt

При успешном выполнении модуль decort_jwt возвращает JWT-токен, который доступен по ключу jwt (str).

Пример использования модуля decort_jwt

В данном примере сначала запрашивается JWT со сроком действия 1200 сек., а затем этот JWT используется для создания виртуальной машины в режиме авторизации jwt (подробнее о данном режиме см. в разделе «Примеры различных режимов авторизации»).

- hosts: localhost
  tasks:
  - name: Obtain JWT with validity of 1200 sec from the OAuth2 provider 
    decort_jwt:
      app_id: "{{ my_app_id }}"
      app_secret: "{{ my_app_secret }}"
      oauth2_url: "https://sso.digitalenergy.online"
      validity: 1200
    register: my_token
  - name: Create VM in JWT authorization mode
    decort_kvmvm:
      authenticator: jwt
      jwt: "{{ my_token.jwt }}"
      controller_url: "https://cloud.digitalenergy.online"
      name: NewVM01
      cpu: 2
      ram: 4096
    <<<дальнейшие детали опущены>>>

Обратите внимание, как используется JWT при создании новой ВМ (в предположении, что результат выполнения task для модуля decort_jwt был сохранен в переменной my_token):

    jwt: "{{ my_token.jwt }}"