Skip to content

Identitäts-Mapper-API

ENTWURF — Nur für interne Entwickler

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

Übersicht

Was es ist: Die Identitäts-Mapper-API bietet programmatischen Zugriff auf die Identitätszuordnungs-Engine von Hydden. Verwenden Sie diese Endpunkte, um den Zuordnungsstatus zu prüfen, Regex-Regeln vor der Bereitstellung zu testen, eine Vorschau der Auswirkungen einer Regel auf Konten anzuzeigen, einen vollständigen Zuordnungslauf auszulösen und verwaiste Besitzer zu bereinigen.

Quelle: src/iam/mapper/rest/rest.go

Basispfad

/internal/v1/idmapper

Authentifizierung

Alle Endpunkte erfordern JWT-Cookie- oder API-Token-Authentifizierung.

Endpunkte

MethodePfadBeschreibungAuthentifizierung erforderlich
GET/internal/v1/idmapper/statusMapper-Status und Statistiken des letzten Laufs abrufenJWT + API-Token
POST/internal/v1/idmapper/rule/testEin Regex-Muster gegen eine Zeichenkette testenJWT + API-Token
POST/internal/v1/idmapper/rule/previewVorschau der Auswirkungen einer Zuordnungsregel auf KontenJWT + API-Token
POST/internal/v1/idmapper/runEinen Identitätszuordnungslauf auslösenJWT + API-Token
POST/internal/v1/idmapper/pruneAlle nicht zugeordneten (verwaisten) Besitzer löschenJWT + API-Token

GET /internal/v1/idmapper/status

Den aktuellen Status des Identitäts-Mappers abrufen, einschließlich Statistiken des letzten Zuordnungslaufs.

Anfrage:

http
GET /internal/v1/idmapper/status
Authorization: Bearer <token>

Antwort (200):

json
{
  "lastMapStart": 1707700800000,
  "lastMapFinish": 1707701100000,
  "orphanCount": 23,
  "mappedAccounts": 4521,
  "newIdentities": 12,
  "deletedIdentities": 3
}

Antwortfelder:

FeldTypBeschreibung
lastMapStartint64Zeitstempel (ms), wann der letzte Zuordnungslauf gestartet wurde
lastMapFinishint64Zeitstempel (ms), wann der letzte Zuordnungslauf abgeschlossen wurde
orphanCountint64Anzahl der Besitzer ohne zugeordnete Konten
mappedAccountsint64Gesamtzahl der aktuell Besitzern zugeordneten Konten
newIdentitiesint64Während des letzten Laufs erstellte Identitäten
deletedIdentitiesint64Während des letzten Laufs entfernte Identitäten

POST /internal/v1/idmapper/rule/test

Ein Regex-Muster und eine optionale Ersetzung gegen eine Testzeichenkette testen. Verwenden Sie dies, um Zuordnungsregelmuster vor dem Speichern zu validieren.

Anfrage:

http
POST /internal/v1/idmapper/rule/test
Content-Type: application/json
Authorization: Bearer <token>
json
{
  "pattern": "^(.+)@company\\.com$",
  "replace": "$1",
  "testString": "john.doe@company.com"
}

Anfragefelder:

FeldTypErforderlichBeschreibung
patternstringJaZu testendes Regex-Muster
replacestringNeinErsetzungszeichenkette (unterstützt $1, $2 Erfassungsgruppen)
testStringstringJaZeichenkette, gegen die das Muster getestet wird

Antwort (200):

json
{
  "match": true,
  "result": "john.doe",
  "error": false
}

Antwortfelder:

FeldTypBeschreibung
matchboolOb das Muster mit der Testzeichenkette übereinstimmt
resultstringErgebnis nach Anwendung von Muster und Ersetzung
errorboolOb die Regex-Kompilierung fehlgeschlagen ist

POST /internal/v1/idmapper/rule/preview

Vorschau der Auswirkungen einer Zuordnungsregel auf tatsächliche Kontodaten. Gibt eine Liste von Konten zurück, die übereinstimmen würden, zusammen mit der Identität, der sie zugeordnet würden.

Anfrage:

http
POST /internal/v1/idmapper/rule/preview
Content-Type: application/json
Authorization: Bearer <token>
json
{
  "rule": {
    "ruleCategory": "email",
    "matchTemplate": "email",
    "matchProperty": "email",
    "pattern": "^(.+)@company\\.com$",
    "replace": "$1",
    "accountType": ["User"],
    "classifications": [],
    "accountTemplate": "upn",
    "createOption": 1,
    "max": 100,
    "dataSourceId": "",
    "accountFilter": "",
    "showAll": false,
    "providerFilter": "",
    "showMapped": true
  }
}

Wichtige Anfragefelder:

FeldTypBeschreibung
ruleCategorystringRegelkategorie (z. B. email, upn, custom)
matchTemplatestringVorlage für die Zuordnung (z. B. email, upn, samaccountname)
matchPropertystringKontoeigenschaft, gegen die abgeglichen wird
patternstringRegex-Muster für die Zuordnung
replacestringErsetzungszeichenkette mit Erfassungsgruppen
accountTypestring[]Nach Kontotypen filtern (User, Service usw.)
classificationsstring[]Nach Kontoklassifizierungen filtern
createOptionint32Verhalten bei Besitzererstellung (0=keine, 1=erstellen bei Bedarf)
maxint32Maximale Anzahl der in der Vorschau zurückzugebenden Konten
dataSourceIdstringAuf eine bestimmte Datenquelle filtern (leer = alle)
showAllboolAlle Konten anzeigen, nicht nur Übereinstimmungen
showMappedboolBereits zugeordnete Konten einschließen

Antwort (200):

json
{
  "uniqueId": "rule-preview-uuid",
  "error": false,
  "reason": "",
  "accounts": [
    {
      "id": "acct-uuid-1",
      "name": "jdoe",
      "displayName": "John Doe",
      "email": "john.doe@company.com",
      "matchedOnValue": ["john.doe@company.com"],
      "platform": "Azure AD",
      "dataSourceId": "ds-uuid",
      "dataSource": "Corporate Azure",
      "accountType": "User",
      "mappedIdentity": "owner-uuid",
      "mappedName": "John Doe",
      "upn": "john.doe@company.com",
      "match": true,
      "reason": "",
      "provider": "AzureAD"
    }
  ],
  "numAccounts": 1,
  "numOrphans": 0
}

POST /internal/v1/idmapper/run

Den Identitäts-Mapper auslösen, um einen vollständigen Zuordnungslauf auszuführen. Der Mapper verarbeitet alle Konten anhand konfigurierter Zuordnungsregeln und erstellt oder aktualisiert Besitzer-zu-Konto-Beziehungen.

Anfrage:

http
POST /internal/v1/idmapper/run
Authorization: Bearer <token>

Kein Anfragekörper erforderlich.

Antwort (200):

Gibt die gleiche IdmapperStatus-Struktur wie der Status-Endpunkt zurück, die den neu initiierten Lauf widerspiegelt.

json
{
  "lastMapStart": 1707701200000,
  "lastMapFinish": 0,
  "orphanCount": 23,
  "mappedAccounts": 4521,
  "newIdentities": 0,
  "deletedIdentities": 0
}

Hinweis: lastMapFinish ist 0, solange der Lauf läuft. Fragen Sie den Status-Endpunkt ab, um den Abschluss zu prüfen.


POST /internal/v1/idmapper/prune

Alle Besitzer-Identitäten löschen, die aktuell keinem Konto zugeordnet sind. Dies entfernt verwaiste Besitzer dauerhaft aus dem System.

Anfrage:

http
POST /internal/v1/idmapper/prune
Authorization: Bearer <token>

Kein Anfragekörper erforderlich.

Antwort (200):

Gibt die gleiche IdmapperStatus-Struktur mit aktualisiertem orphanCount (nach erfolgreicher Bereinigung sollte dieser 0 sein) und aktualisierter deletedIdentities-Anzahl zurück.

json
{
  "lastMapStart": 1707701200000,
  "lastMapFinish": 1707701500000,
  "orphanCount": 0,
  "mappedAccounts": 4521,
  "newIdentities": 0,
  "deletedIdentities": 23
}

Achtung: Diese Operation ist destruktiv. Bereinigte Besitzer können nicht wiederhergestellt werden. Überprüfen Sie die Anzahl der verwaisten Einträge über den Status-Endpunkt vor der Bereinigung.


Fehlerantworten

StatusBeschreibung
400Ungültiger Anfragekörper oder fehlerhaftes Regex-Muster
403Authentifizierung fehlgeschlagen oder unzureichende Berechtigungen
500Interner Serverfehler während der Zuordnung oder Bereinigung

Verwandte Themen

Hydden Documentation and Training Hub