У меня возникла проблема при попытке использовать удаленную аутентификацию в iControl REST API.
Я попытался настроить удаленную аутентификацию, используя следующую статью Настройка аутентификации и авторизации удаленного пользователя и пытались выполнить вызовы REST API, используя Эта статья.
Следующее предложение меня сбило с толку:
«Если вы используете внешнего поставщика аутентификации, получите ссылку на вход у системного администратора».
Не знаю, где взять ссылку для входа. Когда я пытаюсь создать токен аутентификации без ссылки на логин, он работает, но когда я пытаюсь использовать токен из ответа, я получаю ответ 401.
Я также нашел на этом сайте «обходной путь», и он тоже звучит немного хакерским. Я не могу разместить на него ссылку, так как у меня нет 10 очков репутации.
Может ли кто-нибудь подтвердить, что проблема была исправлена в версии 12 и пробовал ли кто-нибудь использовать удаленную аутентификацию с помощью iControl REST API? Если да, то есть ли у вас какие-нибудь советы относительно конфигурации и того, как ее использовать?
Я тоже задавал тот же вопрос на сайте f5, но пока не получил ответа. Я также забыл упомянуть, что могу войти в систему с помощью веб-консоли и замазки с внешней учетной записью.
Любая помощь будет оценена.
Спасибо
Выполнение аутентификации по LDAP сбивает с толку. Вы должны передать как заголовок Basic auth, так и информацию о токене tmos.
if($f5Creds -eq $null)
{
$f5Creds = Get-Credential
}
$base64EncodedAuth = [System.Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes(('{0}:{1}' -f $f5Creds.UserName, $f5Creds.GetNetworkCredential().Password)))
$reqHeaders = @{
"Content-Type" = "application/json"
"Authorization" = "Basic {0}" -f $base64EncodedAuth
}
$f5Host = '<f5 hostname or IP>'
$f5BaseUri = 'https://{0}/mgmt' -f $f5Host
$f5AuthUri = '{0}/shared/authn/login' -f $f5BaseUri
$f5AuthBody = @{
"username" = $f5Creds.UserName
"password" = $f5Creds.GetNetworkCredential().Password
"loginProviderName" = "tmos"
} | ConvertTo-Json
$f5AuthToken = Invoke-RestMethod -Uri $f5AuthUri -Method:Post -Headers $reqHeaders -Body $f5AuthBody
URL: https://172.16.44.15/mgmt/shared/authn/login
Method: POST
Headers: Content-Type: application/json
Payload: {
"username": "remote_user_name",
"password": "remote_user_password",
"loginProviderName": "tmos"
}
Вы получите токен, который затем разместите в качестве значения в заголовке X-F5-AUTH-TOKEN.