Update IdP sync doc (#118)

This commit is contained in:
Misha Bragin
2024-01-02 20:21:25 +01:00
committed by GitHub
parent ab22272390
commit aee8cbd1ce
2 changed files with 49 additions and 49 deletions

View File

@@ -6,19 +6,19 @@ This reference provides detailed information on managing integrations via NetBir
## Authentication ## Authentication
Authentication is required for all API requests. Please refer to the [authentication guideline](https://docs.netbird.io/how-to/access-netbird-public-api) for how to create and authenticate API calls using Personal Access Tokens (PAT). Authentication is required for all API requests. Please refer to the [authentication guideline](https://docs.netbird.io/how-to/access-netbird-public-api) for how to create and authenticate API calls using Personal Access Tokens (PAT).
## Google Workspace Integration ## Google Endpoints
### Create Integration ### Create Integration
The new integration synchronization is enabled by default when created. By default, for new integration synchronization is enabled.
Request: Request:
- `serviceAccountKey`: A Base64 encoded string derived from a service account key JSON. For the creation of the service account key JSON, refer to the provided [IdP guideline](idp.md). - `service_account_key`: A Base64 encoded string derived from a service account key JSON. For the creation of the service account key JSON, refer to the provided [IdP guideline](idp.md).
Encode service account JSON to base64 by using the command: Encode service account JSON to base64 by using the command:
```shell ```shell
base64 -i <SERVICE_ACCOUNT_KEY_PATH> base64 -i <SERVICE_ACCOUNT_KEY_PATH>
``` ```
- `syncInterval`: Optional. The default value is 300 seconds. - `sync_interval`: Optional. The default value is 300 seconds.
```shell ```shell
curl --request POST \ curl --request POST \
@@ -27,7 +27,7 @@ curl --request POST \
--header 'Authorization: Token <PAT>' \ --header 'Authorization: Token <PAT>' \
--header 'Content-Type: application/json' \ --header 'Content-Type: application/json' \
--data '{ --data '{
"serviceAccountKey": "<SERVICE_ACCOUNT_KEY>", "service_account_key": "<SERVICE_ACCOUNT_KEY>",
"customerID": "<CUSTOMER_ID>" "customerID": "<CUSTOMER_ID>"
}' }'
``` ```
@@ -36,8 +36,8 @@ Response
```json ```json
{ {
"id": <ID>, "id": <ID>,
"customerId": "<CUSTOMER_ID", "customer_id": "<CUSTOMER_ID",
"syncInterval": 300, "sync_interval": 300,
"enabled": true "enabled": true
} }
``` ```
@@ -55,8 +55,8 @@ Response
```json ```json
{ {
"id": <ID>, "id": <ID>,
"customerId": "<CUSTOMER_ID", "customer_id": "<CUSTOMER_ID",
"syncInterval": 300, "sync_interval": 300,
"enabled": true "enabled": true
} }
``` ```
@@ -75,8 +75,8 @@ Response
[ [
{ {
"id": <ID>, "id": <ID>,
"customerId": "<CUSTOMER_ID>", "customer_id": "<CUSTOMER_ID>",
"syncInterval": 300, "sync_interval": 300,
"enabled": true "enabled": true
} }
] ]
@@ -102,12 +102,12 @@ Response
Updates the selected parameters for a specific integration. Updates the selected parameters for a specific integration.
Request Request
- `serviceAccountKey`: A Base64 encoded string derived from a service account key JSON.For the creation of the service account key JSON, refer to the provided [IdP guideline](idp.md). - `service_account_key`: A Base64 encoded string derived from a service account key JSON.For the creation of the service account key JSON, refer to the provided [IdP guideline](idp.md).
Encode service account JSON to base64 by using the command: Encode service account JSON to base64 by using the command:
```shell ```shell
base64 -i <SERVICE_ACCOUNT_KEY_PATH> base64 -i <SERVICE_ACCOUNT_KEY_PATH>
``` ```
- `syncInterval`: Optional. Should not be less than 300 seconds. - `sync_interval`: Optional. Should not be less than 300 seconds.
- `enabled`: Optional. Used to disable/enable the integration. - `enabled`: Optional. Used to disable/enable the integration.
```shell ```shell
@@ -117,8 +117,8 @@ curl --request PUT \
--header 'Authorization: Token <PAT>' \ --header 'Authorization: Token <PAT>' \
--header 'Content-Type: application/json' \ --header 'Content-Type: application/json' \
--data '{ --data '{
"serviceAccountKey": "<SERVICE_ACCOUNT_KEY>", "service_account_key": "<SERVICE_ACCOUNT_KEY>",
"syncInterval": 300, "sync_interval": 300,
"enabled": false "enabled": false
}' }'
``` ```
@@ -127,8 +127,8 @@ Response
```json ```json
{ {
"id": <ID>, "id": <ID>,
"customerId": "<CUSTOMER_ID>", "customer_id": "<CUSTOMER_ID>",
"syncInterval": 300, "sync_interval": 300,
"enabled": false "enabled": false
} }
``` ```
@@ -167,21 +167,21 @@ Response
``` ```
## Azure AD Integration ## Azure Endpoints
Before proceeding with the setup, please ensure that you have configured Azure as per the guidelines outlined in the [IdP guideline](idp.md). Before proceeding with the setup, please ensure that you have configured Azure as per the guidelines outlined in the [IdP guideline](idp.md).
### Create Integration ### Create Integration
The new integration synchronization is enabled by default when created. By default, for new integration synchronization is enabled.
Request: Request:
- `clientSecret`: A Base64 encoded string derived from Azure Directory application client credential secret. - `client_secret`: A Base64 encoded string derived from Azure Directory application client credential secret.
Encode service account JSON to base64 by using the command: Encode service account JSON to base64 by using the command:
```shell ```shell
echo -n <CLIENT_SECRET> | base64 echo -n <CLIENT_SECRET> | base64
``` ```
- `clientId`: Azure Directory application client Id. - `client_id`: Azure Directory application client Id.
- `tenantId`: Azure Directory ID. - `tenant_id`: Azure Directory ID.
- `syncInterval`: Optional. The default value is 300 seconds. - `sync_interval`: Optional. The default value is 300 seconds.
```shell ```shell
curl --request POST \ curl --request POST \
@@ -190,9 +190,9 @@ curl --request POST \
--header 'Authorization: Token <PAT>' \ --header 'Authorization: Token <PAT>' \
--header 'Content-Type: application/json' \ --header 'Content-Type: application/json' \
--data '{ --data '{
"clientSecret": "<CLIENT_SECRET>", "client_secret": "<CLIENT_SECRET>",
"clientId": "<CLIENT_ID>", "client_id": "<CLIENT_ID>",
"tenantId": "<TENANT_ID>" "tenant_id": "<TENANT_ID>"
}' }'
``` ```
@@ -200,9 +200,9 @@ Response
```json ```json
{ {
"id": <ID>, "id": <ID>,
"clientId": "<CLIENT_ID>", "client_id": "<CLIENT_ID>",
"tenantId": "<TENANT_ID>", "tenant_id": "<TENANT_ID>",
"syncInterval": 300, "sync_interval": 300,
"enabled": true "enabled": true
} }
``` ```
@@ -220,9 +220,9 @@ Response
```json ```json
{ {
"id": <ID>, "id": <ID>,
"clientId": "<CLIENT_ID>", "client_id": "<CLIENT_ID>",
"tenantId": "<TENANT_ID>", "tenant_id": "<TENANT_ID>",
"syncInterval": 300, "sync_interval": 300,
"enabled": true "enabled": true
} }
``` ```
@@ -241,9 +241,9 @@ Response
[ [
{ {
"id": <ID>, "id": <ID>,
"clientId": "<CLIENT_ID>", "client_id": "<CLIENT_ID>",
"tenantId": "<TENANT_ID>", "tenant_id": "<TENANT_ID>",
"syncInterval": 300, "sync_interval": 300,
"enabled": true "enabled": true
} }
] ]
@@ -269,12 +269,12 @@ Response
Updates the selected parameters for a specific integration. Updates the selected parameters for a specific integration.
Request Request
- `clientSecret`: A Base64 encoded string derived from Azure Directory application client credential secret. - `client_secret`: A Base64 encoded string derived from Azure Directory application client credential secret.
Encode service account JSON to base64 by using the command: Encode service account JSON to base64 by using the command:
```shell ```shell
echo -n <CLIENT_SECRET> | base64 echo -n <CLIENT_SECRET> | base64
``` ```
- `syncInterval`: Optional. Should not be less than 300 seconds. - `sync_interval`: Optional. Should not be less than 300 seconds.
- `enabled`: Optional. Used to disable/enable the integration. - `enabled`: Optional. Used to disable/enable the integration.
```shell ```shell
@@ -284,8 +284,8 @@ curl --request PUT \
--header 'Authorization: Token <PAT>' \ --header 'Authorization: Token <PAT>' \
--header 'Content-Type: application/json' \ --header 'Content-Type: application/json' \
--data '{ --data '{
"clientSecret": "<CLIENT_SECRET>", "client_secret": "<CLIENT_SECRET>",
"syncInterval": 300, "sync_interval": 300,
"enabled": false "enabled": false
}' }'
``` ```
@@ -294,9 +294,9 @@ Response
```json ```json
{ {
"id": <ID>, "id": <ID>,
"clientId": "<CLIENT_ID>", "client_id": "<CLIENT_ID>",
"tenantId": "<TENANT_ID>", "tenant_id": "<TENANT_ID>",
"syncInterval": 300, "sync_interval": 300,
"enabled": true "enabled": true
} }
``` ```