Symbio Operation Release 5 ff.
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
Symbio Operation 2 Inhalt 1 Einführung 6 1.1 Über dieses Dokument 6 1.2 Bevor Sie starten 6 1.3 Support 6 1.4 Symbio-Infrastruktur 6 2 Vorbereitung 7 2.1 Zugriff/Remote-Access Symbio-Server (Anwendungsserver) 7 2.2 Administrator-Rolle in Symbio 7 2.3 Zugriff/Remote-Access SQL Server-Symbio-Datenbanken 7 3 Benutzerverwaltung 8 3.1 SAML/AD-Anbindung 8 3.1.1 SAML/AD-Voraussetzungen 8 3.1.2 SAML: Anforderungen an den Identity Provider 8 3.1.2.1 Claims 9 3.1.2.2 Metadaten 10 3.1.2.3 Typische Authentifizierungsanfrage 11 3.1.2.4 AD FS: Active Directory Federation Services 11 3.1.3 Symbio: SAML-Einstellungen 12 3.1.4 Signierung der Anfragen von Symbio an den IdP 15 3.1.5 Beschränkung des Zugriffs per SAML (ab Symbio v1803) 18 3.1.6 Bekannte Einschränkungen 18 3.1.7 Potentielle SAML-Fehlermeldungen 19 3.1.8 Tools zur SAML-Analyse 20 3.2 Notfall-Benutzer 20 3.2.1 Passwort von (Sys-)Admin zurücksetzen 20 3.2.2 Deaktivierten Symbio-Admin-Benutzer reaktivieren 21 3.2.3 Symbio-Admin re-importieren 21 3.2.4 SAML-Einstellungen löschen 21 4 Operations 23 4.1 Symbio-Instanzeinstellungen 23 4.1.1 Rendering-Update-Intervall 23 4.1.2 Free & Easy-DB 23 4.2 Logging und Tracing 23 4.2.1 CustomError-Pages 23 4.2.2 Logging 23 4.2.2.1 Symbio 23
Symbio Operation 3 4.2.2.2 IIS 24 4.3 Pflege und Performance-Einstellungen 27 4.3.1 Initiale SQL-Datenbankeinstellungen 27 4.3.2 Regelmäßige Datenbank-Pflege 28 4.3.2.1 Tabellenindices defragmentieren 28 4.3.2.2 Volltextindex überprüfen (bis Symbio 5.11) 30 4.3.2.3 Volltextindex aktualisieren (bis Symbio 5.11) 31 4.3.2.4 Volltextindex aktuell halten (bis Symbio 5.11) 31 4.3.3 Mögliche Ursachen für Performanceprobleme (SQL Server) 32 4.4 Backup und Restore 34 4.4.1 Backup 34 4.4.2 Restore 34 4.4.3 Restore mit Datenbank Pools 35 4.5 Update/Upgrade auf neue Version 35 4.5.1 Version überprüfen 35 4.5.1.1 Datei-Eigenschaften im Anwendungsverzeichnis 35 4.5.1.2 Versions-Info in der Anwendung überprüfen 35 4.5.2 Maßnahmen vor Update/Upgrade 36 4.5.3 Wartungsmodus 36 4.5.3.1 Vorbereitungen 36 4.5.3.2 Vorgehensweise bei Update/Upgrade/Wartung 37 4.5.4 Update 37 4.5.5 Upgrade 38 4.5.6 Manuelle Umwandlung zu Datenbank Pools 40 4.6 Relocate/Datenbank-Operationen 40 4.6.1 Datenbanken verschieben 40 4.6.2 Datenbank-Downgrade: SQL Server 2012 nach SQL Server 2008 R2 (englisch) 41 4.6.3 Datenbank- und Tabellen-Collation ändern 58 4.7 Sicherheitseinstellungen 59 4.7.1 Verschlüsselte Übertragungen 59 4.7.2 ConnectionString-Verschlüsselung 60 4.7.2.1 Beispiel: Verschlüsselung des Servernamens via PowerShell 60 4.7.3 Weitere Sicherheitseinstellungen 61 5 Operations (Symbio-Cloud) 62 5.1 Allgemeine Informationen zum Cloud-Anbieter 62 5.2 Wo befinden Sich Ihre Daten? 62 5.3 Cloud-Architektur 64 5.3.1 Symbio Cloud Varianten 64 5.3.1.1 Standard-Cloud 64 5.3.1.2 Exclusive-Cloud 64 5.3.1.3 Private-Cloud 64
Symbio Operation 4 5.4 Symbio-Instanz-Einstellungen 65 5.4.1 Rendering-Update-Intervall 65 5.4.2 Free & Easy-DB 65 5.5 Logging und Tracing 65 5.5.1 Symbio 65 5.5.2 IIS 65 5.5.3 Windows 65 5.5.4 Datenbanken 65 5.5.5 Performance 65 5.6 Backup und Restore 66 5.6.1 Backup 66 5.6.2 Restore 66 5.6.3 Recoverytests 66 5.7 Update/Upgrade auf neue Versionen 67 5.7.1 Hotfixes und Updates 67 5.7.2 Upgrades 67 5.8 Relocate/Datenbank-Operationen 67 5.8.1 Kopieren einer Prod-Datenbank (Spielwiese) 67 5.9 Datenschutz und Sicherheitseinstellungen 67 5.9.1 Applikation Server 67 5.9.1.1 Datenbank Authentifzierung (Azure SQL) 67 5.9.1.2 Verschlüsselung der Festplatten 68 5.9.2 Azure-Portal (inkl. Azure Services) 68 5.9.3 Symbio-Zugriff 68 6 Symbio-Empfehlungen 69 6.1 Aris-Import 69 6.2 Vorsicht beim Löschen 69 7 Impressum 70
Symbio Operation 6 1 Einführung 1.1 Über dieses Dokument Dieses Dokument beschreibt Themen und Aufgaben, die einen dauerhaften Symbio-Betrieb sicherstellen. Dieses Dokument wird regelmäßig kontrolliert und aktualisiert. 1.2 Bevor Sie starten Bitte beachten Sie die weiteren Dokumente wie Systemanforderungen, Installationsanleitung und Admin Handbuch. http://documents.symbioworld.com 1.3 Support Über unsere Support-Website http://support.symbioworld.com/hc/de unterstützen wir Sie bei Fragen, Anforderungen und Fehlern. 1.4 Symbio-Infrastruktur Die folgende Grafik zeigt den typischen Aufbau einer On-Premise-Symbio-Infrastruktur:
Symbio Operation 7 2 Vorbereitung Folgende Voraussetzungen müssen vorher erfüllt sein: 2.1 Zugriff/Remote-Access Symbio-Server (Anwendungsserver) • Admin Zugriff für den Anwendungsserver 2.2 Administrator-Rolle in Symbio • SysAdmin • Datenbanksammlung • Datenbank 2.3 Zugriff/Remote-Access SQL Server-Symbio-Datenbanken • Admin Zugriff auf die SQL Datenbanken (z.B. SQL Management Studio)
Symbio Operation 8 3 Benutzerverwaltung 3.1 SAML/AD-Anbindung Im folgenden Kapitel wird die Synchronisierung von Active Directory-Benutzern und - Gruppen erläutert. Die synchronisierten Benutzer bekommen hierdurch keinen Anmeldedialog angezeigt. In Symbio Web können Active Directory-Benutzer über SAML 2.0 angebunden werden, damit sich diese mit ihrem Windows-Benutzerkonto in Symbio Web anmelden können, ohne dass die Benutzer manuell in der Benutzerverwaltung von Symbio Web erstellt werden müssen. Für die Konfiguration sind sowohl Einstellungen in Symbio Web als auch in den Active Directory Federation Services auf Ihrem Active Directory-Server zu anzupassen. 3.1.1 SAML/AD-Voraussetzungen Um SAML nutzen zu können, benötigen Sie: • Einen SAML 2.0-fähigen Identity Provider (IdP), z. B. Active Directory Federation Services (AD FS) • Dessen Entity ID • Dessen Metadaten-Datei (entweder als physische Datei oder als URL, welche diese Datei bereitstellt) • Dessen Single-Sign-On (SSO) Endpunkt/Service URL Wichtig: Das in den Metadaten enthaltene Zertifikat Ihres IdP muss innerhalb Ihrer Organisation vertrauenswürdig sein. Das HTTP Redirect Binding muss zur Verfügung stehen und SHA 256-Signaturen unterstützen. 3.1.2 SAML: Anforderungen an den Identity Provider Der Identitätsanbieter ermöglicht dem Symbio-Anwender die Anmeldung mit Authentifizierungsinformationen, die durch diesen Identitätsanbieter bereitgestellt werden: • Symbio ist hier der Service Provider. • Identity Provider könnten zum Beispiel die Active Directory Federation Services sein. • Symbio authentifiziert sich mit dem Identitätsanbieter über den Browser, so dass Identitätsanbieter und Symbio Web sich nicht gegenseitig erreichen können müssen. Die Kommunikation übernimmt der Browser, der auf beide Netze Zugriff hat. Folgende Abbildung verdeutlicht den Authentifizierungsprozess:
Symbio Operation 9 3.1.2.1 Claims Benötigt werden die folgenden Informationen: Titel Beschreibung Benötigt Claim-Typ des Inhalts Name Name des Ja http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name Benutzers UPN Attribute Ja http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn eindeutigen Inhalts Last Name Nachname des Ja http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname Benutzers First Name Vorname des Ja http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname Benutzers E-Mail E-Mail-Adresse Ja http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress des Benutzers Group Gruppen-Claims Optional http://schemas.xmlsoap.org/ws/2005/05/identity/claims/group (Ein Claim mit dem Typ je Gruppe, falls AD-Gruppen in Symbio genutzt werden sollen) Office Adresse Office Adresse Nein http://schemas.xmlsoap.org/ws/2005/05/identity/claims/streetaddress des Benutzers Office PLZ Office PLZ des Nein http://schemas.xmlsoap.org/ws/2005/05/identity/claims/postalcode Benutzers Office Land Office Land des Nein http://schemas.xmlsoap.org/ws/2005/05/identity/claims/country Benutzers
Symbio Operation 10 Private Private Nein http://schemas.xmlsoap.org/ws/2005/05/identity/claims/homephone Telefonnummer Telefonnummer des Benutzers Geschäftliche Geschäftliche Nein http://schemas.xmlsoap.org/ws/2005/05/identity/claims/otherphone Telefonnummer Telefonnummer des Benutzers Geburtsdatum Geburtsdatum Nein http://schemas.xmlsoap.org/ws/2005/05/identity/claims/dateofbirth des Benutzers 3.1.2.2 Metadaten Zugriff auf Symbio Web vorhanden Haben Sie bereits Zugriff auf Symbio Web, so können Sie die Metadaten auch direkt in Symbio Web herunterladen. Ist Ihre Storage-Adresse https://sample.symbioweb.com/storagecollection/storage dann rufen Sie folgende URL auf https://sample.symbioweb.com/collection/storage/viewer/1031/Public/ServiceProviderFed erationMetadata, um die Metadaten für Symbio Web als Service Provider zu erhalten. Zugriff auf Symbio Web nicht vorhanden In diesem Fall muss die XML-Datei mit den Metadaten für Symbio wie folgt erstellt werden: MIIFFTCCA/2gAwIBAgIMD4M0XYx9yvHdeWJkMA0GCSqGSIb3DQEBCwUAMFoxCzAJ BgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMTAwLgYDVQQDEydH bG9iYWxTaWduIENvZGVTaWduaW5nIENBIC0gU0hBMjU2IC0gRzIwHhcNMTYwNjEw MTIwOTA2WhcNMTgwNzEzMTQxMDEzWjCBjzELMAkGA1UEBhMCREUxDzANBgNVBAgT BkJheWVybjERMA8GA1UEBxMIQXNjaGhlaW0xHTAbBgNVBAoTFFBsb2V0eiArIFpl bGxlciBHbWJIMR0wGwYDVQQDExRQbG9ldHogKyBaZWxsZXIgR21iSDEeMBwGCSqG SIb3DQEJARYPaW5mb0BwLXVuZC16LmRlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A MIIBCgKCAQEAukQ+V/tNuElc0qWEaiMEedhTJmx7VsBs6/st74vnbhntK0XxW3oi BMoPDGZkcXHKCiVAIBfNNQvxeSTcZpzUcwf5r1lor8lXoAQTrJNArxe69nLKkjva 2+3Ugfo0JgT+C9G197GuJFdqOYW58QMiO2i2TeenCVffotkNm1uPSLtISz3nYW3D 1W1hGpTn/90u89vRedT/mVNfB3kvS6HBRFbakA1UvFdEjlnGbN/AhjgEx97v5Lqu ictZy+xUpQ2OuOF6f5ZYuCFa3t4vEfOMOSTNEqNQYrvbJp9Uh5mDlv1L2uRRIRhy 38XgN5824mSvVJMbzmLeA6MpQQ+YSC+hnwIDAQABo4IBozCCAZ8wDgYDVR0PAQH/ BAQDAgeAMIGQBggrBgEFBQcBAQSBgzCBgDBEBggrBgEFBQcwAoY4aHR0cDovL3Nl Y3VyZS5nbG9iYWxzaWduLmNvbS9jYWNlcnQvZ3Njb2Rlc2lnbnNoYTJnMi5jcnQw OAYIKwYBBQUHMAGGLGh0dHA6Ly9vY3NwMi5nbG9iYWxzaWduLmNvbS9nc2NvZGVz aWduc2hhMmcyMFYGA1UdIARPME0wQQYJKwYBBAGgMgEyMDQwMgYIKwYBBQUHAgEW Jmh0dHBzOi8vd3d3Lmdsb2JhbHNpZ24uY29tL3JlcG9zaXRvcnkvMAgGBmeBDAEE ATAJBgNVHRMEAjAAMEIGA1UdHwQ7MDkwN6A1oDOGMWh0dHA6Ly9jcmwuZ2xvYmFs c2lnbi5jb20vZ3MvZ3Njb2Rlc2lnbnNoYTJnMi5jcmwwEwYDVR0lBAwwCgYIKwYB BQUHAwMwHQYDVR0OBBYEFKE6dalLVKEktsj83r4Dw359M0d3MB8GA1UdIwQYMBaA FBlKuFrkTTGlFOVe7C+jHPqAjDJrMA0GCSqGSIb3DQEBCwUAA4IBAQA7Tc3y8IcU afCa8kH6ZRe3lqAuwFKX4AH16JKgobktIS8VOZMol0F6mLEyIjOcOOuZik3eeJm9 yhCNeBgWMujI5H0tXp7g4LfpY6PNUUs9naFL0HPeVtDb6ECRtj7PfhOIS9b3qsLF Tf0Orx63Gl7zW4/H0NbaN4oyW0cydfuyfYVYk1l8SPuXFs+EJC2u9ilLNk8L7Z1y NE7xEVQvYb1UPvUGP5InNf28/xL0WWIuNO7Ez22FF6ABKtsM7V5eAhLpJM6TWk3N UpGshSmi/Ai4DHlJfHSxJl3xapTJ+w8VV5ZIWaqAQD5uapu1472FJy9HyvOPxzhP tGTZtp7NWHrM
Symbio Operation 11 Ploetz + Zeller GmbH Ploetz + Zeller GmbH http://www.p-und-z.de Ploetz + Zeller Administrator mailto:administrator@p-und-z.de Hinweis: Über die externe Seite samltool.com lässt sich die Metadaten-Datei für den Identity Provider als auch Service Provider auch generieren, allerdings sollten Sie hier keine vertraulichen Daten benutzen, sondern nur Spieldaten wie https://example.com. Hinterher ändern Sie das Generierte und ersetzen dies durch entsprechende Werte Ihrer Organisation. 3.1.2.3 Typische Authentifizierungsanfrage http://symbioworld.com/web • ID: ID dieser Anfrage, bestehend aus "zufällig" generierten Buchstaben und Zahlen. • Version: Version des verwendeten SAML-Protokolls. • IssueInstant: Zeitstempel, der angibt, wann diese Anfrage generiert wurde. • Destination: Zieladresse, an die diese Anfrage gestellt wird. • AssertionConsumerServiceURL: URL, an der Symbio die Antwort des Identity Providers erwartet. 3.1.2.4 AD FS: Active Directory Federation Services Die heruntergeladene oder selbst erstellte FederationMetadata.xml muss in Ihren Active Directory Federation Services unter Vertrauensstellungen importiert werden, um Ihren AD FS mitzuteilen, dass eine Vertrauensstellung mit uns, http://symbioworld.com/web (Entity ID von Symbio World), aufgebaut werden soll. Als Assertion Consumer Service URL (ACS) bzw. Reply URL benutzen Sie folgende URL https://sample.symbioweb.com/AuthServices/Acs • Hierzu passen Sie „sample“ entsprechend an. • „symbioweb.com“ ist nur bei einer On-Premise-Installation zu ändern.
Symbio Operation 12 Darüber hinaus müssen außerdem noch Regeln für Gruppenmitgliedschaften und Gruppen angelegt werden, um Active Directory-Benutzergruppen (z. B. SymbioCloudAdmins, SymbioAuthors, SymbioArchitects) automatisch in Symbio zu erstellen und nutzen zu können. Beispiel-Regel für Gruppenmitgliedschaften: c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"] => add(store = "Active Directory", types = ("http://schemas.xmlsoap.org/claims/Group"), query = ";tokenGroups;{0}", param = c.Value); Beispiel-Regel für Gruppen: c:[Type == "http://schemas.xmlsoap.org/claims/Group", Value =~ "(?i)symbio"] => issue(claim = c); D.h. nur die AD-Gruppen, die „symbio“ als Teilstring enthalten, werden beachtet. Die Reihenfolge der Regeln sollte dann folgendermaßen aussehen: Pos. Regel Typ Claims 1 Group Custom c:[Type == Members Rule "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsacco hips untname", Issuer == "AD AUTHORITY"] => add(store = "Active Directory", types = ("http://schemas.xmlsoap.org/claims/Group"), query = ";tokenGroups;{0}", param = c.Value); 2 Groups Custom c:[Type == "http://schemas.xmlsoap.org/claims/Group", Value =~ Rule "(?i)symbio"] => issue(claim = c); 3 Basic Send Claim LDAP Rule Attribut es as Claims 4 Office Send Address LDAP Attribut es as Claims 3.1.3 Symbio: SAML-Einstellungen Um die SAML-Authentifizierung in Symbio Web einzurichten, gehen Sie wie folgt vor: 1. Um nun einen Identity Provider zu konfigurieren, navigieren Sie in den entsprechenden Storage (Systemadministration, Storage Collection oder Storage), öffnen Sie die Systemeinstellungen und wählen Sie "SAML-Einstellungen" aus. Wird hier ein Identity Provider konfiguriert, gilt dieser für alle hierarchisch
Symbio Operation 13 darunterliegenden Storages. Das heißt im Falle der Systemadministration für die gesamte Applikation und im Falle einer Storage Collection für alle darin enthaltenen Storages. Für den Identity Provider müssen hier die Einstellungen vorgenommen werden. Die folgenden Informationen benötigen wir vom Identity Provider: a. Metadaten XML-Datei des Identity Providers (aus den AD FS): Diese können Sie von Ihrem AD FS-Server herunterladen bspw. mit https://fs.example.com/FederationMetadata/2007-06/FederationMetadata.xml b. Entity ID (steht auch in den Metadaten), z. B. http://fs.example.com/adfs/services/trust c. SSO Service URL (steht auch in den Metadaten), https://fs.example.com/adfs/ls Bitte beachten Sie, dass hier das https-Protokoll eingetragen wird. Geben Sie die Entity ID und SSO Service URL in die dafür vorgesehenen Eingabefelder ein und laden Sie die Metadaten-XML hoch. 2. Für die Authentifizierung in Symbio Web via SAML ist es empfohlen, das HTTPS- Binding zu verwenden. Für den administrativen Zugriff von Ploetz + Zeller-Seite ist es notwendig, ein weiteres HTTPS Binding für den Port 4430 einzurichten. Damit sollten im IIS folgende Bindings konfiguriert werden:
Symbio Operation 14 3. Web.config - Basis-Konfiguration: Seit Symbio 5.5: Für den administrativen Zugriff von Ploetz + Zeller-Seite über Port 4430 muss das Setting für den PZAdminLogin in der Web.config, die im Stammordner von Symbio Web liegt, von „false“ auf „true“ zu gesetzt werden: 4. Darüber hinaus muss in der Web.config eingestellt werden, welche Benutzergruppe aus dem Active Directory standardmäßig über Administrator-Rechte in Symbio Web verfügen soll: 5. Nun sollte der Zugriff via https://sample.symbioweb.com/_sysadmin/_admin bereits möglich sein. Falls nicht, prüfen Sie bitte: a. Firewall-Einstellungen anpassen und eingehende Regel für 80, 443, 4430 erstellen. b. Falls nach dem ersten Login der Browser nicht automatisch zu Symbio Web weiterleitet, rufen Sie die Seite (https://sample.symbioweb.com/_sysadmin/_admin) erneut auf. 6. Sind die entsprechenden Einstellungen auch beim Identity Provider vorgenommen worden, ist die Website über das HTTPS-Standard-Binding von Symbio Web über diesen Identity Provider verfügbar. 7. Melden Sie sich nun mit einem Benutzer an, der Mitglied der Administratorengruppe SymbioCloudAdmins ist, oder alternativ mit einem Benutzer aus der Administrationsgruppe, die in Schritt 4 oben konfiguriert wurde. 8. Haben Sie bereits andere Symbio-Gruppen in Ihrem Active Directory erstellt, werden diese bei der ersten Anmeldung erstellt und synchronisiert. 9. Bei der ersten Anmeldung eines Active Directory-Benutzers wird dieser in Symbio Web als Benutzer mit der Anwendungsrolle „Viewer“ hinzugefügt, wenn er nicht Mitglied der Symbio-Administratorengruppe (z. B. SymbioCloudAdmins) ist. Soll ein Benutzer über erweiterte Rechte verfügen, muss der Symbio Administrator die entsprechende Anwendungsrolle für diesen Benutzer aktivieren, z. B. „Author“ für Editor-Rechte. Anmerkungen: • Berechtigungen: Die Anwendungsrollen eines Benutzers müssen von einem Symbio- Administrator (initial) gesetzt/verwaltet werden, d.h. Mitglieder einer bestimmten Gruppe bekommen nicht automatisch die Anwendungsrolle „Architect“, wenn der Benutzer Mitglied von „SymbioArchitects“ ist. Nur Mitglieder der Symbio- Administratorengruppe (z. B. SymbioCloudAdmins) bekommen automatisch die Anwendungsrolle „Administrator“. • Benutzergruppen: Falls AD-Gruppen trotz konfigurierter Claim-Regel nicht in Symbio bei (Neu-)Anmeldung eines Benutzers erstellt werden, liegt es höchstwahrscheinlich daran, dass die AD-Gruppe im Active Directory nicht auf „Global“ oder „Universal“ konfiguriert ist. Siehe auch MS-Artikel.
Symbio Operation 15 3.1.4 Signierung der Anfragen von Symbio an den IdP 1. Überblick Um sicherzustellen, dass eine Authentifizierungsanfrage tatsächlich von einem vertrauenswürdigen Service Provider stammt, fordern manche Identity Provider die Signierung dieser Anfragen mit einem Zertifikat des Service Providers. Dazu muss der Service Provider (hier: Symbio) über ein PFX/P12-Archiv verfügen, welches einen privaten Schlüssel und dessen X509-Zertifikat bündelt. Dem Indentity Provider (z.B. ADFS) muss das X509-Zertifikat (ohne privaten Schlüssel, z.B. als CER-Datei) bekannt gemacht werden. Sobald in Symbio eine solche PFX-Datei in einer SAML-aktivierten Datenbank (oder Sammlung) hinterlegt ist, wird automatisch eine Signierung aller Anfragen an den konfigurierten IdP vorgenommen. Diese Signierung erfolgt unter Verwendung des SHA256-Hash-Algorithmus. Die PFX-Datei darf über kein Passwort verfügen (bzw. der leere String "" muss als Passwort gesetzt sein). Außerdem wird die PFX-Datei unverschlüsselt in der Datenbank (oder Sammlung) abgelegt. 2. Einrichtung Nachdem "1. SAML Gruppen-Management" aktiviert und entsprechende SAML- Benutzergruppen angelegt und berechtigt, sowie "2.a) Entity ID", "2.b) Metadaten", "2.c) SSO Service URL" konfiguriert wurden, kann "3. Optionales Zertifikat zur Anfragesignierung" hochgeladen werden. Damit werden dann alle zukünftigen Anfragen an den IdP automatisch signiert (egal, ob dieser dies verlangt oder nicht). 3. Zertifikatserstellung (OpenSSL + Windows-eigene Zertifizierungsstelle Bitte passen Sie im folgenden die Dateinamen PuZ-Dev-Cert.* entsprechend Ihren Erfordernissen an. a) Erstellung eines Schlüssels und einer Zertifikatsanfrage
Symbio Operation 16 Der Schlüssel zum Zertifikat muss per RSA generiert werden und sollte mindestens 2048 Bit lang sein. Dazu eignet sich bspw. OpenSSL (https://www.openssl.org/): openssl req -newkey rsa:2048 -subj "/C=DE/ST=NRW/L=Dortmund/O=Ploetz + Zeller GmbH/OU=Dev/CN=PuZ-Dev- Cert/" -nodes -sha256 -keyout PuZ-Dev-Cert.key -out PuZ-Dev- Cert.csr -reqexts v3_req Bitte ändern Sie das Subject "/C=DE/ST=NRW/L=Dortmund/O=Ploetz + Zeller GmbH/OU=Dev/CN=PuZ-Dev-Cert/" entsprechend den Daten Ihres Unternehmens: C= Country (2 Buchstaben-Länderkürzel) ST= State (Bundesland, kann auch ausgeschrieben werden) L= Location (Statdt, in der Ihr Unternehmen beheimatet ist) O= Organization (der Name Ihres Unternehmens) OU= Organizational Unit (der Bereich/die Abteilung, die Symbio technisch oder fachlich betreut, z.B. IT, PM oder QM) CN= Common Name (der Name des Zertifikats) Falls Sie für die erstellte *.KEY Datei ein Passwort vergeben, merken Sie sich dieses bitte gut, denn es wird später noch benötigt. b) Erstellung des Zertifikats Auf dem Windows-Server, der Ihre Zertifizierungsinstanz verwaltet, führen Sie bitte folgenden Befehl aus und folgen Sie der Anweisung des erscheinenden Dialogs: certreq -submit -attrib "CertificateTemplate:User" Die im Dialog verlangte Zertifikatsanfragedatei ist die im vorherigen Schritt erstellte *.CSR Datei. Über das ausgewählte Template wird sichergestellt, dass das erstellte Zertifikat zum Signieren von Nachrichten verwendet werden darf. Falls Sie nach dem Format für das zu erstellende Zertifikat gefragt werden, wählen Sie bitte nicht Binary. Speichern Sie die Zertifikatsdatei als *.CER Datei ab. c) Erstellung der PFX-Datei Mithilfe von OpenSSL können Sie nun das gerade erstellte Zertifikat und den privaten Schlüssel aus dem ersten Schritt zu einer PFX-Datei zusammenfügen: openssl pkcs12 -export -in PuZ-Dev-Cert.cer -inkey PuZ-Dev-Cert.key -CSP "Microsoft Enhanced RSA and AES Cryptographic Provider" -out PuZ-Dev-Cert.pfx Bitte vergeben Sie kein Passwort für die *.PFX Datei.
Symbio Operation 17 d) Verwendung der erstellten Dateien Hinterlegen Sie nun das erstellte Zertifikat (*.CER Datei) in Ihrem SAML Identity Provider als Signierungszertifikat des Service Providers Symbio. Hier der entsprechende Eintrag im ADFS: Zum Schluss rufen Sie noch die SAML-Einstellungen Ihrer Symbio-Datenbank auf und laden die *.PFX Datei als "3. Optionales Zertifikat zur Anfragesignierung" hoch. Von jetzt an werden alle Anfragen an den IdP automatisch signiert.
Symbio Operation 18 3.1.5 Beschränkung des Zugriffs per SAML (ab Symbio v1803) Bei aktivem SAML-Gruppenmanagement besteht die Möglichkeit, Benutzern, die nicht einer in Symbio konfigurierten SAML-Gruppe zugeordnet sind, eine Standardrolle zuzuweisen. Diese können Sie in den SAML-Einstellungen anpassen. Standardmäßig ist dies auf "Viewer" voreingestellt. Soll einem Benutzer, der keine SAML-Gruppe zugewiesen ist, der Zugriff auf eine Datenbank verwehrt werden, entfernen Sie bitte den Haken bei "Viewer". Entsprechende Benutzer werden bei einem Anmeldeversuch automatisch in der Datenbank deaktiviert. Sobald ein Benutzer mindestens einer SAML-Gruppe zugeordnet werden kann, erhält er die höchste Rolle, die sich aus den SAML-Gruppen ergibt. Die Standardrolle aus den SAML- Einstellungen hat dann keine Bedeutung mehr. Ein einmal deaktivierter Benutzer wird durch SAML-Gruppen oder die Standardrolle niemals aktiviert. Dies muss manuell durch einen Administrator geschehen. Dazu müssen Sie lediglich den Haken "Deaktiviert" bei dem entsprechenden Benutzer entfernen. 3.1.6 Bekannte Einschränkungen Um den Einsatz von Symbio in Unternehmensumgebungen, die den IE11 im Kompatibilitätsmodus verwenden, zur ermöglichen, gibt es Einschränkungen beim Aufruf von Permanent-Links aus Visio heraus. Diese können zu Problemen, insbesondere im Zusammenspiel mit SAML, führen und werden deshalb nicht unterstützt.
Symbio Operation 19 3.1.7 Potentielle SAML-Fehlermeldungen Aussagekräftige Fehlermeldungen im Browser sind nur dann sichtbar, wenn die Standard- Fehlerseiten in der Web.config deaktiviert wurden, siehe CustomError-Pages. • “Received message contains unexpected InResponseTo "id1234567890". No RelayState was detected so message was not expected to have an inResponseTo attribute” o Sind Entity ID und SSO Service richtig konfiguriert? o Nutzt ein Produktivsystem eine andere Vertrauensstellung als eine Testumgebung? • “The signature verified correctly with the key contained in the signature, but that key is not trusted.” o Das Zertifikat in der Metadatei.xml ist nicht vertrauenswürdig. • “Das Remotezertifikat ist laut Validierungsverfahren ungültig“ Ggfs. fehlt die Root CA (Root Certification Authority). Dies können Sie wie folgt überprüfen: o Öffnen Sie Ihre Metadaten-Datei in einem Text-Editor o Speichern Sie den Wert, der im X509Certificate-Tag enthalten ist, in eine separate Datei namens Zertifikatstest.cer o Öffnen Sie die neu erstellte Datei Zertifikatstest.cer und prüfen Sie den Inhalt: Das Zertifikat sollte so aussehen:
Symbio Operation 20 Falls es ungültig ist, kann es so aussehen: 3.1.8 Tools zur SAML-Analyse Ohne in der Web.config das Logging auf Info-Level erhöhen (siehe Logging-Level) und ohne den Anwendungspool neu starten zu müssen, gibt es neben dem Netzwerkanalyse-Tool Fiddler auch nützliche Browser Add-Ons, die SAML-Antworten anzeigen können: • Chrome: SAML Chrome Panel Hier lassen sich SAML-Infos über die Developer Tools einsehen. • Firefox: SAML Tracer Zu starten über das Hamburger-Symbol. 3.2 Notfall-Benutzer 3.2.1 Passwort von (Sys-)Admin zurücksetzen Das Standardpasswort nach der Installation ist: Benutzer: admin Passwort: Start123 Falls dieses in einer Datenbank zurückgesetzt werden muss, weil kein weiteres Administrator- Konto verfügbar ist, dann lässt sich dies über folgende SQL-Abfrage in einer Datenbank durch den SQL-Datenbankadministrator zurücksetzen: -- How to reset Symbio Admin password use databaseName; -- databaseName to be replaced go update symbio.[user] set [Password] = '4b78afb4e3f38505ad68986100c6a5319afc09e50ee28387b2cb20900fea8a79bedca2c945b3feaaeebbd 4aa2d95ecaf50ef6b8ec299571bd34b41ac18ef2c53'
Symbio Operation 21 where EntityKey = (select distinct EntityKey from symbio.SearchData where Type = 'UTX_WebUser' and OriginKey = 'a364f30b-a126-4a74-9e1a-1df87f2a6074') and Tenant = 'default' -- In SingleDB mode tenant needs to be adjusted Danach muss der Anwendungspool der Symbio-Instanz neu gestartet werden. 3.2.2 Deaktivierten Symbio-Admin-Benutzer reaktivieren Falls der Symbio-Administrator deaktiviert wurde, aber nun wieder Zugang zu einer Symbio- Datenbank erhalten soll, aber es keinen anderen Administrator gibt, der ihm dieses Recht in Symbio einrichten kann, dann lässt sich die Deaktivierung über folgende SQL-Abfrage in einer Datenbank durch den SQL-Datenbankadministrator aufheben: -- How to reset Symbio Admin password use databaseName; -- databaseName to be replaced go update symbio.SearchData set AttributeValue = 'false' where EntityKey = (select distinct EntityKey from symbio.SearchData where Type = 'UTX_WebUser' and OriginKey = 'a364f30b-a126-4a74-9e1a-1df87f2a6074') and AttributeType = 'ATX_ROLE_INACTIVE' and AttributeValue = 'true' and Tenant = 'default' -- In SingleDB mode tenant needs to be adjusted update symbio.Attribute set Value = 'false' where EntityKey = (select distinct EntityKey from symbio.SearchData where Type = 'UTX_WebUser' and OriginKey = 'a364f30b-a126-4a74-9e1a-1df87f2a6074') and Type = 'ATX_ROLE_INACTIVE' and Value = 'true' and Tenant = 'default' -- In SingleDB mode tenant needs to be adjusted Danach muss der Anwendungspool der Symbio-Instanz neu gestartet werden. 3.2.3 Symbio-Admin re-importieren Falls der Symbio-Administrator in einer Datenbank komplett gelöscht wurde, so wird dieser entweder durch ein Versions-Update automatisch wieder erstellt. Falls kein Versions-Update zur Verfügung steht, lässt sich der Symbio-Administrator über einen SYMX-Import wiederherstellen. 3.2.4 SAML-Einstellungen löschen Falls die AD-Anbindung über SAML fehlerhaft in Symbio konfiguriert wurde, lassen sich diese SAML-Einstellungen über folgende SQL-Abfrage in der Datenbank löschen: -- Disable SAML in database if SAML does not work use database_name; -- databaseName to be replaced go DELETE FROM Symbio.Attribute WHERE Type in ( 'ATX_SAML_IDP_ENTITY_ID', 'ATX_SAML_IDP_METADATA', 'ATX_SAML_IDP_SINGLESIGNONURL', 'ATX_SAML_GROUP_MGMT') and Tenant = 'default' -- In SingleDB mode tenant needs to be adjusted DELETE FROM Symbio.SearchData WHERE AttributeType in ( 'ATX_SAML_IDP_ENTITY_ID',
Symbio Operation 22 'ATX_SAML_IDP_METADATA', 'ATX_SAML_IDP_SINGLESIGNONURL', 'ATX_SAML_GROUP_MGMT') and Tenant = 'default' -- In SingleDB mode tenant needs to be adjusted Hinweis: Danach muss der Anwendungspool der Symbio-Instanz neu gestartet werden.
Symbio Operation 23 4 Operations 4.1 Symbio-Instanzeinstellungen Was ist eine Symbio-Instanz? Eine Symbio-Instanz entspricht einer Symbio-Website im IIS mit dediziertem Anwendungspool. 4.1.1 Rendering-Update-Intervall Seit Symbio 5.6 werden Diagramme nun in der Datenbank gespeichert, sodass das Aufrufen von Modellen speziell im Viewer-Modus deutlich schneller ist. Falls sich nun Diagramme ändern, z. B. weil sich eine ausführende Rolle einer Schnittstelle geändert hat, dann wird diese Änderung spätestens nach 30 Sekunden sichtbar. Dieser Standardwert von Symbio.BackgroundRenderingUpdateInterval ist zurzeit in der Web.config auf 30 Sekunden gesetzt: Falls dieser Wert nicht gesetzt wird, werden 60 Sekunden als interner Wert gewählt. 4.1.2 Free & Easy-DB Seit Symbio 5.8 können Statuswechsel im Freigabe-Workflow eingeschränkt werden. Neben Anpassungen in der Konfiguration muss zusätzlich die Einstellung „Symbio. RestrictReleaseWorkflowDatabaseNameRegex“ aktiviert werden. Der Wert beschreibt den regulären Ausdruck, der für die Überprüfung der Datenbanknamen verwendet wird, um die Anwendung in den Free&Easy-Modus zu versetzen. 4.2 Logging und Tracing 4.2.1 CustomError-Pages Seit Symbio 5.8 wird nur eine einzige generische Fehlerseite angezeigt, um Benutzern Informationen über vertrauliche (Server-)Daten vorzuenthalten. Zu Debugging-Zwecken lassen sich ausführliche Fehlerseiten in der Web.config aktivieren: Hinweis: Der Anwendungspool wird automatisch gestoppt und neu gestartet. 4.2.2 Logging 4.2.2.1 Symbio • Logging-Level In der Web.config lässt sich das Logging-Level konfigurieren. Standardmäßig werden nur Fehler aufgezeichnet. Durch Auskommentieren einer Zeile aktivieren Sie das entsprechende Logging-Level. Es reicht aus, nur eine Zeile auszukommentieren.
Symbio Operation 24 Hilfreich für Debugging-Zwecke ist bereits das Info-Level. Hier werden auch sensible SAML-Authentifizierungs-Infos ausgegeben. Wenn Sie es noch ausführlicher haben möchten, nehmen Sie „Verbose“, wobei hier die Performance der Anwendung etwas stärker beeinträchtigt wird als bei „Info“. Hinweis: Der Anwendungspool wird automatisch gestoppt und neu gestartet. • Log-Verzeichnis Das Log-Verzeichnis befindet sich im Hauptverzeichnisses des Anwendungsverzeichnisses: log • Logging Informationen: Spalten Beschreibung bzw. Beispiel Date Nummerische Darstellung des Datums (03-11-2017) Time Zeit auf dem Server (13-35-04) Message Log-Level Error, Warning, Info oder Verbose Message Text der Logging Nachricht 4.2.2.2 IIS Für zusätzliche Informationen können IIS-Logs zu Rate gezogen werden. Diese sind u. a. auch nützlich, um eine Performance-Analyse für einen gewissen Zeitraum durchzuführen, z. B. mit Hilfe von Microsoft LogParser. Das Logging des IIS ist per WebSite konfigurierbar. Konfiguration und Standardeinstellungen werden im Folgenden beschrieben. Wie jeder Konfigurationseintrag werden auch Einstellungen zum Logging von übergeordneten Elementen übernommen und IIS-Serverrichtlinien legen fest, inwieweit untergeordnete Knoten Änderungen an den entsprechenden Einstellungen vornehmen können. Standardmäßig wird eine Logdatei per WebSite - nicht per Applikation - erstellt. Diese Logdatei wird an einem definierten Ort gespeichert und im Normalfall täglich neu begonnen (siehe Auszug der Logging-Einstellungen unten).
Symbio Operation 25 Durch Auswahl der Felder der Logdatei kann festgelegt werden, was genau protokolliert wird. Die normalerweise ausgewählten Standardfelder für Logdateien im W3C-Format sind im folgenden Screenshot dargestellt; eine Erklärung folgt.
Symbio Operation 26 Quelle der nachfolgenden Tabelle: https://technet.microsoft.com/de-DE/library/hh831598.aspx#W3CLoggingFields Element Name Description Date (date) Logs the date on which the request occurred. Selected by default. Time (time) Logs the time, in Coordinated Universal Time (UTC), at which the request occurred. Selected by default. Client IP Address (c-ip) Logs the IP address of the client that made the request. Selected by default. User Name (cs-username) Logs the name of the authenticated user who accessed the server. Anonymous users are indicated by a hyphen. Selected by default. Service Name (s-sitename) Logs the Internet service name and instance number that was running on the client at the time that the incident was logged. Server Name (s- Logs the name of the server on which the log file entry computername) was generated. Server IP Address (s-ip) Logs the IP address of the server on which the log file entry was generated. Selected by default. Server Port (s-port) Logs the server port number that is configured for the service. Selected by default.
Symbio Operation 27 Method (cs-method) Logs the HTTP method, such as GET, that is used in the request. Selected by default. URI Stem (cs-uri-stem) Logs the Uniform Resource Identifier (URI) that is the target of the action, such as Default.htm. Selected by default. URI Query (cs-uri-query) Logs the query, if any, that the client was trying to perform. A URI query is necessary only for dynamic pages. Selected by default. Protocol Status (sc-status) Logs the HTTP status code. Selected by default. Protocol Substatus (sc- Logs the HTTP substatus code. Selected by default. substatus) Win32 Status (sc-win32- Logs the Windows status code. Selected by default. status) Bytes Sent (sc-bytes) Logs the number of bytes that the server sent. Bytes Received (cs-bytes) Logs the number of bytes that the server received. Time Taken (time-taken) Logs the length of time that the action took in milliseconds. Selected by default. Protocol Version (cs-version) Logs the protocol version, HTTP or FTP, that the client used. Host (cs-host) Logs the host header name, if any. Hinweis The host name that you configure for your website might appear differently in the log files because HTTP.sys logs host names by using the Punycode- encoded format. User Agent (cs(User-Agent)) Logs the browser from which the request came. Selected by default. Cookie (cs(Cookie)) Logs the content of the cookie sent or received, if any. Referer (cs(Referer)) Logs the site that the user last visited. This site provided a link to the current site. 4.3 Pflege und Performance-Einstellungen 4.3.1 Initiale SQL-Datenbankeinstellungen • AutoGrowth: 128 MB/128 MB In den AutoGrowth-Einstellungen der Datenbank sollten höhere Werte eingetragen werden, um Performance-Engpässe auf SQL Server-Seite zu vermeiden. Dies wirkt sich besonders positiv bei Importen auf.
Symbio Operation 28 Dieser Wert lässt sich in der Web.config konfigurieren, um bei Erstellung von Datenbanken direkt geeignete Werte zu setzen. Hinweis: Diese Werte, die hier eingestellt werden können, müssen identisch oder größer als die Einstellungen in der ModelDB sein, sonst werden die Datenbanken nicht erstellt. 4.3.2 Regelmäßige Datenbank-Pflege 4.3.2.1 Tabellenindices defragmentieren Es hat sich herausgestellt, dass das Defragmentieren der Tabellenindices regelmäßig ausgeführt werden muss, um die Geschwindigkeit von Datenbankanfragen in Symbio server- seitig zu verbessern und stabil zu halten. Seit Symbio 1801 werden Tabellenindices nun regelmäßig defragmentiert, sodass dieser nachfolgende Wartungstask nachts ausgeführt werden kann, aber nicht unbedingt erforderlich ist, weil Symbio dies nun automatisch durchführt. Erstellen Sie einen Wartungstask, der nachts nach einer automatischen Datenbanksicherung, die Tabellenindices defragmentiert (Rebuild Indices).
Symbio Operation 29 Auch nach größeren oder mehreren Importen (> 50 MB) ist es empfehlenswert, die Indices manuell nach vorheriger Datenbanksicherung zu defragmentieren. Hierzu sollten sich der Datenbank-Administrator und der Symbio-Administrator gemeinsam absprechen. Hierzu benutzen Sie unser mitgeliefertes Skript, das Sie online hier finden: http://operations.symbioworld.com/ So erstellen Sie im SQL Server Management Studio einen Wartungstask: 1. Wartungsplan erstellen 2. Über die Toolbox Rebuild Index Task hinzufügen 3. In den Einstellungen für den Task die Datenbank(en) auswählen 4. Page Count (> 1000) deaktivieren
Symbio Operation 30 Hinweis: • Falls Sie das Optimierungs-Skript von Ola Hallengren benutzen, so defragmentiert dies nur die Tabelleindices, wenn der Page Count mind. 1000 Seiten enthält. 4.3.2.2 Volltextindex überprüfen (bis Symbio 5.11) Mit folgender Abfrage kann der aktuelle Status des Volltextindexes überprüft werden: select distinct FullTextSearchIndex
Symbio Operation 31 from symbio.SearchData s left outer join ( select distinct document_id from master.sys.dm_fts_index_keywords_by_document ( DB_ID(DB_NAME()), OBJECT_ID('symbio.SearchData') )) f on (s.FullTextSearchIndex = f.document_id) where f.document_id is null and ltrim(rtrim(isnull(s.AttributeValue,''))) '' Falls hier ein Ergebnis zurückgeliefert wird, sollte der Volltextindex aktualisiert werden. 4.3.2.3 Volltextindex aktualisieren (bis Symbio 5.11) In größeren Datenbank kann es von Vorteil sein, den Volltextindex regelmäßig zu aktualisieren. Dies kann durch einen SQL Server-Wartungstask geschehen oder manuell. Vorher muss der Anwendungspool gestoppt werden. 1. Anwendungspool der Symbio-Instanz stoppen 2. SQL Server Management Studio öffnen 3. Folgende Abfrage durch den SQL-Administrator ausführen: alter fulltext catalog SymbioFullTextCatalog REBUILD 4. Status lässt sich überprüfen mittels: SELECT DATEADD(ss, FULLTEXTCATALOGPROPERTY(cat.Name,'PopulateCompletionAge'), '1/1/1990') AS LastPopulated ,(SELECT CASE FULLTEXTCATALOGPROPERTY(cat.Name,'PopulateStatus') WHEN 0 THEN 'Idle' WHEN 1 THEN 'Full Population In Progress' WHEN 2 THEN 'Paused' WHEN 3 THEN 'Throttled' WHEN 4 THEN 'Recovering' WHEN 5 THEN 'Shutdown' WHEN 6 THEN 'Incremental Population In Progress' WHEN 7 THEN 'Building Index' WHEN 8 THEN 'Disk Full. Paused' WHEN 9 THEN 'Change Tracking' END) AS PopulateStatus FROM sys.fulltext_catalogs AS cat 4.3.2.4 Volltextindex aktuell halten (bis Symbio 5.11) Falls der Volltextindex regelmäßig nicht aktuell ist, lässt sich dies durch eine Umstellung in der Datenbank durch folgende Abfrage in der wichtigsten Tabelle verhindern: ALTER FULLTEXT INDEX ON [symbio].[SearchData] SET CHANGE_TRACKING = OFF ALTER FULLTEXT INDEX ON [symbio].[SearchData] SET CHANGE_TRACKING = AUTO Wenn Sie alle Symbio-Datenbanken ändern möchten, benutzen Sie folgende Abfrage. Passen Sie hier den Datenbanknamen entsprechend an: declare @db nvarchar(max) declare @cmd nvarchar(max) declare dbname_cursor cursor for Select name from master.sys.databases -- where name not in ('master','tempdb','model','msdb'); where name like 'Symbio%' open dbname_cursor; fetch next from dbname_cursor into @db; While @@fetch_status = 0 Begin set @cmd = N'
Symbio Operation 32 Use [' + @db + ']; ALTER FULLTEXT INDEX ON [symbio].[SearchData] SET CHANGE_TRACKING = OFF ALTER FULLTEXT INDEX ON [symbio].[SearchData] SET CHANGE_TRACKING = AUTO' exec sp_executesql @cmd print @cmd fetch next from dbname_cursor into @db; End; close dbname_cursor; deallocate dbname_cursor; Go 4.3.3 Mögliche Ursachen für Performanceprobleme (SQL Server) • Memory: MaxLimit auf "normalen" Wert beschränken, keine 2 TB wie voreingestellt. • Parallelism 0 (im Normalfall alle Kerne, auf keinen Fall nur 1)
Symbio Operation 33 • Cost Threshold for Parallelism: 5 (ggfs. 30-40 eintragen, falls bspw. Importe scheitern) • Fragmentierte MDF/LDF auf der Festplatte: Ggfs. hilft es auch, eine Datenbank komplett aus einer BAK-Datei in eine neue Datenbank zurückzuspielen, damit die MDF/LDF-Dateien nicht auf der Festplatte vereinzelt fragmentiert liegen. • Microsoft empfiehlt für die TempDB pro Kern bzw. Sockel eine separate Datei: Bei der Installation von SQL Server 2017 werden bereits automatisch mehrere erstellt. Auch in der Cloud bei Microsoft Azure werden bspw. 12 TempDB-Dateien für Premium-Datenbanken eingesetzt: https://docs.microsoft.com/de-de/sql/relational-databases/databases/tempdb- database?view=sql-server-2017
Symbio Operation 34 4.4 Backup und Restore 4.4.1 Backup 1. Anwendungspool der Symbio-Instanz stoppen 2. SQL Server Management Studio öffnen 3. Zu kopierende Datenbank auswählen und Backup erstellen. Wichtig ist, dass die Datenbank im Copy-only-Backup (Kopie-Sicherung) gesichert wird, damit die normale Sicherung auch alles seit dem letzten automatisiertem Backup sichert und nicht nur das Differentialbackup, das durch das manuelle Backup entstünde, wenn Copy-only-Backup deaktviert ist. 4.4.2 Restore 1. Anwendungspool der Symbio-Instanz stoppen 2. SQL Server Management Studio öffnen 3. Wiederherzustellende Datenbank auswählen 4. Ziel-Datenbank auswählen 5. Auf der Optionen-Seite Häkchen setzen, um die Datenbank zu überschreiben 6. Bei erfolgreicher Rücksicherung Anwendungspool der Symbio-Instanz starten
Symbio Operation 35 4.4.3 Restore mit Datenbank Pools 1. Einen neuen Datenbankpool erstellen 2. Storage in diesem Pool erstellen 3. Application Pool für die Symbio Insanz stopppen. 4. Origin Key des Storages in der Tenant Tabelle merken oder per Strg+Alt+D, bei markiertem Storage, in Symbio anzeigen lassen. 5. Datenbank per SQL Restore wiederherstellen und überschreiben. 6. Die symbio.renameTenant stored procedure ausführen. 7. 2 Parameter übergeben, old und new tenant 8. Den notierten OriginKey als neuen Tenant übergeben und den existierenden als alten Tenant überschreiben. 9. Application Pool für Symbio Instanz wieder starten. 10. Konfiguration auf dem Storage austauschen und in Datenbank navigieren. 4.5 Update/Upgrade auf neue Version 4.5.1 Version überprüfen 4.5.1.1 Datei-Eigenschaften im Anwendungsverzeichnis Im bin-Verzeichnis rufen Sie die Datei-Eigenschaften der Symbio.Base.Framework.dll auf. 4.5.1.2 Versions-Info in der Anwendung überprüfen In Symbio lässt sich die Version in der Systemsteuerung vom Symbio-Admin am Ende der Seite überprüfen.
Symbio Operation 36 4.5.2 Maßnahmen vor Update/Upgrade Bevor Sie mit einem Update/Upgrade starten, sollten Sie sich vergewissern, dass Symbio reibungslos läuft: 1. Die Symbio Server-Log-Dateien der letzten Woche sollten keine Fehler beinhalten. Falls Fehler aufgezeichnet worden sind, sollten diese analysiert und vor dem Update/Upgrade behoben werden. Hierzu senden Sie uns diese, indem Sie ein Ticket über http://support.symbioworld.com/hc/de öffnen. 2. Zustand der Datenbank überprüfen über SQL-Abfrage select * from symbio.SearchData where OriginKey in ( select sd.AttributeValue from symbio.SearchData sd join symbio.Entity e on sd.AttributeValue = e.OriginKey join symbio.ItemRelation ir1 on e.EntityKey = ir1.TargetKey join symbio.Item ri on ir1.SourceKey = ri.EntityKey join symbio.ItemRelation ir2 on ri.EntityKey = ir2.TargetKey where ri.Type = 'CTX_CONTAINS' and sd.AttributeType = 'application/x-attribute.release-cycle.latest-version- originkey-editor' and ir2.SourceKey sd.EntityKey ) and AttributeType = 'AT_NAME' and AttributeLCID = '1031' and Tenant = 'default' -- In SingleDB mode tenant needs to be adjusted order by Type, AttributeValue Sollte diese Abfrage kein leeres Resultset ausgeben, so liegen Fehler vor. 3. Tabellenindices der Datenbanken defragmentieren, siehe Tabellenindices defragmentieren 4.5.3 Wartungsmodus Es ist sinnvoll, bei Updates und speziell bei Upgrades und langlaufenden Automatisierungstasks wie bspw. Neugenerierung von Handbüchern und Reparaturaufgaben die Symbio-Instanz(en) im IIS umzukonfigurieren und während der Wartung auf eine andere WebSite zu leiten. 4.5.3.1 Vorbereitungen Für den Wartungsmodus wird eine eigene WebSite im IIS benötigt, die nur eine HTM(L)- Datei enthalten muss. 1. Konfigurieren Sie die Default Web Site um oder erstellen Sie eine neue Website und zeigen Sie auf das Verzeichnis, z. B. „D:\Symbio\_Maintenance“. Siehe Erstinstallation. 2. Kopieren Sie die Datei „_app_offline.htm“ aus dem Wurzelverzeichnis von Symbio (seit 1803 verfügbar) in dieses neue Verzeichnis. 3. Benennen Sie diese Datei nach „app_offline.htm“ um, indem Sie den vorangestellten Unterstrich einfach entfernen. Hintergrund ist, dass der IIS standardmäßig Dateien mit vorangestelltem Unterstrich ignoriert. Nach Umbennung lädt er die erstbeste HTM(L)- Seite. Hier können Sie auch eine benutzerdefinierte HTM(L)-Seite benutzen, die Ihrer Corporate Identity entspricht. 4. Die Bindungen sollten den vorhandenen Symbio-Instanzen entsprechen, wobei Sie aber zwingend einen anderen Port benutzen, z. B. 4431, müssen.
Symbio Operation 37 5. Starten Sie den Application Pool von Default Web Site bzw. Ihre Wartungs-WebSite. 4.5.3.2 Vorgehensweise bei Update/Upgrade/Wartung Temporär soll statt der Symbio-WebSite eine Wartungsseite während Updates, Upgrades, oder Wartungen angezeigt werden. 1. Ändern Sie die Bindungen der zu wartenden Instanz, indem Sie den Port 443 auf Port 4430 ändern. Hier wird die WebSite neu (!) gestartet und ist für Symbio-Benutzer nicht mehr erreichbar. 2. Ändern Sie die Bindungen der Default Web Site bzw. Ihrer Wartungs-WebSite für die zu wartende Instanz auf Port 443, sodass Benutzer bei Aufruf von Symbio informiert werden, dass die Instanz vorübergehend nicht erreichbar ist und gewartet wird. 3. Starten Sie den Application Pool der zu wartenden Instanz neu. 4. Führen Sie ein Upgrade/Update bzw. eine Wartung durch, indem Sie Symbio mit Port 4430 aufrufen, z. B. https://test.symbioweb.com:4430/_sysadmin/_admin. Bitte beachten Sie, dass der Port 4430 in der Firewall temporär zugelassen werden muss. 5. Nach Upgrade/Update/Wartung ändern Sie die Bindungen der Default Web Site bzw. Ihrer Wartungs-WebSite wieder auf Port 4431 zurück, sodass für eine sehr kurze Umstellungszeit eine Downtime vorliegt. 6. Stellen Sie nun die Bindungen der gewarteten Symbio-Instanz auf Port 443 zurück. Der Application Pool startet automatisch neu. 4.5.4 Update Bevor Sie das Update starten, sollten die Voraussetzungen für ein Update gegeben sein, siehe obiges Kapitel und eine Sicherung aller Datenbanken erfolgt sein. Im folgenden Kapitel wird das Einspielen von Patches beschrieben. Hierbei handelt es sich um Aktualisierungen innerhalb der gleichen Hauptversionsnummer (z. B. 5.8.x -> 5.8.y). 1. Stoppen Sie den Anwendungspool der Symbio-Instanz 2. Führen Sie eine Sicherung der Datenbanken durch Hinweis: Vor jedem Update sollten Sie eine komplette Sicherung der Datenbank durchführen. 3. Führen Sie eine Sicherung des Applikationsordners durch 4. Austauschen der Installation a. Alle Ordner und Dateien löschen (Ausnahme: „log“ Ordner und „Web.config“) b. Kopieren Sie die Installationsdaten in das Applikationsverzeichnis (ohne „log“ Ordner und „Web.config“)
Symbio Operation 38 5. Starten Sie den Anwendungspool der Symbio-Instanz 6. Starten Sie die Applikation über den Webbrowser 4.5.5 Upgrade Bevor Sie das Upgrade starten, sollten die Voraussetzungen für ein Upgrade gegeben sein, siehe obiges Kapitel und eine Sicherung aller Datenbanken erfolgt sein. Im folgenden Kapitel wird das Einspielen von Upgrades beschrieben. Hierbei handelt es sich um eine Aktualisierung der Hauptversion von z. B. 5.8 -> 5.9. Bitte führen Sie die folgenden Schritte für eine sogenannte In-Place-Aktualisierung aus: 1. Stoppen Sie den Anwendungspool der Symbio-Instanz 2. Sichern Sie alle Datenbanken der Symbio-Instanz und sichern Sie den Applikationsordner. 3. Installieren Sie die neue Applikation, und passen Sie die neue Web.config an, wie z. B. typische Änderungen wie Datenbank-Server-Einstellungen in: 4. Symbio database pools is a feature from version 1808. This mode will be activated by default. Hinweis: Wenn Sie keine Datenbankpools verwenden möchten, deaktivieren Sie diese bitte in der Datei Web.config, wie im folgenden Screenshot zu sehen ist, und überspringen Sie die Schritte 4.a und 4.b: a. Passen Sie die Web.config an, indem Sie den zuvor betriebenen Datenbankmodus angeben, aus dem konvertiert werden soll, wie im folgenden Beispiel gezeigt: b. Stellen Sie sicher, dass Sie auf der SysAdmin Ebene (https://sample.symbioweb.com/_sysadmin/_admin) einsteigen und nur von
Symbio Operation 39 dort aus in die Storage Collection navigieren. Für jeden zuvor vorhandenen Storage in der anschließend konvertierten Storage Collection werden neue Datenbankpools angelegt. Hinweis: Bitte beachten Sie, dass die Konvertierung einige Zeit in Anspruch nehmen wird. Möglicherweise wird ein Anmeldebildschirm angezeigt, aber Sie können sich erst anmelden, wenn die Konvertierung abgeschlossen ist. Hinweis: Die Schritte 5 und 6 sind nur dann durchzuführen, wenn in der Web.config ein neues Datenbank-Präfix konfiguriert wurde. 5. Legen Sie eine Symbio-Datenbank in neuer Symbio-Version mit Zielkonfiguration an 6. Stellen Sie das Datenbankbackup aus Punkt 2 in die bei Punkt 4 angelegte SQL- Datenbank wieder her (ggf. für weitere DB-Backups wiederholen) 7. Das Aktualisieren kann (je nach Größe der Datenbank) etwas länger dauern. Folgende Empfehlungen sind zu überprüfen bzw. anzupassen. a. Überprüfen Sie die Dateigrößeneinstellungen der Datenbank im SQL Server Management Studio und passen sie ggfs. die Werte für das Vergrößern der Datenbank an: b. Defragmentieren Sie die Tabellenindices, siehe Tabellenindices defragmentieren c. Darüber hinaus bietet es sich ggf. an, in der Web.config den Wert für „executionTimeout“ hoch zu setzen. (Z. B. auf 1000 ≈ 17 Minuten) 8. Starten Sie den Anwendungspool der Symbio-Instanz 9. WECHSELN SIE NICHT SOFORT IN DIE DATENBANK 10. BENUTZEN SIE NICHT DEN INTERNET EXPLORER 11. Melden Sie sich in der Datenbank-Sammlung an, und wechseln Sie zur Facette „Datenbanken“
Symbio Operation 40 12. Wählen Sie die (ggf. in Schritt 5 neu angelegte) Datenbank aus, und klicken Sie im Detailbereich unter „Konfigurationsvorlage“ auf „Austauschen“. 13. Im sich öffnenden Dialog wählen Sie die Zielkonfiguration aus und klicken Sie auf OK. Das Aktualisieren kann (je nach Größe der Datenbank) etwas länger dauern. (Siehe Schritt 7.) 14. Nach erfolgreichem Austauschen der Konfiguration navigieren Sie auf die Startseite der Datenbank-Sammlung, und öffnen Sie die Datenbank. 4.5.6 Manuelle Umwandlung zu Datenbank Pools Sollen in Symbio Datenbank Pools nachträglich verwenden werden, so kann dies durch die Ausführung zweier Automatisierungstasks erreicht werden. Zunächst muss die WebConfig wie hier beschrieben angepasst werden. Dazu muss ein Automatisierungstask auf Admin Ebene erstellt und die Datei CreatePoolsInSysAdmin.xml eingebunden werden. Die benötigten Dateien werden mit Symbio ab Version 1808 ausgeliefert und befinden sich im AppData Verzeichnis der Applikation. Auch erreichbar über den Upload Dialog im "Data" Tab. Bei erfolgreichem Abschluss des Tasks kann in eine Collection navigiert werden. Ein neuer Automatisierungstask muss erstellt werden mit der angehängten Datei CreatePoolsInStorageCollection.xml. Nach erfolgreichem Abschluss der Automatisierungstasks operiert Symbio im DatenbankPools Modus. 4.6 Relocate/Datenbank-Operationen 4.6.1 Datenbanken verschieben MDF/LDF-Dateinamen ändern
Symbio Operation 41 4.6.2 Datenbank-Downgrade: SQL Server 2012 nach SQL Server 2008 R2 (englisch) In many situations for evaluation installations a higher SQL Server Version was used as in the production environment. You receive the following error message, when you attempt to restore the database: This error message is generated because SQL Server automatically upgrades the database, when you restore or attach the database from lower version to higher version. SQL Server does not allow you to restore or attach a database from a higher version of SQL Server to a lower version of SQL Server. In this tip, we will look at a one time procedure which we can follow to downgrade the database from a higher version (SQL Server 2012) of SQL Server to a lower version (SQL Server 2008 R2) of SQL Server. Solution 1: Export Data To copy the database from SQL Server 2014 to SQL Server 2012 you need access between the two instances. Open the SQL Server Management Studio, connect to the SQL Server 2014 instance and right-click on the database, open Tasks menu and select Export Data.
Sie können auch lesen