web-dev-qa-db-ja.com

iControl RESTリモート認証BIG-IPv12

IControl REST APIでリモート認証を使用しようとすると問題が発生します。

次の記事 リモートユーザー認証と承認の構成 を使用してリモート認証を構成しようとし、REST この記事を使用したAPI呼び出し

次の文は私を混乱させました:

「外部認証プロバイダーを使用している場合は、システム管理者からログイン参照を取得してください。」.

ログイン参照をどこで入手できるかわかりません。ログイン参照なしで認証トークンを作成しようとすると機能しますが、応答からトークンを使用しようとすると、401応答が返されます。

このサイトでも「回避策」を見つけましたが、少しハッキーに聞こえます。レピュテーションポイントが10点ないため、リンクを投稿できません。

誰かがこの問題がv12で修正されたことを確認でき、iControl REST API)でリモート認証を使用しようとしたことがありますか?もしそうなら、構成とその使用方法に関するヒントはありますか?

F5サイトでも同じ質問をしましたが、まだ回答がありません。また、外部アカウントでWebコンソールとPuTTYを使用してデバイスにログインできることも忘れました。

どんな助けでもいただければ幸いです。

ありがとうございました

1
prole92
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ヘッダーの値として配置するトークンを取得します。

1
Jason Rahm

LDAPに対して認証を行うことは混乱を招きます。基本認証ヘッダーと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
1