I wasn’t sure where to post this so apologies in advance if this is not the right spot.
I was recently using one of the DevNet ‘always-on’ routers to practice some REST api calls with Postman in advance of my certification exam.
I decided to check the running config of the router to see how the authN/authZ of the http server was arranged so as to enable RESTCONF communications.
I have included a screen shot that shows the ouput of show run aaa
and show run | s http
.
You will notice that aaa new-model
has been invoked and the respective default method lists have been declared.
According to the Cisco documentation that I found on the web, the command ip http authentication aaa
should also be present - but this is actually absent in the DevNet router config.
So, question #1 — why is this command missing?
Instead, ip http authentication local
appears in the running config.
Question #2 — why is this command here when we have defined the default method lists that include local
; ip http authentication local
seems like the command one would use to invoke the username/pw database when no aaa new-model
is configured.
Question # 3 — is aaa new-model
required to allow RESTCONF to work or can we simply use AuthN/AuthZ with the local users database withhout aaa? ie ip http authentication local
.
Question #4 — what is the correct aaa configuration for http authN/AuthZ on IOS / IOS XE that is required for RESTCONF.
It would be much appreciated if someone could kindly clear this up for me.
PS
Ok, so after writing this post, it finally dawned on me what must be happening here…
Since the DevNet router omits the ip http authentication aaa
statement, and includes ip http authentication local
, then it must simply use the local database without invoking aaa.
On the other hand, line vty is using the default authN/authZ method lists in aaa.
My initial confusion stems from the fact that since aaa was enabled in the configuration, then we should logically try to use aaa for the lines and for http.
So knowing this, it still begs the question of why go to the trouble of configuring aaa to only use it on the lines and not http??