Авторизация#
Авторизацию пользователя на выполнение действия в контроллере рекомендуется производить с помощью токена OAuth2.0. Для токена могут быть настроены разрешения на чтение и запись, его можно отозвать в любой момент.
Чтобы авторизоваться с помощью OAuth2.0, выполните следующие действия:
Сгенерируйте персональный токен доступа на установочном узле контроллера:
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
).Для использования токена в последующих командах сохраните его значение в переменную окружения
CONTROLLER_OAUTH_TOKEN
:export CONTROLLER_OAUTH_TOKEN=<token>