iControl Autenticação Remota REST BIG-IP v12

1

Eu tenho um problema ao tentar usar a autenticação remota na API REST do iControl.

Eu tentei configurar a autenticação remota usando o seguinte artigo Configurando Autenticação e Autorização de Usuário Remoto e tentamos fazer chamadas da API REST usando este artigo.

A seguinte frase foi confusa para mim:

"If you are using an external authentication provider, get the login reference from your system administrator.".

Não tenho certeza de onde posso obter a referência de login. Quando tento criar um token de autenticação sem referência de login, ele funciona, mas quando tento usar o token da resposta, recebo uma resposta 401.

Eu também encontrei uma "solução alternativa" neste site, e soa um pouco hacky também. Não posso postar um link para ele, pois não tenho 10 pontos de reputação.

Alguém pode confirmar que o problema foi corrigido na versão 12 e alguém já tentou usar a autenticação remota com a API REST do iControl? Em caso afirmativo, você tem alguma dica sobre a configuração e como usá-la?

Eu também fiz a mesma pergunta no site f5, mas ainda não recebi uma resposta. Também esqueci de mencionar que posso fazer login no dispositivo usando o console da web e o putty com conta externa.

Qualquer ajuda seria apreciada.

Obrigado

    
por prole92 23.10.2015 / 20:05

2 respostas

1
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"
    }

Você receberá um token que você colocará como o valor no cabeçalho X-F5-AUTH-TOKEN.

    
por 06.11.2015 / 05:22
1

Fazer autenticação no LDAP é confuso. Você precisa passar o cabeçalho de autenticação Básico, bem como as informações do token de formulário.

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
    
por 21.03.2017 / 22:08