Skip to content

Entitätsabfrage-API

ENTWURF — Nur für interne Entwickler

Diese API-Referenz ist für interne Entwicklungsteams bestimmt.

Übersicht

Was es ist: Die Entitätsabfrage-API ermöglicht die programmatische Suche und den Abruf von Identitätsdaten, die von Discovery erfasst wurden. Sie unterstützt Server-Side Row Model (SSRM)-Abfragen mit Filterung, Sortierung, Gruppierung und Paginierung.

Warum es wichtig ist: Produktübergreifende Integrationen stützen sich auf Entitätsabfragen zum Abrufen von Konten, Besitzern, Gruppen und anderen Identitätsobjekten. Hydden Control nutzt diese Endpunkte zur Synchronisierung von Identitätsdaten für Zugriffsüberprüfungen.

Endpunkte

MethodePfadBeschreibungAuthentifizierung erforderlich
POST/internal/v1/entity/queryDen Entitätsdatenspeicher abfragenJWT + API-Token
POST/internal/v1/entity/query/columnsSpaltendefinitionen für eine Abfrage abrufenJWT + API-Token

POST /internal/v1/entity/query

Eine serverseitige Abfrage gegen den Entitätsdatenspeicher ausführen. Unterstützt Paginierung, Filterung, Sortierung und Zeilengruppierung.

Anfrage:

http
POST /internal/v1/entity/query
Authorization: Bearer <token>
Content-Type: application/json

{
  "ViewTime": "2026-02-12T00:00:00Z",
  "offset": 0,
  "limit": 100,
  "filterModel": {
    "Status": {
      "filterType": "text",
      "type": "equals",
      "filter": "active"
    }
  },
  "sortModel": [
    {
      "colId": "Account Name",
      "sort": "asc"
    }
  ],
  "rowGroupCols": [],
  "groupKeys": []
}

Anfragefelder:

FeldTypErforderlichBeschreibung
ViewTimestring (ISO 8601)NeinZeitpunkt-Snapshot. Standardmäßig aktuelle Zeit.
offsetintegerJaAnzahl der zu überspringenden Zeilen
limitintegerJaMaximale Anzahl zurückzugebender Zeilen (max. 10000)
filterModelobjectNeinSpaltenfilter-Bedingungen
sortModelarrayNeinSortierreihenfolge-Definitionen
rowGroupColsarrayNeinSpalten für die Gruppierung
groupKeysarrayNeinGruppenschlüsselwerte für Drill-Down

Antwort (200):

json
{
  "columns": [
    { "field": "Id", "headerName": "ID" },
    { "field": "Account Name", "headerName": "Account Name" },
    { "field": "Email", "headerName": "Email" },
    { "field": "Status", "headerName": "Status" },
    { "field": "Data Source Id", "headerName": "Data Source" }
  ],
  "rows": [
    {
      "Id": "acc-uuid-001",
      "Account Name": "jdoe",
      "Email": "jdoe@example.com",
      "Status": "active",
      "Data Source Id": "ds-uuid-001"
    }
  ],
  "totalCount": 1542,
  "viewTime": "2026-02-12T00:00:00Z"
}

Control-Integration

Control ruft Entitätsabfrage-Endpunkte mit vorkonfigurierten Such-IDs auf, um bestimmte Datensätze abzurufen:

Control-OperationDiscovery-EndpunktSuch-ID
Konten auflistenPOST /api/v1/global/ssrmquery/{id}ASpnJ4bLpFRGBZxEwAEPullOFx5
Kontobesitzer auflistenPOST /api/v1/global/ssrmquery/{id}UVYaMSAx8evNujhC75QELLRej2T
Massenbesitzer-KontenPOST /api/v1/global/ssrmquery/{id}DUrG0M5i1MYn0H99KwSpezBqLtt
MassengruppenmitgliedschaftenPOST /api/v1/global/ssrmquery/{id}W8fSFbTri7TqbXWgdZVpBjLZMNn
Gruppen auflistenPOST /api/v1/global/search/{id}5giWu96fvwE0N3LVgm60eKfI6X6
Gruppenmitglieder abrufenGET /api/v1/global/search/{id}8XYzi8x3XmVmA47OehS6q1K8Jia

Control-Feldzuordnung: Control ordnet Discovery-Antwortfelder seinem internen Account-Modell zu:

Discovery-FeldControl-FeldHinweise
IdAccountIDEindeutiger Bezeichner
Account NameAccountNameAnzeigename
Account TypeAccountTypeKontoklassifizierung
EmailEmailPrimäre E-Mail
UPNUPNUser Principal Name
Data Source IdApplicationIDOrdnet Konto der Anwendung zu
StatusStatusAktiver/inaktiver Zustand

POST /internal/v1/entity/query/columns

Spaltendefinitionen für einen Abfragetyp abrufen. Verwenden Sie dies, um verfügbare Felder vor dem Erstellen einer Abfrage zu ermitteln.

Anfrage:

http
POST /internal/v1/entity/query/columns
Authorization: Bearer <token>
Content-Type: application/json

{
  "queryType": "accounts"
}

Antwort (200):

json
{
  "columns": [
    { "field": "Id", "headerName": "ID", "type": "string" },
    { "field": "Account Name", "headerName": "Account Name", "type": "string" },
    { "field": "Email", "headerName": "Email", "type": "string" },
    { "field": "Status", "headerName": "Status", "type": "string" },
    { "field": "TotalThreat", "headerName": "Total Threat", "type": "number" }
  ]
}

Hydden Documentation and Training Hub