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/idmapperAuthentifizierung
Alle Endpunkte erfordern JWT-Cookie- oder API-Token-Authentifizierung.
Endpunkte
| Methode | Pfad | Beschreibung | Authentifizierung erforderlich |
|---|---|---|---|
GET | /internal/v1/idmapper/status | Mapper-Status und Statistiken des letzten Laufs abrufen | JWT + API-Token |
POST | /internal/v1/idmapper/rule/test | Ein Regex-Muster gegen eine Zeichenkette testen | JWT + API-Token |
POST | /internal/v1/idmapper/rule/preview | Vorschau der Auswirkungen einer Zuordnungsregel auf Konten | JWT + API-Token |
POST | /internal/v1/idmapper/run | Einen Identitätszuordnungslauf auslösen | JWT + API-Token |
POST | /internal/v1/idmapper/prune | Alle nicht zugeordneten (verwaisten) Besitzer löschen | JWT + API-Token |
GET /internal/v1/idmapper/status
Den aktuellen Status des Identitäts-Mappers abrufen, einschließlich Statistiken des letzten Zuordnungslaufs.
Anfrage:
GET /internal/v1/idmapper/status
Authorization: Bearer <token>Antwort (200):
{
"lastMapStart": 1707700800000,
"lastMapFinish": 1707701100000,
"orphanCount": 23,
"mappedAccounts": 4521,
"newIdentities": 12,
"deletedIdentities": 3
}Antwortfelder:
| Feld | Typ | Beschreibung |
|---|---|---|
lastMapStart | int64 | Zeitstempel (ms), wann der letzte Zuordnungslauf gestartet wurde |
lastMapFinish | int64 | Zeitstempel (ms), wann der letzte Zuordnungslauf abgeschlossen wurde |
orphanCount | int64 | Anzahl der Besitzer ohne zugeordnete Konten |
mappedAccounts | int64 | Gesamtzahl der aktuell Besitzern zugeordneten Konten |
newIdentities | int64 | Während des letzten Laufs erstellte Identitäten |
deletedIdentities | int64 | Wä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:
POST /internal/v1/idmapper/rule/test
Content-Type: application/json
Authorization: Bearer <token>{
"pattern": "^(.+)@company\\.com$",
"replace": "$1",
"testString": "john.doe@company.com"
}Anfragefelder:
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
pattern | string | Ja | Zu testendes Regex-Muster |
replace | string | Nein | Ersetzungszeichenkette (unterstützt $1, $2 Erfassungsgruppen) |
testString | string | Ja | Zeichenkette, gegen die das Muster getestet wird |
Antwort (200):
{
"match": true,
"result": "john.doe",
"error": false
}Antwortfelder:
| Feld | Typ | Beschreibung |
|---|---|---|
match | bool | Ob das Muster mit der Testzeichenkette übereinstimmt |
result | string | Ergebnis nach Anwendung von Muster und Ersetzung |
error | bool | Ob 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:
POST /internal/v1/idmapper/rule/preview
Content-Type: application/json
Authorization: Bearer <token>{
"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:
| Feld | Typ | Beschreibung |
|---|---|---|
ruleCategory | string | Regelkategorie (z. B. email, upn, custom) |
matchTemplate | string | Vorlage für die Zuordnung (z. B. email, upn, samaccountname) |
matchProperty | string | Kontoeigenschaft, gegen die abgeglichen wird |
pattern | string | Regex-Muster für die Zuordnung |
replace | string | Ersetzungszeichenkette mit Erfassungsgruppen |
accountType | string[] | Nach Kontotypen filtern (User, Service usw.) |
classifications | string[] | Nach Kontoklassifizierungen filtern |
createOption | int32 | Verhalten bei Besitzererstellung (0=keine, 1=erstellen bei Bedarf) |
max | int32 | Maximale Anzahl der in der Vorschau zurückzugebenden Konten |
dataSourceId | string | Auf eine bestimmte Datenquelle filtern (leer = alle) |
showAll | bool | Alle Konten anzeigen, nicht nur Übereinstimmungen |
showMapped | bool | Bereits zugeordnete Konten einschließen |
Antwort (200):
{
"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:
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.
{
"lastMapStart": 1707701200000,
"lastMapFinish": 0,
"orphanCount": 23,
"mappedAccounts": 4521,
"newIdentities": 0,
"deletedIdentities": 0
}Hinweis:
lastMapFinishist0, 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:
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.
{
"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
| Status | Beschreibung |
|---|---|
400 | Ungültiger Anfragekörper oder fehlerhaftes Regex-Muster |
403 | Authentifizierung fehlgeschlagen oder unzureichende Berechtigungen |
500 | Interner Serverfehler während der Zuordnung oder Bereinigung |
Verwandte Themen
- Entitätsabfrage-API — Identitätsdatenspeicher abfragen
- Entitätsverwaltungs-API — Low-Level-Entitätsindex-Operationen
- Identitätszuordnung — Benutzerorientierte Konfiguration von Zuordnungsregeln
- Besitzererstellung — Regeln zur automatischen Besitzererstellung
