API Keys
Ein API Key entspricht einer statischen Session im BPC. Wie eine UserSession enthält dieser Attribute wie zugeordnete Organisationen, Rollen und Rechte. Jeder API Key enthält einen definierten Gültigkeitszeitraum. Zusätzlich kann angegeben werden, von wem und für wen dieser API Key ausgestellt wurde.
Verwendung des API Keys
Aufruf eines API-Endpunktes
Für den Zugriff auf die BPC API gibt es neben dem normalen Userlogin auch die Möglichkeit, einen API Key zu verwenden. Damit ist eine direkte Authentifizierung beim API-Aufruf möglich. Ohne einen API Key muss vor dem Zugriff auf eine API-Funktion ein gesonderter Authentifizierungsaufruf getätigt werden.
Damit das BPC den API Key zur Authentifizierung annimmt, muss dieser im HTTP-Header X-APIKey mitgeschickt werden.
curl --header "X-APIKey: bed3a955ce73feb7186bd3f4a689a6f46b7b6264c30d0236dde87a26fc5acdbf" 'http://localhost:8181/cxf/bpc-core/status'
Deployment-Ziele
Damit die Deployment-Funktion verwendet werden kann, müssen Deployment-Ziele als Backend Connections vom Typ deployment_system angelegt werden (siehe Backend Connections).
Bei jedem dieser Deployment-Ziele muss ein API Key hinterlegt werden.
Verwaltung von API Keys
Setting
API Keys können direkt über die Core-Einstellung API_Keys konfiguriert werden.
Wir empfehlen die Konfiguration über den speziellen Editor (siehe unten).
[
{
"id": "API-5d5a67b",
"apiKey": "bed3a955ce73feb7186bd3f4a689a6f46b7b6264c30d0236dde87a26fc5acdbf",
"name": "Beispiel API Key",
"issuedBy": "bpcadmin",
"issuedFor": "",
"issuedOn": "2025-10-17T11:08:34Z",
"expiresOn": "2026-10-17T09:46:12Z",
"description": "Das ist ein Beispiel-API-Key",
"assignedOrganisations": [],
"assignedRoles": [
"bpcuser"
],
"assignedRights": []
}
]
Konfigurationsparameter eines API Keys
Im Folgenden werden die verschiedenen Parameter und damit verknüpften Funktionen beschrieben.
| Setting (Key) | Typ | Beschreibung |
|---|---|---|
ID |
text |
Die ID des API Keys. |
API Key |
text |
Der API Key, welcher z.B. beim Aufruf eines API-Endpunktes verwendet werden muss. |
Name |
text |
Ein frei vergebbarer Name z.B. für den Verwendungszweck. |
Ausgestellt von |
text |
Name des Benutzers, welcher den API Key erstellt hat. |
Ausgestellt für |
text |
Name des Benutzers, für den der API Key ausgestellt wurde. |
Ausgestellt am |
text |
Datum, an dem der API Key ausgestellt wurde. Datumsformat "yyyy-MM-dd’T’HH:mm:ssZ" |
Gültig bis |
text |
Datum, ab dem der API Key ungültig wird. Datumsformat "yyyy-MM-dd’T’HH:mm:ssZ" |
Kommentar |
text |
Zusätzliche Informationen zum API Key. |
Zuordnungen / Organisationen |
array |
API Key gehört zu dieser Organisation. |
Zuordnungen / Rollen |
array |
API Key gehört zu diesen Rollen. |
Zuordnungen / Rechte |
array |
API Key hat diese Rechte. |
Zuordnungen
Über die Zuordnungen assignedOrganisations, assignedRoles und assignedRights können für die API Keys feingranulare Aufrufsrechte vergeben werden.
Zum Beispiel sind für den Aufruf dieses Backup API-Endpunktes laut API-Dokumentation entweder die Rolle BACKUPS_ADMIN oder das Recht BACKUPS_CREATE notwendig.
Soll der Verwender des API Keys nun nur diesen einzelnen API-Endpunkt aufrufen können, setzen Sie unter assignedRights nur das Recht BACKUPS_CREATE.
Sollen stattdessen alle Backup-Endpunkte aufrufbar sein, dann setzen Sie bei assignedRoles die Rolle BACKUPS_ADMIN.
