The SPS RPC API allows you to access, query, and manage SPS from remote applications. You can access the API using the Simple Object Access Protocol (SOAP) protocol over HTTPS, meaning that you can use any programming language that has access to a SOAP client to integrate SPS to your environment.
GET https://<IP-address-of-SPS>/api/configuration/management/soap
Cookie name | Description | Required | Values |
---|---|---|---|
session_id | Contains the authentication token of the user | Required |
The value of the session ID cookie received from the REST server in the authentication response, for example, a1f71d030e657634730b9e887cb59a5e56162860. For details on authentication, see Authenticate to the SPS REST API. Note that this session ID refers to the connection between the REST client and the SPS REST API. It is not related to the sessions that SPS records (and which also have a session ID, but in a different format). |
The following command lists the RPC API settings.
curl --cookie cookies https://<IP-address-of-SPS>/api/configuration/management/soap
The following is a sample response received when listing the RPC API settings.
For details of the meta object, see Message format.
{ "body": { "enabled": true }, "key": "soap", "meta": { "first": "/api/configuration/management/certificates", "href": "/api/configuration/management/soap", "last": "/api/configuration/management/webinterface", "next": "/api/configuration/management/syslog", "parent": "/api/configuration/management", "previous": "/api/configuration/management/snmp", "transaction": "/api/transaction" } }
To modify the RPC API settings, you have to:
For details, see Open a transaction.
PUT the modified JSON object to the https://<IP-address-of-SPS>/api/configuration/management/soap endpoint. You can find a detailed description of the available parameters listed in Element .
For details, see Commit a transaction.
The following table lists the typical status and error codes for this request. For a complete list of error codes, see Application level error codes.
Code | Description | Notes |
---|---|---|
201 | Created | The new resource was successfully created. |
401 | Unauthenticated | The requested resource cannot be retrieved because the client is not authenticated and the resource requires authorization to access it. The details section contains the path that was attempted to be accessed, but could not be retrieved. |
401 | AuthenticationFailure | Authenticating the user with the given credentials has failed. |
404 | NotFound | The requested object does not exist. |
You can display information about the currently used SPS license from the https://<IP-address-of-SPS>/api/configuration/management/license endpoint.
|
Caution:
Accessing the One Identity Safeguard for Privileged Sessions (SPS) host directly using SSH is not recommended or supported, except for troubleshooting purposes. In such case, the One Identity Support Team will give you exact instructions on what to do to solve the problem. For security reasons, disable SSH access to SPS when it is not needed. For details, see "Enabling SSH access to the One Identity Safeguard for Privileged Sessions (SPS) host" in the Administration Guide. |
The following encryption algorithms are configured on the local SSH service of SPS:
Key exchange (KEX) algorithms:
diffie-hellman-group-exchange-sha256
Ciphers:
aes256-ctr,aes128-ctr
Message authentication codes:
hmac-sha2-512,hmac-sha2-256
GET https://<IP-address-of-SPS>/api/configuration/management/license
Cookie name | Description | Required | Values |
---|---|---|---|
session_id | Contains the authentication token of the user | Required |
The value of the session ID cookie received from the REST server in the authentication response, for example, a1f71d030e657634730b9e887cb59a5e56162860. For details on authentication, see Authenticate to the SPS REST API. Note that this session ID refers to the connection between the REST client and the SPS REST API. It is not related to the sessions that SPS records (and which also have a session ID, but in a different format). |
The following command lists the configuration options.
curl --cookie cookies -H "Content-Type: application/json" https://10.30.255.28/api/configuration/management/license
The following is a sample response received.
For details of the meta object, see Message format.
{ "body": { "customer": "Example", "limit": 5000, "limit_type": "host", "serial": "b937d212-db7d-0f2f-4c87-295e3c57024a", "valid_not_after": "2018-11-07", "valid_not_before": "2017-11-06" }, "key": "license", "meta": { "first": "/api/configuration/management/certificates", "href": "/api/configuration/management/license", "last": "/api/configuration/management/webinterface", "next": "/api/configuration/management/root_password", "parent": "/api/configuration/management", "previous": "/api/configuration/management/health_monitoring", "remaining_seconds": 600, "transaction": "/api/transaction", "upload": "/api/upload/license" } }
Element | Type | Description | ||
---|---|---|---|---|
key | string | Top level element, contains the ID of the endpoint. | ||
body | Top level element (string) | Contains the parameters of the license. | ||
customer | string | The company permitted to use the license (for example, Example Ltd.). | ||
limit | integer | The actual value of the session or host limit (see limit_type). | ||
limit_type | host | session |
| ||
serial | string |
The unique serial number of the license. | ||
valid_not_after | date |
The date when the license expires. The dates are displayed in YYYY/MM/DD format. | ||
valid_not_before | date |
The date after which the license is valid. The dates are displayed in YYYY/MM/DD format. |
The following table lists the typical status and error codes for this request. For a complete list of error codes, see Application level error codes.
Code | Description | Notes |
---|---|---|
401 | Unauthenticated | The requested resource cannot be retrieved because the client is not authenticated and the resource requires authorization to access it. The details section contains the path that was attempted to be accessed, but could not be retrieved. |
401 | AuthenticationFailure | Authenticating the user with the given credentials has failed. |
404 | NotFound | The requested object does not exist. |
To upload a new license file, complete the following steps.
Download your license file from support portal.
For details, see Open a transaction.
Upload the file to the https://<IP-address-of-SPS>/api/upload/license endpoint. For example:
curl --cookie cookies -F 'data=@/path/license.txt' -H "Expect:" --insecure https://<IP-address-of-SPS>/api/upload/license
SPS will not use the new license to ongoing sessions. For the new license to take full effect, you must restart all traffic on the Basic Settings > System > Traffic control page of the SPS web interface.
curl --cookie cookies -F 'data=@/path/license.txt' -H "Expect:" --insecure https://<IP-address-of-SPS>/api/upload/license
For details, see Commit a transaction.
The About page on the SPS web interface and the /api/info endpoint contains various contact information. You can change this to a custom email address or URL.
GET https://<IP-address-of-SPS>/api/configuration/management/support_info
Cookie name | Description | Required | Values |
---|---|---|---|
session_id | Contains the authentication token of the user | Required |
The value of the session ID cookie received from the REST server in the authentication response, for example, a1f71d030e657634730b9e887cb59a5e56162860. For details on authentication, see Authenticate to the SPS REST API. Note that this session ID refers to the connection between the REST client and the SPS REST API. It is not related to the sessions that SPS records (and which also have a session ID, but in a different format). |
The following command lists the RPC API settings.
curl --cookie cookies https://<IP-address-of-SPS>/api/configuration/management/support_info
The following is a sample response received when querying the endpoint.
For details of the meta object, see Message format.
{ "body": { "uri": null }, "key": "support_info", "meta": { "first": "/api/configuration/management/certificates", "href": "/api/configuration/management/support_info", "last": "/api/configuration/management/webinterface", "next": "/api/configuration/management/syslog", "parent": "/api/configuration/management", "previous": "/api/configuration/management/splunk_forwarder", "remaining_seconds": 600, "transaction": "/api/transaction" }
To change the support link, complete the following steps.
For details, see Open a transaction.
PUT a JSON object containing the new support link to the https://<IP-address-of-SPS>/api/configuration/management/support_info endpoint. For example:
curl -X PUT -d '{"uri": { "selection": "mailto", "value": "mailto:support@example.com" } }' -H "Content-Type: application/json" --cookie cookies "https://<IP-address-of-SPS>/api/configuration/management/support_info"
To use an HTTP or HTTPS link as contact info, use the following JSON object:
{ "uri": { "selection": "url", "value": "http://example.com" } }
To use a email address as contact info, use the following JSON object:
{ "uri": { "selection": "mailto", "value": "mailto:support@example.com" } }
For details, see Commit a transaction.
SPS can forward session data to Splunk near real-time. Using the One Identity Safeguard for Privileged Sessions App for Splunk you can integrate this data with your other sources, and access all your data related to privileged user activities from a single interface. To configure SPS to forward session data to Splunk, complete the following steps.
SPS version 5 F5 or later
Splunk version 6.5 or later
SPS does not send historical data to Splunk, only data from the sessions started after you complete this procedure.
GET https://<IP-address-of-SPS>/api/configuration/management/splunk_forwarder
Cookie name | Description | Required | Values |
---|---|---|---|
session_id | Contains the authentication token of the user | Required |
The value of the session ID cookie received from the REST server in the authentication response, for example, a1f71d030e657634730b9e887cb59a5e56162860. For details on authentication, see Authenticate to the SPS REST API. Note that this session ID refers to the connection between the REST client and the SPS REST API. It is not related to the sessions that SPS records (and which also have a session ID, but in a different format). |
The following command lists the endpoints for SNMP configuration settings.
curl --cookie cookies https://<IP-address-of-SPS>/api/configuration/management/splunk_forwarder
The following is a sample response received when querying the endpoint.
For details of the meta object, see Message format.
{ "body": { "enabled": true, "flush_interval": 600, "host": { "selection": "fqdn", "value": "splunk.example.com" }, "pam_address": { "selection": "fqdn", "value": "scb.example.com" }, "port": 8088, "ssl": { "selection": "insecure" }, "token": "2134356431" } }
Install the One Identity Safeguard for Privileged Sessions App for Splunk to your Splunk installation. This will automatically enable and configure the HTTP Event Collector (HEC) in your Splunk installation, and create an HTTP Event Collector authentication token ("HEC token") that SPS will use.
To help identify the source of the received data, the following settings are configured automatically in the One Identity Safeguard for Privileged Sessions App for Splunk:
index: The One Identity Safeguard for Privileged Sessions App for Splunk creates the index automatically, with the name balabit_events.
sourcetype: The source type of the events the SPS fowards is balabit:event.
On your Splunk interface, navigate to Settings > Data inputs > HTTP Event Collector. Copy the Token Value from the Balabit_HEC field. This is the HTTP Event Collector authentication token and you will need it when configuring SPS.
POST the JSON object to the https://<IP-address-of-SPS>/api/configuration/management/splunk_forwarder endpoint. You can find a detailed description of the available parameters listed in Elements of remote_desktop_gateway. For example,
{ "enabled": true, "flush_interval": 600, "host": { "selection": "fqdn", "value": "splunk.example.com" }, "pam_address": { "selection": "fqdn", "value": "psm.example.com" }, "port": 8088, "ssl": { "selection": "insecure" }, "token": "2134356431" }
For details, see Commit a transaction.
Splunk will display the data received from SPS as it was received from the host set in the pam_address field. By default, this is the hostname and domain name of the SPS appliance as set on the /api/configuration/network/naming endpoint. Adjust this field as needed for your environment.
Start a session that SPS will audit to test your configuration, and verify that the data of the session appears in Splunk.
© 2024 One Identity LLC. ALL RIGHTS RESERVED. 이용 약관 개인정보 보호정책 Cookie Preference Center