API Key¶
Usage¶
Client MUST set Private-Token
HTTP Request header and set it
with proper Key in order to get access to protected API
Example:
curl -s -D - -k -H 'Private-Token: 12345' https://noc_url/dev/reference/api/datastream/managedobject`
where 12345
is an API token key.
Roles¶
DataStream API¶
Access to DataStream API
API:Role | Description |
---|---|
datastream:administrativedomain |
administrativedomain DataStream |
datastream:alarm |
administrativedomain DataStream |
datastream:resourcegroup |
resourcegroup DataStream |
datastream:managedobject |
managedobject DataStream |
datastream:dnszone |
dnszone DataStream access |
datastream:cfgmetrics |
cfgmetrics DataStream access |
datastream:cfgping |
cfgping DataStream access |
datastream:cfgsyslog |
cfgsyslog DataStream access |
datastream:cfgtrap |
cfgtrap DataStream access |
datastream:vrf |
vrf DataStream access |
datastream:prefix |
prefix DataStream access |
datastream:address |
address DataStream access |
NBI API¶
API:Role | Description |
---|---|
nbi:config |
NBI config API access |
nbi:configrevisions |
NBI configrevisions API access |
nbi:getmappings |
NBI getmappings API access |
nbi:objectmetrics |
NBI objectmetrics API access |
nbi:objectstatus |
NBI objectstatus API access |
nbi:path |
NBI path API access |
nbi:telemetry |
NBI telemetry API access |
Web interface example¶
You should fill Name
and API key
as required fields.
Also in API
rows should be nbi
or datastream
. In Role
row should be a role from tables above or *
(asterisk)
You can fill the ACL section or may leave it empty. Prefix field should be in a IP/net way.
Also there is an opportunity to allow requests to API only from whitelist IPs.
You can find this option in Tower, in nbi
/datastream
service respectively.
Best Practices¶
- Grant separate API Keys for every connected system
- Grant separate API Keys for every developer, Restrict key lifetime
- Grant separate API Keys for every external tester, Restrict key to short lifetime