{
    "id": "SAPLogServ",
    "title": "SAP LogServ (RISE), S/4HANA Cloud private edition",
    "publisher": "SAP SE",
    "logo": "SapLogo.svg",
    "descriptionMarkdown": "SAP LogServ is an SAP Enterprise Cloud Services (ECS) service aimed at collection, storage, forwarding and access of logs. LogServ centralizes the logs from all systems, applications, and ECS services used by a registered customer. <br> Main Features include:<br>Near Realtime Log Collection: With ability to integrate into Microsoft Sentinel as SIEM solution.<br>LogServ complements the existing SAP application layer threat monitoring and detections in Microsoft Sentinel with the log types owned by SAP ECS as the system provider. This includes logs like: SAP Security Audit Log (AS ABAP), HANA database, AS JAVA, ICM, SAP Web Dispatcher, SAP Cloud Connector, OS, SAP Gateway, 3rd party Database, Network, DNS, Proxy, Firewall<br><br>**ASIM-Enabled Routing:** Standard log formats (Linux/Syslog, Windows OS, DNS, network, web access) are automatically routed to dedicated Microsoft ASIM-normalized tables via DCR data flow branching, enabling reuse of existing detections and partner analytics. SAP Security Audit Log (AS ABAP) is routed to the Microsoft standard **ABAPAuditLog** table. SAP-specific logs remain in the SAPLogServ_CL custom table.",
    "graphQueriesTableName": "SAPLogServ_CL",
    "graphQueries": [
        {
            "metricName": "Total SAP events received",
            "legend": "SAPLogServ_CL",
            "baseQuery": "{{graphQueriesTableName}} | project TimeGenerated"
        }
    ],
    "sampleQueries": [
        {
            "description": "Get Sample Events",
            "query": "{{graphQueriesTableName}}\n | take 10"
        }
    ],
    "dataTypes": [
        {
            "name": "{{graphQueriesTableName}}",
            "lastDataReceivedQuery": "{{graphQueriesTableName}}\n | where TimeGenerated > ago(12h) | summarize Time = max(TimeGenerated)\n | where isnotempty(Time)"
        }
    ],
    "connectivityCriteria": [
        {
            "type": "HasDataConnectors"
        }
    ],
    "availability": {
        "isPreview": false
    },
    "permissions": {
        "resourceProvider": [
            {
                "provider": "Microsoft.OperationalInsights/workspaces",
                "permissionsDisplayText": "Read and Write permissions are required.",
                "providerDisplayName": "Workspace",
                "scope": "Workspace",
                "requiredPermissions": {
                    "write": true,
                    "read": true,
                    "delete": true
                }
            },
            {
                "provider": "Microsoft.OperationalInsights/workspaces/sharedKeys",
                "permissionsDisplayText": "Read permissions to shared keys for the workspace are required. [See the documentation to learn more about workspace keys](https://docs.microsoft.com/azure/azure-monitor/platform/agent-windows#obtain-workspace-id-and-key)",
                "providerDisplayName": "Keys",
                "scope": "Workspace",
                "requiredPermissions": {
                    "action": true
                }
            }
        ],
        "customs": [
            {
                "name": "Microsoft Entra",
                "description": "Permission to create an app registration in Microsoft Entra ID. Typically requires Entra ID Application Developer role or higher."
            },
            {
                "name": "Microsoft Azure",
                "description": "Permission to assign Monitoring Metrics Publisher role on data collection rules. Typically requires Azure RBAC Owner or User Access Administrator role."
            }
        ]
    },
    "instructionSteps": [
        {
            "title": "1. Create ARM Resources and Provide the Required Permissions",
            "description": "We will create data collection rule (DCR) and data collection endpoint (DCE) resources. We will also create a Microsoft Entra app registration and assign the required permissions to it.",
            "instructions": [
                {
                    "type": "Markdown",
                    "parameters": {
                        "content": "#### Automated deployment of Azure resources\nClicking on \"Deploy push connector resources\" will trigger the creation of DCR and DCE resources.\nIt will then create a Microsoft Entra app registration with client secret and grant permissions on the DCR. This setup enables data to be sent securely to the DCR using a OAuth v2 client credentials."
                    }
                },
                {
                    "parameters": {
                        "label": "Deploy push connector resources",
                        "applicationDisplayName": "SAP LogServ push to Microsoft Sentinel"
                    },
                    "type": "DeployPushConnectorButton_test"
                }
            ]
        },
        {
            "title": "2. Maintain the data collection endpoint details and authentication info in SAP LogServ",
            "description": "Share the data collection endpoint URL and authentication info with the SAP LogServ administrator to configure the SAP LogServ to send data to the data collection endpoint.\n\nLearn more from [this blog series](https://community.sap.com/t5/enterprise-resource-planning-blog-posts-by-members/ultimate-blog-series-sap-logserv-integration-with-microsoft-sentinel/ba-p/14126401).",
            "instructions": [
                {
                    "parameters": {
                        "label": "Use this value to configure as Tenant ID in the LogIngestionAPI credential.",
                        "fillWith": [
                            "TenantId"
                        ]
                    },
                    "type": "CopyableLabel"
                },
                {
                    "parameters": {
                        "label": "Entra Application ID",
                        "fillWith": [
                            "ApplicationId"
                        ],
                        "placeholder": "Deploy push connector to get the Application ID"
                    },
                    "type": "CopyableLabel"
                },
                {
                    "parameters": {
                        "label": "Entra Application Secret",
                        "fillWith": [
                            "ApplicationSecret"
                        ],
                        "placeholder": "Deploy push connector to get the Application Secret"
                    },
                    "type": "CopyableLabel"
                },
                {
                    "parameters": {
                        "label": "Use this value to configure the LogsIngestionURL parameter when deploying the IFlow.",
                        "fillWith": [
                            "DataCollectionEndpoint"
                        ],
                        "placeholder": "Deploy push connector to get the DCE URI"
                    },
                    "type": "CopyableLabel"
                },
                {
                    "parameters": {
                        "label": "DCR Immutable ID",
                        "fillWith": [
                            "DataCollectionRuleId"
                        ],
                        "placeholder": "Deploy push connector to get the DCR ID"
                    },
                    "type": "CopyableLabel"
                }
            ]
        }
    ],
    "metadata": {
        "id": "SAPLogServ",
        "version": "3.1.0",
        "kind": "dataConnector",
        "source": {
            "kind": "solution",
            "name": "SAP LogServ for Microsoft Sentinel"
        },
        "author": {
            "name": "SAP SE",
            "email": "support@sap.com"
        },
        "support": {
            "tier": "Partner",
            "name": "SAP SE",
            "email": "support@sap.com",
            "link": "https://me.sap.com/"
        }
    }
}