Adding an OpenAPI Connection
Prerequisites
- A user with sufficient permissions is required to establish a connection with OpenAPI.
- Zeenea traffic flows towards the data source must be open.
A link to the configuration template can be found here: Zeenea Connector Downloads.
Supported Versions
The OpenAPI connector was developed and tested with OpenAPI requirements 3.0.0 and 3.0.1 and should be compatible later.
The OpenAPI connector accepts JSON and YAML formats.
Installing the Plugin
The OpenAPI plugin can be downloaded here: Zeenea Connector Downloads
For more information on how to install a plugin, please refer to the following article: Installing and Configuring Connectors as a Plugin.
Declaring the Connection
Creating and configuring connectors is done through a dedicated configuration file located in the /connections
folder of the relevant scanner. The scanner frequently checks for any change and resynchronises automatically.
Read more: Managing Connections
In order to establish a connection with a OpenAPI interface, specifying the following parameters in the dedicated file is required:
Parameter | Expected value |
---|---|
name | The name that will be displayed to catalog users for this connection. |
code | The unique identifier of the connection on the Zeenea platform. Once registered on the platform, this code must not be modified or the connection will be considered as new and the old one removed from the scanner. |
connector_id | The type of connector to be used for the connection. Here, the value must be openapi and this value must not be modified. |
connection.url | Path to the Examples:
or
|
connection.swagger.endpoint | Optional when the Example:
|
From a basic auth protocol | |
connection.username | Username |
connection.password | User password |
From an OAuth2 protocol | |
connection.oauth.endpoint | API endpoint |
connection.oauth.client_id | Application ID (client) |
connection.oauth.client_secret | Application password (client) |
tls.truststore.path | The Trust Store file path. This file must be provided in case TLS encryption is activated (protocol https) and when certificates of servers are delivered by a specific authority. It must contain the certification chain. |
tls.truststore.password | Password of the trust store file |
tls.truststore.type | Type of the trust store file (PKCS12 or JKS ). Default value is discovered from the file extension. |
proxy.scheme | Depending on the proxy, http or https |
proxy.hostname | Proxy address |
proxy.port | Proxy port |
proxy.username | Proxy username |
proxy.password | Proxy account password |
A template of the configuration file is available in this repository.
User Permissions
In order to collect metadata, the running user's permissions must allow them to access and read datasets that need cataloging.
Here, the user must have read access to the specification API file.
Data Extraction
To extract information, the connector identifies the datasets exposed by the API from each GET endpoint defined in the specification file. Then, it defined the object's data model as described in the file.
Collected Metadata
Inventory
The inventory collects the list of unique GET endpoints described in the JSON specification file.
Dataset
- Name
- Source Description
- Technical Data:
- Endpoint
- Swagger Name
- Specification Version
Field
Dataset attribute.
- Name
- Source Description: Not supported
- Type
- Can be null: Depending on field settings
- Multivalued: Depending on field settings
- Primary key: Not supported. Default value
false
. - Technical Data:
- Technical Name
- Native type
Unique Identification Keys
A key is associated with each item of the catalog. When the object comes from an external system, the key is built and provided by the connector.
More information about unique identification keys in this documentation: Identification Keys.
Object | Identification Key | Description |
---|---|---|
Dataset | code/component name |
|
Field | code/component name/field name |
|