Compartilhar via


Data Connector Definitions - Create Or Update

Cria ou atualiza a definição do conector de dados.

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/dataConnectorDefinitions/{dataConnectorDefinitionName}?api-version=2024-01-01-preview

Parâmetros de URI

Nome Em Obrigatório Tipo Description
dataConnectorDefinitionName
path True

string

O nome da definição do conector de dados.

Regex pattern: ^[a-z0-9A-Z-_]*$

resourceGroupName
path True

string

O nome do grupo de recursos. O nome diferencia maiúsculas de minúsculas.

subscriptionId
path True

string

A ID da assinatura de destino.

workspaceName
path True

string

O nome do workspace.

Regex pattern: ^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$

api-version
query True

string

A versão da API a ser usada para esta operação.

Corpo da solicitação

CustomizableConnectorDefinition

Definição do conector para o tipo 'Personalizável'.

Nome Obrigatório Tipo Description
kind True string:

Customizable

O tipo de conector de dados

properties.connectorUiConfig True

CustomizableConnectorUiConfig

O tipo de definição do conector 'Personalizável' do UiConfig.

etag

string

Etag do recurso do azure

properties.connectionsConfig

CustomizableConnectionsConfig

O tipo de definição do conector 'Personalizável' do UiConfig.

properties.createdTimeUtc

string

Obtém ou define a data de definição do conector criada no formato UTC.

properties.lastModifiedUtc

string

Obtém ou define a data da última modificação da definição do conector no formato UTC.

Respostas

Nome Tipo Description
200 OK DataConnectorDefinition:

CustomizableConnectorDefinition

Atualizado

201 Created DataConnectorDefinition:

CustomizableConnectorDefinition

Criado

Other Status Codes

CloudError

Resposta de erro que descreve por que a operação falhou.

Segurança

azure_auth

Fluxo do OAuth2 do Azure Active Directory

Type: oauth2
Flow: implicit
Authorization URL: https://login.microsoftonline.com/common/oauth2/authorize

Scopes

Nome Description
user_impersonation representar sua conta de usuário

Exemplos

Create data connector definition

Sample Request

PUT https://management.azure.com/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectorDefinitions/73e01a99-5cd7-4139-a149-9f2736ff2ab5?api-version=2024-01-01-preview

{
  "kind": "Customizable",
  "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"",
  "properties": {
    "connectorUiConfig": {
      "title": "GitHub Enterprise Audit Log",
      "publisher": "GitHub",
      "descriptionMarkdown": "The GitHub audit log connector provides the capability to ingest GitHub logs into Azure Sentinel. By connecting GitHub audit logs into Azure Sentinel, you can view this data in workbooks, use it to create custom alerts, and improve your investigation process.",
      "graphQueries": [
        {
          "metricName": "Total events received",
          "legend": "GitHub audit log events",
          "baseQuery": "GitHubAuditLogPolling_CL"
        }
      ],
      "dataTypes": [
        {
          "name": "GitHubAuditLogPolling_CL",
          "lastDataReceivedQuery": "GitHubAuditLogPolling_CL \n            | summarize Time = max(TimeGenerated)\n            | where isnotempty(Time)"
        }
      ],
      "connectivityCriteria": [
        {
          "type": "IsConnectedQuery",
          "value": [
            "GitHubAuditLogPolling_CL \n | summarize LastLogReceived = max(TimeGenerated)\n | project IsConnected = LastLogReceived > ago(30d)"
          ]
        }
      ],
      "availability": {
        "status": 1,
        "isPreview": false
      },
      "permissions": {
        "resourceProvider": [
          {
            "provider": "Microsoft.OperationalInsights/workspaces",
            "permissionsDisplayText": "read and write permissions are required.",
            "providerDisplayName": "Workspace",
            "scope": "Workspace",
            "requiredPermissions": {
              "write": true,
              "read": false,
              "delete": false,
              "action": false
            }
          }
        ],
        "customs": [
          {
            "name": "GitHub API personal token Key",
            "description": "You need access to GitHub personal token, the key should have 'admin:org' scope"
          }
        ]
      },
      "instructionSteps": [
        {
          "title": "Connect GitHub Enterprise Audit Log to Azure Sentinel",
          "description": "Enable GitHub audit Logs. \n Follow [this](https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token) to create or find your personal key",
          "instructions": [
            {
              "type": "OAuthForm",
              "parameters": {
                "clientIdLabel": "Client ID",
                "clientSecretLabel": "Client Secret",
                "connectButtonLabel": "Connect",
                "disconnectButtonLabel": "Disconnect"
              }
            }
          ]
        }
      ]
    }
  }
}

Sample Response

{
  "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectorDefinitions/73e01a99-5cd7-4139-a149-9f2736ff2ab5",
  "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5",
  "type": "Microsoft.SecurityInsights/dataConnectorDefinitions",
  "kind": "Customizable",
  "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"",
  "properties": {
    "connectorUiConfig": {
      "title": "GitHub Enterprise Audit Log",
      "publisher": "GitHub",
      "descriptionMarkdown": "The GitHub audit log connector provides the capability to ingest GitHub logs into Azure Sentinel. By connecting GitHub audit logs into Azure Sentinel, you can view this data in workbooks, use it to create custom alerts, and improve your investigation process.",
      "graphQueries": [
        {
          "metricName": "Total events received",
          "legend": "GitHub audit log events",
          "baseQuery": "GitHubAuditLogPolling_CL"
        }
      ],
      "sampleQueries": [
        {
          "description": "All logs",
          "query": "GitHubAuditLogPolling_CL \n | take 10"
        }
      ],
      "dataTypes": [
        {
          "name": "GitHubAuditLogPolling_CL",
          "lastDataReceivedQuery": "GitHubAuditLogPolling_CL \n            | summarize Time = max(TimeGenerated)\n            | where isnotempty(Time)"
        }
      ],
      "connectivityCriteria": [
        {
          "type": "IsConnectedQuery",
          "value": [
            "GitHubAuditLogPolling_CL \n | summarize LastLogReceived = max(TimeGenerated)\n | project IsConnected = LastLogReceived > ago(30d)"
          ]
        }
      ],
      "availability": {
        "status": 1,
        "isPreview": false
      },
      "permissions": {
        "resourceProvider": [
          {
            "provider": "Microsoft.OperationalInsights/workspaces",
            "permissionsDisplayText": "read and write permissions are required.",
            "providerDisplayName": "Workspace",
            "scope": "Workspace",
            "requiredPermissions": {
              "write": true,
              "read": false,
              "delete": false,
              "action": false
            }
          }
        ],
        "customs": [
          {
            "name": "GitHub API personal token Key",
            "description": "You need access to GitHub personal token, the key should have 'admin:org' scope"
          }
        ]
      },
      "instructionSteps": [
        {
          "title": "Connect GitHub Enterprise Audit Log to Azure Sentinel",
          "description": "Enable GitHub audit Logs. \n Follow [this](https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token) to create or find your personal key",
          "instructions": [
            {
              "type": "OAuthForm",
              "parameters": {
                "clientIdLabel": "Client ID",
                "clientSecretLabel": "Client Secret",
                "connectButtonLabel": "Connect",
                "disconnectButtonLabel": "Disconnect"
              }
            }
          ]
        }
      ]
    }
  }
}
{
  "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectorDefinitions/73e01a99-5cd7-4139-a149-9f2736ff2ab5",
  "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5",
  "type": "Microsoft.SecurityInsights/dataConnectorDefinitions",
  "kind": "Customizable",
  "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"",
  "properties": {
    "connectorUiConfig": {
      "title": "GitHub Enterprise Audit Log",
      "publisher": "GitHub",
      "descriptionMarkdown": "The GitHub audit log connector provides the capability to ingest GitHub logs into Azure Sentinel. By connecting GitHub audit logs into Azure Sentinel, you can view this data in workbooks, use it to create custom alerts, and improve your investigation process.",
      "graphQueries": [
        {
          "metricName": "Total events received",
          "legend": "GitHub audit log events",
          "baseQuery": "GitHubAuditLogPolling_CL"
        }
      ],
      "sampleQueries": [
        {
          "description": "All logs",
          "query": "GitHubAuditLogPolling_CL \n | take 10"
        }
      ],
      "dataTypes": [
        {
          "name": "GitHubAuditLogPolling_CL",
          "lastDataReceivedQuery": "GitHubAuditLogPolling_CL \n            | summarize Time = max(TimeGenerated)\n            | where isnotempty(Time)"
        }
      ],
      "connectivityCriteria": [
        {
          "type": "IsConnectedQuery",
          "value": [
            "GitHubAuditLogPolling_CL \n | summarize LastLogReceived = max(TimeGenerated)\n | project IsConnected = LastLogReceived > ago(30d)"
          ]
        }
      ],
      "availability": {
        "status": 1,
        "isPreview": false
      },
      "permissions": {
        "resourceProvider": [
          {
            "provider": "Microsoft.OperationalInsights/workspaces",
            "permissionsDisplayText": "read and write permissions are required.",
            "providerDisplayName": "Workspace",
            "scope": "Workspace",
            "requiredPermissions": {
              "write": true,
              "read": false,
              "delete": false,
              "action": false
            }
          }
        ],
        "customs": [
          {
            "name": "GitHub API personal token Key",
            "description": "You need access to GitHub personal token, the key should have 'admin:org' scope"
          }
        ]
      },
      "instructionSteps": [
        {
          "title": "Connect GitHub Enterprise Audit Log to Azure Sentinel",
          "description": "Enable GitHub audit Logs. \n Follow [this](https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token) to create or find your personal key",
          "instructions": [
            {
              "type": "OAuthForm",
              "parameters": {
                "clientIdLabel": "Client ID",
                "clientSecretLabel": "Client Secret",
                "connectButtonLabel": "Connect",
                "disconnectButtonLabel": "Disconnect"
              }
            }
          ]
        }
      ]
    }
  }
}

Definições

Nome Description
CloudError

Estrutura de resposta de erro.

CloudErrorBody

Detalhes do erro.

ConnectivityCriterion

Os critérios pelos quais determinamos se o conector está conectado ou não. Por exemplo, use uma consulta KQL para marcar se o tipo de dados esperado estiver fluindo).

ConnectorDataType

O tipo de dados que é criado pelo conector, incluindo uma consulta indicada quando foi a última vez que o tipo de dados foi recebido no workspace.

ConnectorDefinitionsAvailability

A exposição status do conector aos clientes.

ConnectorDefinitionsPermissions

As permissões necessárias para o conector.

ConnectorDefinitionsResourceProvider

Os detalhes do provedor de recursos incluem as permissões necessárias para o usuário criar conexões. O usuário deve ter as permissões necessárias (Read\Write, ..) no escopo especificado ProviderPermissionsScope em relação ao provedor de recursos especificado.

createdByType

O tipo de identidade que criou o recurso.

CustomizableConnectionsConfig

O tipo de definição do conector 'Personalizável' do UiConfig.

CustomizableConnectorDefinition

Definição do conector para o tipo 'Personalizável'.

CustomizableConnectorUiConfig

O tipo de definição do conector 'Personalizável' do UiConfig.

CustomPermissionDetails

As permissões personalizadas necessárias para o conector.

DataConnectorDefinitionKind

O tipo de definições do conector de dados

GraphQuery

A consulta de grafo para mostrar o volume de dados que chegam ao workspace ao longo do tempo.

InstructionStep

Etapas de instrução para habilitar o conector.

InstructionStepDetails

Detalhes da etapa de instrução, a serem exibidos na seção Etapas de instruções na página do conector no Portal do Sentinel.

ProviderPermissionsScope

O escopo no qual o usuário deve ter permissões para poder criar conexões.

ResourceProviderRequiredPermissions

Permissões necessárias para o provedor de recursos do conector que definem em ResourceProviders. Para obter mais informações sobre as permissões, consulte aqui.

systemData

Metadados relativos à criação e à última modificação do recurso.

CloudError

Estrutura de resposta de erro.

Nome Tipo Description
error

CloudErrorBody

Dados do erro

CloudErrorBody

Detalhes do erro.

Nome Tipo Description
code

string

Um identificador para o erro. Os códigos são invariáveis e devem ser consumidos programaticamente.

message

string

Uma mensagem que descreve o erro, destinada a ser adequada para exibição em uma interface do usuário.

ConnectivityCriterion

Os critérios pelos quais determinamos se o conector está conectado ou não. Por exemplo, use uma consulta KQL para marcar se o tipo de dados esperado estiver fluindo).

Nome Tipo Description
type

string

Obtém ou define o tipo de conectividade.

value

string[]

Obtém ou define as consultas para verificar a conectividade.

ConnectorDataType

O tipo de dados que é criado pelo conector, incluindo uma consulta indicada quando foi a última vez que o tipo de dados foi recebido no workspace.

Nome Tipo Description
lastDataReceivedQuery

string

Obtém ou define a consulta para indicar quando os dados relevantes foram recebidos pela última vez no workspace.

name

string

Obtém ou define o nome do tipo de dados a ser mostrado no grafo.

ConnectorDefinitionsAvailability

A exposição status do conector aos clientes.

Nome Tipo Description
isPreview

boolean

Obtém ou define um valor que indica se o conector é visualizado.

status

integer

A exposição status do conector aos clientes. Os valores disponíveis são 0-4 (0=None, 1=Available, 2=FeatureFlag, 3=Internal).

ConnectorDefinitionsPermissions

As permissões necessárias para o conector.

Nome Tipo Description
customs

CustomPermissionDetails[]

Obtém ou define as permissões alfandegárias necessárias para o usuário criar conexões.

licenses

string[]

Obtém ou define as licenças necessárias para o usuário criar conexões.

resourceProvider

ConnectorDefinitionsResourceProvider[]

Obtém ou define as permissões de provedor de recursos necessárias para o usuário criar conexões.

tenant

string[]

Obtém ou define as permissões de locatário necessárias para o conector.

ConnectorDefinitionsResourceProvider

Os detalhes do provedor de recursos incluem as permissões necessárias para o usuário criar conexões. O usuário deve ter as permissões necessárias (Read\Write, ..) no escopo especificado ProviderPermissionsScope em relação ao provedor de recursos especificado.

Nome Tipo Description
permissionsDisplayText

string

Obtém ou define o texto de descrição de permissões.

provider

string

Obtém ou define o nome do provedor.

providerDisplayName

string

Obtém ou define o nome de exibição do provedor de permissões.

requiredPermissions

ResourceProviderRequiredPermissions

Permissões necessárias para o provedor de recursos do conector que definem em ResourceProviders. Para obter mais informações sobre as permissões, consulte aqui.

scope

ProviderPermissionsScope

O escopo no qual o usuário deve ter permissões para poder criar conexões.

createdByType

O tipo de identidade que criou o recurso.

Nome Tipo Description
Application

string

Key

string

ManagedIdentity

string

User

string

CustomizableConnectionsConfig

O tipo de definição do conector 'Personalizável' do UiConfig.

Nome Tipo Description
templateSpecName

string

Obtém ou define o nome do modelo. O modelo inclui modelos arm que podem ser criados pelo conector, geralmente serão os modelos do ARM dataConnectors.

templateSpecVersion

string

Obtém ou define a versão do modelo.

CustomizableConnectorDefinition

Definição do conector para o tipo 'Personalizável'.

Nome Tipo Description
etag

string

Etag do recurso do azure

id

string

ID de recurso totalmente qualificada para o recurso. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}

kind string:

Customizable

O tipo de conector de dados

name

string

O nome do recurso

properties.connectionsConfig

CustomizableConnectionsConfig

O tipo de definição do conector 'Personalizável' do UiConfig.

properties.connectorUiConfig

CustomizableConnectorUiConfig

O tipo de definição do conector 'Personalizável' do UiConfig.

properties.createdTimeUtc

string

Obtém ou define a data de definição do conector criada no formato UTC.

properties.lastModifiedUtc

string

Obtém ou define a data da última modificação da definição do conector no formato UTC.

systemData

systemData

Os metadados do Azure Resource Manager que contêm as informações createdBy e modifiedBy.

type

string

Tipo do recurso. Por exemplo, "Microsoft.Compute/virtualMachines" ou "Microsoft.Storage/storageAccounts"

CustomizableConnectorUiConfig

O tipo de definição do conector 'Personalizável' do UiConfig.

Nome Tipo Description
availability

ConnectorDefinitionsAvailability

A exposição status do conector aos clientes.

connectivityCriteria

ConnectivityCriterion[]

Obtém ou define a maneira como o conector verifica se o conector está conectado.

dataTypes

ConnectorDataType[]

Obtém ou define os tipos de dados como marcar para os últimos dados recebidos.

descriptionMarkdown

string

Obtém ou define a descrição do conector no formato markdown.

graphQueries

GraphQuery[]

Obtém ou define as consultas de grafo para mostrar o volume de dados atual ao longo do tempo.

id

string

Obtém ou define a ID do conector personalizado. Campo opcional.

instructionSteps

InstructionStep[]

Obtém ou define as etapas de instrução para habilitar o conector.

isConnectivityCriteriasMatchSome

boolean

Obtém ou define um valor que indica se deve usar 'OR'(SOME) ou 'AND' entre itens ConnectivityCriteria.

logo

string

Obtém ou define o logotipo do conector a ser usado ao exibir o conector na galeria do conector do Azure Sentinel. O valor do logotipo deve estar no formato SVG.

permissions

ConnectorDefinitionsPermissions

As permissões necessárias para o conector.

publisher

string

Obtém ou define o nome do editor do conector.

title

string

Obtém ou define o título da folha do conector.

CustomPermissionDetails

As permissões personalizadas necessárias para o conector.

Nome Tipo Description
description

string

Obtém ou define a descrição de permissões personalizadas.

name

string

Obtém ou define o nome das permissões personalizadas.

DataConnectorDefinitionKind

O tipo de definições do conector de dados

Nome Tipo Description
Customizable

string

GraphQuery

A consulta de grafo para mostrar o volume de dados que chegam ao workspace ao longo do tempo.

Nome Tipo Description
baseQuery

string

Obtém ou define a consulta base para o grafo. A consulta base é encapsulada pela infra de interface do usuário do Sentinel com uma consulta KQL, que mede o volume ao longo do tempo.

legend

string

Obtém ou define a legenda do grafo.

metricName

string

Obtém ou define o nome da métrica que a consulta está verificando. Por exemplo: 'Total de dados recebidos'.

InstructionStep

Etapas de instrução para habilitar o conector.

Nome Tipo Description
description

string

Obtém ou define a descrição da etapa de instrução.

innerSteps

InstructionStep[]

Obtém ou define os detalhes das etapas de instrução internas. Exemplo de inimigo: a etapa de instrução 1 pode conter etapas de instrução internas: [etapa de instrução 1.1, etapa de instrução 1.2].

instructions

InstructionStepDetails[]

Obtém ou define os detalhes da etapa de instrução.

title

string

Obtém ou define o título da etapa de instrução.

InstructionStepDetails

Detalhes da etapa de instrução, a serem exibidos na seção Etapas de instruções na página do conector no Portal do Sentinel.

Nome Tipo Description
parameters

object

Obtém ou define as configurações de parâmetros de tipo de instrução.

type

string

Obtém ou define o nome do tipo de instrução.

ProviderPermissionsScope

O escopo no qual o usuário deve ter permissões para poder criar conexões.

Nome Tipo Description
ResourceGroup

string

Subscription

string

Workspace

string

ResourceProviderRequiredPermissions

Permissões necessárias para o provedor de recursos do conector que definem em ResourceProviders. Para obter mais informações sobre as permissões, consulte aqui.

Nome Tipo Description
action

boolean

Obtém ou define um valor que indica se a permissão é POST (ações personalizadas).

delete

boolean

Obtém ou define um valor que indica se a permissão é a ação delete (DELETE).

read

boolean

Obtém ou define um valor que indica se a permissão é get (ação de leitura).

write

boolean

Obtém ou define um valor que indica se a permissão é a ação de gravação (PUT ou PATCH).

systemData

Metadados relativos à criação e à última modificação do recurso.

Nome Tipo Description
createdAt

string

O carimbo de data/hora da criação de recursos (UTC).

createdBy

string

A identidade que criou o recurso.

createdByType

createdByType

O tipo de identidade que criou o recurso.

lastModifiedAt

string

O carimbo de data/hora da última modificação do recurso (UTC)

lastModifiedBy

string

A identidade que modificou o recurso pela última vez.

lastModifiedByType

createdByType

O tipo de identidade que modificou o recurso pela última vez.