Franz Yes, but the more admin features the API exposes, the bigger the attack vector. That was my thought here.
luceos Currently not all attributes are available for mutation in the API. I hold the same position as @Franz , better to have a secure system than a completely open one. You can always create a database importer of some sort.
It's a difficult discussion.
Could it be possible to set restrictions on master tokens?
Borrowing a example from how ssh handles authentication, you can configure a host to accept a public key ( master token) with varying conditions like forcing a command, source ip address, maybe (in this case) limiting available api requests
eg - forces connections only from 224.xxx.xx.xxx and only allows command "echo hello" before closing.
from="224.xxx.xx.xxx",command="echo hello" ssh-rsa AAAAB3...
A master token should be permitted global access (it is master), but consider:
- Only accepting requests from your ip address or localhost
- Permit only api requests based on what the user defines (or is instructed to permit to a script for a importer)
- Maybe have defaults like global, user, to limit potential greater security holes
This would decrease the attack vector.