Bootstrap-Administratoren
Bootstrap-Administratoren werden automatisch erstellt, wenn RAMP zum ersten Mal startet. So wird sichergestellt, dass Sie sofort Administratorzugriff haben, ohne Benutzer manuell in der Datenbank erstellen zu müssen.
Funktionen
Abschnitt betitelt „Funktionen“- Automatisch beim ersten Start erstellt
- Unterstützt alle Authentifizierungsanbieter (RAMP, OIDC, LDAP, Windows, ADFS)
- Automatisch die Administrator-Rolle zugewiesen
- Mehrere Admins unterstützt
- Sicheres Wiederholen (keine Duplikate bestehender Benutzer)
Wann Bootstrap-Admins verwenden
Abschnitt betitelt „Wann Bootstrap-Admins verwenden“Bootstrap-Admins verwenden für:
Abschnitt betitelt „Bootstrap-Admins verwenden für:“- Erstmalige RAMP-Bereitstellung
- Disaster-Recovery-Szenarien
- Automatisierte Deployments (Docker, Kubernetes)
- Entwicklungs-/Testumgebungen
- Sicherstellung des Admin-Zugriffs nach einer Datenbankwiederherstellung
Bootstrap-Admins NICHT verwenden für:
Abschnitt betitelt „Bootstrap-Admins NICHT verwenden für:“- Benutzer nach der Ersteinrichtung hinzufügen (stattdessen die Weboberfläche verwenden)
- Passwortverwaltung in der Produktion (nach der ersten Anmeldung ändern)
- Langfristige Anmeldedatenspeicherung (sofort rotieren)
Schnellstart – RAMP Native Auth
Abschnitt betitelt „Schnellstart – RAMP Native Auth“appsettings.json bearbeiten
Abschnitt betitelt „appsettings.json bearbeiten“{ "Bootstrap": { "Administrators": [ { "IdentityProvider": "RAMP", "Username": "admin", "Email": "admin@yourcompany.com", "Password": "Passw0rd" } ] }}RAMP starten
Abschnitt betitelt „RAMP starten“cd src/RAMP.APIdotnet runProtokolle prüfen
Abschnitt betitelt „Protokolle prüfen“Nach Bootstrap-Bestätigung suchen:
[INFO] Checking bootstrap administrators...[INFO] Bootstrap administrator created: admin[INFO] Assigned Administrator role to: adminErste Anmeldung
Abschnitt betitelt „Erste Anmeldung“- Zur RAMP-Anmeldeseite navigieren
- Benutzername:
admin - Passwort:
Passw0rd - Passwort sofort nach der ersten Anmeldung ändern
Konfiguration nach Authentifizierungsanbieter
Abschnitt betitelt „Konfiguration nach Authentifizierungsanbieter“{ "Bootstrap": { "Administrators": [ { "IdentityProvider": "RAMP", "Username": "admin", "Email": "admin@yourcompany.com", "Password": "SecurePassword123!" } ] }}Anforderungen:
- Passwort muss Komplexitätsanforderungen erfüllen:
- Mindestens 8 Zeichen
- Mindestens 1 Großbuchstabe
- Mindestens 1 Kleinbuchstabe
- Mindestens 1 Ziffer
- Mindestens 1 Sonderzeichen
{ "Bootstrap": { "Administrators": [ { "IdentityProvider": "OIDC", "Username": "john.doe@yourcompany.com", "Email": "john.doe@yourcompany.com" } ] }}Funktionsweise:
- In der Bootstrap-Konfiguration angegebener Benutzer
- Wenn sich der Benutzer zum ersten Mal über OIDC anmeldet
- RAMP stellt das Benutzerkonto automatisch bereit
- Die Administrator-Rolle wird automatisch zugewiesen
{ "Bootstrap": { "Administrators": [ { "IdentityProvider": "LDAP", "Username": "jdoe", "Email": "jdoe@contoso.com" } ] }}{ "Bootstrap": { "Administrators": [ { "IdentityProvider": "Windows", "Username": "CONTOSO\\jdoe", "Email": "jdoe@contoso.com" } ] }}{ "Bootstrap": { "Administrators": [ { "IdentityProvider": "ADFS", "Username": "john.doe@contoso.com", "Email": "john.doe@contoso.com" } ] }}Mehrere Bootstrap-Administratoren
Abschnitt betitelt „Mehrere Bootstrap-Administratoren“Sie können mehrere Administratoren über verschiedene Identitätsanbieter konfigurieren:
{ "Bootstrap": { "Administrators": [ { "IdentityProvider": "RAMP", "Username": "localadmin", "Email": "localadmin@yourcompany.com", "Password": "LocalAdmin@123" }, { "IdentityProvider": "OIDC", "Username": "john.doe@yourcompany.com", "Email": "john.doe@yourcompany.com" }, { "IdentityProvider": "LDAP", "Username": "jsmith", "Email": "jsmith@contoso.com" } ] }}Anwendungsfall:
- Lokaler Admin für Notfallzugriff
- OIDC/LDAP-Admins für den regulären Betrieb
- Mehrere Teammitglieder als Admins
Sichere Konfiguration
Abschnitt betitelt „Sichere Konfiguration“Passwörter während der Entwicklung sicher speichern:
cd src/RAMP.API
# Bootstrap-Passwort speicherndotnet user-secrets set "Bootstrap:Administrators:0:Password" "DevAdmin@123"Oder appsettings.Development.json verwenden:
{ "Bootstrap": { "Administrators": [ { "IdentityProvider": "RAMP", "Username": "devadmin", "Email": "devadmin@localhost", "Password": "DevAdmin@123" } ] }}# Linux/Macexport Bootstrap__Administrators__0__Username="admin"export Bootstrap__Administrators__0__Email="admin@yourcompany.com"export Bootstrap__Administrators__0__Password="ProductionAdmin@123"export Bootstrap__Administrators__0__IdentityProvider="RAMP"
# Windowsset Bootstrap__Administrators__0__Username=adminset Bootstrap__Administrators__0__Email=admin@yourcompany.comset Bootstrap__Administrators__0__Password=ProductionAdmin@123set Bootstrap__Administrators__0__IdentityProvider=RAMP{ "AzureKeyVault": { "Enabled": true, "VaultUri": "https://your-ramp-vault.vault.azure.net/" }}Geheimnisse speichern:
Bootstrap--Administrators--0--PasswordBootstrap--Administrators--0--UsernameBootstrap--Administrators--0--Email
Docker-Deployment
Abschnitt betitelt „Docker-Deployment“docker-compose.yml
Abschnitt betitelt „docker-compose.yml“version: '3.8'services: ramp-api: image: ramp-api:latest environment: - Bootstrap__Administrators__0__IdentityProvider=RAMP - Bootstrap__Administrators__0__Username=admin - Bootstrap__Administrators__0__Email=admin@yourcompany.com - Bootstrap__Administrators__0__Password=${RAMP_ADMIN_PASSWORD} ports: - "5165:8080".env-Datei
Abschnitt betitelt „.env-Datei“RAMP_ADMIN_PASSWORD=SecureAdminPassword123!Starten
Abschnitt betitelt „Starten“docker-compose up -dKubernetes-Deployment
Abschnitt betitelt „Kubernetes-Deployment“secret.yaml
Abschnitt betitelt „secret.yaml“apiVersion: v1kind: Secretmetadata: name: ramp-bootstrap-secrettype: OpaquestringData: admin-password: "SecureAdminPassword123!"deployment.yaml
Abschnitt betitelt „deployment.yaml“apiVersion: apps/v1kind: Deploymentmetadata: name: ramp-apispec: template: spec: containers: - name: ramp-api image: ramp-api:latest env: - name: Bootstrap__Administrators__0__IdentityProvider value: "RAMP" - name: Bootstrap__Administrators__0__Username value: "admin" - name: Bootstrap__Administrators__0__Email value: "admin@yourcompany.com" - name: Bootstrap__Administrators__0__Password valueFrom: secretKeyRef: name: ramp-bootstrap-secret key: admin-passwordWie Bootstrap funktioniert
Abschnitt betitelt „Wie Bootstrap funktioniert“Startprozess
Abschnitt betitelt „Startprozess“- RAMP-API startet
Bootstrap:Administrators-Konfiguration wird gelesen- Für jeden Administrator:
- Prüfen, ob Benutzer bereits vorhanden ist (nach Benutzernamen)
- Wenn Benutzer nicht vorhanden:
- Neues Benutzerkonto erstellen
- Identitätsanbieter setzen
- Für RAMP-Benutzer: Passwort hashen und speichern
- Administrator-Rolle zuweisen
- Wenn Benutzer vorhanden:
- Erstellung überspringen (keine Duplikate)
- Administrator-Rolle sicherstellen
- Ergebnisse protokollieren
Sicherheit bei Wiederholung
Abschnitt betitelt „Sicherheit bei Wiederholung“Bootstrap kann mehrmals sicher ausgeführt werden:
- Bestehende Benutzer werden nicht verändert
- Keine duplizierten Benutzer werden erstellt
- Administrator-Rolle wird sichergestellt
- Passwörter werden bei der Wiederholung NICHT aktualisiert
Fehlerbehebung
Abschnitt betitelt „Fehlerbehebung“Bootstrap-Admin nicht erstellt
Abschnitt betitelt „Bootstrap-Admin nicht erstellt“Prüfung 1: Konfigurationssyntax überprüfen
{ "Bootstrap": { "Administrators": [ { "IdentityProvider": "RAMP", "Username": "admin", "Email": "admin@example.com", "Password": "Passw0rd" } ] }}Prüfung 2: Anwendungsprotokolle auf Bootstrap-Meldungen prüfen
Prüfung 3: Passwortanforderungen überprüfen (nur für RAMP-Benutzer)
- Mindestens 8 Zeichen
- Großbuchstaben + Kleinbuchstaben + Ziffer + Sonderzeichen
Anmeldung mit Bootstrap-Admin nicht möglich
Abschnitt betitelt „Anmeldung mit Bootstrap-Admin nicht möglich“Prüfung 1: Benutzername/Passwort überprüfen – Benutzernamen unterscheiden zwischen Groß-/Kleinschreibung, keine zusätzlichen Leerzeichen
Prüfung 2: Datenbank prüfen
SELECT * FROM Users WHERE Username = 'admin';Prüfung 3: Rollenzuweisung überprüfen
SELECT u.Username, ur.RoleIdFROM Users uJOIN UserRoles ur ON u.Id = ur.UserIdWHERE u.Username = 'admin';Passwort erfüllt die Anforderungen nicht
Abschnitt betitelt „Passwort erfüllt die Anforderungen nicht“Fehler: “Passwort muss mindestens einen Großbuchstaben enthalten”
Sicherstellen, dass das Passwort enthält:
- Großbuchstaben: A–Z
- Kleinbuchstaben: a–z
- Ziffer: 0–9
- Sonderzeichen:
!@#$%^&*() - Länge: 8+ Zeichen
Beispiele gültiger Passwörter:
Passw0rdSecurePassword1!Bootstrap#2024
Sicherheits-Best-Practices
Abschnitt betitelt „Sicherheits-Best-Practices“1. Standard-Passwort sofort ändern
Abschnitt betitelt „1. Standard-Passwort sofort ändern“- Mit Bootstrap-Anmeldedaten anmelden
- Zu Einstellungen -> Passwort ändern navigieren
- Ein starkes, eindeutiges Passwort setzen
- Sicher speichern (Passwort-Manager)
2. Bootstrap-Konfiguration nach der Ersteinrichtung entfernen
Abschnitt betitelt „2. Bootstrap-Konfiguration nach der Ersteinrichtung entfernen“{ "Bootstrap": { "Administrators": [] }}Oder den gesamten Bootstrap-Abschnitt nach dem ersten Deployment löschen.
3. Starke Passwörter verwenden
Abschnitt betitelt „3. Starke Passwörter verwenden“- Mindestens 12 Zeichen (nicht nur 8)
- Mischung aus Zeichentypen
- Keine häufigen Wörter/Muster
- Passwortgenerator verwenden
4. Sichere Anmeldedatenspeicherung
Abschnitt betitelt „4. Sichere Anmeldedatenspeicherung“- Passwörter niemals in die Quellcodeverwaltung einchecken
- Umgebungsvariablen oder Secrets-Management verwenden
- Anmeldedaten nach der Ersteinrichtung rotieren
5. Anzahl der Bootstrap-Admins begrenzen
Abschnitt betitelt „5. Anzahl der Bootstrap-Admins begrenzen“- Nur die minimal benötigte Anzahl erstellen
- Externe IdP-Konten gegenüber RAMP-nativen Konten bevorzugen
- Individuelle Konten verwenden (keine geteilten)
6. Bootstrap-Aktionen auditieren
Abschnitt betitelt „6. Bootstrap-Aktionen auditieren“Audit-Protokolle nach dem Deployment prüfen:
SELECT * FROM AuditLogsWHERE Action LIKE '%Bootstrap%'ORDER BY Timestamp DESC;Häufige Szenarien
Abschnitt betitelt „Häufige Szenarien“Szenario 1: Erstmalige Bereitstellung
Abschnitt betitelt „Szenario 1: Erstmalige Bereitstellung“{ "Bootstrap": { "Administrators": [ { "IdentityProvider": "RAMP", "Username": "admin", "Email": "admin@yourcompany.com", "Password": "ChangeMe@123" } ] }}Nach dem Deployment:
- Als admin anmelden
- Passwort ändern
- Individuelle Benutzerkonten erstellen
- Bootstrap-Konfiguration entfernen
Szenario 2: OIDC + Notfallzugriff
Abschnitt betitelt „Szenario 2: OIDC + Notfallzugriff“{ "Bootstrap": { "Administrators": [ { "IdentityProvider": "OIDC", "Username": "john.doe@yourcompany.com", "Email": "john.doe@yourcompany.com" }, { "IdentityProvider": "RAMP", "Username": "emergency", "Email": "emergency@yourcompany.com", "Password": "EmergencyAccess@123" } ] }}Anwendungsfall: Primärer Zugriff über OIDC, lokaler Admin bei IdP-Ausfällen.
Szenario 3: Multi-Umgebung
Abschnitt betitelt „Szenario 3: Multi-Umgebung“appsettings.Development.json:
{ "Bootstrap": { "Administrators": [ { "IdentityProvider": "RAMP", "Username": "devadmin", "Email": "devadmin@localhost", "Password": "DevAdmin@123" } ] }}appsettings.Production.json:
{ "Bootstrap": { "Administrators": [ { "IdentityProvider": "OIDC", "Username": "admin@yourcompany.com", "Email": "admin@yourcompany.com" } ] }}Häufig gestellte Fragen
Abschnitt betitelt „Häufig gestellte Fragen“Kann ich nach der Ersteinrichtung Benutzer hinzufügen?
Abschnitt betitelt „Kann ich nach der Ersteinrichtung Benutzer hinzufügen?“Ja, aber verwenden Sie die Weboberfläche (Admin -> Benutzer) statt der Bootstrap-Konfiguration. Bootstrap ist nur für die Ersteinrichtung gedacht.
Was, wenn ich das Bootstrap-Passwort vergesse?
Abschnitt betitelt „Was, wenn ich das Bootstrap-Passwort vergesse?“Setzen Sie es in der Konfiguration zurück und starten Sie RAMP neu. Das bestehende Passwort wird NICHT automatisch aktualisiert – Sie müssen es über die Datenbank zurücksetzen.
Kann ich Bootstrap-Admins später entfernen?
Abschnitt betitelt „Kann ich Bootstrap-Admins später entfernen?“Ja. Bootstrap-erstellte Benutzer sind reguläre Benutzer. Löschen Sie sie über Admin -> Benutzer in der Weboberfläche.
Zählen Bootstrap-Admins zu den Lizenz-Limits?
Abschnitt betitelt „Zählen Bootstrap-Admins zu den Lizenz-Limits?“Ja. Bootstrap-Admins sind reguläre Benutzerkonten und zählen zu etwaigen Lizenz-Limits (sofern zutreffend).
Nächste Schritte
Abschnitt betitelt „Nächste Schritte“- RAMP Native Authentication – Benutzername/Passwort-Anmeldung konfigurieren
- MFA-Einrichtung – Multi-Faktor-Authentifizierung aktivieren
- Authentifizierungsübersicht – Alle Authentifizierungsanbieter vergleichen