Karaf als Identity Provider
Der Apache Karaf bringt einen einfachen Authentifizierungsservice mit, der auch für den Zugriff auf die Karaf-Konsole verwendet wird.
Beim initialen Start des BPCs (bzw. bei jedem Start, wenn nicht vorhanden), wird automatisch eine Backend Connection für den Karaf als IdP angelegt.
Diese hat den Modulnamen |
Der Zugriff auf die Karaf-Konsole erfolgt immer über den Karaf Identity Provider (IdP), unabhängig von der Konfiguration des BPC. Für die Authentifizierung an der Karaf-Konsole ist daher ausschließlich die |
Konfiguration
Es wird eine neue Backend-Connection vom Typ identity_provider
angelegt.
Dort sind folgende Werte zu setzen:
Setting (Key) | Gruppe | Wert | Beschreibung |
---|---|---|---|
Module_Name |
module |
idp-karaf |
Einen sprechenden und eindeutigen Namen vergeben |
IdentityProvider |
config |
karaf |
Den Karaf als Identity Provider festlegen |
Datenquelle (JAAS File)
Die Authentifizierung und Verwaltung von Benutzern für den Zugriff auf die Karaf-Konsole erfolgt über Java Authentication and Authorization Service (JAAS)-Dateien. Diese Dateien, insbesondere users.properties
und keys.properties
, ermöglichen es, Benutzer zu definieren und ihre Zugriffsberechtigungen festzulegen. Dabei kann sowohl die Authentifizierung mittels Passwort-Hashes als auch über Public/Private-Key-Verfahren konfiguriert werden.
Verwendung von users.properties für Karaf Zugriff
Die Benutzer werden über die Datei KARAF_HOME/etc/users.properties
gesteuert.
Die Passwörter werden in der Datei, in dem Format {CRYPT}Passwort-Hash{CRYPT}
, als Hashes abgelegt.
Aus dem Passwort-Hash kann das Klartextpasswort nicht rekonstruiert werden.
Zum Ändern des Passwortes ist {CRYPT}Passwort-Hash{CRYPT}
komplett durch ein Klartextpasswort zu ersetzen.
Dabei ist darauf zu achten, dass auch die {CRYPT}
Elemente entfernt werden (siehe auch die folgenden Beispiele).
Das neue Passwort ist direkt nach dem Speichern der Datei wirksam und wird anschließend automatisch durch einen Hash ersetzt.
users.properties
Datei mit Passwort-Hashesbpcadmin = {CRYPT}XYZ{CRYPT},bpcadmin
virtimo = {CRYPT}XYZ{CRYPT},_g_:admingroup,bpcNoFrontend
_g_\:admingroup = group,admin,manager,viewer,systembundles,ssh
users.properties
Datei mit Klartextpasswörternbpcadmin = einSehrSicheresPasswort123,bpcadmin
virtimo = einAnderesSehrSicheresPasswort123,_g_:admingroup,bpcNoFrontend
_g_\:admingroup = group,admin,manager,viewer,systembundles,ssh
Wird die Syntax der Datei nicht eingehalten, so ist eine Authentifizierung nicht möglich und führt dann zu einem |
Verwendung von keys.properties für Karaf Zugriff
Zusätzlich zu users.properties
kann auch keys.properties
verwendet werden, um Benutzer mit SSH-Schlüsseln zu authentifizieren. Hier wird festgelegt, welche Benutzer über SSH-Schlüssel Zugriff haben, was zusätzliche Sicherheit bietet.
Siehe Karaf SSH Zugriff.