Skip to content

Commit 847d6e3

Browse files
committed
restapipoller-data-connector-reference
1 parent 1138928 commit 847d6e3

1 file changed

Lines changed: 21 additions & 23 deletions

File tree

articles/sentinel/data-connector-connection-rules-reference.md

Lines changed: 21 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ ms.topic: reference
88
ms.date: 9/30/2024
99
ms.author: edbaynash
1010

11-
#Customer intent: As a security engineer, I want to reference paging, authentication and payload options to create and configure RestApiPoller data connectors by using the Codeless Connector Framework so that I can integrate a specific data source into Microsoft Sentinel without writing custom code.
11+
#Customer intent: As a security engineer, I want to reference paging, authentication, and payload options to create and configure RestApiPoller data connectors by using the Codeless Connector Framework. By using RestApiPoller data connectors, I can integrate a specific data source into Microsoft Sentinel without writing custom code.
1212

1313
---
1414

@@ -20,7 +20,7 @@ Each data connector represents a specific *connection* of a Microsoft Sentinel d
2020

2121
For more information, see [Create a codeless connector for Microsoft Sentinel](create-codeless-connector.md#create-the-deployment-template).
2222

23-
## Create or update data connectors
23+
## Creating or updating data connectors
2424

2525
Find the latest stable or preview API version by referencing the [`create` or `update`](/rest/api/securityinsights/data-connectors/create-or-update) operations in the REST API docs. The difference between the `create` and `update` operations is that `update` requires the `etag` value.
2626

@@ -97,7 +97,7 @@ To create the deployment template, which also uses parameters, you need to escap
9797

9898
To enable the credentials to be entered from the UI, the `connectorUIConfig` section requires you enter the desired parameters in `instructions`. For more information, see [Data connector definitions reference for the Codeless Connector Framework](data-connector-ui-definitions-reference.md#instructions).
9999

100-
#### Basic authentication
100+
#### <a name = "basic-auth"></a> Basic authentication
101101

102102
| Field | Required | Type |
103103
| ---- | ---- | ---- |
@@ -121,7 +121,7 @@ Here's an example of basic authentication that uses parameters defined in `conne
121121
| `ApiKey` | True | String | User secret key. | |
122122
| `ApiKeyName` | | String | Name of the URI header that contains the `ApiKey` value. | `Authorization` |
123123
| `ApiKeyIdentifier` | | String | String value to prepend the token. | `token` |
124-
| `IsApiKeyInPostPayload` | | Boolean | This value determines whether to send the secret in the `POST` body instead of header. | `false` |
124+
| `IsApiKeyInPostPayload` | | Boolean | Value that determines whether to send the secret in the `POST` body instead of header. | `false` |
125125

126126
`APIKey` authentication examples:
127127

@@ -163,16 +163,16 @@ After the user returns to the client via the redirect URL, the application will
163163

164164
|Field | Required | Type | Description |
165165
| ---- | ---- | ---- | ---- |
166-
| `ClientId` | True | String | The client ID |
167-
| `ClientSecret`| True | String | The client secret |
168-
| `AuthorizationCode` | True when the `grantType` value is `authorization_code` | String | If the grant type is `authorization_code`, this field value is the authorization code that the authentication server returned. |
166+
| `ClientId` | True. | String | The client ID. |
167+
| `ClientSecret`| True. | String | The client secret. |
168+
| `AuthorizationCode` | True when the `grantType` value is `authorization_code`. | String | If the grant type is `authorization_code`, this field value is the authorization code that the authentication server returned. |
169169
| `Scope` | True for the `authorization_code` grant type.<br> Optional for the `client_credentials` grant type. | String | A space-separated list of scopes for user consent. For more information, see [OAuth2 scopes and permissions](/entra/identity-platform/scopes-oidc). |
170170
| `RedirectUri` | True when the `grantType` value is `authorization_code`. | String | The URL for redirect must be `https://portal.azure.com/TokenAuthorize/ExtensionName/Microsoft_Azure_Security_Insights`. |
171-
| `GrantType` | True | String | The grant type is `authorization_code` or `client_credentials`. |
172-
| `TokenEndpoint` | True | String | URL to exchange code with a valid token in the `authorization_code` grant, or a client ID and secret with a valid token in the `client_credentials` grant. |
171+
| `GrantType` | True. | String | The grant type. Can be `authorization_code` or `client_credentials`. |
172+
| `TokenEndpoint` | True. | String | The URL to exchange code with a valid token in the `authorization_code` grant, or a client ID and secret with a valid token in the `client_credentials` grant. |
173173
| `TokenEndpointHeaders` | | Object | An optional key/value object to send custom headers to the token server. |
174174
| `TokenEndpointQueryParameters` | | Object | An optional key/value object to send custom query parameters to the token server. |
175-
| `AuthorizationEndpoint` | True | String | The URL for user consent for the `authorization_code` flow. |
175+
| `AuthorizationEndpoint` | True. | String | The URL for user consent for the `authorization_code` flow. |
176176
| `AuthorizationEndpointHeaders` | | Object | An optional key/value object to send custom headers to the authentication server. |
177177
| `AuthorizationEndpointQueryParameters` | | Object | An optional key/value pair used in an OAuth2 authorization code flow request. |
178178

@@ -308,7 +308,7 @@ JSON Web Token (JWT) authentication supports obtaining tokens via username and p
308308
}
309309
```
310310

311-
Authentication flow:
311+
Follow this authentication flow:
312312

313313
1. Send credentials to `TokenEndpoint` to obtain JWT token.
314314

@@ -319,29 +319,27 @@ Authentication flow:
319319

320320
3. Use the token in subsequent API requests with the `ApiKeyName` header.
321321

322-
Properties:
323-
324322
|Field |Required |Type |Description |
325323
| ---- | ---- | ---- | ---- |
326324
| `type` | True | String | The type. Must be `JwtToken` |
327325
| `userName` | True (if `userToken` isn't used) | Object | The key/value pair for the `userName` credential. If `userName` and `password` are sent in the header request, specify the `value` property with the username. If `userName` and `password` are sent in the body request, specify `Key` and `Value`. |
328-
| `password` | True (if `userToken` isn't used). | Object | The key/value pair for the password credential. If `userName` and `password` are sent in the header request, specify the `value` property with the `userName`. If `userName` and `password` are sent in the body request, specify `Key` and `Value`. |
326+
| `password` | True (if `userToken` isn't used) | Object | The key/value pair for the password credential. If `userName` and `password` are sent in the header request, specify the `value` property with the `userName`. If `userName` and `password` are sent in the body request, specify `Key` and `Value`. |
329327
| `userToken` | True (if `userName` isn't used) | String | The user token generated by the client to get the system token for authentication. |
330328
| `UserTokenPrepend` | False | String | The value that indicates whether to prepend text before the token. Example: `Bearer`. |
331329
| `NoAccessTokenPrepend` | False | Boolean | An access flag that indicates that the token shouldn't prepend anything. |
332-
| `TokenEndpointHttpMethod` | False | String | The HTTP method to token endpoint. It can be `Get` or `Post`. The default is `Post`. |
330+
| `TokenEndpointHttpMethod` | False | String | The HTTP method for token endpoint. It can be `Get` or `Post`. The default is `Post`. |
333331
| `TokenEndpoint` | True | String | The URL endpoint that's used to obtain the JWT token. |
334-
| `IsCredentialsInHeaders` | | Boolean | This value indicates whether to send credentials as a basic authentication header (`true`) versus a `POST` body (`false`). The default is `false`. |
335-
| `IsJsonRequest` | | Boolean | This value indicates whether to send the request in JSON (header `Content-Type = application/json`) versus form-encoded (header `Content-Type = application/x-www-form-urlencoded`). The default is `false`. |
336-
| `JwtTokenJsonPath` | | String | This value indicates the `JSONPath` value to use to extract the token from the response. For example: "`$.access_token`"). |
337-
| `JwtTokenInResponseHeader` | | Boolean | This value indicates whether to extract the token from the response header versus the body. The default is `false`. |
338-
| `JwtTokenHeaderName`. | | String | This value indicates the header name when the token is in the response header. The default is "`Authorization`" |
332+
| `IsCredentialsInHeaders` | | Boolean | The value that indicates whether to send credentials as a basic authentication header (`true`) versus a `POST` body (`false`). The default is `false`. |
333+
| `IsJsonRequest` | | Boolean | The value that indicates whether to send the request in JSON (header `Content-Type = application/json`) versus form-encoded (header `Content-Type = application/x-www-form-urlencoded`). The default is `false`. |
334+
| `JwtTokenJsonPath` | | String | The value that indicates the `JSONPath` value to use to extract the token from the response. For example: "`$.access_token`"). |
335+
| `JwtTokenInResponseHeader` | | Boolean | The value that indicates whether to extract the token from the response header versus the body. The default is `false`. |
336+
| `JwtTokenHeaderName`. | | String | The value that indicates the header name when the token is in the response header. The default is "`Authorization`" |
339337
| `JwtTokenIdentifier` | | String | The identifier used to extract the JWT from a prefixed token string. |
340338
| `QueryParameters` | | Object | The custom query parameters to include when sending the request to the token endpoint. |
341339
| `Headers` | | Object | The custom headers to include when sending the request to the token endpoint. |
342340
| `RequestTimeoutInSeconds` | | Integer | The request timeout in seconds. The default value is `100`, with a maximum value of `180`. |
343341

344-
Authentication flow:
342+
Follow this authentication flow:
345343

346344
1. Send credentials to `TokenEndpoint` to obtain the JWT token.
347345

@@ -365,7 +363,7 @@ The request section defines how the CCF data connector sends requests to your da
365363

366364
|Field |Required |Type |Description |
367365
| ---- | ---- | ---- | ---- |
368-
| `ApiEndpoint` | True | String | This field determines the URL for the remote server and defines the endpoint from which to pull data. |
366+
| `ApiEndpoint` | True. | String | This field determines the URL for the remote server and defines the endpoint from which to pull data. |
369367
| `RateLimitQPS` | | Integer | This field defines the number of calls or queries allowed in a second. |
370368
| `RateLimitConfig` | | Object | This field defines the rate-limit configuration for the RESTful API. For more, go to [`RateLimitConfig` example](#ratelimitconfig-example). |
371369
| `QueryWindowInMin` | | Integer | This field defines the available query window in minutes. The minimum is 1 minute. The default is 5 minutes.|
@@ -755,7 +753,7 @@ Example:
755753
|----|----|----|----|
756754
| `DataCollectionEndpoint` | True | String | Data collection endpoint (DCE). For example: `https://example.ingest.monitor.azure.com`. |
757755
| `DataCollectionRuleImmutableId` | True | String | The DCR immutable ID. Find it by viewing the DCR creation response or by using the [DCR API](/rest/api/monitor/data-collection-rules/get). |
758-
| `StreamName` | True | String | This value is the `streamDeclaration` defined in the DCR. The prefix must begin with *Custom-*). |
756+
| `StreamName` | True | String | This value is the `streamDeclaration` defined in the DCR. The prefix must begin with `Custom-`). |
759757

760758
## Example CCF data connector
761759

0 commit comments

Comments
 (0)