Community maintenance is complete. Thank you for your patience!

Software Development Kit (SDK) and API Discussions

Python SDK Access HTTP XML Authentication failed

devinkramer

I am having issues moving a Python tool I wrote using the Netapp Manageability SDK from the default admin user 'root' to a new user with only specifc Capabilities enabled.  As the 'root" user the tool works fine. But any time  I change the connection to another user I get the following error:

 

       HTTPPool03:warning]: HTTP XML Authentication failed from xxx.xxx.xxx.xxx

 

and the API call returns

 

     Authorization failed

 

Per the KB articles and other posts I have read I have all of the following options on the filer:

 

httpd.access legacy
httpd.admin.access legacy
httpd.admin.enable on
httpd.admin.hostsequiv.enable off
httpd.admin.ssl.enable on

 

and I added the login-http-admin capability to the role I created for this tool. The role also contains a list of the api-* capabilities that are required for the tool.

 

here is how I created the user

 

useradmin role add tool_role -a login-http-admin,api-volume-list-info,etc....

useradmin group add tool_client_group -r tool_role

useradmin user add user1 -g tool_client_group

 

I have tried to reset the password a few times.. Even if I set the role Capabilities to login-*,api-* I get the same error so I do not believe its related to Capabilties but then again I feel like I am missing something very simple either in options. or the RBAC to make this work as a less priveledged user.

 

3 REPLIES 3

devinkramer

Not sure which modifications you are refering to?  Before I set the options correctly on the filer the SDK was not able to connect at all, but once I had those correct any API call I made worked  fine with the "root" user.  I did not intially attempt with any other user until I had spent some time learning how to use the SDK.     

 

I dont see any reference to a servlet directory in the docs or in the filers root volume?  Can you clarify what you mean?

GRC

I am trying to connect to a filer and get back storage information like volume, xtree, aggregate, etc. In order to do so, I am posting xml via http and the url provided is structure like this (/servlets/netapp.servlets.admin.XMLrequest_filer) according to the docs. Are you posting xml at all? How do you set options on the filer, perhaps there is something there I am missing.

GRC

Prior to your modifications, were you able to get a response after posting xml? If so are you posting to the servlets/netapp.servlets.admin.XMLrequest_file? Haven't been able to find anything specific to the servlets and was curious. Should there be a servlets directory after installing OnTap?

Announcements
NetApp on Discord Image

We're on Discord, are you?

Live Chat, Watch Parties, and More!

Explore Banner

Meet Explore, NetApp’s digital sales platform

Engage digitally throughout the sales process, from product discovery to configuration, and handle all your post-purchase needs.

NetApp Insights to Action
I2A Banner
Public