Skip to content

Commit

Permalink
Update IdP sync doc (#118)
Browse files Browse the repository at this point in the history
  • Loading branch information
braginini authored Jan 2, 2024
1 parent ab22272 commit aee8cbd
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 49 deletions.
88 changes: 44 additions & 44 deletions misc/idp-sync/api.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,19 +6,19 @@ This reference provides detailed information on managing integrations via NetBir
## 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).

## Google Workspace Integration
## Google Endpoints

### Create Integration
The new integration synchronization is enabled by default when created.
By default, for new integration synchronization is enabled.

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).
Encode service account JSON to base64 by using the command:
- `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:
```shell
base64 -i <SERVICE_ACCOUNT_KEY_PATH>
```

- `syncInterval`: Optional. The default value is 300 seconds.
- `sync_interval`: Optional. The default value is 300 seconds.

```shell
curl --request POST \
Expand All @@ -27,7 +27,7 @@ curl --request POST \
--header 'Authorization: Token <PAT>' \
--header 'Content-Type: application/json' \
--data '{
"serviceAccountKey": "<SERVICE_ACCOUNT_KEY>",
"service_account_key": "<SERVICE_ACCOUNT_KEY>",
"customerID": "<CUSTOMER_ID>"
}'
```
Expand All @@ -36,8 +36,8 @@ Response
```json
{
"id": <ID>,
"customerId": "<CUSTOMER_ID",
"syncInterval": 300,
"customer_id": "<CUSTOMER_ID",
"sync_interval": 300,
"enabled": true
}
```
Expand All @@ -55,8 +55,8 @@ Response
```json
{
"id": <ID>,
"customerId": "<CUSTOMER_ID",
"syncInterval": 300,
"customer_id": "<CUSTOMER_ID",
"sync_interval": 300,
"enabled": true
}
```
Expand All @@ -75,8 +75,8 @@ Response
[
{
"id": <ID>,
"customerId": "<CUSTOMER_ID>",
"syncInterval": 300,
"customer_id": "<CUSTOMER_ID>",
"sync_interval": 300,
"enabled": true
}
]
Expand All @@ -102,13 +102,13 @@ Response
Updates the selected parameters for a specific integration.

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:
```shell
base64 -i <SERVICE_ACCOUNT_KEY_PATH>
```
- `syncInterval`: Optional. Should not be less than 300 seconds.
- `enabled`: Optional. Used to disable/enable the integration.
- `sync_interval`: Optional. Should not be less than 300 seconds.
- `enabled`: Optional. Used to disable/enable the integration.

```shell
curl --request PUT \
Expand All @@ -117,8 +117,8 @@ curl --request PUT \
--header 'Authorization: Token <PAT>' \
--header 'Content-Type: application/json' \
--data '{
"serviceAccountKey": "<SERVICE_ACCOUNT_KEY>",
"syncInterval": 300,
"service_account_key": "<SERVICE_ACCOUNT_KEY>",
"sync_interval": 300,
"enabled": false
}'
```
Expand All @@ -127,8 +127,8 @@ Response
```json
{
"id": <ID>,
"customerId": "<CUSTOMER_ID>",
"syncInterval": 300,
"customer_id": "<CUSTOMER_ID>",
"sync_interval": 300,
"enabled": false
}
```
Expand Down Expand Up @@ -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).

### Create Integration
The new integration synchronization is enabled by default when created.
By default, for new integration synchronization is enabled.

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:
```shell
echo -n <CLIENT_SECRET> | base64
```
- `clientId`: Azure Directory application client Id.
- `tenantId`: Azure Directory ID.
- `syncInterval`: Optional. The default value is 300 seconds.
- `client_id`: Azure Directory application client Id.
- `tenant_id`: Azure Directory ID.
- `sync_interval`: Optional. The default value is 300 seconds.

```shell
curl --request POST \
Expand All @@ -190,19 +190,19 @@ curl --request POST \
--header 'Authorization: Token <PAT>' \
--header 'Content-Type: application/json' \
--data '{
"clientSecret": "<CLIENT_SECRET>",
"clientId": "<CLIENT_ID>",
"tenantId": "<TENANT_ID>"
"client_secret": "<CLIENT_SECRET>",
"client_id": "<CLIENT_ID>",
"tenant_id": "<TENANT_ID>"
}'
```

Response
```json
{
"id": <ID>,
"clientId": "<CLIENT_ID>",
"tenantId": "<TENANT_ID>",
"syncInterval": 300,
"client_id": "<CLIENT_ID>",
"tenant_id": "<TENANT_ID>",
"sync_interval": 300,
"enabled": true
}
```
Expand All @@ -220,9 +220,9 @@ Response
```json
{
"id": <ID>,
"clientId": "<CLIENT_ID>",
"tenantId": "<TENANT_ID>",
"syncInterval": 300,
"client_id": "<CLIENT_ID>",
"tenant_id": "<TENANT_ID>",
"sync_interval": 300,
"enabled": true
}
```
Expand All @@ -241,9 +241,9 @@ Response
[
{
"id": <ID>,
"clientId": "<CLIENT_ID>",
"tenantId": "<TENANT_ID>",
"syncInterval": 300,
"client_id": "<CLIENT_ID>",
"tenant_id": "<TENANT_ID>",
"sync_interval": 300,
"enabled": true
}
]
Expand All @@ -269,12 +269,12 @@ Response
Updates the selected parameters for a specific integration.

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:
```shell
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.

```shell
Expand All @@ -284,8 +284,8 @@ curl --request PUT \
--header 'Authorization: Token <PAT>' \
--header 'Content-Type: application/json' \
--data '{
"clientSecret": "<CLIENT_SECRET>",
"syncInterval": 300,
"client_secret": "<CLIENT_SECRET>",
"sync_interval": 300,
"enabled": false
}'
```
Expand All @@ -294,9 +294,9 @@ Response
```json
{
"id": <ID>,
"clientId": "<CLIENT_ID>",
"tenantId": "<TENANT_ID>",
"syncInterval": 300,
"client_id": "<CLIENT_ID>",
"tenant_id": "<TENANT_ID>",
"sync_interval": 300,
"enabled": true
}
```
Expand Down
10 changes: 5 additions & 5 deletions misc/idp-sync/idp.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ Before you start creating and configuring an Google Workspace application, ensur
- Navigate to [API Credentials](https://console.cloud.google.com/apis/credentials) page
- Click `CREATE CREDENTIALS` at the top and select `Service account`
- Fill in the form with the following values and click `CREATE`
- Service account name: `NetBird`
- Service account ID: `netbird`
- Service account name: `NetBird`
- Service account ID: `netbird`
- Click `DONE`
<p>
<img src="media/google-service-account-create.png" alt="service-account-create"/>
Expand All @@ -41,8 +41,8 @@ Read how to manage and secure your service keys [here](https://cloud.google.com/
- Select `Account` on the left menu and then click `Admin Roles`
- Click `Create new role`
- Fill in the form with the following values and click `CREATE`
- name: `User and Group Management ReadOnly`
- description: `User and Group Management ReadOnly`
- name: `User and Group Management ReadOnly`
- description: `User and Group Management ReadOnly`
- Click `CONTINUE`
<p>
<img src="media/google-new-admin-role.png" alt="new-admin-role"/>
Expand Down Expand Up @@ -74,7 +74,7 @@ Read how to manage and secure your service keys [here](https://cloud.google.com/

Before you start creating and configuring an Azure AD application, ensure that you have the following:
- User account with admin permissions: You must have an Azure AD user account with the appropriate permissions to create
and manage Azure AD applications. If you don't have the required permissions, ask your Azure AD administrator to grant them to you.
and manage Azure AD applications. If you don't have the required permissions, ask your Azure AD administrator to grant them to you.

#### Step 1. Create and configure Azure AD application
- Navigate to [Azure Active Directory](https://portal.azure.com/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/Overview)
Expand Down

0 comments on commit aee8cbd

Please sign in to comment.