F5 permite que o usuário acesse a API RESTful do iControl

1

Estou tentando interagir com um balanceador de carga F5 usando a API REST. Verifiquei que o iControl está ativado, no entanto, quando tento executar um comando, sou informado de que não estou autorizado.

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

Meu usuário é autenticado no Active Directory.

Preciso conceder explicitamente acesso de usuário para usar a API REST?
Preciso ter uma conta local?

Atualizar

Aqui está outro exemplo

O usuário 'alguém' existe de fato, pois é assim que eu faço login no portal da web.

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"]}
    
por spuder 02.05.2015 / 00:49

2 respostas

1

A interface restante não autentica usando os métodos normais F5 que você configurou. Se você quiser fazer isso, você tem que criar um servidor virtual com o F5 como o membro do pool, em seguida, corrigir alguns irules para retirar o resto do usuário, passar isso para sua autenticação ... lotes de código mais tarde .. sucesso. / p>

Rest usa um usuário e uma função local para seus processos na f5. Você cria o usuário via tmos e associa-o à função iControl_REST_API_User via PATCH.

    
por 13.05.2015 / 17:12
0

Para suporte à autenticação remota iControl REST, consulte este artigo sobre o F5 DevCentral .

    
por 30.11.2015 / 21:45

Tags