F5允许用户访问iControl RESTful API

我正在尝试使用REST API与F5负载平衡器进行交互。 我已经validationiControl已启用,但是当我尝试运行一个命令时,我被告知我是未经授权的。

curl -k -u someone -H "Content-Type: application/json" -X GET https://f5.example.com/mgmt/ Enter host password for user 'someone': {"code":404,"message":"http://localhost:8100/mgmt/","restOperationId":202459,"errorStack":["com.f5.rest.common.RestWorkerUriNotFoundException: http://localhost:8100/mgmt/","at com.f5.rest.common.RestServer.trySendInProcess(RestServer.java:231)","at com.f5.rest.common.RestRequestReceiver.dispatchToService(RestRequestReceiver.java:93)","at com.f5.rest.common.RestRequestReceiver.processNext(RestRequestReceiver.java:57)","at com.f5.rest.common.RestHelper$2.run(RestHelper.java:1910)","at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)","at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)","at java.lang.Thread.run(Thread.java:722)\n"]} 

我的用户使用Active Directory进行身份validation。

我是否需要明确授予用户使用REST API的权限?
我需要一个本地帐户吗?

更新

这是另一个例子

事实上,用户“某人”确实存在,因为我是如何login到门户网站的。

 curl -k -u someone -H "Content-Type: application/json" -X GET https://f5.example.com/mgmt/tm/sys Enter host password for user 'someone': {"code":401,"message":"Authorization failed: no user named someone found. Uri:http://localhost:8100/mgmt/tm/sys Referer:null","restOperationId":869853,"errorStack":["java.lang.SecurityException: Authorization failed: no user named someone found. Uri:http://localhost:8100/mgmt/tm/sys Referer:null","at com.f5.rest.workers.ForwarderWorker.evaluatePermission(ForwarderWorker.java:411)","at com.f5.rest.workers.ForwarderPassThroughWorker.onForward(ForwarderPassThroughWorker.java:191)","at com.f5.rest.workers.ForwarderPassThroughWorker.onGet(ForwarderPassThroughWorker.java:321)","at com.f5.rest.common.RestWorker.callDerivedRestMethod(RestWorker.java:735)","at com.f5.rest.common.RestWorker.callRestMethodHandler(RestWorker.java:702)","at com.f5.rest.common.RestServer.processQueuedRequests(RestServer.java:1092)","at com.f5.rest.common.RestServer.access$000(RestServer.java:45)","at com.f5.rest.common.RestServer$1.run(RestServer.java:136)","at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)","at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)","at java.lang.Thread.run(Thread.java:722)\n"]} 

其余接口不使用您configuration的正常F5方法进行身份validation。 如果你想这样做,你必须创build一个虚拟服务器与F5作为游泳池成员,然后右边一些虹膜去除其余用户,将其传递给你的身份validation…以后很多代码..成功。

Rest在f5上使用本地进程的用户和angular色。 您可以通过tmos创build用户,然后通过PATCH将其关联到iControl_REST_API_Userangular色。

对于iControl REST远程authentication支持,请参阅F5的DevCentral上的这篇文章 。