What’s the difference between a transfer user and a Node API user?


While a transfer user and a Node API user are closely related, they perform importantly distinct functions in your Aspera products.

What is a transfer user?

Transfer users authenticate transfers against your server.

A transfer user is involved in every Aspera transfer at its core. Transfer users are essentially your operating system accounts that authenticate transfers. The username and password (or if set up, the SSH keys) of this OS account are the credentials of the transfer user.

In the context of your Aspera transfer server, you can configure transfer users in a myriad of important ways, including but not limited to:

  • Setting the docroot -- Where on your system will transfers authenticated by your transfer user be sent to or downloaded from?
  • Setting transfer policies -- Will transfers authenticated by this transfer user be limited in terms of bandwidth? Will transfers authenticated by this transfer user be prioritized over transfers authenticated by other transfer users?
  • Setting authorization policies -- Will only uploads be possible with this transfer user? Will users be able to browse this transfer user’s docroot?

What is a Node API user?

Node API users authenticate web applications against your server.

A Node API user is involved specifically in web applications. The current Aspera web applications (Faspex, Shares, and Files) all make use of the Node API and Node API users.

Aspera-integrated web applications need to be able to communicate with an Aspera transfer server in a secure manner, such as to extract file information or to set up transfers with it. The Node API enables web applications to perform these operations by allowing the application to provide Node API credentials (Node API username/password) to the server.

How are transfer users and Node API users related?

A Node API user is explicitly tied to a single transfer user.

Remember that all transfers necessarily involve a transfer user to authenticate against the server. This means that a web application providing a Node API username and password to the server is being granted access to perform operations as the transfer user the Node API user is associated to.

In Aspera transfers between two Enterprise Servers the "server" and "client" communicate directly, with the client providing the server its transfer user credentials, so Node API credentials aren't needed.

In Aspera web transfers, transfers are mediated by the web application, and so require a Node API user to establish the proper authentication with the server.

Note that a Node API user can only be associated to one transfer user, but a transfer user can be associated to many Node API users.

How do I associate a Node API user to a transfer user?

You must run the asnodeadmin command on the system with your transfer server and transfer users.

You can associate multiple Node API users to the same transfer user, but a Node API user can only be associated to one transfer user.

Below are examples of the command to run:

# /opt/aspera/bin/asnodeadmin -a -u node_api_username -p node_api_password -x transfer_user

# asnodeadmin.exe -a -u node_api_username -p node_api_password -x transfer_user

# /Library/Aspera/bin/asnodeadmin -a -u node_api_username -p node_api_password -x transfer_user

You can also use asnodeadmin to list all existing Node API users and which transfer user they are currently associated with:

# /opt/aspera/bin/asnodeadmin -l

# asnodeadmin.exe -l

# /Library/Aspera/bin/asnodeadmin -l
Powered by Zendesk