Назад | Перейти на главную страницу

Удаленная аутентификация iControl REST BIG-IP v12

У меня возникла проблема при попытке использовать удаленную аутентификацию в 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.