[{"data":1,"prerenderedAt":1464},["ShallowReactive",2],{"docs-navigation":3,"doc-\u002Feinrichtung\u002Ffirewall-ip-mtls":132},[4,12,19,25,33,39,45,51,56,62,68,76,82,88,94,101,106,111,116,121,127],{"path":5,"title":6,"description":7,"section":8,"audience":9,"order":10,"icon":11},"\u002F","Dein Arbeitsalltag. Einfach erklärt.","Von der ersten Rechnung bis zur Freigabe. Hier findest du alles, um mit kontori loszulegen und im Alltag sicher weiterzuarbeiten.","Dokumentation","Alle",0,"book",{"path":13,"title":14,"description":15,"section":16,"audience":9,"order":17,"icon":18},"\u002Ferste-schritte\u002Fschnellstart","Schnellstart","Die wichtigsten Bereiche in kontori kennenlernen – von Review-Aufgaben und Freigaben bis zu Dokumenten und Integrationen.","Erste Schritte",10,"rocket",{"path":20,"title":21,"description":22,"section":16,"audience":9,"order":23,"icon":24},"\u002Ferste-schritte\u002Farbeitsbereiche","Arbeitsbereiche","Arbeite im richtigen Unternehmenskontext und behalte deine Dokumente und Aufgaben zusammen.",20,"layers",{"path":26,"title":27,"description":28,"section":29,"audience":30,"order":31,"icon":32},"\u002Farbeitsalltag\u002Freview","Review","Offene Prüfaufgaben bearbeiten und Rechnungen für die Freigabe vorbereiten.","Im Arbeitsalltag","Endanwender",25,"review",{"path":34,"title":35,"description":36,"section":29,"audience":30,"order":37,"icon":38},"\u002Farbeitsalltag\u002Fdokumente","Dokumente","Belege aus dem Mail-Konnektor finden, Originale ansehen und die Tabs der Dokumentdetails nutzen.",30,"document",{"path":40,"title":41,"description":42,"section":29,"audience":30,"order":43,"icon":44},"\u002Farbeitsalltag\u002Ffreigaben","Meine Freigaben","Rechnungen ansehen, Rückfragen klären und persönliche Freigaben bearbeiten.",50,"approval",{"path":46,"title":47,"description":48,"section":29,"audience":30,"order":49,"icon":50},"\u002Farbeitsalltag\u002Fvorgaenge","Vorgänge","Zusammengehörige Belege prüfen, offene Aufgaben klären und Freigabe sowie ERP-Sync nachvollziehen.",60,"process",{"path":52,"title":53,"description":54,"section":29,"audience":30,"order":55,"icon":11},"\u002Farbeitsalltag\u002Fbuchhaltung","Buchhaltung","Konten und Kostenstellen pflegen, Kontierungen nachvollziehen und die automatische Bestätigung verstehen.",70,{"path":57,"title":58,"description":59,"section":29,"audience":30,"order":60,"icon":61},"\u002Farbeitsalltag\u002Fartikel","Artikel","Artikel und Dienstleistungen finden, Stammdaten pflegen und zugehörige Rechnungspositionen nachvollziehen.",80,"article",{"path":63,"title":64,"description":65,"section":29,"audience":30,"order":66,"icon":67},"\u002Farbeitsalltag\u002Funternehmen","Unternehmen","Geschäftspartner anhand ihrer Stammdaten erkennen, Datenquellen prüfen und fehlende Unternehmen ergänzen.",90,"building",{"path":69,"title":70,"description":71,"section":72,"audience":73,"order":74,"icon":75},"\u002Feinrichtung\u002Fueberblick","Einrichtung im Überblick","Bereite deinen Arbeitsbereich vor und verbinde die Systeme, die euer Unternehmen bereits nutzt.","Einrichtung","Administratoren",100,"settings",{"path":77,"title":78,"description":79,"section":72,"audience":73,"order":80,"icon":81},"\u002Feinrichtung\u002Fmicrosoft-mail","Microsoft Mail","Verbinde Microsoft-Postfächer und importiere E-Mails und PDF-Anhänge in deinen Arbeitsbereich.",110,"mail",{"path":83,"title":84,"description":85,"section":72,"audience":73,"order":86,"icon":87},"\u002Feinrichtung\u002Fgeteilte-postfaecher","Geteilte Postfächer","Binde ein gemeinsames Rechnungspostfach ein und wähle gezielt die zu synchronisierenden Ordner.",120,"users",{"path":89,"title":90,"description":91,"section":72,"audience":73,"order":92,"icon":93},"\u002Feinrichtung\u002Ffirewall-ip-mtls","Firewall, IP-Freigabe und mTLS","Die S\u002F4HANA-Netzwerkanbindung über Azure Application Gateway mit HTTPS, fester kontori-IP, Client-Zertifikat und API-Allowlist absichern.",125,"shield",{"path":95,"title":96,"description":97,"section":98,"audience":73,"order":99,"icon":100},"\u002Feinrichtung\u002Ferp-systeme","ERP-Systeme","Verbinde dein ERP und lege fest, welche Daten kontori synchronisiert und wo sie gepflegt werden.","ERP Integrationen",130,"plug",{"path":102,"title":103,"description":104,"section":98,"audience":73,"order":105,"icon":67},"\u002Feinrichtung\u002Fsap-business-one","SAP Business One","Bereite den Service-Layer-Zugang vor und verbinde die gewünschte SAP-Firmendatenbank.",140,{"path":107,"title":108,"description":109,"section":98,"audience":73,"order":110,"icon":67},"\u002Feinrichtung\u002Fsap-s4hana","SAP S\u002F4HANA","SAP-Dienste und Berechtigungen vorbereiten, S\u002F4HANA mit kontori verbinden und die erste Synchronisierung prüfen.",150,{"path":112,"title":113,"description":114,"section":72,"audience":73,"order":115,"icon":87},"\u002Feinrichtung\u002Fmicrosoft-teams","Microsoft Teams","Verbinde das Unternehmensverzeichnis und richte den kontori-Bot für Rückfragen in Teams ein.",160,{"path":117,"title":118,"description":119,"section":72,"audience":73,"order":120,"icon":44},"\u002Feinrichtung\u002Ffreigaben-einrichten","Freigaben einrichten","Richtlinien, Freigabestufen und Zuständigkeiten für Rechnungen festlegen.",170,{"path":122,"title":123,"description":124,"section":125,"audience":9,"order":120,"icon":126},"\u002Fhilfe\u002Fhaeufige-fragen","Häufige Fragen","Antworten auf typische Fragen zur täglichen Arbeit und den Verbindungen in kontori.","Hilfe","help",{"path":128,"title":129,"description":130,"section":125,"audience":9,"order":131,"icon":75},"\u002Fhilfe\u002Fproblemloesung","Problemlösung","Finde die Ursache für fehlende Daten, unterbrochene Verbindungen oder offene Verarbeitungsschritte.",180,{"id":133,"title":90,"audience":73,"body":134,"description":91,"extension":1458,"icon":93,"meta":1459,"navigation":1460,"order":92,"path":89,"section":72,"seo":1461,"stem":1462,"__hash__":1463},"docs\u002F3.einrichtung\u002F8.firewall-ip-mtls.md",{"type":135,"value":136,"toc":1434},"minimark",[137,142,156,159,163,166,175,181,185,188,296,299,303,372,382,397,401,406,460,467,471,522,533,546,549,584,588,603,609,613,617,628,631,635,660,755,775,784,788,795,883,886,890,904,908,982,997,1001,1083,1094,1097,1105,1116,1120,1185,1191,1204,1208,1211,1291,1294,1305,1309,1317,1400,1406,1410,1413,1419,1430],[138,139,141],"h2",{"id":140},"für-welche-anbindung-gilt-diese-anleitung","Für welche Anbindung gilt diese Anleitung?",[143,144,145,146,150,151,155],"p",{},"Diese Anleitung beschreibt die im Kunden-Runbook vorgesehene Anbindung ",[147,148,149],"strong",{},"Azure Application Gateway WAF v2 → SAP Web Dispatcher → SAP S\u002F4HANA",". Sie richtet sich an das Azure- und Netzwerkteam sowie SAP Security. Die ",[152,153,154],"a",{"href":107},"SAP-Dienste, Rollen und Verbindung in kontori"," werden separat eingerichtet.",[143,157,158],{},"Für eine direkt bereitgestellte S\u002F4HANA Public Cloud wird diese Architektur nicht vorausgesetzt. Wendet die Schritte an, wenn der vereinbarte Integrationsweg tatsächlich über ein kundenseitiges Application Gateway und einen privaten Web Dispatcher führt.",[138,160,162],{"id":161},"so-wird-der-zugang-geschützt","So wird der Zugang geschützt",[143,164,165],{},"Nur ein dedizierter HTTPS-Endpunkt ist öffentlich erreichbar. Das Gateway prüft die feste Ausgangs-IP von kontori, das Client-Zertifikat und die erlaubten API-Pfade und HTTP-Methoden. SAP prüft anschließend zusätzlich den technischen Zugang und dessen Berechtigungen.",[167,168,172],"doc-screenshot",{"alt":169,"src":170,"title":171},"kontori erreicht das Azure Application Gateway über HTTPS mit mTLS. Dahinter folgen ein privater SAP Web Dispatcher und SAP S\u002F4HANA über HTTPS. Das Gateway prüft IP, Zertifikat und API-Allowlist; SAP prüft den technischen Zugang.","\u002Fimages\u002Ffirewall-ip-mtls\u002Farchitektur.svg","Geschützter Integrationsweg",[143,173,174],{},"Am öffentlichen Eingang gelten IP-Freigabe, mTLS und API-Allowlist gemeinsam. Der Web Dispatcher und das SAP-System bleiben im privaten Netz.",[143,176,177,180],{},[147,178,179],{},"mTLS"," bedeutet, dass auch kontori sich beim HTTPS-Verbindungsaufbau mit einem Zertifikat ausweist. Dieses Client-Zertifikat ergänzt die SAP-Anmeldung. Es ersetzt weder Benutzerrechte noch OAuth.",[138,182,184],{"id":183},"angaben-und-zuständigkeiten","Angaben und Zuständigkeiten",[143,186,187],{},"Alle Werte in eckigen Klammern sind Platzhalter. Tragt vor der Einrichtung die tatsächlich abgestimmten Werte ein.",[189,190,191,204],"table",{},[192,193,194],"thead",{},[195,196,197,201],"tr",{},[198,199,200],"th",{},"Zuständig",[198,202,203],{},"Benötigte Angaben",[205,206,207,224,243,258,269,288],"tbody",{},[195,208,209,213],{},[210,211,212],"td",{},"kontori",[210,214,215,216,220,221],{},"Statische öffentliche IPv4-Ausgangsadresse ",[217,218,219],"code",{},"[kontori_egress_ip]\u002F32"," und dedizierte Client-CA-Kette ",[217,222,223],{},"kontori-client-ca-chain.pem",[195,225,226,229],{},[210,227,228],{},"kontori und SAP Basis",[210,230,231,232,235,236,239,240],{},"Kanonische API-Präfixe ",[217,233,234],{},"[API_PREFIX_1\u002F]",", zulässige HTTP-Methoden, maximale Request-Größe ",[217,237,238],{},"[MAX_REQUEST_KB]"," und Backend-Timeout ",[217,241,242],{},"[BACKEND_TIMEOUT_SECONDS]",[195,244,245,248],{},[210,246,247],{},"Azure-\u002FNetzwerkteam",[210,249,250,251,254,255],{},"Region, dediziertes Gateway-Subnetz ",[217,252,253],{},"[APPGW_SUBNET_CIDR]",", statische Standard Public IPv4 und öffentlicher DNS-Name ",[217,256,257],{},"[PUBLIC_FQDN]",[195,259,260,262],{},[210,261,247],{},[210,263,264,265,268],{},"Serverzertifikat ",[217,266,267],{},"[FRONTEND_CERTIFICATE_PFX]"," für den öffentlichen DNS-Namen, einschließlich privatem Schlüssel und vollständiger Kette",[195,270,271,274],{},[210,272,273],{},"SAP Basis",[210,275,276,277,280,281,284,285],{},"Privater DNS-Name ",[217,278,279],{},"[WD_PRIVATE_FQDN]",", HTTPS-Port ",[217,282,283],{},"[WD_HTTPS_PORT]"," und bei privater CA deren Root-Zertifikat ",[217,286,287],{},"[BACKEND_CA_CER]",[195,289,290,293],{},[210,291,292],{},"SAP Security",[210,294,295],{},"Vereinbartes SAP-Anmeldeverfahren; bei OAuth zusätzlich Token-Endpunkt und die dafür benötigte Freigabe",[143,297,298],{},"Das Client-Zertifikat und sein privater Schlüssel bleiben auf der kontori-Seite. Für das Azure-mTLS-Profil wird ausschließlich die CA-Kette übergeben. Zertifikate für den öffentlichen Listener, für den Web Dispatcher und für den kontori-Client haben unterschiedliche Aufgaben.",[138,300,302],{"id":301},"_1-gateway-und-waf-policy-vorbereiten","1. Gateway und WAF-Policy vorbereiten",[304,305,306,318,325,332,357],"ol",{},[307,308,309,310,313,314,317],"li",{},"Stelle ein ",[147,311,312],{},"Application Gateway"," mit ",[147,315,316],{},"Tier\u002FSKU: WAF_v2"," bereit. Auch bei einem vorhandenen Gateway bekommt diese Integration einen eigenen Listener, eigene Backend-Einstellungen und eine eigene WAF-Policy.",[307,319,320,321,324],{},"Verwende ein dediziertes Application-Gateway-Subnetz. Im Runbook ist ",[217,322,323],{},"\u002F24"," für Autoscaling und Wartung empfohlen; andere Ressourcentypen gehören nicht in dieses Subnetz.",[307,326,327,328,331],{},"Konfiguriere Zone Redundancy und Autoscaling mit mindestens ",[147,329,330],{},"2"," Instanzen und dem abgestimmten Maximum.",[307,333,334,335,313,338,341,342,345,346,349,350,352,353,356],{},"Lege die WAF-Policy ",[217,336,337],{},"waf-kontori-s4",[147,339,340],{},"DRS 2.2"," zunächst im ",[147,343,344],{},"Detection","-Modus an. Aktiviere ",[147,347,348],{},"Request body inspection"," und setze die Request-Grenze auf ",[217,351,238],{},". Sie muss auch ",[217,354,355],{},"$batch"," und die größte freigegebene Payload abdecken.",[307,358,359,360,363,364,367,368,371],{},"Aktiviere über ",[147,361,362],{},"Diagnostic settings"," die Kategorien ",[147,365,366],{},"ApplicationGatewayAccessLog"," und ",[147,369,370],{},"ApplicationGatewayFirewallLog",". Sende die Logs an den vereinbarten Log Analytics Workspace beziehungsweise das SIEM und bestätige den Empfang mit einer Testabfrage.",[143,373,374,375,381],{},"Die verwalteten Regeln dokumentiert Microsoft unter ",[152,376,380],{"href":377,"rel":378},"https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fweb-application-firewall\u002Fag\u002Fapplication-gateway-crs-rulegroups-rules",[379],"nofollow","DRS- und CRS-Regelgruppen",".",[383,384,387],"doc-callout",{"title":385,"tone":386},"Detection protokolliert, Prevention blockiert","warning",[143,388,389,390,392,393,396],{},"Im ",[147,391,344],{},"-Modus blockieren die WAF-Regeln keine Anfragen. Konfiguriert mTLS und die Allowlist-Regeln vor der Routing-Freigabe. Produktivverkehr wird erst nach der Abnahme im ",[147,394,395],{},"Prevention","-Modus zugelassen.",[138,398,400],{"id":399},"_2-dns-https-listener-und-mtls-einrichten","2. DNS, HTTPS-Listener und mTLS einrichten",[402,403,405],"h3",{"id":404},"öffentlicher-endpunkt","Öffentlicher Endpunkt",[304,407,408,415,425,443,453],{},[307,409,410,411,414],{},"Binde den kontori-Listener an eine ",[147,412,413],{},"statische Standard Public IPv4",". Konfiguriere für diesen Integrationsweg keinen öffentlichen IPv6-Zugang.",[307,416,417,418,420,421,424],{},"Richte für ",[217,419,257],{}," einen ",[147,422,423],{},"A-\u002FAlias-Record"," auf diese Adresse ein. Ein CNAME ist nur geeignet, wenn die Public-IP-Ressource einen eigenen DNS-Namen besitzt; er zeigt dann auf diesen Namen.",[307,426,427,428,431,432,435,436,439,440,442],{},"Lege unter ",[147,429,430],{},"Listeners → Add listener"," den HTTPS-Listener ",[217,433,434],{},"listener-kontori-s4-https"," auf Port ",[147,437,438],{},"443"," an. Ordne ihm den dedizierten Hostnamen ",[217,441,257],{}," zu.",[307,444,445,446,448,449,452],{},"Hinterlege ",[217,447,267],{}," als ",[147,450,451],{},"Frontend TLS certificate",". Die Zertifikatskette muss gültig sein und zum öffentlichen DNS-Namen passen.",[307,454,455,456,459],{},"Wähle eine TLS-Richtlinie mit ",[147,457,458],{},"TLS 1.2 oder höher",". TLS 1.0\u002F1.1 und schwache Cipher werden nicht zugelassen.",[143,461,462,463,466],{},"Platziert für diesen Listener keine zusätzliche CDN- oder Reverse-Proxy-Schicht vor dem Gateway. Die IP-Regel soll die tatsächliche kontori-Ausgangsadresse in ",[217,464,465],{},"RemoteAddr"," prüfen.",[402,468,470],{"id":469},"client-zertifikat-im-strict-modus-prüfen","Client-Zertifikat im Strict-Modus prüfen",[304,472,473,484,498,511,517],{},[307,474,475,476,479,480,483],{},"Öffne am Gateway ",[147,477,478],{},"SSL profiles → Add"," und lege ",[217,481,482],{},"kontori-s4-mtls"," an.",[307,485,486,487,490,491,494,495,381],{},"Wähle für ",[147,488,489],{},"Client Authentication"," den Modus ",[147,492,493],{},"Strict"," und deaktiviere ",[147,496,497],{},"Passthrough",[307,499,500,501,448,503,506,507,510],{},"Lade ",[217,502,223],{},[147,504,505],{},"Trusted Client CA Chain"," hoch. Die Datei enthält genau eine Kette mit genau einer Root-CA und allen benötigten Intermediate-CAs; sie ist höchstens ",[147,508,509],{},"25 KB"," groß. Client-Leaf-Zertifikat und privater Schlüssel werden hier nicht hochgeladen.",[307,512,513,514,381],{},"Verwende ausschließlich die dedizierte kontori-Client-CA-Kette und aktiviere ",[147,515,516],{},"Verify client certificate issuer DN",[307,518,519,520,442],{},"Ordne das SSL-Profil dem Listener ",[217,521,434],{},[167,523,527],{"alt":524,"src":525,"title":526},"Azure-Beispiel für ein SSL-Profil mit Upload der Client-CA-Kette, Aussteller-DN-Prüfung und Zuordnung des Profils am Listener.","\u002Fimages\u002Ffirewall-ip-mtls\u002Fmtls-profile.png","Client-CA-Kette und SSL-Profil zuordnen",[143,528,529,530,532],{},"Abbildung aus dem Referenz-Runbook: Links werden CA-Kette und Ausstellerprüfung eingerichtet, rechts wird das Profil am Listener aktiviert. Die ältere Ansicht zeigt noch keine Modusauswahl. Verwendet die oben genannten kontori-Namen und ",[147,531,493],{},"; die Bildwerte sind Beispiele.",[143,534,535,536,539,540,545],{},"Aktiviere die Zertifikats-Sperrprüfung ",[147,537,538],{},"OCSP",", wenn das Client-Zertifikat einen erreichbaren OCSP-Responder in seiner AIA-Erweiterung enthält. Das Azure-Team stellt dafür DNS und Netzwerkzugriff vom Gateway zum Responder sicher. Die Konfiguration erfolgt über die freigegebene Infrastrukturverwaltung, CLI oder PowerShell; im Azure Portal wird sie derzeit nicht angeboten. Fehlt OCSP, verlangt das Referenz-Runbook vor dem Produktivstart eine dokumentierte Security-Ausnahme. Die ",[152,541,544],{"href":542,"rel":543},"https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fapplication-gateway\u002Fmutual-authentication-overview",[379],"Microsoft-Anleitung zu mTLS und OCSP"," beschreibt die Optionen.",[143,547,548],{},"Für ein bereits angelegtes SSL-Profil lautet das PowerShell-Muster:",[550,551,556],"pre",{"className":552,"code":553,"language":554,"meta":555,"style":555},"language-powershell shiki shiki-themes github-light github-dark","$AppGw = Get-AzApplicationGateway -Name \"[APPGW_NAME]\" -ResourceGroupName \"[RESOURCE_GROUP]\"\n$Profile = Get-AzApplicationGatewaySslProfile -Name \"kontori-s4-mtls\" -ApplicationGateway $AppGw\nSet-AzApplicationGatewayClientAuthConfiguration -SslProfile $Profile -VerifyClientCertIssuerDN -VerifyClientRevocation OCSP\nSet-AzApplicationGateway -ApplicationGateway $AppGw\n","powershell","",[217,557,558,566,572,578],{"__ignoreMap":555},[559,560,563],"span",{"class":561,"line":562},"line",1,[559,564,565],{},"$AppGw = Get-AzApplicationGateway -Name \"[APPGW_NAME]\" -ResourceGroupName \"[RESOURCE_GROUP]\"\n",[559,567,569],{"class":561,"line":568},2,[559,570,571],{},"$Profile = Get-AzApplicationGatewaySslProfile -Name \"kontori-s4-mtls\" -ApplicationGateway $AppGw\n",[559,573,575],{"class":561,"line":574},3,[559,576,577],{},"Set-AzApplicationGatewayClientAuthConfiguration -SslProfile $Profile -VerifyClientCertIssuerDN -VerifyClientRevocation OCSP\n",[559,579,581],{"class":561,"line":580},4,[559,582,583],{},"Set-AzApplicationGateway -ApplicationGateway $AppGw\n",[402,585,587],{"id":586},"client-zertifikat-in-kontori-hinterlegen","Client-Zertifikat in kontori hinterlegen",[143,589,590,591,594,595,598,599,602],{},"Für den geschützten Endpunkt wird auf der kontori-Seite zusätzlich der Abschnitt ",[147,592,593],{},"Client Certificate"," der S\u002F4HANA-Verbindung befüllt. Unter ",[147,596,597],{},"Client certificate chain"," wird die PEM-Kette des kontori-Client-Zertifikats, unter ",[147,600,601],{},"Client certificate private key"," dessen zugehöriger Schlüssel hinterlegt. Diese Einrichtung erfolgt durch die zuständige kontori-Administration; der Schlüssel wird nicht an das Kundengateway weitergegeben.",[143,604,605,608],{},[147,606,607],{},"CA bundle"," dient einem anderen Zweck: Es ergänzt auf der kontori-Seite das Vertrauen zum Serverzertifikat des Endpunkts, falls dieses von einer privaten CA ausgestellt wurde. Bei einem öffentlich vertrauenswürdigen Serverzertifikat bleibt das Feld leer.",[138,610,612],{"id":611},"_3-privates-backend-und-firewall-anbinden","3. Privates Backend und Firewall anbinden",[402,614,616],{"id":615},"netzwerkfreigabe-zum-web-dispatcher","Netzwerkfreigabe zum Web Dispatcher",[143,618,619,620,623,624,627],{},"SAP Basis stellt den Web Dispatcher unter ",[217,621,622],{},"[WD_PRIVATE_FQDN]:[WD_HTTPS_PORT]"," bereit. Netzwerk und Firewall lassen auf diesem Port ausschließlich das ",[147,625,626],{},"Application-Gateway-Subnetz"," als Quelle zu. Der private DNS-Name muss vom Gateway auflösbar sein; der Netzwerkweg zum Backend muss funktionieren.",[143,629,630],{},"Web Administration und Admin Handler werden über diesen Integrationsendpunkt nicht veröffentlicht. Auch das SAP-System selbst erhält keinen direkten öffentlichen Zugang für diese Integration.",[402,632,634],{"id":633},"backend-pool-und-https-einstellungen","Backend-Pool und HTTPS-Einstellungen",[143,636,427,637,640,641,313,644,367,647,652,653,656,657,381],{},[147,638,639],{},"Backend pools"," den Pool ",[217,642,643],{},"pool-sap-web-dispatcher",[147,645,646],{},"Target type: FQDN",[147,648,649,650],{},"Target: ",[217,651,279],{}," an. Erstelle anschließend unter ",[147,654,655],{},"Backend settings"," die Einstellungen ",[217,658,659],{},"bhs-sap-web-dispatcher-https",[189,661,662,672],{},[192,663,664],{},[195,665,666,669],{},[198,667,668],{},"Einstellung",[198,670,671],{},"Wert",[205,673,674,687,697,707,718,728,736,744],{},[195,675,676,679],{},[210,677,678],{},"Backend protocol \u002F port",[210,680,681,684,685],{},[147,682,683],{},"HTTPS"," \u002F ",[217,686,283],{},[195,688,689,692],{},[210,690,691],{},"Cookie-based affinity",[210,693,694],{},[147,695,696],{},"Disabled",[195,698,699,702],{},[210,700,701],{},"Request timeout",[210,703,704,706],{},[217,705,242],{}," Sekunden",[195,708,709,712],{},[210,710,711],{},"TLS validation",[210,713,714,717],{},[147,715,716],{},"Complete validation",", Zertifikatskette\u002FAblauf und SNI prüfen",[195,719,720,723],{},[210,721,722],{},"SNI name",[210,724,725,727],{},[217,726,279],{},", passend zum Web-Dispatcher-Zertifikat",[195,729,730,733],{},[210,731,732],{},"Host header",[210,734,735],{},"Öffentlichen Original-Host beibehalten, keinen Host-Override setzen",[195,737,738,741],{},[210,739,740],{},"Private CA",[210,742,743],{},"Bei privater Backend-CA deren Root-Zertifikat als CER hinterlegen",[195,745,746,749],{},[210,747,748],{},"Custom probe",[210,750,751,754],{},[217,752,753],{},"probe-kontori-s4"," zuordnen",[167,756,760],{"alt":757,"src":758,"title":759},"Azure-Backend-Einstellungen mit HTTPS, Backend-Port und Complete validation für die Serverzertifikatsprüfung.","\u002Fimages\u002Ffirewall-ip-mtls\u002Fbackend-settings.png","HTTPS und Backend-Zertifikat prüfen",[143,761,762,763,367,765,767,768,770,771,774],{},"Die Referenzabbildung zeigt ",[147,764,683],{},[147,766,716],{},". Name und Port werden durch eure Werte ersetzt. Bei einer privaten Backend-CA wird ",[147,769,740],{}," statt der im Beispiel gewählten ",[147,772,773],{},"Public CA"," verwendet. SNI und Host-Header werden nach der Tabelle eingerichtet.",[143,776,777,778,783],{},"Das Gateway verwendet zum Web Dispatcher HTTPS mit Serverzertifikatsprüfung. Das kontori-Client-Zertifikat wird am öffentlichen Listener geprüft; die SAP-Anmeldung bleibt zusätzlich aktiv. Die ",[152,779,782],{"href":780,"rel":781},"https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fapplication-gateway\u002Fconfiguration-http-settings",[379],"Microsoft-Dokumentation zu Backend-Einstellungen"," erläutert TLS-Prüfung und SNI.",[402,785,787],{"id":786},"health-probe-vorbereiten","Health Probe vorbereiten",[143,789,790,791,794],{},"SAP Basis aktiviert und testet intern den Ping-Pfad ",[217,792,793],{},"\u002Fsap\u002Fpublic\u002Ficman\u002Fping",". Er wird nur vom Gateway zum privaten Backend aufgerufen und gehört nicht in die öffentliche API-Allowlist.",[189,796,797,805],{},[192,798,799],{},[195,800,801,803],{},[198,802,668],{},[198,804,671],{},[205,806,807,816,825,834,844,853,863,873],{},[195,808,809,812],{},[210,810,811],{},"Name",[210,813,814],{},[217,815,753],{},[195,817,818,821],{},[210,819,820],{},"Protocol",[210,822,823],{},[147,824,683],{},[195,826,827,830],{},[210,828,829],{},"Host \u002F SNI",[210,831,832],{},[217,833,279],{},[195,835,836,839],{},[210,837,838],{},"Port",[210,840,841,842],{},"Aus den Backend-Einstellungen \u002F ",[217,843,283],{},[195,845,846,849],{},[210,847,848],{},"Path",[210,850,851],{},[217,852,793],{},[195,854,855,858],{},[210,856,857],{},"Interval \u002F Timeout",[210,859,860],{},[147,861,862],{},"30 s \u002F 30 s",[195,864,865,868],{},[210,866,867],{},"Unhealthy threshold",[210,869,870],{},[147,871,872],{},"3",[195,874,875,878],{},[210,876,877],{},"Healthy status",[210,879,880],{},[147,881,882],{},"200–399",[143,884,885],{},"Die Probe wird den Backend-Einstellungen zugeordnet. Ihre regelmäßige Prüfung wird mit der vollständigen Routing-Zuordnung im fünften Schritt wirksam.",[138,887,889],{"id":888},"_4-ip-api-und-methoden-allowlist-konfigurieren","4. IP-, API- und Methoden-Allowlist konfigurieren",[143,891,892,893,895,896,899,900,903],{},"Lege in ",[217,894,337],{}," unter ",[147,897,898],{},"Custom rules → Add custom rule"," drei getrennte Regeln an. Jede Regel ist eine ",[147,901,902],{},"Match rule",", hat eine eigene Priorität und blockiert mit einer negierten Bedingung alles außerhalb der jeweiligen Freigabe.",[402,905,907],{"id":906},"feste-kontori-ip","Feste kontori-IP",[189,909,910,919],{},[192,911,912],{},[195,913,914,917],{},[198,915,916],{},"Feld",[198,918,671],{},[205,920,921,934,943,953,962,972],{},[195,922,923,926],{},[210,924,925],{},"Name \u002F Priority",[210,927,928,684,931],{},[217,929,930],{},"Block-Non-kontori-IP",[147,932,933],{},"10",[195,935,936,939],{},[210,937,938],{},"Match variable",[210,940,941],{},[217,942,465],{},[195,944,945,948],{},[210,946,947],{},"Operator",[210,949,950],{},[217,951,952],{},"IPMatch",[195,954,955,958],{},[210,956,957],{},"Match value",[210,959,960],{},[217,961,219],{},[195,963,964,967],{},[210,965,966],{},"Negate condition",[210,968,969],{},[147,970,971],{},"Yes",[195,973,974,977],{},[210,975,976],{},"Action",[210,978,979],{},[147,980,981],{},"Block",[143,983,984,985,987,988,991,992,313,994,996],{},"Damit werden Anfragen anderer Quelladressen blockiert, sobald ",[147,986,395],{}," aktiv ist. Eine einzelne IPv4 wird mit ",[217,989,990],{},"\u002F32"," eingetragen. Für ",[217,993,952],{},[217,995,465],{}," beschreibt Microsoft nur IPv4-Unterstützung; deshalb bleibt dieser Integrationsweg ausschließlich über IPv4 erreichbar.",[402,998,1000],{"id":999},"freigegebene-api-pfade","Freigegebene API-Pfade",[189,1002,1003,1011],{},[192,1004,1005],{},[195,1006,1007,1009],{},[198,1008,916],{},[198,1010,671],{},[205,1012,1013,1025,1034,1043,1057,1065,1075],{},[195,1014,1015,1017],{},[210,1016,925],{},[210,1018,1019,684,1022],{},[217,1020,1021],{},"Block-Non-Allowed-SAP-Paths",[147,1023,1024],{},"20",[195,1026,1027,1029],{},[210,1028,938],{},[210,1030,1031],{},[217,1032,1033],{},"RequestUri",[195,1035,1036,1038],{},[210,1037,947],{},[210,1039,1040],{},[217,1041,1042],{},"BeginsWith",[195,1044,1045,1048],{},[210,1046,1047],{},"Match values",[210,1049,1050,1052,1053,1056],{},[217,1051,234],{},", ",[217,1054,1055],{},"[API_PREFIX_2\u002F]",", …",[195,1058,1059,1061],{},[210,1060,966],{},[210,1062,1063],{},[147,1064,971],{},[195,1066,1067,1070],{},[210,1068,1069],{},"Transform",[210,1071,1072],{},[217,1073,1074],{},"UrlDecode",[195,1076,1077,1079],{},[210,1078,976],{},[210,1080,1081],{},[147,1082,981],{},[143,1084,1085,1086,1088,1089,1093],{},"Übernehmt die vollständigen, kanonischen Service-Präfixe mit abschließendem ",[217,1087,5],{}," aus der abgestimmten API-Liste. Mehrere Match Values innerhalb dieser Bedingung sind Alternativen. Die Liste richtet sich nach den auf der ",[152,1090,1092],{"href":1091},"\u002Feinrichtung\u002Fsap-s4hana#sap-dienste-und-berechtigungen","SAP-Seite beschriebenen Datenbereichen"," und den tatsächlich verwendeten Service-Adressen.",[143,1095,1096],{},"Beispiele für einzelne Dienste, keine pauschale Freigabeliste:",[550,1098,1103],{"className":1099,"code":1101,"language":1102,"meta":555},[1100],"language-text","\u002Fsap\u002Fopu\u002Fodata\u002Fsap\u002FAPI_BUSINESS_PARTNER\u002F\n\u002Fsap\u002Fopu\u002Fodata4\u002Fsap\u002Fapi_product\u002Fsrvd_a2x\u002Fsap\u002Fproduct\u002F0002\u002F\n\u002Fsap\u002Fopu\u002Fodata4\u002Fsap\u002Fapi_cost_center\u002Fsrvd_a2x\u002Fsap\u002Fcostcenter\u002F0001\u002F\n","text",[217,1104,1101],{"__ignoreMap":555},[143,1106,1107,1108,1111,1112,1115],{},"Gebt weder ",[217,1109,1110],{},"\u002Fsap\u002F*"," noch ",[217,1113,1114],{},"\u002Fsap\u002Fopu\u002Fodata\u002F*"," allgemein frei. Der Probe-Pfad bleibt privat. Ein OAuth-Token-Endpunkt bekommt nur dann eine eigene, eng begrenzte Freigabe, wenn kontori ihn über denselben öffentlichen Host aufruft; ein separater Identity Provider wird unabhängig behandelt.",[402,1117,1119],{"id":1118},"zulässige-http-methoden","Zulässige HTTP-Methoden",[189,1121,1122,1130],{},[192,1123,1124],{},[195,1125,1126,1128],{},[198,1127,916],{},[198,1129,671],{},[205,1131,1132,1144,1153,1162,1169,1177],{},[195,1133,1134,1136],{},[210,1135,925],{},[210,1137,1138,684,1141],{},[217,1139,1140],{},"Block-Non-Allowed-Methods",[147,1142,1143],{},"30",[195,1145,1146,1148],{},[210,1147,938],{},[210,1149,1150],{},[217,1151,1152],{},"RequestMethod",[195,1154,1155,1157],{},[210,1156,947],{},[210,1158,1159],{},[217,1160,1161],{},"Equal",[195,1163,1164,1166],{},[210,1165,1047],{},[210,1167,1168],{},"Die von kontori vorgegebenen Methoden, jeweils als eigener Wert",[195,1170,1171,1173],{},[210,1172,966],{},[210,1174,1175],{},[147,1176,971],{},[195,1178,1179,1181],{},[210,1180,976],{},[210,1182,1183],{},[147,1184,981],{},[143,1186,1187,1188,1190],{},"Stimmt die Methoden mit dem tatsächlichen Datenumfang ab. Auch ",[217,1189,355],{},", Metadatenabrufe und vereinbarte Schreiboperationen müssen berücksichtigt werden.",[143,1192,1193,1194,1197,1198,1203],{},"Verwendet für diese Freigaben keine Custom Rule mit ",[147,1195,1196],{},"Action: Allow",": Sie kann nachgelagerte WAF-Prüfungen überspringen. Die Regellogik und den Unterschied zwischen Detection und Prevention beschreibt Microsoft unter ",[152,1199,1202],{"href":1200,"rel":1201},"https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fweb-application-firewall\u002Fag\u002Fcustom-waf-rules-overview",[379],"WAF Custom Rules",". Ändert API-Liste und Methoden bei funktionalen Erweiterungen kontrolliert und versioniert.",[138,1205,1207],{"id":1206},"_5-routing-und-backend-health-prüfen","5. Routing und Backend Health prüfen",[143,1209,1210],{},"Lege die Request-Routing-Regel erst an, wenn HTTPS, das Strict-mTLS-Profil und die drei WAF-Regeln vorbereitet sind.",[189,1212,1213,1222],{},[192,1214,1215],{},[195,1216,1217,1220],{},[198,1218,1219],{},"Zuordnung",[198,1221,671],{},[205,1223,1224,1238,1248,1257,1266,1277],{},[195,1225,1226,1229],{},[210,1227,1228],{},"Rule name \u002F Priority",[210,1230,1231,684,1234,1237],{},[217,1232,1233],{},"rr-kontori-s4",[147,1235,1236],{},"100",", sofern am Gateway verfügbar; sonst eine freie Routing-Priorität festlegen",[195,1239,1240,1243],{},[210,1241,1242],{},"Rule type",[210,1244,1245],{},[147,1246,1247],{},"Basic",[195,1249,1250,1253],{},[210,1251,1252],{},"Listener",[210,1254,1255],{},[217,1256,434],{},[195,1258,1259,1262],{},[210,1260,1261],{},"Backend pool",[210,1263,1264],{},[217,1265,643],{},[195,1267,1268,1270],{},[210,1269,655],{},[210,1271,1272,1274,1275],{},[217,1273,659],{}," einschließlich ",[217,1276,753],{},[195,1278,1279,1282],{},[210,1280,1281],{},"WAF association",[210,1283,1284,1286,1287,1290],{},[217,1285,337],{}," direkt am kontori-Listener (",[147,1288,1289],{},"per-site",")",[143,1292,1293],{},"Bei einem gemeinsam genutzten Gateway überschreibt die Listener-Policy für diesen Listener die globale Policy. Prüft deshalb, dass alle für kontori erforderlichen Regeln in seiner Policy enthalten sind. Andere Listener behalten ihre Konfiguration.",[143,1295,1296,1297,1300,1301,1304],{},"Unter ",[147,1298,1299],{},"Backend health"," muss der Web Dispatcher ",[147,1302,1303],{},"Healthy"," melden. Prüft andernfalls zuerst private DNS-Auflösung, Firewall, HTTPS-Port, Zertifikatskette, SNI und den Probe-Pfad. Ein gesunder Probe-Status bestätigt die Backend-Erreichbarkeit; SAP-Anmeldung und API-Berechtigungen werden zusätzlich geprüft.",[138,1306,1308],{"id":1307},"abnahme-vor-dem-produktivbetrieb","Abnahme vor dem Produktivbetrieb",[143,1310,389,1311,1313,1314,1316],{},[147,1312,344],{},"-Modus wird zunächst geprüft, ob die geplanten WAF-Regeln in den Logs treffen und der vereinbarte API-Verkehr funktioniert. Danach wird die Policy auf ",[147,1315,395],{}," umgestellt und die Blockwirkung anhand der folgenden Fälle bestätigt.",[189,1318,1319,1329],{},[192,1320,1321],{},[195,1322,1323,1326],{},[198,1324,1325],{},"Testfall",[198,1327,1328],{},"Erwartetes Ergebnis",[205,1330,1331,1339,1347,1355,1366,1376,1384,1392],{},[195,1332,1333,1336],{},[210,1334,1335],{},"DNS und Server-TLS",[210,1337,1338],{},"Öffentlicher Name zeigt auf die Gateway-IP; gültiges Serverzertifikat für diesen Namen",[195,1340,1341,1344],{},[210,1342,1343],{},"Ohne Client-Zertifikat, mit unbekanntem oder abgelaufenem Zertifikat",[210,1345,1346],{},"Anfrage wird am Gateway abgewiesen und erreicht SAP nicht",[195,1348,1349,1352],{},[210,1350,1351],{},"Widerrufenes Client-Zertifikat bei aktiviertem OCSP",[210,1353,1354],{},"Anfrage wird abgewiesen; Sperrprüfung ist im Access Log nachvollziehbar",[195,1356,1357,1360],{},[210,1358,1359],{},"Gültiges Client-Zertifikat, andere Quell-IP",[210,1361,1362,1365],{},[147,1363,1364],{},"HTTP 403"," durch die IP-Regel im Prevention-Modus",[195,1367,1368,1371],{},[210,1369,1370],{},"Richtige IP und Zertifikat, nicht erlaubter Pfad oder nicht erlaubte Methode",[210,1372,1373,1375],{},[147,1374,1364],{},", keine Weiterleitung an SAP",[195,1377,1378,1381],{},[210,1379,1380],{},"Ähnlicher Präfix und URL-kodierte Pfadvarianten außerhalb der Freigabe",[210,1382,1383],{},"Werden ebenfalls blockiert; kein Treffer im Web-Dispatcher-Access-Log",[195,1385,1386,1389],{},[210,1387,1388],{},"Richtige IP, Zertifikat, API und Methode; ungültiger SAP-Zugang",[210,1390,1391],{},"Ablehnung durch die SAP-Authentifizierung",[195,1393,1394,1397],{},[210,1395,1396],{},"Vollständig zulässiger Zugriff",[210,1398,1399],{},"Vereinbarter Lesezugriff erfolgreich; Schreibtest nur für freigegebene Operationen mit geeigneten Testdaten",[143,1401,1402,1403,1405],{},"Prüft bei jedem Fall die Gateway- und WAF-Logs sowie bei zulässiger Weiterleitung die SAP-Protokolle. Haltet den getesteten API-Umfang und das Ergebnis fest. Erst nach erfolgreicher Abnahme bleibt ",[147,1404,395],{}," für den Produktivverkehr aktiv.",[138,1407,1409],{"id":1408},"betrieb-und-änderungen","Betrieb und Änderungen",[143,1411,1412],{},"Hinterlegt Verantwortliche und Ablaufdaten für Listener-, Backend- und Client-Zertifikate. Eine Erneuerung wird vor Ablauf einschließlich CA-Kette, Ausstellerprüfung und gegebenenfalls OCSP getestet. Private Schlüssel verbleiben beim jeweiligen Betreiber.",[143,1414,1415,1416,1418],{},"Bei einer Änderung der kontori-Ausgangs-IP wird die ",[217,1417,990],{},"-Freigabe abgestimmt aktualisiert. Werden neue Datenbereiche oder Rückschreiboperationen aktiviert, prüfen kontori, SAP Basis und das Netzwerkteam gemeinsam SAP-Rollen, API-Präfixe, Methoden, Request-Grenzen und Timeouts.",[143,1420,1421,1422,1424,1425,1429],{},"Bei Fehlern helfen die beteiligten Schichten bei der Eingrenzung: TLS-\u002FClient-Zertifikatsfehler am Listener, IP-\u002FPfad-\u002FMethodenblock im WAF-Log, Backend-Verbindungsfehler unter ",[147,1423,1299],{}," und SAP-Berechtigungsfehler in SAP. Anschließend wird die ",[152,1426,1428],{"href":1427},"\u002Feinrichtung\u002Fsap-s4hana#erste-synchronisierung-abnehmen","erste Synchronisierung in kontori"," geprüft.",[1431,1432,1433],"style",{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":555,"searchDepth":574,"depth":574,"links":1435},[1436,1437,1438,1439,1440,1445,1450,1455,1456,1457],{"id":140,"depth":568,"text":141},{"id":161,"depth":568,"text":162},{"id":183,"depth":568,"text":184},{"id":301,"depth":568,"text":302},{"id":399,"depth":568,"text":400,"children":1441},[1442,1443,1444],{"id":404,"depth":574,"text":405},{"id":469,"depth":574,"text":470},{"id":586,"depth":574,"text":587},{"id":611,"depth":568,"text":612,"children":1446},[1447,1448,1449],{"id":615,"depth":574,"text":616},{"id":633,"depth":574,"text":634},{"id":786,"depth":574,"text":787},{"id":888,"depth":568,"text":889,"children":1451},[1452,1453,1454],{"id":906,"depth":574,"text":907},{"id":999,"depth":574,"text":1000},{"id":1118,"depth":574,"text":1119},{"id":1206,"depth":568,"text":1207},{"id":1307,"depth":568,"text":1308},{"id":1408,"depth":568,"text":1409},"md",{},true,{"title":90,"description":91},"3.einrichtung\u002F8.firewall-ip-mtls","RM9FDefmczpWnz85O67J_jLXD_OC2GgK8NZUuRxjzXs",1791306379289]