Авторизация

Авторизация#

Авторизацию пользователя на выполнение действия в контроллере рекомендуется производить с помощью токена OAuth2.0. Для токена могут быть настроены разрешения на чтение и запись, его можно отозвать в любой момент.

Чтобы авторизоваться с помощью OAuth2.0, выполните следующие действия:

  1. Сгенерируйте персональный токен доступа на установочном узле контроллера:

    CONTROLLER_HOST=<address> CONTROLLER_USERNAME=<username> CONTROLLER_PASSWORD=<password> awx login
    

    Здесь:

    • <address> – URL контроллера, например, https://192.168.56.11;

    • <username> – название учетной записи пользователя, например, admin;

    • <password> – пароль, например, awx.

    Пример вывода команды:

    {
       "token": "70L1bQv6cj***EHkFaqSGrNZ2S5l4n"
    }
    

    Важно

    Сохраните полученный токен в надежном месте – в случае утраты его нужно будет сгенерировать заново. Восстановить существующий токен невозможно.

    Если необходимо создать токен только для чтения, добавьте в команду аргумент --conf.scope read:

    CONTROLLER_HOST=https://<address> CONTROLLER_USERNAME=<username> CONTROLLER_PASSWORD=<password> awx login --conf.scope read
    

    Клиентская часть должна иметь возможность установить защищенное соединение с сервером, используя TLS-сертификаты, и провести проверку их подлинности. В случае отсутствия сертификата возможно возникновение ошибки:

    Could not establish a secure connection.
    Please add your server to your certificate authority.
    You can also run this command by specifying -k or --conf.insecure
    HTTPSConnectionPool(host='192.168.56.11', port=443): Max retries exceeded with url: /api/ (Caused by SSLError(SSLCertVerificationError("hostname '192.168.56.11' doesn't match '=192.168.56.11'")))
    

    Если верификация сертификата не требуется или невозможна, добавьте к параметрам вызова команды ключ --conf.insecure (-k).

  2. Для использования токена в последующих командах сохраните его значение в переменную окружения CONTROLLER_OAUTH_TOKEN:

    export CONTROLLER_OAUTH_TOKEN=<token>