Updates from: 10/29/2024 02:05:42
Service Microsoft Docs article Related commit history on GitHub Change details
active-directory-b2c Identity Provider Ping One https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory-b2c/identity-provider-ping-one.md
zone_pivot_groups: b2c-policy-type
## Create a PingOne application
-To enable sign-in for users with a PingOne (Ping Identity) account in Azure Active Directory B2C (Azure AD B2C), you need to create an application in the Ping Identity Administrator Console. For more information, see [Adding or updating an OIDC application](https://docs.pingidentity.com/access/sources/dita/topic?resourceid=p14e_add_update_oidc_application) in the Ping Identity documentation. If you don't already have a PingOne account, you can sign up at [`https://admin.pingone.com/web-portal/register`](https://admin.pingone.com/web-portal/register).
+To enable sign-in for users with a PingOne (Ping Identity) account in Azure Active Directory B2C (Azure AD B2C), you need to create an application in the Ping Identity Administrator Console. If you don't already have a PingOne account, you can sign up at [`https://admin.pingone.com/web-portal/register`](https://admin.pingone.com/web-portal/register).
1. Sign in to the Ping Identity Administrator Console with your PingOne account credentials. 1. In the left menu of the page, select **Connections**, then next to **Applications**, select **+**.
active-directory-b2c Partner Grit Authentication https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory-b2c/partner-grit-authentication.md
Biometric authentication has the following benefits:
To get started, you'll need: -- License to [Grit's Visual IEF builder](https://www.gritiefedit.com/). Contact [Grit support](mailto:info@gritsoftwaresystems.com) for licensing details. For this tutorial you don't need a license.
+- License to [Grit's Visual IEF builder](/azure/active-directory-b2c/partner-grit-editor). Contact [Grit support](mailto:info@gritsoftwaresystems.com) for licensing details. For this tutorial you don't need a license.
- An Azure subscription. If you don't have one, get a [free account](https://azure.microsoft.com/free/).
Contact [Grit support](mailto:info@gritsoftwaresystems.com) for details to get o
### Configure Grit's biometric authentication with Azure AD B2C
-1. Navigate to <https://www.gritiefedit.com> and enter your email if you're asked for it.
+1. Navigate to </azure/active-directory-b2c/partner-grit-editor> and enter your email if you're asked for it.
1. Press cancel in the quick start wizard.
active-directory-b2c Partner Grit Editor https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory-b2c/partner-grit-editor.md
To get started with the IEF Editor, ensure the following prerequisites are met:
- A Microsoft Entra subscription. If you don't have one, you can get an [Azure free account](https://azure.microsoft.com/free/). - An Azure AD B2C tenant linked to the Azure subscription. Learn more at [Tutorial: Create an Azure Active Directory B2C tenant](tutorial-create-tenant.md).-- [Visual IEF Editor](https://www.gritiefedit.com) is free and works only with Google Chrome browser.
+- [Visual IEF Editor](/azure/active-directory-b2c/partner-grit-editor) is free and works only with Google Chrome browser.
- Review and download policies from [Azure AD B2C customer policies starter pack](https://github.com/Azure-Samples/active-directory-b2c-custom-policy-starterpack) - Install Google Chrome browser
The following illustration shows a sample code-development workflow from XML fil
| Step | Description | |:--|:|
-| 1. | Go to https://www.gritiefedit.com and upload the policies from [Azure AD B2C customer policies starter pack](https://github.com/Azure-Samples/active-directory-b2c-custom-policy-starterpack) using the upload policy button in the user interface.|
+| 1. | Go to /azure/active-directory-b2c/partner-grit-editor and upload the policies from [Azure AD B2C customer policies starter pack](https://github.com/Azure-Samples/active-directory-b2c-custom-policy-starterpack) using the upload policy button in the user interface.|
| 2. | Using the Visual IEF editor tool, select and edit any user journey and self asserted profile that needs update/modification.| |3. | Once the files are updated, select the download button. All the policies will be downloaded to the local machine.| |4. | Check in the files in GitHub or CI/CD pipeline. |
active-directory-b2c Partner Ping Identity https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory-b2c/partner-ping-identity.md
Use the instructions in the following sections to configure PingAccess and PingF
To configure PingFederate as the token provider for PingAccess, ensure connectivity from PingFederate to PingAccess. Confirm connectivity from PingAccess to PingFederate.
-For more information, see [Configure PingFederate as the token provider for PingAccess](https://docs.pingidentity.com/access/sources/dita/topic?category=pingaccess&Releasestatus_ce=Current&resourceid=pa_configure_pf_as_the_token_provider_for_pa) in the Ping Identity documentation.
- ### Configure a PingAccess application for header-based authentication Use the following instructions to create a PingAccess application for the target web application, for header-based authentication.
Use the following instructions to create a PingAccess application for the target
#### Create a virtual host >[!IMPORTANT]
->Create a virtual host for every application. For more information, see [What can I configure with PingAccess?](https://docs.pingidentity.com/access/sources/dita/topic?category=pingaccess&Releasestatus_ce=Current&resourceid=pa_what_can_I_configure_with_pa) in the Ping Identity documentation.
+>Create a virtual host for every application.
To create a virtual host:
app-service Routine Maintenance https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/routine-maintenance.md
Maintenance operations upgrade machines iteratively while App Service monitors t
### Are business hours reflected?
-Maintenance operations are optimized to start outside the standard business hours of 9 AM to 5 PM. Statistically, that's the best time for any interruptions and restarts of workloads because there's less stress on the system (in customer applications and transitively on the platform itself). For App Service plans and App Service Environment v2, maintenance can continue into business hours during longer maintenance events.
+Yes, business hours are reflected for the time zone of the region. Maintenance operations are optimized to start outside the standard business hours of 9 AM to 5 PM. Statistically, that's the best time for any interruptions and restarts of workloads because there's less stress on the system (in customer applications and transitively on the platform itself). If resources are still upgrading by 9 AM in a given region, the upgrade will safely pause before the next critical step and until the end of business hours.
### What are my options to control routine maintenance?
application-gateway Custom Health Probe https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/application-gateway/for-containers/custom-health-probe.md
Previously updated : 9/16/2024 Last updated : 10/28/2024
The following properties make up custom health probes:
| (http) host | The hostname specified in the request to the backend target. | | (http) path | The specific path of the request. If a single file should be loaded, the path might be /https://docsupdatetracker.net/index.html. | | (http -> match) statusCodes | Contains two properties, `start` and `end`, that define the range of valid HTTP status codes returned from the backend. |
-| UseTLS | UseTLS indicates whether health check should enforce TLS. If not specified, health check uses the same protocol as the service if the same port is used for health check. If the port is different, health check is cleartext. |
+| useTLS | Specifies if the health check should enforce TLS. If not specified, health check uses the same protocol as the service if the same port is used for health check. If the port is different, health check is cleartext. |
[![A diagram showing the Application Gateway for Containers using custom health probes to determine backend health.](./media/custom-health-probe/custom-health-probe.png)](./media/custom-health-probe/custom-health-probe.png#lightbox)
When the default health probe is used, the following values for each health prob
| port | The port number used is defined by the backend port number in the Ingress resource or HttpRoute backend port in the HttpRoute resource. | | (http) host | localhost | | (http) path | / |
-| UseTLS | HTTP for HTTP and HTTPS when TLS is specified. |
+| useTLS | HTTP for HTTP and HTTPS when TLS is specified. |
<sup>1</sup> HTTPS is used when a backendTLSPolicy references a target backend service (for Gateway API implementation) or IngressExtension with a backendSetting protocol of HTTPS (for Ingress API implementation) is specified.
spec:
statusCodes: - start: 200 end: 299
- UseTLS: true
+ useTLS: true
EOF ```
application-gateway Migrate From Agic To Agc https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/application-gateway/for-containers/migrate-from-agic-to-agc.md
Previously updated : 9/16/2024 Last updated : 10/28/2024
Here's a summarized list of AGIC annotations and whether Application Gateway for
| [Private frontend](migrate-from-agic-to-agc.md#private-frontend) | appgw.ingress.kubernetes.io/use-private-ip | Not supported | Not supported | | [WAF](migrate-from-agic-to-agc.md#waf) | appgw.ingress.kubernetes.io/waf-policy-for-path | Not supported | Not supported | | [Custom health probe](migrate-from-agic-to-agc.md#custom-health-probes) | appgw.ingress.kubernetes.io/health-probe-hostname | [HealthCheckPolicy](migrate-from-agic-to-agc.md#healthcheckpolicy) | [HealthCheckPolicy](migrate-from-agic-to-agc.md#healthcheckpolicy) |
-| [Custom health probe](migrate-from-agic-to-agc.md#custom-health-probes) | appgw.ingress.kubernetes.io/health-probe-port | Not supported | Not supported |
+| [Custom health probe](migrate-from-agic-to-agc.md#custom-health-probes) | appgw.ingress.kubernetes.io/health-probe-port | [HealthCheckPolicy](migrate-from-agic-to-agc.md#healthcheckpolicy) | [HealthCheckPolicy](migrate-from-agic-to-agc.md#healthcheckpolicy) |
| [Custom health probe](migrate-from-agic-to-agc.md#custom-health-probes) | appgw.ingress.kubernetes.io/health-probe-path | [HealthCheckPolicy](migrate-from-agic-to-agc.md#healthcheckpolicy) | [HealthCheckPolicy](migrate-from-agic-to-agc.md#healthcheckpolicy) | | [Custom health probe](migrate-from-agic-to-agc.md#custom-health-probes) | appgw.ingress.kubernetes.io/health-probe-status-codes | [HealthCheckPolicy](migrate-from-agic-to-agc.md#healthcheckpolicy) | [HealthCheckPolicy](migrate-from-agic-to-agc.md#healthcheckpolicy) | | [Custom health probe](migrate-from-agic-to-agc.md#custom-health-probes) | appgw.ingress.kubernetes.io/health-probe-interval | [HealthCheckPolicy](migrate-from-agic-to-agc.md#healthcheckpolicy) | [HealthCheckPolicy](migrate-from-agic-to-agc.md#healthcheckpolicy) |
application-gateway Parameter Based Path Selection Portal https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/application-gateway/parameter-based-path-selection-portal.md
Title: Route traffic using parameter based path selection in portal - Azure Application Gateway
-description: Learn how to use the Azure portal to configure an Azure Application Gateway to choose the backend pool based on the value of a header, part of URL, or query string in the request.
+ Title: Route traffic using parameter-based path selection in portal - Azure Application Gateway
+description: Use the Azure portal to configure an application gateway to choose the backend pool based on the value of a header, part of a URL, or a query string in the request.
Last updated 09/10/2024
-# Perform parameter based path selection with Azure Application Gateway - Azure portal
+# Perform parameter-based path selection with Azure Application Gateway - Azure portal
-This article describes how to use the Azure portal to configure an [Application Gateway v2 SKU](./application-gateway-autoscaling-zone-redundant.md) instance to perform parameter based path selection by combining the capabilities of URL Rewrite with path-based routing.
+This article describes how to use the Azure portal to configure an [Azure Application Gateway v2 SKU](./application-gateway-autoscaling-zone-redundant.md) instance to perform parameter-based path selection by combining the capabilities of URL Rewrite with path-based routing.
If you don't have an Azure subscription, create a [free account](https://azure.microsoft.com/free/?WT.mc_id=A261C142F) before you begin. ## Before you begin
-You need to have an Application Gateway v2 SKU instance to complete the steps in this article. URL rewrite and rewriting headers aren't supported in the v1 SKU. If you don't have the v2 SKU, create an [Application Gateway v2 SKU](./tutorial-autoscale-ps.md) instance before you begin.
-
+You need to have an Application Gateway v2 SKU instance to finish the steps in this article. URL Rewrite and rewriting headers aren't supported in the v1 SKU. If you don't have the v2 SKU, create an [Application Gateway v2 SKU](./tutorial-autoscale-ps.md) instance before you begin.
## Sign in to Azure Sign in to the [Azure portal](https://portal.azure.com/) with your Azure account.
-## Configure parameter based path selection
-
-For this example, you have a shopping website and the product category is passed as query string in the URL, and you want to route the request to backend based on the query string, then:
-
-**Step 1:** Create a path-map as shown in the following image:
+## Configure parameter-based path selection
+For this example, you have a shopping website. The product category is passed as a query string in the URL. To route the request to the backend based on the query string, follow these steps.
-**Step 2 (a):** Create a rewrite set which has 3 rewrite rules:
+1. Create a path map.
-* The first rule has a condition that checks the *query_string* variable for *category=shoes* and has an action that rewrites the URL path to /*listing1* and has **Reevaluate path map** enabled
+ :::image type="content" source="./media/rewrite-http-headers-url/url-scenario1-1.png" alt-text="Screenshot that shows a URL Rewrite scenario 1-1.":::
-* The second rule has a condition that checks the *query_string* variable for *category=bags* and has an action that rewrites the URL path to /*listing2* and has **Reevaluate path map** enabled
+1. Create a rewrite set that has three rewrite rules:
-* The third rule has a condition that checks the *query_string* variable for *category=accessories* and has an action that rewrites the URL path to /*listing3* and has **Reevaluate path map** enabled
+ * The first rule has a condition that checks the `query_string` variable for `category=shoes`. An action rewrites the URL path to `/listing1`. **Reevaluate path map** is enabled.
+ * The second rule has a condition that checks the `query_string` variable for `category=bags`. An action rewrites the URL path to `/listing2`. **Reevaluate path map** is enabled.
+ * The third rule has a condition that checks the `query_string` variable for `category=accessories`. An action rewrites the URL path to `/listing3`. **Reevaluate path map** is enabled.
- :::image type="content" source="./media/rewrite-http-headers-url/url-scenario1-2.png" alt-text="A screenshot of URL rewrite scenario 1-2.":::
+ :::image type="content" source="./media/rewrite-http-headers-url/url-scenario1-2.png" alt-text="Screenshot that shows the URL Rewrite scenario 1-2.":::
-
-**Step 2 (b):** Associate this rewrite set with the default path of the previous path-based rule:
+1. Associate this rewrite set with the default path of the previous path-based rule.
+ :::image type="content" source="./media/rewrite-http-headers-url/url-scenario1-3.png" alt-text="Screenshot that shows the URL rewrite scenario 1-3.":::
-If the user requests *contoso.com/listing?category=any*, then it's matched with the default path since none of the path patterns in the path map (/listing1, /listing2, /listing3) are matched. Since you associated the previous rewrite set with this path, this rewrite set is evaluated. Because the query string doesn't match the condition in any of the 3 rewrite rules in this rewrite set, no rewrite action takes place. Therefore, the request is routed unchanged to the backend associated with the default path (which is *GenericList*).
+If the user requests `contoso.com/listing?category=any`, it's matched with the default path because the path patterns in the path map (`/listing1`, /`listing2`, /`listing3`) don't match. Because you associated the previous rewrite set with this path, this rewrite set is evaluated. The query string doesn't match the condition in any of the three rewrite rules in this rewrite set, so no rewrite action takes place. The request is routed unchanged to the backend associated with the default path (which is `GenericList`).
-If the user requests *contoso.com/listing?category=shoes*, then the default path is matched. However, in this case, the condition in the first rule matches. Therefore, the action associated with the condition is executed, which rewrites the URL path to /*listing1* and reevaluates the path-map. When the path-map is reevaluated, the request matches the path associated with pattern */listing1* and the request is routed to the backend associated with this pattern (ShoesListBackendPool).
+If the user requests `contoso.com/listing?category=shoes`, the default path is matched. In this case, the condition in the first rule matches. The action associated with the condition is executed, which rewrites the URL path to `/listing1` and reevaluates the path map. When the path map is reevaluated, the request matches the path associated with the pattern `/listing1`. The request is routed to the backend associated with this pattern (`ShoesListBackendPool`).
> [!NOTE]
-> This scenario can be extended to any header or cookie value, URL path, query string or server variables based on the conditions defined and essentially enables you to route requests based on those conditions.
+> You can extend this scenario to any header or cookie value, URL path, query string, or server variables based on the conditions defined. You can then route requests based on those conditions.
-## Next steps
+## Related content
-To learn more about how to set up some common use cases, see [common header rewrite scenarios](./rewrite-http-headers-url.md).
+To learn more about how to set up some common use cases, see [Common header rewrite scenarios](./rewrite-http-headers-url.md).
application-gateway Rewrite Http Headers Portal https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/application-gateway/rewrite-http-headers-portal.md
Title: Rewrite HTTP request and response headers in portal - Azure Application Gateway
-description: Learn how to use the Azure portal to configure an Azure Application Gateway to rewrite the HTTP headers in the requests and responses passing through the gateway
+description: Use the Azure portal to configure an application gateway to rewrite the HTTP headers in the requests and responses that pass through the gateway.
Last updated 11/13/2019
+ # Rewrite HTTP request and response headers with Azure Application Gateway - Azure portal
-This article describes how to use the Azure portal to configure an [Application Gateway v2 SKU](./application-gateway-autoscaling-zone-redundant.md) instance to rewrite the HTTP headers in requests and responses.
+This article describes how to use the Azure portal to configure an [Azure Application Gateway v2 SKU](./application-gateway-autoscaling-zone-redundant.md) instance to rewrite the HTTP headers in requests and responses.
If you don't have an Azure subscription, create a [free account](https://azure.microsoft.com/free/?WT.mc_id=A261C142F) before you begin. ## Before you begin
-You need to have an Application Gateway v2 SKU instance to complete the steps in this article. Rewriting headers isn't supported in the v1 SKU. If you don't have the v2 SKU, create an [Application Gateway v2 SKU](./tutorial-autoscale-ps.md) instance before you begin.
+You need to have an Application Gateway v2 SKU instance to finish the steps in this article. Rewriting headers isn't supported in the v1 SKU. If you don't have the v2 SKU, create an [Application Gateway v2 SKU](./tutorial-autoscale-ps.md) instance before you begin.
## Create required objects
-To configure HTTP header rewrite, you need to complete these steps.
+To configure HTTP header rewrite, follow these steps.
-1. Create the objects that are required for HTTP header rewrite:
+1. Create the objects that are required for an HTTP header rewrite:
- **Rewrite action**: Used to specify the request and request header fields that you intend to rewrite and the new value for the headers. You can associate one or more rewrite conditions with a rewrite action.
+ - **Rewrite condition**: An optional configuration. Rewrite conditions evaluate the content of HTTP(S) requests and responses. The rewrite action occurs if the HTTP(S) request or response matches the rewrite condition.
- - **Rewrite condition**: An optional configuration. Rewrite conditions evaluate the content of HTTP(S) requests and responses. The rewrite action will occur if the HTTP(S) request or response matches the rewrite condition.
-
- If you associate more than one condition with an action, the action occurs only when all the conditions are met. In other words, the operation is a logical AND operation.
-
- - **Rewrite rule**: Contains multiple rewrite action / rewrite condition combinations.
-
- - **Rule sequence**: Helps determine the order in which the rewrite rules execute. This configuration is helpful when you have multiple rewrite rules in a rewrite set. A rewrite rule that has a lower rule sequence value runs first. If you assign the same rule sequence value to two rewrite rules, the order of execution is non-deterministic.
+ If you associate more than one condition with an action, the action occurs only when all the conditions are met. In other words, the operation is a logical `AND` operation.
+ - **Rewrite rule**: Contains multiple rewrite action/rewrite condition combinations.
+ - **Rule sequence**: Helps determine the order in which the rewrite rules execute. This configuration is helpful when you have multiple rewrite rules in a rewrite set. A rewrite rule that has a lower rule sequence value runs first. If you assign the same rule sequence value to two rewrite rules, the order of execution is nondeterministic.
- **Rewrite set**: Contains multiple rewrite rules that will be associated with a request routing rule.
-2. Attach the rewrite set to a routing rule. The rewrite configuration is attached to the source listener via the routing rule. When you use a basic routing rule, the header rewrite configuration is associated with a source listener and is a global header rewrite. When you use a path-based routing rule, the header rewrite configuration is defined on the URL path map. In that case, it applies only to the specific path area of a site.
+1. Attach the rewrite set to a routing rule. The rewrite configuration is attached to the source listener via the routing rule.
+
+ - When you use a basic routing rule, the header rewrite configuration is associated with a source listener and is a global header rewrite.
+ - When you use a path-based routing rule, the header rewrite configuration is defined on the URL path map. In that case, it applies only to the specific path area of a site.
You can create multiple HTTP header rewrite sets and apply each rewrite set to multiple listeners. But you can apply only one rewrite set to a specific listener.
You can create multiple HTTP header rewrite sets and apply each rewrite set to m
Sign in to the [Azure portal](https://portal.azure.com/) with your Azure account.
-## Configure header rewrite
+## Configure a header rewrite
-In this example, we'll modify a redirection URL by rewriting the location header in the HTTP response sent by a backend application.
+In this example, we modify a redirection URL by rewriting the location header in the HTTP response sent by a backend application.
1. Select **All resources**, and then select your application gateway.
-2. Select **Rewrites** in the left pane.
+1. In the service pane, select **Rewrites**.
-3. Select **Rewrite set**:
+1. Select **Rewrite set**.
- ![Add rewrite set](media/rewrite-http-headers-portal/add-rewrite-set.png)
+ ![Screenshot that shows adding a rewrite set.](media/rewrite-http-headers-portal/add-rewrite-set.png)
-4. Provide a name for the rewrite set and associate it with a routing rule:
+1. Provide a name for the rewrite set and associate it with a routing rule:
- - Enter the name for the rewrite set in the **Name** box.
- - Select one or more of the rules listed in the **Associated routing rules** list. You can select only rules that haven't been associated with other rewrite sets. The rules that have already been associated with other rewrite sets are dimmed.
- - Select **Next**.
+ 1. In the **Name** box, enter the name for the rewrite set.
+ 1. In the **Associated routing rules** list, select one or more rules. Select only rules not already associated with other rewrite sets. Rules already associated with other rewrite sets are dimmed.
+ 1. Select **Next**.
- ![Add name and association](media/rewrite-http-headers-portal/name-and-association.png)
-
-5. Create a rewrite rule:
-
- - Select **Add rewrite rule**.
-
- ![Add rewrite rule](media/rewrite-http-headers-portal/add-rewrite-rule.png)
-
- - Enter a name for the rewrite rule in the **Rewrite rule name** box. Enter a number in the **Rule sequence** box.
-
- ![Add rewrite rule name](media/rewrite-http-headers-portal/rule-name.png)
-
-6. In this example, we'll rewrite the location header only when it contains a reference to azurewebsites.net. To do this, add a condition to evaluate whether the location header in the response contains azurewebsites.net:
-
- - Select **Add condition** and then select the box containing the **If** instructions to expand it.
-
- ![Add a condition](media/rewrite-http-headers-portal/add-condition.png)
-
- - In the **Type of variable to check** list, select **HTTP header**.
-
- - In the **Header type** list, select **Response**.
-
- - Because in this example we're evaluating the location header, which is a common header, select **Common header** under **Header name**.
-
- - In the **Common header** list, select **Location**.
+ ![Screenshot that shows adding a name and association.](media/rewrite-http-headers-portal/name-and-association.png)
- - Under **Case-sensitive**, select **No**.
+1. Create a rewrite rule:
- - In the **Operator** list, select **equal (=)**.
+ 1. Select **Add rewrite rule**.
- - Enter a regular expression pattern. In this example, we'll use the pattern `(https?):\/\/.*azurewebsites.net(.*)$`.
+ ![Screenshot that shows adding a rewrite rule.](media/rewrite-http-headers-portal/add-rewrite-rule.png)
- - Select **OK**.
+ 1. In the **Rewrite rule name** box, enter a name for the rewrite rule. In the **Rule sequence** box, enter a number.
- ![Configure an If condition](media/rewrite-http-headers-portal/condition.png)
+ ![Screenshot that shows adding a rewrite rule name.](media/rewrite-http-headers-portal/rule-name.png)
-7. Add an action to rewrite the location header:
+1. In this example, we rewrite the location header only when it contains a reference to `azurewebsites.net`. To do this step, add a condition to evaluate whether the location header in the response contains `azurewebsites.net`:
- - In the **Action type** list, select **Set**.
+ 1. Select **Add condition**, and then select the box containing the **If** instructions to expand it.
- - In the **Header type** list, select **Response**.
+ ![Screenshot that shows adding a condition.](media/rewrite-http-headers-portal/add-condition.png)
- - Under **Header name**, select **Common header**.
+ 1. In the **Type of variable to check** list, select **HTTP header**.
+ 1. In the **Header type** list, select **Response**.
+ 1. Under **Header name**, select **Common header**. In this example, we're evaluating the location header, which is a common header.
+ 1. In the **Common header** list, select **Location**.
+ 1. Under **Case-sensitive**, select **No**.
+ 1. In the **Operator** list, select **equal (=)**.
+ 1. Enter a regular expression pattern. In this example, we use the pattern `(https?):\/\/.*azurewebsites.net(.*)$`.
+ 1. Select **OK**.
- - In the **Common header** list, select **Location**.
+ ![Screenshot that shows configuring an If condition.](media/rewrite-http-headers-portal/condition.png)
- - Enter the header value. In this example, we'll use `{http_resp_Location_1}://contoso.com{http_resp_Location_2}` as the header value. This value will replace *azurewebsites.net* with *contoso.com* in the location header.
+1. Add an action to rewrite the location header:
- - Select **OK**.
+ 1. In the **Action type** list, select **Set**.
+ 1. In the **Header type** list, select **Response**.
+ 1. Under **Header name**, select **Common header**.
+ 1. In the **Common header** list, select **Location**.
+ 1. Enter the header value. In this example, we use `{http_resp_Location_1}://contoso.com{http_resp_Location_2}` as the header value. This value replaces `azurewebsites.net` with `contoso.com` in the location header.
+ 1. Select **OK**.
- ![Add an action](media/rewrite-http-headers-portal/action.png)
+ ![Screenshot that shows adding an action.](media/rewrite-http-headers-portal/action.png)
-8. Select **Create** to create the rewrite set:
+1. Select **Create** to create the rewrite set.
- ![Select Create](media/rewrite-http-headers-portal/create.png)
+ ![Screenshot that shows selecting Create.](media/rewrite-http-headers-portal/create.png)
-9. The Rewrite set view will open. Verify that the rewrite set you created is in the list of rewrite sets:
+1. The **Rewrites** pane opens. Verify that the rewrite set you created is in the list of rewrite sets.
- ![Rewrite set view](media/rewrite-http-headers-portal/rewrite-set-list.png)
+ ![Screenshot that shows rewriting a set view.](media/rewrite-http-headers-portal/rewrite-set-list.png)
-## Next steps
+## Related content
-To learn more about how to set up some common use cases, see [common header rewrite scenarios](./rewrite-http-headers-url.md).
+To learn more about how to set up some common use cases, see [Common header rewrite scenarios](./rewrite-http-headers-url.md).
application-gateway Rewrite Url Portal https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/application-gateway/rewrite-url-portal.md
Title: Rewrite URL and query string with Azure Application Gateway - Azure portal
-description: Learn how to use the Azure portal to configure an Azure Application Gateway to rewrite URL and query string
+description: Learn how to use the Azure portal to configure an application gateway to rewrite a URL and query string.
Last updated 10/22/2024
-# Rewrite URL with Azure Application Gateway - Azure portal
+# Rewrite a URL with Azure Application Gateway - Azure portal
-This article describes how to use the Azure portal to configure an [Application Gateway v2 SKU](application-gateway-autoscaling-zone-redundant.md) instance to rewrite URL.
+This article describes how to use the Azure portal to configure an [Azure Application Gateway v2 SKU](application-gateway-autoscaling-zone-redundant.md) instance to rewrite a URL.
>[!NOTE]
-> URL rewrite feature is available only for Standard_v2 and WAF_v2 SKU of Application Gateway. When URL rewrite is configured on a WAF enabled gateway, WAF evaluation will take place on the rewritten request headers and URL. [Learn more](rewrite-http-headers-url.md#using-url-rewrite-or-host-header-rewrite-with-web-application-firewall-waf_v2-sku).
+> The URL Rewrite feature is available only for the Standard_v2 and Web Application Firewall_v2 SKU of Application Gateway. When URL Rewrite is configured on a Web Application Firewall-enabled gateway, Web Application Firewall evaluation takes place on the rewritten request headers and the URL. For more information, see [Use URL rewrite or host header rewrite with Web Application Firewall (WAF_v2 SKU)](rewrite-http-headers-url.md#using-url-rewrite-or-host-header-rewrite-with-web-application-firewall-waf_v2-sku).
If you don't have an Azure subscription, create a [free account](https://azure.microsoft.com/free/?WT.mc_id=A261C142F) before you begin. ## Before you begin
-You need to have an Application Gateway v2 SKU instance to complete the steps in this article. Rewriting URL isn't supported in the v1 SKU. If you don't have the v2 SKU, create an [Application Gateway v2 SKU](tutorial-autoscale-ps.md) instance before you begin.
+You need to have an Application Gateway v2 SKU instance to finish the steps in this article. Rewriting a URL isn't supported in the v1 SKU. If you don't have the v2 SKU, create an [Application Gateway v2 SKU](tutorial-autoscale-ps.md) instance before you begin.
## Sign in to Azure Sign in to the [Azure portal](https://portal.azure.com/) with your Azure account.
-## Configure URL rewrite
+## Configure a URL rewrite
-In the below example whenever the request URL contains */article*, the URL path and URL query string are rewritten
+In the following example, whenever the request URL contains `/article`, the URL path and URL query string are rewritten. For example:
`contoso.com/article/123/fabrikam` -> `contoso.com/article.aspx?id=123&title=fabrikam` 1. Select **All resources**, and then select your application gateway.
-2. Select **Rewrites** in the left pane.
+1. In the service pane, select **Rewrites**.
-3. Select **Rewrite set**:
+1. Select **Rewrite set**.
- :::image type="content" source="./media/rewrite-url-portal/rewrite-url-portal-1.png" alt-text="Add rewrite set":::
+ :::image type="content" source="./media/rewrite-url-portal/rewrite-url-portal-1.png" alt-text="Screenshot that shows adding a rewrite set.":::
-4. Provide a name for the rewrite set and associate it with a routing rule:
+1. Enter a name for the rewrite set and associate it with a routing rule:
- a. Enter the name for the rewrite set in the **Name** box.
+ 1. In the **Name** box, enter the name for the rewrite set.
- b. Select one or more of the rules listed in the **Associated routing rules** list. This is used to associate the rewrite configuration to the source listener via the routing rule. You can select only those routing rules that haven't been associated with other rewrite sets. The rules that have already been associated with other rewrite sets are greyed out.
+ 1. In the **Associated routing rules** list, select one or more of the rules. This step associates the rewrite configuration to the source listener via the routing rule. Select only those routing rules not already associated with other rewrite sets. The rules already associated with other rewrite sets are dimmed.
- c. Select **Next**.
+ 1. Select **Next**.
- :::image type="content" source="./media/rewrite-url-portal/rewrite-url-portal-2.png" alt-text="Associate to a rule":::
+ :::image type="content" source="./media/rewrite-url-portal/rewrite-url-portal-2.png" alt-text="Screenshot that shows associating to a rule.":::
-5. Create a rewrite rule:
+1. Create a rewrite rule:
- a. Select **Add rewrite rule**.
+ 1. Select **Add rewrite rule**.
- :::image type="content" source="./media/rewrite-url-portal/rewrite-url-portal-3.png" alt-text="Screenshot that highlights Add rewrite rule.":::
+ :::image type="content" source="./media/rewrite-url-portal/rewrite-url-portal-3.png" alt-text="Screenshot that shows Add rewrite rule.":::
- b. Enter a name for the rewrite rule in the **Rewrite rule name** box. Enter a number in the **Rule sequence** box.
+ 1. In the **Rewrite rule name** box, enter a name for the rewrite rule.
+ 1. In the **Rule sequence** box, enter a number.
-6. In this example, we'll rewrite URL path and URL query string only when path contains */article*. To do this, add a condition to evaluate whether the URL path contains */article*
+1. In this example, we rewrite a URL path and a URL query string only when the path contains `/article`. To do this step, add a condition to evaluate whether the URL path contains `/article`:
- a. Select **Add condition** and then select the box containing the **If** instructions to expand it.
+ 1. Select **Add condition**, and then select the box that contains the **If** instructions to expand it.
- b. Since in this example we want to check the pattern */article* in the URL path, in the **Type of variable to check** list, select **Server variable**.
+ 1. In the **Type of variable to check** list, select **Server variable**. In this example, we want to check the pattern `/article` in the URL path.
- c. In the **Server variable** list, select uri_path
+ 1. In the **Server variable** list, select `uri_path`.
- d. Under **Case-sensitive**, select **No**.
+ 1. Under **Case-sensitive**, select **No**.
- e. In the **Operator** list, select **equal (=)**.
+ 1. In the **Operator** list, select **equal (=)**.
- f. Enter a regular expression pattern. In this example, we'll use the pattern `.*article/(.*)/(.*)`
+ 1. Enter a regular expression pattern. In this example, we use the pattern `.*article/(.*)/(.*)`
- ( ) is used to capture the substring for later use in composing the expression for rewriting the URL path. For more information, see [Pattern matching and capturing](rewrite-http-headers-url.md#pattern-matching-and-capturing).
+ Parentheses ( ) are used to capture the substring for later use in composing the expression for rewriting the URL path. For more information, see [Pattern matching and capturing](rewrite-http-headers-url.md#pattern-matching-and-capturing).
- g. Select **OK**.
+ 1. Select **OK**.
- :::image type="content" source="./media/rewrite-url-portal/rewrite-url-portal-4.png" alt-text="Condition":::
+ :::image type="content" source="./media/rewrite-url-portal/rewrite-url-portal-4.png" alt-text="Screenshot that shows the condition.":::
-
+1. Add an action to rewrite the URL and the URL path:
-7. Add an action to rewrite the URL and URL path
+ 1. In the **Rewrite type** list, select **URL**.
- a. In the **Rewrite type** list, select **URL**.
+ 1. In the **Action type** list, select **Set**.
- b. In the **Action type** list, select **Set**.
+ 1. Under **Components**, select **Both URL path and URL query string**.
- c. Under **Components**, select **Both URL path and URL query string**
+ 1. In the **URL path value**, enter the new value of the path. In this example, we use `/article.aspx`.
- d. In the **URL path value**, enter the new value of the path. In this example, we will use **/article.aspx**
-
- e. In the **URL query string value**, enter the new value of the URL query string. In this example, we will use **id={var_uri_path_1}&title={var_uri_path_2}**
+ 1. In the **URL query string value**, enter the new value of the URL query string. In this example, we use `id={var_uri_path_1}&title={var_uri_path_2}`.
- `{var_uri_path_1}` and `{var_uri_path_2}` are used to fetch the substrings captured while evaluating the condition in this expression `.*article/(.*)/(.*)`
+ The `{var_uri_path_1}` and `{var_uri_path_2}` paths are used to fetch the substrings captured while evaluating the condition in the expression `.*article/(.*)/(.*)`
- f. Select **OK**.
+ 1. Select **OK**.
- :::image type="content" source="./media/rewrite-url-portal/rewrite-url-portal-5.png" alt-text="Action":::
+ :::image type="content" source="./media/rewrite-url-portal/rewrite-url-portal-5.png" alt-text="Screenshot that shows the action.":::
-8. Click **Create** to create the rewrite set.
+1. Select **Create** to create the rewrite set.
-9. Verify that the new rewrite set appears in the list of rewrite sets
+1. Verify that the new rewrite set appears in the list of rewrite sets.
- :::image type="content" source="./media/rewrite-url-portal/rewrite-url-portal-6.png" alt-text="Add rewrite rule":::
+ :::image type="content" source="./media/rewrite-url-portal/rewrite-url-portal-6.png" alt-text="Screenshot that shows adding a rewrite rule.":::
-## Verify URL rewrite through access logs
+## Verify the URL rewrite through access logs
-Observe the below fields in access logs to verify if the URL rewrite happened as per your expectation.
+Observe the following fields in access logs to verify if the URL rewrite happened according to your expectations:
-* **originalRequestUriWithArgs**: This field contains the original request URL
-* **requestUri**: This field contains the URL after the rewrite operation on Application Gateway
+* `originalRequestUriWithArgs`: This field contains the original request URL.
+* `requestUri`: This field contains the URL after the rewrite operation on Application Gateway.
For more information on all the fields in the access logs, see [Access log](monitor-application-gateway-reference.md#access-log-category).
-## Next steps
+## Related content
-To learn more about how to set up rewrites for some common use cases, see [common rewrite scenarios](./rewrite-http-headers-url.md).
+To learn more about how to set up rewrites for some common use cases, see [Common rewrite scenarios](./rewrite-http-headers-url.md).
automation Disable Local Authentication https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automation/disable-local-authentication.md
Title: Disable local authentication in Azure Automation
description: This article describes disabling local authentication in Azure Automation. Previously updated : 11/20/2023- Last updated : 06/06/2024+ #Customer intent: As an administrator, I want disable local authentication so that I can enhance security.
The following table describes the behaviors or features that are prevented from
|Starting a runbook using a webhook. | Start a runbook job using Azure Resource Manager template, which uses Microsoft Entra authentication. | |Using Automation Desired State Configuration.| Use [Azure Policy Guest configuration](../governance/machine-configuration/overview.md).  | |Using agent-based Hybrid Runbook Workers.| Use [extension-based Hybrid Runbook Workers](./extension-based-hybrid-runbook-worker-install.md).|
-|Using Azure Update Manager |Use [Azure Update Manager](../update-manager/overview.md)|
+|Using Automation Update Management |Use [Azure Update Manager](../update-manager/overview.md)|
## Next steps
azure-app-configuration Enable Dynamic Configuration Aspnet Core https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-app-configuration/enable-dynamic-configuration-aspnet-core.md
A *sentinel key* is a key that you update after you complete the change of all o
1. Call the `UseAzureAppConfiguration` method. It enables your app to use the App Configuration middleware to update the configuration for you automatically.
- Update *Program.cs* withe the following code.
+ Update *Program.cs* with the following code.
```csharp // Existing code in Program.cs
azure-app-configuration Feature Management Dotnet Reference https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-app-configuration/feature-management-dotnet-reference.md
In the above example, `FeatureW` specifies a `RequirementType` of `All`, meaning
#### Microsoft Feature Management Schema
-The feature management library also supports the usage of the [`Microsoft Feature Management schema`](https://github.com/Azure/AppConfiguration/blob/main/docs/FeatureManagement/FeatureManagement.v1.0.0.schema.json) to declare feature flags. This schema is language agnostic in origin and is supported by all Microsoft feature management libraries.
+The feature management library also supports the usage of the [`Microsoft Feature Management schema`](https://github.com/microsoft/FeatureManagement/blob/main/Schema/FeatureManagement.v1.0.0.schema.json) to declare feature flags. This schema is language agnostic in origin and is supported by all Microsoft feature management libraries.
``` JavaScript {
The feature management library also supports the usage of the [`Microsoft Featur
:::zone target="docs" pivot="preview-version"
-The feature management library supports appsettings.json as a feature flag source since it's a provider for .NET Core's `IConfiguration` system. Feature flags are declared using the [`Microsoft Feature Management schema`](https://github.com/Azure/AppConfiguration/blob/main/docs/FeatureManagement/FeatureManagement.v2.0.0.schema.json). This schema is language agnostic in origin and is supported by all Microsoft feature management libraries.
+The feature management library supports appsettings.json as a feature flag source since it's a provider for .NET Core's `IConfiguration` system. Feature flags are declared using the [`Microsoft Feature Management schema`](https://github.com/microsoft/FeatureManagement/blob/main/Schema/FeatureManagement.v2.0.0.schema.json). This schema is language agnostic in origin and is supported by all Microsoft feature management libraries.
Below we have an example of declaring feature flags in a json file.
To enable persistance of targeting context in the current activity, you can use
app.UseMiddleware<TargetingHttpContextMiddleware>(); ```
-An example of its usage can be found in the [EvaluationDataToApplicationInsights](https://github.com/microsoft/FeatureManagement-Dotnet/tree/preview/examples/EvaluationDataToApplicationInsights) example.
+An example of its usage can be found in the [VariantAndTelemetryDemo](https://github.com/microsoft/FeatureManagement-Dotnet/tree/preview/examples/VariantAndTelemetryDemo) example.
#### Prerequisite
-This telemetry publisher depends on Application Insights already being [setup](/azure/azure-monitor/app/asp-net-core#enable-application-insights-server-side-telemetry-no-visual-studio) and registered as an application service. For example, that is done [here](https://github.com/microsoft/FeatureManagement-Dotnet/blob/preview/examples/EvaluationDataToApplicationInsights/Program.cs#L20C1-L20C54) in the example application.
+This telemetry publisher depends on Application Insights already being setup registered as an application service. For example, that is done [here](https://github.com/microsoft/FeatureManagement-Dotnet/blob/preview/examples/VariantAndTelemetryDemo/Program.cs#L22-L32) in the example application.
+
+This telemetry publisher depends on Application Insights already being [setup](/azure/azure-monitor/app/asp-net-core#enable-application-insights-server-side-telemetry-no-visual-studio) and registered as an application service.
:::zone-end
azure-government Documentation Government Csp List https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-government/documentation-government-csp-list.md
The following tables contain lists of all the authorized Cloud Solution Provider
|[Diffeo, Inc.](https://diffeo.com)| |[DirectApps, Inc. D.B.A. Direct Technology](https://directtechnology.com)| |[DominionTech Inc.](https://www.dominiontech.com)|
-|[DOT Personable Inc](http://solutions.personable.com/)|
+|[DOT Personable Inc](https://cloud.personable.com/1/login.htm)|
|Doublehorn, LLC| |[DXC Technology Services LLC](https://www.dxc.technology/services)| |[DXL Enterprises, Inc.](https://mahwahnjcoc.wliinc31.com/Supply-Chain-Management/DXL-Enterprises,-Inc-1349)|
The following tables contain lists of all the authorized Cloud Solution Provider
|[General Dynamics Information Technology](https://gdit.com/)| |[Giga-Green Technologies](https://giga-green.com)| |[Gimmal](https://www.gimmal.com/)|
-|[Global Justice Solutions, LLC](https://www.globaljusticesolutions.us/)|
|[Global Tech Inc.](https://www.eglobaltech.com)| |[Globalscape, Inc.](https://www.globalscape.com)| |[Go Full Cloud](https://www.gofullcloud.com/)|
The following tables contain lists of all the authorized Cloud Solution Provider
|I10 Inc| |[I2, Inc. (IBM)](https://www.ibm.com/security/intelligence-analysis/i2)| |[i3 Business Solutions, LLC](https://www.i3businesssolutions.com/)|
-|[i3 LLC](http://i3llc.net/)|
+|[i3 LLC](https://i3llc.us/)|
|[IBM Corporation](https://www.ibm.com/industries/federal)| |[Illuminative Strategies Inc](https://illum-strat.com)| |[ImageSource](https://imagesourceinc.com/)|
The following tables contain lists of all the authorized Cloud Solution Provider
|[Kosh Solutions, LLC](https://www.koshsolutions.com)| |[KTL Solutions, Inc.](https://www.ktlsolutions.com)| |[Ladlas Prince LLC](https://www.ladlasprince.com)|
-|[Lear360.com](https://www.lear360.com)|
|[Leidos](https://www.leidos.com)| |[Leslie Digital Imaging LLC.](https://www.myldi.com)| |[LiftOff, LLC](https://www.liftoffonline.com)|
azure-maps Rest Sdk Developer Guide https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/rest-sdk-developer-guide.md
For more information, see the [Java SDK Developers Guide].
[js render readme]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/maps/maps-render-rest/README.md [js render package]: https://www.npmjs.com/package/@azure-rest/maps-render
-[js render sample]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/maps/maps-render-rest/samples/v1-beta
+[js render sample]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/maps/maps-render-rest/samples/v2-beta
[js Geolocation readme]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/maps/maps-geolocation-rest/README.md [js Geolocation package]: https://www.npmjs.com/package/@azure-rest/maps-geolocation
azure-netapp-files Cross Region Replication Introduction https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-netapp-files/cross-region-replication-introduction.md
Previously updated : 10/09/2024 Last updated : 10/28/2024
Azure NetApp Files volume replication is supported between various [Azure region
| Germany/UK | Germany West Central | UK South | | Germany/Europe | Germany West Central | West Europe | | Germany/France | Germany West Central | France Central |
+| Italy/Sweden | Italy North | Sweden Central |
| Sweden/Germany | Sweden Central | Germany West Central | | Spain/Sweden | Spain Central | Sweden Central | | North America | East US | East US 2 |
azure-resource-manager Bicep Cli https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-resource-manager/bicep/bicep-cli.md
Title: Bicep CLI commands and overview
description: Describes the commands that you can use in the Bicep CLI. These commands include building Azure Resource Manager templates from Bicep. Previously updated : 07/11/2024 Last updated : 10/23/2024 # Bicep CLI commands
This article shows how to run the commands in Azure CLI. When running through Az
The `build` command converts a Bicep file to an Azure Resource Manager template (ARM template). Typically, you don't need to run this command because it runs automatically when you deploy a Bicep file. Run it manually when you want to see the ARM template JSON that is created from your Bicep file.
+Using any of following Bicep features automatically enables language version 2.0 code generation:
+
+* [user-defined types](../bicep/user-defined-data-types.md)
+* [user-defined functions](../bicep/user-defined-functions.md)
+* [compile-time imports](../bicep/bicep-import.md)
+* [experimental features](../bicep/bicep-config.md#enable-experimental-features)
+ The following example converts a Bicep file named _main.bicep_ to an ARM template named _main.json_. The new file is created in the same directory as the Bicep file. ```azurecli
azure-resource-manager Bicep Config https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-resource-manager/bicep/bicep-config.md
Title: Bicep config file
description: Describes the configuration file for your Bicep deployments Previously updated : 06/27/2024 Last updated : 10/23/2024 # Configure your Bicep environment
The [Bicep linter](linter.md) checks Bicep files for syntax errors and best prac
## Enable experimental features
-You can enable experimental features by adding the following section to your `bicepconfig.json` file.
+You can enable experimental features by adding the following section to your `bicepconfig.json` file. Using experimental features automatically enables [language version 2.0](../templates/syntax.md#languageversion-20) code generation.
Here's an example of enabling features 'assertions' and 'testFramework`.
azure-resource-manager Bicep Import https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-resource-manager/bicep/bicep-import.md
Title: Imports in Bicep
description: This article describes how to import shared functionality and namespaces in Bicep. Previously updated : 08/20/2024 Last updated : 10/23/2024 # Imports in Bicep
-This article describes the syntax you use to export and import shared functionality and namespaces for Bicep extensions.
+This article describes the syntax you use to export and import shared functionality and namespaces for Bicep extensions. Using compile-time imports automatically enables [language version 2.0](../templates/syntax.md#languageversion-20) code generation.
## Export variables, types, and functions
azure-resource-manager User Defined Data Types https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-resource-manager/bicep/user-defined-data-types.md
Title: User-defined types in Bicep
description: This article describes how to define and use user-defined data types in Bicep. Previously updated : 08/20/2024 Last updated : 10/23/2024 # User-defined data types in Bicep
-Learn how to create user-defined data types in Bicep. For system-defined data types, see [Data types](./data-types.md).
+Learn how to create user-defined data types in Bicep. For system-defined data types, see [Data types](./data-types.md). Using user-defined data types automatically enables [language version 2.0](../templates/syntax.md#languageversion-20) code generation.
[Bicep CLI version 0.12.X or higher](./install.md) is required to use this feature.
azure-resource-manager User Defined Functions https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-resource-manager/bicep/user-defined-functions.md
Title: User-defined functions in Bicep
description: Describes how to define and use user-defined functions in Bicep. Previously updated : 03/15/2024 Last updated : 10/23/2024 # User-defined functions in Bicep
-Within your Bicep file, you can create your own functions. These functions are available for use in your Bicep files. User-defined functions are separate from the [standard Bicep functions](./bicep-functions.md) that are automatically available within your Bicep files. Create your own functions when you have complicated expressions that are used repeatedly in your Bicep files.
+Within your Bicep file, you can create your own functions. These functions are available for use in your Bicep files. User-defined functions are separate from the [standard Bicep functions](./bicep-functions.md) that are automatically available within your Bicep files. Create your own functions when you have complicated expressions that are used repeatedly in your Bicep files. Using user-defined functions automatically enables [language version 2.0](../templates/syntax.md#languageversion-20) code generation.
[Bicep CLI version 0.26.X or higher](./install.md) is required to use this feature.
azure-resource-manager Azure Subscription Service Limits https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-resource-manager/management/azure-subscription-service-limits.md
The following table details the features and limits of the Basic, Standard, and
### Media Services v2 (legacy)
-For limits specific to Media Services v2 (legacy), see [Media Services v2 (legacy)](/azure/media-services/previous/media-services-quotas-and-limitations)
+For limits specific to Media Services v2 (legacy), see [Media Services v2 (legacy)]
## Mobile Services limits
azure-resource-manager Tls Support https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-resource-manager/management/tls-support.md
Title: TLS version supported by Azure Resource Manager
description: Describes the deprecation of TLS versions prior to 1.2 in Azure Resource Manager Previously updated : 09/26/2024 Last updated : 10/28/2024 # Migrating to TLS 1.2 for Azure Resource Manager Transport Layer Security (TLS) is a security protocol that establishes encryption channels over computer networks. TLS 1.2 is the current industry standard and is supported by Azure Resource Manager. For backwards compatibility, Azure Resource Manager also supports earlier versions, such as TLS 1.0 and 1.1, but that support is ending.
-To ensure that Azure is compliant with regulatory requirements, and provide improved security for our customers, **Azure Resource Manager will stop supporting protocols older than TLS 1.2 on September 30, 2024.**
+To ensure that Azure is compliant with regulatory requirements, and provide improved security for our customers, **Azure Resource Manager will stop supporting protocols older than TLS 1.2 on March 1, 2025.**
This article provides guidance for removing dependencies on older security protocols.
azure-resource-manager Syntax https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-resource-manager/templates/syntax.md
Title: Template structure and syntax
description: Describes the structure and properties of Azure Resource Manager templates (ARM templates) using declarative JSON syntax. Previously updated : 09/26/2024 Last updated : 10/23/2024 # Understand the structure and syntax of ARM templates
The enhancements and changes that come with languageVersion 2.0:
* If Deployments resource is used in a symbolic-name deployment, use apiVersion `2020-09-01` or later. * In resource definition, double-escaping values within an expression is no longer needed. See [Escape characters](./template-expressions.md#escape-characters).
+Using any of following Bicep features automatically enables language version 2.0 code generation:
+
+* [user-defined types](../bicep/user-defined-data-types.md)
+* [user-defined functions](../bicep/user-defined-functions.md)
+* [compile-time imports](../bicep/bicep-import.md)
+* [experimental features](../bicep/bicep-config.md#enable-experimental-features)
+ ## Next steps * To view complete templates for many different types of solutions, see the [Azure Quickstart Templates](https://azure.microsoft.com/resources/templates/).
azure-web-pubsub Howto Monitor Data Reference https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-web-pubsub/howto-monitor-data-reference.md
TransportType | Transport type of the connection. Allowed values are: `Websocket
## Azure Monitor Logs tables
-Azure Web PubSub uses Kusto tables from Azure Monitor Logs. You can query these tables with Log analytics. For a list of Kusto tables Azure Web PubSub uses, see the [Azure Monitor Logs table reference](/azure/azure-monitor/reference/tables/tables-resourcetype#signalr-service-webpubsub) article.
+Azure Web PubSub uses Kusto tables from Azure Monitor Logs. You can query these tables with Log analytics.
## See also
cdn Cdn Caching Policy https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cdn/cdn-caching-policy.md
Azure Media Services provides [integrated CDN](https://azure.microsoft.com/updat
You can use Azure portal or Azure Media Services APIs to configure cache header values.
-1. To configure cache headers using Azure portal, refer to [How to Manage Streaming Endpoints](/azure/media-services/previous/media-services-portal-manage-streaming-endpoints) section Configuring the Streaming Endpoint.
+1. To configure cache headers using Azure portal, refer to [How to Manage Streaming Endpoints](/azure/media-services/latest/stream-streaming-endpoint-concept) section Configuring the Streaming Endpoint.
2. Azure Media Services REST API, [StreamingEndpoint](/rest/api/media/operations/streamingendpoint#StreamingEndpointCacheControl). 3. Azure Media Services .NET SDK, [StreamingEndpointCacheControl Properties](/dotnet/api/microsoft.windowsazure.mediaservices.client.streamingendpointcachecontrol).
communication-services Get Started Calling With Chat https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/communication-services/quickstarts/ui-library/get-started-calling-with-chat.md
+
+ Title: Add calling and chat functionality
+
+description: Add calling and chat functionality using the Azure Communication Services UI Library.
++++++ Last updated : 10/28/2024+
+zone_pivot_groups: acs-plat-ios-android
+
+#Customer intent: As a developer, I want to add calling and chat functionality to my App.
++
+# Integrate Calling and Chat UI Libraries
+
+## Set up the feature
++++
+## Run the code
+
+To build and run your app on the device.
+
+### More features
+
+The list of [use cases](../../concepts/ui-library/ui-library-use-cases.md?branch=main&pivots=platform-mobile) has detailed information about more features.
+
+## Add notifications to your mobile app
+
+Azure Communication Services integrates with [Azure Event Grid](../../../event-grid/overview.md) and [Azure Notification Hubs](../../../notification-hubs/notification-hubs-push-notification-overview.md), so you can [add push notifications](../../concepts/notifications.md) to your apps in Azure. You can use push notifications to send information from your application to users' mobile devices. A push notification can show a dialog, play a sound, or display an incoming call UI.
++
+## Next steps
+
+- [Learn more about the UI Library](../../concepts/ui-library/ui-library-overview.md)
confidential-computing Quick Create Confidential Vm Arm https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/confidential-computing/quick-create-confidential-vm-arm.md
Use this example to create a custom parameter file for a Linux-based confidentia
1. Create a new key using Azure Key Vault. For how to use an Azure Managed HSM instead, see the next step.
- 1. Prepare and download the [key release policy](https://cvmprivatepreviewsa.blob.core.windows.net/cvmpublicpreviewcontainer/skr-policy.json) to your local disk.
+ 1. Prepare and download the key release policy to your local disk.
1. Create a new key. ```azurecli-interactive
Use this example to create a custom parameter file for a Linux-based confidentia
$encryptionKeyURL= ((az keyvault key show --vault-name $KeyVault --name $KeyName) | ConvertFrom-Json).key.kid ```
- 1. Deploy a Disk Encryption Set (DES) using a [DES ARM template](https://cvmprivatepreviewsa.blob.core.windows.net/cvmpublicpreviewcontainer/deploymentTemplate/deployDES.json) (`deployDES.json`).
+ 1. Deploy a Disk Encryption Set (DES) using a DES ARM template (`deployDES.json`).
```azurecli-interactive $desName = <name of DES>
Use this example to create a custom parameter file for a Linux-based confidentia
``` 1. (Optional) Create a new key from an Azure Managed HSM.
- 1. Prepare and download the [key release policy](https://cvmprivatepreviewsa.blob.core.windows.net/cvmpublicpreviewcontainer/skr-policy.json) to your local disk.
+ 1. Prepare and download the key release policy to your local disk.
1. Create the new key. ```azurecli-interactive
Use this example to create a custom parameter file for a Linux-based confidentia
$desID = (az disk-encryption-set show -n $desName -g $resourceGroup --query [id] -o tsv) ```
- 1. Deploy your confidential VM using a confidential VM ARM template for [AMD SEV-SNP](https://cvmprivatepreviewsa.blob.core.windows.net/cvmpublicpreviewcontainer/deploymentTemplate/deployCPSCVM_cmk.json) or Intel TDX and a [deployment parameter file](#example-windows-parameter-file) (for example, `azuredeploy.parameters.win2022.json`) with the customer-managed key.
+ 1. Deploy your confidential VM using a confidential VM ARM template for Intel TDX and a [deployment parameter file](#example-windows-parameter-file) (for example, `azuredeploy.parameters.win2022.json`) with the customer-managed key.
```azurecli-interactive $deployName = <name of deployment>
connectors Connectors Create Api Servicebus https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/connectors/connectors-create-api-servicebus.md
ms.suite: integration Previously updated : 09/03/2024 Last updated : 10/26/2024
By default, the Service Bus built-in connector is a stateless connector. To run
1. In the designer, [follow these general steps to add the Azure Service Bus built-in trigger that you want](../logic-apps/create-workflow-with-trigger-or-action.md?tabs=standard#add-trigger).
- This example continues with the trigger named **When messages are available in a queue**.
+ This example continues with the built-in auto-complete trigger named **When messages are available in a queue**. This trigger reads the message from a service bus. If the logic app can get the message and save the trigger response to storage, the trigger automatically completes the message. If a failure happens instead, the trigger abandons the message. These behaviors only apply to stateful workflows. For stateless workflows, the auto-complete or abandon decision happens only after the run completes.
1. If prompted, provide the following information for your connection. When you're done, select **Create**.
container-apps Authentication Github https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/container-apps/authentication-github.md
Previously updated : 04/20/2022 Last updated : 10/28/2024
To complete the procedure in this article, you need a GitHub account. To create
## <a name="github-register"> </a>Register your application with GitHub
-1. Sign in to the [Azure portal] and go to your application. Copy your **URL**. You'll use it to configure your GitHub app.
+1. Sign in to the [Azure portal] and go to your application. Copy your **URL**. You use it to configure your GitHub app.
1. Follow the instructions for [creating an OAuth app on GitHub](https://docs.github.com/developers/apps/building-oauth-apps/creating-an-oauth-app). In the **Authorization callback URL** section, enter the HTTPS URL of your app and append the path `/.auth/login/github/callback`. For example, `https://<hostname>.azurecontainerapps.io/.auth/login/github/callback`.
-1. On the application page, make note of the **Client ID**, which you'll need later.
+1. On the application page, make note of the **Client ID**, which you need later.
1. Under **Client Secrets**, select **Generate a new client secret**.
-1. Make note of the client secret value, which you'll need later.
+1. Make note of the client secret value, which you need later.
> [!IMPORTANT] > The client secret is an important security credential. Do not share this secret with anyone or distribute it with your app.
To complete the procedure in this article, you need a GitHub account. To create
1. Select **Authentication** in the menu on the left. Select **Add identity provider**. 1. Select **GitHub** in the identity provider dropdown. Paste in the `Client ID` and `Client secret` values that you obtained previously.
- The secret will be stored as a secret in your container app.
+ The secret is stored as a secret in your container app.
-1. If you're configuring the first identity provider for this application, you'll also be prompted with a **Container Apps authentication settings** section. Otherwise, you may move on to the next step.
+1. If you're configuring the first identity provider for this application, you also see a **Container Apps authentication settings** section. Otherwise, you can move on to the next step.
These options determine how your application responds to unauthenticated requests. The default selections redirect all requests to sign in with this new provider. You can change customize this behavior now or adjust these settings later from the main **Authentication** screen by choosing **Edit** next to **Authentication settings**. To learn more about these options, see [Authentication flow](./authentication.md#authentication-flow). 1. Select **Add**.
-You're now ready to use GitHub for authentication in your app. The provider will be listed on the **Authentication** screen. From there, you can edit or delete this provider configuration.
+You're now ready to use GitHub for authentication in your app. The provider is listed on the **Authentication** screen. From there, you can edit or delete this provider configuration.
## Working with authenticated users
data-factory Connector Hbase https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/data-factory/connector-hbase.md
Previously updated : 09/04/2024 Last updated : 10/28/2024 # Copy data from HBase using Azure Data Factory or Synapse Analytics
This HBase connector is supported for the following capabilities:
| Supported capabilities|IR | || --|
-|[Copy activity](copy-activity-overview.md) (source/-)|&#9312; &#9313;|
-|[Lookup activity](control-flow-lookup-activity.md)|&#9312; &#9313;|
+|[Copy activity](copy-activity-overview.md) (source/-)|&#9312;|
+|[Lookup activity](control-flow-lookup-activity.md)|&#9312;|
*&#9312; Azure integration runtime &#9313; Self-hosted integration runtime*
The service provides a built-in driver to enable connectivity, therefore you don
## Prerequisites
+If your data store is a managed cloud data service, you can use the Azure Integration Runtime. If the access is restricted to IPs that are approved in the firewall rules, you can add [Azure Integration Runtime IPs](azure-integration-runtime-ip-addresses.md) to the allow list.
+
+You can also use the [managed virtual network integration runtime](tutorial-managed-virtual-network-on-premise-sql-server.md) feature in Azure Data Factory to access the on-premises network without installing and configuring a self-hosted integration runtime.
+
+For more information about the network security mechanisms and options supported by Data Factory, see [Data access strategies](data-access-strategies.md).
## Getting started
The following properties are supported for HBase linked service:
| trustedCertPath | The full path of the .pem file containing trusted CA certificates for verifying the server when connecting over TLS. This property can only be set when using TLS on self-hosted IR. The default value is the cacerts.pem file installed with the IR. | No | | allowHostNameCNMismatch | Specifies whether to require a CA-issued TLS/SSL certificate name to match the host name of the server when connecting over TLS. The default value is false. | No | | allowSelfSignedServerCert | Specifies whether to allow self-signed certificates from the server. The default value is false. | No |
-| connectVia | The [Integration Runtime](concepts-integration-runtime.md) to be used to connect to the data store. Learn more from [Prerequisites](#prerequisites) section. If not specified, it uses the default Azure Integration Runtime. |No |
+| connectVia | The [Integration Runtime](concepts-integration-runtime.md) to be used to connect to the data store. Learn more from [Prerequisites](#prerequisites) section. You can only use Azure Integration Runtime. |No |
>[!NOTE] >If your cluster doesn't support sticky session e.g. HDInsight, explicitly add node index at the end of the http path setting, e.g. specify `/hbaserest0` instead of `/hbaserest`.
defender-for-iot Release Notes https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-iot/organizations/release-notes.md
Cloud features may be dependent on a specific sensor version. Such features are
| Version / Patch | Release date | Scope | Supported until | | - | | -- | - | | **24.1** | | | |
-| 24.1.4 |06/2024 | Major |05/2025 |
-| 24.1.3 |04/2024 | Major |03/2025 |
-| 24.1.2 |02/2024 | Major |01/2025 |
+| 24.1.5 |09/2024 | Minor |09/2025 |
+| 24.1.4 |07/2024 | Minor |07/2025 |
+| 24.1.3 |06/2024 | Minor |06/2025 |
+| 24.1.2 |04/2024 | Minor |04/2025 |
| **23.2** | | | |
-| 23.2.0 | 12/2023 | Major | 11/2024 |
+| 23.2.0 | 12/2023 | Major | 12/2024 |
| **23.1** | | | | | 23.1.3 | 09/2023 | Patch | 08/2024 | | 23.1.2 | 07/2023 | Major | 06/2024 |
To understand whether a feature is supported in your sensor version, check the r
## Versions 24.1.x
+### Version 24.1.5
+
+**Release date**: 09/2024
+
+**Supported until**: 09/2025
+
+This version includes the following updates and enhancements:
+
+- [Add wildcards to allowlist domain names](how-to-accelerate-alert-incident-response.md#allow-internet-connections-on-an-ot-network)
+- [OCPI protocol is now supported](concept-supported-protocols.md#supported-protocols-for-ot-device-discovery)
+- [New sensor setting type: Public addresses](configure-sensor-settings-portal.md#add-sensor-settings)
+- [Improved OT sensor onboarding](ot-deploy/activate-deploy-sensor.md#activate-your-ot-sensor)
+ ### Version 24.1.4
-**Release date**: 06/2024
+**Release date**: 07/2024
-**Supported until**: 05/2025
+**Supported until**: 07/2025
This version includes the following updates and enhancements:
This version includes the following updates and enhancements:
### Version 24.1.3
-**Release date**: 04/2024
+**Release date**: 06/2024
-**Supported until**: 03/2025
+**Supported until**: 06/2025
This version includes the following updates and enhancements:
This version includes the following updates and enhancements:
### Version 24.1.2
-**Release date**: 02/2024
+**Release date**: 04/2024
-**Supported until**: 01/2025
+**Supported until**: 04/2025
This version includes the following updates and enhancements:
This version includes the following updates and enhancements:
**Release date**: 12/2023
-**Supported until**: 11/2024
+**Supported until**: 12/2024
This version includes the following updates and enhancements:
dev-box Monitor Dev Box Reference https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/dev-box/monitor-dev-box-reference.md
For a list of all Azure Monitor log categories and links to associated schemas,
## Azure Monitor Logs tables
-A dev center uses Kusto tables from Azure Monitor Logs. You can query these tables with Log Analytics. For a list of Kusto tables that a dev center uses, see the [Azure Monitor Logs table reference organized by resource type](/azure/azure-monitor/reference/tables/tables-resourcetype#dev-centers).
+A dev center uses Kusto tables from Azure Monitor Logs. You can query these tables with Log Analytics. For a list of Kusto tables that a dev center uses, see the [Azure Monitor Logs table reference organized by resource type](/azure/azure-monitor/logs/manage-logs-tables).
## Related content
devtest-labs Add Artifact Repository https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/devtest-labs/add-artifact-repository.md
Personal access token for the GitHub or Azure Repos repository.
Whether the artifact repository is a VSOGit (Azure Repos) or GitHub repository. .EXAMPLE
-Set-AzContext -SubscriptionId 11111111-1111-1111-1111-111111111111
+Set-AzContext -SubscriptionId aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e
.\New-DevTestLabArtifactRepository.ps1 -LabName "mydevtestlab" -LabResourceGroupName "mydtlrg" -ArtifactRepositoryName "MyTeam Repository" -RepositoryUri "https://github.com/<myteam>/<nameofrepo>.git" -PersonalAccessToken "1111...." -SourceType "GitHub" .NOTES
devtest-labs Automate Add Lab User https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/devtest-labs/automate-add-lab-user.md
First, create a parameter file (for example: azuredeploy.parameters.json) that p
"contentVersion": "1.0.0.0", "parameters": { "principalId": {
- "value": "11111111-1111-1111-1111-111111111111"
+ "value": "aaaaaaaa-bbbb-cccc-1111-222222222222"
}, "labName": { "value": "MyLab"
New-AzureRmResourceGroupDeployment -Name "MyLabResourceGroup-$(New-Guid)" -Resou
If you plan to use the template several times to add several Active Directory objects to the DevTest Labs User role for your lab, consider using dynamic objects in your PowerShell command. The following example uses the [New-Guid](/powershell/module/Microsoft.PowerShell.Utility/New-Guid) cmdlet to specify the resource group deployment name and role assignment GUID dynamically. ```powershell
-New-AzureRmResourceGroupDeployment -Name "MyLabResourceGroup-$(New-Guid)" -ResourceGroupName 'MyLabResourceGroup' -TemplateFile .\azuredeploy.json -roleAssignmentGuid "$(New-Guid)" -labName "MyLab" -principalId "11111111-1111-1111-1111-111111111111"
+New-AzureRmResourceGroupDeployment -Name "MyLabResourceGroup-$(New-Guid)" -ResourceGroupName 'MyLabResourceGroup' -TemplateFile .\azuredeploy.json -roleAssignmentGuid "$(New-Guid)" -labName "MyLab" -principalId "aaaaaaaa-bbbb-cccc-1111-222222222222"
``` ## Use Azure PowerShell
devtest-labs Configure Shared Image Gallery https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/devtest-labs/configure-shared-image-gallery.md
You can use an ARM template to attach a shared image gallery to your lab. You ne
"name":"myGallery", "type":"sharedGalleries", "properties": {
- "galleryId":"/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/mySharedGalleryRg/providers/Microsoft.Compute/galleries/mySharedGallery",
+ "galleryId":"/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/mySharedGalleryRg/providers/Microsoft.Compute/galleries/mySharedGallery",
"allowAllImages": "Enabled" } }
devtest-labs Devtest Lab Grant User Permissions To Specific Lab Policies https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/devtest-labs/devtest-lab-grant-user-permissions-to-specific-lab-policies.md
$policyRoleDef = (New-AzRoleDefinition -Role $policyRoleDef)
## Assigning permissions to a user for a specific policy using custom roles Once youΓÇÖve defined your custom roles, you can assign them to users. In order to assign a custom role to a user, you must first obtain the **ObjectId** representing that user. To do that, use the **Get-AzADUser** cmdlet.
-In the following example, the **ObjectId** of the *SomeUser* user is 05DEFF7B-0AC3-4ABF-B74D-6A72CD5BF3F3.
+In the following example, the **ObjectId** of the *SomeUser* user is aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb.
```azurepowershell PS C:\>Get-AzADUser -SearchString "SomeUser" DisplayName Type ObjectId -- - --
-someuser@hotmail.com 05DEFF7B-0AC3-4ABF-B74D-6A72CD5BF3F3
+someuser@hotmail.com aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
``` Once you have the **ObjectId** for the user and a custom role name, you can assign that role to the user with the **New-AzRoleAssignment** cmdlet: ```azurepowershell
-PS C:\>New-AzRoleAssignment -ObjectId 05DEFF7B-0AC3-4ABF-B74D-6A72CD5BF3F3 -RoleDefinitionName "Policy Contributor" -Scope /subscriptions/<SubscriptionID>/resourceGroups/<ResourceGroupName>/providers/Microsoft.DevTestLab/labs/<LabName>/policySets/default/policies/AllowedVmSizesInLab
+PS C:\>New-AzRoleAssignment -ObjectId aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb -RoleDefinitionName "Policy Contributor" -Scope /subscriptions/<SubscriptionID>/resourceGroups/<ResourceGroupName>/providers/Microsoft.DevTestLab/labs/<LabName>/policySets/default/policies/AllowedVmSizesInLab
``` In the previous example, the **AllowedVmSizesInLab** policy is used. You can use any of the following policies:
devtest-labs Devtest Lab Integrate Ci Cd https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/devtest-labs/devtest-lab-integrate-ci-cd.md
- Title: Integrate Azure DevTest Labs into Azure Pipelines
-description: Learn how to integrate Azure DevTest Labs into Azure Pipelines continuous integration and delivery (CI/CD) pipelines.
---- Previously updated : 12/28/2021--
-# Integrate DevTest Labs into Azure Pipelines
-
-You can use the Azure DevTest Labs Tasks extension to integrate Azure DevTest Labs into Azure Pipelines continuous integration and delivery (CI/CD) pipelines. The extension installs several tasks into Azure Pipelines, including:
--- Create a virtual machine (VM)-- Create a custom image from a VM-- Delete a VM-
-These tasks make it easy to, for example, quickly deploy a *golden image* VM, run a specific test, and then delete the VM.
-
-This article shows how to use Azure DevTest Labs Tasks to create and deploy a VM, create a custom image, and then delete the VM, all in one release pipeline. You'd ordinarily perform these tasks separately in your own build, test, and deployment pipelines.
--
-## Prerequisites
--- In the Azure portal, [create a DevTest Labs lab](devtest-lab-create-lab.md), or use an existing one.-- Register or sign into your [Azure DevOps Services](https://dev.azure.com) organization, and [create a project](/vsts/organizations/projects/create-project), or use an existing project.-- Install the Azure DevTest Labs Tasks extension from Visual Studio Marketplace:
-
- 1. Go to [Azure DevTest Labs Tasks](https://marketplace.visualstudio.com/items?itemName=ms-azuredevtestlabs.tasks).
- 1. Select **Get it free**.
- 1. Select your Azure DevOps Services organization from the dropdown list, and then select **Install**.
-
-## Create a template to build a lab VM
-
-First, construct an Azure Resource Manager (ARM) template that creates a lab VM on demand.
-
-1. In your lab in the Azure portal, select **Add** in the top menu bar.
-1. On the **Choose a base** screen, select a Windows base image for the VM.
-1. On the **Create lab resource** screen, under **Artifacts**, select **Add or Remove Artifacts**.
-1. On the **Add artifacts** screen, search for *winrm*, and then select the arrow next to **Configure WinRM**.
-1. On the **Add artifact** pane, enter a fully qualified domain name (FQDN) for the VM, such as `contosolab00000000000000.westus3.cloudapp.azure.com`. Select **OK**, and then select **OK** again.
-1. Select the **Advanced Settings** tab, and for **IP Address**, select **Public**.
- > [!NOTE]
- > If you use the WinRM artifact with a shared IP address, you must add a network address translation (NAT) rule to map an external port to the WinRM port. You don't need the NAT rule if you create the VM with a public IP address. For this walkthrough, create the VM with a public IP address.
-1. Select **View ARM template**.
-1. Copy the template code and save it as a file named *CreateVMTemplate.json* in your local source control branch.
-1. Check in the template to your project's source control system.
-
-For more information and details, see [Use a Resource Manager template](devtest-lab-use-resource-manager-template.md).
-
-## Create a script to get VM properties
-
-Next, create a script to collect the values that task steps like **Azure File Copy** and **PowerShell on Target Machines** use to deploy apps to VMs. You'd ordinarily use these tasks to deploy your own apps to your Azure VMs. The tasks require values such as the VM resource group name, IP address, and FQDN.
--
-Save the following script with a name like *GetLabVMParams.ps1*, and check it in to your project's source control system.
-
-```powershell
-Param( [string] $labVmId)
-
-$labVmComputeId = (Get-AzResource -Id $labVmId).Properties.ComputeId
-
-# Get lab VM resource group name
-$labVmRgName = (Get-AzResource -Id $labVmComputeId).ResourceGroupName
-
-# Get the lab VM Name
-$labVmName = (Get-AzResource -Id $labVmId).Name
-
-# Get lab VM public IP address
-$labVMIpAddress = (Get-AzPublicIpAddress -ResourceGroupName $labVmRgName -Name $labVmName).IpAddress
-
-# Get lab VM FQDN
-$labVMFqdn = (Get-AzPublicIpAddress -ResourceGroupName $labVmRgName -Name $labVmName).DnsSettings.Fqdn
-
-# Set a variable labVmRgName to store the lab VM resource group name
-Write-Host "##vso[task.setvariable variable=labVmRgName;]$labVmRgName"
-
-# Set a variable labVMIpAddress to store the lab VM Ip address
-Write-Host "##vso[task.setvariable variable=labVMIpAddress;]$labVMIpAddress"
-
-# Set a variable labVMFqdn to store the lab VM FQDN name
-Write-Host "##vso[task.setvariable variable=labVMFqdn;]$labVMFqdn"
-```
-
-## Create a release pipeline in Azure Pipelines
-
-Next, create the release pipeline in Azure Pipelines. The pipeline tasks use the values you assigned to the VM when you created the ARM template.
-
-1. From your Azure DevOps Services project page, select **Pipelines** > **Releases** from the left navigation.
-1. Select **New pipeline**.
-1. In the **Select a template** pane, select **Empty job**.
-1. Close the **Stage** pane.
-1. On the **New release pipeline** page, select the **Variables** tab.
-1. Select **Add**, and enter the following **Name** and **Value** pairs, selecting **Add** after adding each one.
- - *vmName*: The VM name you assigned in the ARM template.
- - *userName*: The username to access the VM.
- - *password*: Password for the username. Select the lock icon to hide and secure the password.
-
-### Add an artifact
-
-1. On the new release pipeline page, on the **Pipeline** tab, select **Add an artifact**.
-1. On the **Add an artifact pane**, select **Azure Repo**.
-1. In the **Project** list, select your DevOps project.
-1. In the **Source (repository)** list, select your source repo.
-1. In the **Default branch** list, select the branch to check out.
-1. Select **Add**.
-
-### Create a DevTest Labs VM
-
-The next step creates a golden image VM to use for future deployments. This step uses the **Azure DevTest Labs Create VM** task.
-
-1. On the new release pipeline page, on the **Pipeline** tab, select the hyperlinked text in **Stage 1**.
-1. In the left pane, select the plus sign **+** next to **Agent job**.
-1. Under **Add tasks** in the right pane, search for and select **Azure DevTest Labs Create VM**, and select **Add**.
-1. In the left pane, select the **Create Azure DevTest Labs VM** task.
-1. In the right pane, fill out the form as follows:
-
- - **Azure RM Subscription**: Select your service connection or subscription from the dropdown list, and select **Authorize** if necessary.
- > [!NOTE]
- > For information about creating a more restricted permissions connection to your Azure subscription, see [Azure Resource Manager service endpoint](/azure/devops/pipelines/library/service-endpoints#sep-azure-resource-manager).
- - **Lab**: Select your DevTest Labs lab name.
- - **Virtual Machine Name**: the variable you specified for your virtual machine name: *$vmName*.
- - **Template**: Browse to and select the template file you checked in to your project repository.
- - **Parameters File**: If you checked a parameters file into your repository, browse to and select it.
- - **Parameter Overrides**: Enter `-newVMName '$(vmName)' -userName '$(userName)' -password '$(password)'`.
- - Drop down **Output Variables**, and under **Reference name**, enter the variable for the created lab VM ID. Let's enter *vm* for **Reference name** for simplicity. **labVmId** will be an attribute of this variable and will be referred to later as *$vm.labVmId*. If you use any other name, then remember to use it accordingly in the subsequent tasks.
-
- Lab VM ID will be in the following form: `/subscriptions/{subscription Id}/resourceGroups/{resource group Name}/providers/Microsoft.DevTestLab/labs/{lab name}/virtualMachines/{vmName}`.
-
-### Collect the details of the DevTest Labs VM
-
-Next, the pipeline runs the script you created to collect the details of the DevTest Labs VM.
-
-1. On the release pipeline **Tasks** tab, select the plus sign **+** next to **Agent job**.
-1. Under **Add tasks** in the right pane, search for and select **Azure PowerShell**, and select **Add**.
-1. In the left pane, select the **Azure PowerShell script: FilePath** task.
-1. In the right pane, fill out the form as follows:
- - **Azure Subscription**: Select your service connection or subscription.
- - **Script Type**: Select **Script File Path**.
- - **Script Path**: Browse to and select the PowerShell script that you checked in to your source code repository. You can use built-in properties to simplify the path, for example: `$(System.DefaultWorkingDirectory/Scripts/GetLabVMParams.ps1`.
- - **Script Arguments**: Enter the value as **-labVmId $(vm.labVmId)**.
-
-The script collects the required values and stores them in environment variables within the release pipeline, so you can refer to them in later steps.
-
-### Create a VM image from the DevTest Labs VM
-
-The next task creates an image of the newly deployed VM in your lab. You can use the image to create copies of the VM on demand to do developer tasks or run tests.
-
-1. On the release pipeline **Tasks** tab, select the plus sign **+** next to **Agent job**.
-1. Under **Add tasks**, select **Azure DevTest Labs Create Custom Image**, and select **Add**.
-1. In the left pane, select the **Azure DevTest Labs Create Custom Image** task.
-1. In the right pane, fill out the form as follows:
- - **Azure RM Subscription**: Select your service connection or subscription.
- - **Lab**: Select your lab.
- - **Custom Image Name**: Enter a name for the custom image.
- - **Description**: Enter an optional description to make it easy to select the correct image.
- - **Source Lab VM**: The source **labVmId**. Enter the value as **$(vm.labVmId)**.
- - **Output Variables**: You can edit the name of the default Custom Image ID variable if necessary.
-
-### Deploy your app to the DevTest Labs VM (optional)
-
-You can add tasks to deploy your app to the new DevTest Labs VM. If you only want to experiment with creating a DevTest Labs VM and a custom image, without deploying an app, you can skip this step.
-
-The tasks you usually use to deploy apps are **Azure File Copy** and **PowerShell on Target Machines**. You can find the VM information you need for the task parameters in three configuration variables named **labVmRgName**, **labVMIpAddress**, and **labVMFqdn** within the release pipeline.
-
-### Delete the VM
-
-The final task is to delete the VM that you deployed in your lab. You'd ordinarily delete the VM after you do the developer tasks or run the tests that you need on the deployed VM.
-
-1. On the release pipeline **Tasks** tab, select the plus sign **+** next to **Agent job**.
-1. Under **Add tasks**, select **Azure DevTest Labs Delete VM**, and select **Add**.
-1. Configure the task as follows:
- - **Azure RM Subscription**: Select your service connection or subscription.
- - **Lab**: Select your lab.
- - **Virtual Machine**: Enter the value as **$(vm.labVmId)**.
- - **Output Variables**: Under **Reference name**, if you changed the default name of the **labVmId** variable, enter it here. The default value is **$(labVmId)**.
-
-### Save the release pipeline
-
-To save the new release pipeline:
-
-1. Select **New release pipeline** at the top of the release pipeline page, and enter a new name for the pipeline.
-1. Select **Save** at upper right.
-
-## Create and run a release
-
-To create and run a release using the new pipeline:
-
-1. On the release pipeline page, select **Create release** at upper right.
-1. Under **Artifacts**, select the latest build, and then select **Create**.
-
-At each release stage, you can refresh the view of your lab in the Azure portal to see the VM creation, image creation, and VM deletion.
-
-You can use the custom image to create VMs whenever you need them.
-
-## Next steps
-- Learn how to [Create multi-VM environments with ARM templates](devtest-lab-create-environment-from-arm.md).-- Explore more quickstart ARM templates for DevTest Labs automation from the [public DevTest Labs GitHub repo](https://github.com/Azure/azure-quickstart-templates).-- If necessary, see [Azure Pipelines troubleshooting](/azure/devops/pipelines/troubleshooting).
-
devtest-labs Integrate Environments Devops Pipeline https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/devtest-labs/integrate-environments-devops-pipeline.md
- Title: Integrate DevTest Labs environments into Azure Pipelines
-description: Learn how to integrate Azure DevTest Labs environments into Azure Pipelines continuous integration (CI) and continuous delivery (CD) pipelines.
--- Previously updated : 11/17/2021---
-# Integrate DevTest Labs environments into Azure Pipelines
-
-You can use the Azure DevTest Labs Tasks extension to integrate Azure DevTest Labs into Azure Pipelines. In this article, you use the extension to create and deploy an environment, and then delete the environment, all in one pipeline. You can use the environment to integrate your Azure Pipelines continuous integration/continuous delivery (CI/CD) release pipelines with Azure DevTest Labs.
-
-The Azure DevTest Labs Tasks extension adds the following tasks to Azure Pipelines:
--- Create an Environment-- Delete an Environment-
-These tasks make it easy to quickly deploy an [environment](devtest-lab-test-env.md) for a specific test, and then delete the environment when you finish the test. You'd ordinarily do the environment creation and deletion separately in your own pipelines.
-
-For information about other extension tasks like creating VMs and custom images, see [Integrate DevTest Labs into Azure Pipelines](devtest-lab-integrate-ci-cd.md).
-
-## Prerequisites
--- In the Azure portal, [create a DevTest Labs lab](devtest-lab-create-lab.md), or use an existing lab. Make sure your lab is configured to use **Public Environment**, which is turned on by default.-- Register or sign into your [Azure DevOps Services](https://dev.azure.com) organization, and [create a project](/vsts/organizations/projects/create-project), or use an existing project.-- Install the [Azure DevTest Labs Tasks](https://marketplace.visualstudio.com/items?itemName=ms-azuredevtestlabs.tasks) extension from Visual Studio Marketplace into your Azure DevOps Services organization.-
-## Create a release pipeline and environment
-
-1. In your Azure DevOps project, select **Releases** under the **Pipelines** section.
-1. Select **New pipeline**.
-1. **Select a template** on the right shows a list of templates for common deployment patterns. Select the **Empty job** link at the top of the page.
-1. On the **New release pipeline** page, drop down **Tasks** in the toolbar and select **Stage 1**.
-
- :::image type="content" source="./media/integrate-environments-devops-pipeline/new-release-pipeline-stage.png" alt-text="Screenshot that shows opening the pipeline release stage." border="false":::
-
-1. Select the plus sign **+** next to **Agent job**.
-1. Under **Add tasks**, search for and select **Azure DevTest Labs Create Environment**, and then select **Add**.
-1. On the left, select the **Azure DevTest Labs Create Environment** task.
-1. Fill out the **Azure DevTest Labs Create Environment (Preview)** form as follows:
-
- :::image type="content" source="./media/integrate-environments-devops-pipeline/new-release-pipeline-environment.png" alt-text="Screenshot shows the fields needed for Azure Pipelines environment for Azure DevTest Labs." border="false":::
-
- - **Azure RM Subscription**: Select your connection or Azure subscription from the dropdown list.
- > [!NOTE]
- > For information about creating a more restricted permissions connection to your Azure subscription, see [Azure Resource Manager service endpoint](/azure/devops/pipelines/library/service-endpoints#sep-azure-resource-manager).
-
- - **Lab**: Select the lab name you want to deploy against. You can also use a variable, `$(labName)`. Manually entering the name causes failure. Select the name from the dropdown list.
-
- - **Environment Name**: Enter the name of the environment to create in the lab.
-
- - **Repository**: Select the source code repository that contains the template.
-
- You can choose the default repository, **Public Environment Repo**, or another repository that contains the template you want to use. Repositories are designated in the lab policies. Manually entering the friendly name causes failures. Select the name from the dropdown list.
-
- - **Template**: Select the template to use to create the environment. Manually entering the friendly name cause failures. Select the name from the dropdown list.
-
- - **Parameters File**: Browse to the location of a saved parameters file.
-
- - **Parameter Overrides**: Pass custom parameters to the environment.
-
- You can use either **Parameters File**, **Parameter Overrides**, or both to set parameter values. For example, you can use these fields to pass the encrypted password. You can also use variables to avoid passing secret information in the logs, and even connect to Azure Key Vault.
-
-## Delete the environment
-
-The final pipeline stage is to delete the environment that you deployed. You'd ordinarily delete the environment after doing the developer tasks or running the tests on the deployed resources.
-
-1. In the release pipeline, select the plus sign **+** next to **Agent job**.
-1. In the **Add tasks** window, search for and add **Azure DevTest Labs Delete Environment**.
-1. On the left, select the **Azure DevTest Labs Delete Environment** task.
-1. Fill out the form as follows:
-
- - **Azure RM Subscription**: Select your connection or subscription.
- - **Lab**: Select the lab where the environment exists.
- - **Environment Name**: Select the name of the environment to delete.
-
-1. Select **New release pipeline** at the top of the release pipeline page, and enter a new name for the pipeline.
-1. Select **Save** at upper right.
-
-## Next steps
--- Learn how to [Create multi-VM environments with ARM templates](devtest-lab-create-environment-from-arm.md).-- Explore more quickstart ARM templates for DevTest Labs automation from the [public DevTest Labs GitHub repo](https://github.com/Azure/azure-quickstart-templates).-- If necessary, see [Azure Pipelines troubleshooting](/azure/devops/pipelines/troubleshooting).
event-grid Overview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/event-grid/overview.md
Event Grid offers a rich mixture of features. These features include:
- **High throughput** - Build high-volume integrated solutions with Event Grid. - **Custom domain names** - Allows users to assign their own domain names to Event Grid namespace's HTTP endpoints, enhancing security and simplifying client configuration.
-> [!NOTE]
-> **Regarding TLS 1.0 / 1.1 deprecation**: For system topics, you need to take action only for the event delivery to webhook destinations. If the destination supports TLS 1.2, the event delivery happens using 1.2. If the destination doesn't support TLS 1.2, the event delivery automatically falls back to 1.0 and 1.1. Post Oct 31st 2024, event delivery using 1.0 and 1.1 won't be supported. Ensure that your webhook destinations support TLS 1.2. One easy way to check for TLS 1.2 support is to use [Qualys SSL Labs](https://www.ssllabs.com/ssltest/). If the report shows that TLS 1.2 is supported, no action is required. For more information, see the following blog post: [Retirement: Upcoming TLS changes for Azure Event Grid](https://azure.microsoft.com/updates/v2/TLS-changes-for-Azure-Event-Grid)
## Use cases
You can configure **private links** to connect to Azure Event Grid to **publish
Here's the list of regions where the new MQTT broker and namespace topics features are available:
-| | | | |
+| Region | Region | Region | Region |
| -- | -- | -- | -- | | Australia East | Australia South East | Australia Central |Australia Central 2 | | Brazil South | Brazil Southeast | Canada Central | Canada East |
event-grid Sdk Overview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/event-grid/sdk-overview.md
ms.devlang: csharp
Event Grid provides SDKs that enable you to programmatically manage your resources and post events.
-> [!NOTE]
-> **Regarding TLS 1.0 / 1.1 deprecation**: For system topics, you need to take action only for the event delivery to webhook destinations. If the destination supports TLS 1.2, the event delivery happens using 1.2. If the destination doesn't support TLS 1.2, the event delivery automatically falls back to 1.0 and 1.1. Post Oct 31st 2024, event delivery using 1.0 and 1.1 won't be supported. Ensure that your webhook destinations support TLS 1.2. One easy way to check for TLS 1.2 support is to use [Qualys SSL Labs](https://www.ssllabs.com/ssltest/). If the report shows that TLS 1.2 is supported, no action is required. For more information, see the following blog post: [Retirement: Upcoming TLS changes for Azure Event Grid](https://azure.microsoft.com/updates/v2/TLS-changes-for-Azure-Event-Grid)
## Management SDKs
event-hubs Monitor Event Hubs Reference https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/event-hubs/monitor-event-hubs-reference.md
Azure Event Hubs now has the capability to dispatch logs to either of two destin
:::image type="content" source="media/monitor-event-hubs-reference/destination-table-toggle.png" alt-text="Screenshot of dialog box to set destination table." lightbox="media/monitor-event-hubs-reference/destination-table-toggle.png":::
-Azure Event Hubs uses Kusto tables from Azure Monitor Logs. You can query these tables with Log Analytics. For a list of Kusto tables the service uses, see [Azure Monitor Logs table reference](/azure/azure-monitor/reference/tables/tables-resourcetype#event-hubs).
+Azure Event Hubs uses Kusto tables from Azure Monitor Logs. You can query these tables with Log Analytics.
You can view our sample queries to get started with different log categories.
expressroute Expressroute Locations https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/expressroute/expressroute-locations.md
The following table shows locations by service provider. If you want to view ava
| **[FarEasTone](https://www.fetnet.net/corporate/en/Enterprise.html)** | &check; | &check; | Taipei | | **[Fastweb](https://www.fastweb.it/grandi-aziende/dati-voce/scheda-prodotto/fast-company/)** | &check; |&check; | Milan | | **[Fibrenoire](https://fibrenoire.ca/en/services/cloudextn-2/)** | &check; | &check; | Montreal<br/>Quebec City<br/>Toronto2 |
-| **[Flo Networks](https://flo.net/)** | &check; | &check; | Dallas<br/>Los Angeles<br/>Miami<br/>Queretaro(Mexico City)<br/>Sao Paulo<br/>Washington DC<br/>**Locations are listed under Neurtrona Networks and Transtelco as providers for circuit creation* |
+| **[Flo Networks](https://flo.net/)** | &check; | &check; | Dallas<br/>Los Angeles<br/>Miami<br/>Queretaro(Mexico City)<br/>Sao Paulo<br/>Washington DC<br/>**Locations are listed under Neutrona (company name is Neutrona Networks) Networks and Transtelco as providers for circuit creation* |
| **[GBI](https://www.gbiinc.com/microsoft-azure/)** | &check; | &check; | Dubai2<br/>Frankfurt | | **[GÉANT](https://www.geant.org/Networks)** | &check; | &check; | Amsterdam<br/>Amsterdam2<br/>Dublin<br/>Frankfurt<br/>Madrid2<br/>Marseille | | **[GlobalConnect](https://www.globalconnect.no/)** | &check; | &check; | Amsterdam<br/>Copenhagen<br/>Oslo<br/>Stavanger<br/>Stockholm |
If you're remote and don't have fiber connectivity, or you want to explore other
| **[Gtt Communications Inc](https://www.gtt.net)** |Equinix | Washington DC | | **[Gulf Bridge International](https://gbiinc.com/)** | Equinix | Amsterdam | | **[HSO](https://www.hso.co.uk/products/cloud-direct)** |Equinix | London<br/>Slough |
-| **[IVedha Inc](https://ivedha.com/cloud-services)**| Equinix | Toronto |
+| **[IVedha Inc](https://ivedha.com/cloud-managed-services/)**| Equinix | Toronto |
| **[Kaalam Telecom Bahrain B.S.C](https://kalaam-telecom.com/)**| Level 3 Communications |Amsterdam | | **LGA Telecom** |Equinix |Singapore| | **[Macroview Telecom](http://www.macroview.com/en/scripts/catitem.php?catid=solution&sectionid=expressroute)** |Equinix |Hong Kong | **[Macquarie Telecom Group](https://macquariegovernment.com/secure-cloud/secure-cloud-exchange/)** | Megaport | Sydney |
-| **[MainOne](https://www.mainone.net/connectivity-services/cloud-connect/)** |Equinix | Amsterdam |
+| **[MainOne](https://www.facebook.com/mainoneservice/posts/mainones-cloud-connect-service-provides-private-connectivity-between-your-data-c/833475925483185/)** |Equinix | Amsterdam |
| **[Masergy](https://www.masergy.com/sd-wan/multi-cloud-connectivity)** | Equinix | Washington DC | | **[Momentum Telecom](https://gomomentum.com/)** | Equinix<br/>Megaport | Atlanta<br/>Los Angeles<br/>Seattle<br/>Washington DC | | **[MTN](https://www.mtnbusiness.co.za/en/Cloud-Solutions/Pages/microsoft-express-route.aspx)** | Teraco | Cape Town<br/>Johannesburg |
hdinsight-aks Preview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/hdinsight-aks/preview.md
Title: HDInsight on AKS preview information
description: This article explains what public preview mean in HDInsight on AKS. Previously updated : 09/20/2024 Last updated : 10/28/2024 # Microsoft HDInsight on AKS preview information ++ Azure HDInsight on AKS is currently in public preview and may be substantially modified before it's released. Preview online service products and features aren't complete but are made available on a preview basis so that customers can get early access and provide feedback. This article describes the Azure HDInsight on AKS preview state, and provides disclaimers related to preview.
hdinsight Apache Hadoop Deep Dive Advanced Analytics https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/hdinsight/hadoop/apache-hadoop-deep-dive-advanced-analytics.md
There are three scalable machine learning libraries that bring algorithmic model
### Azure Machine Learning and Apache Hive
-[Azure Machine Learning Studio (classic)](https://studio.azureml.net/) provides tools to model predictive analytics, and a fully managed service you can use to deploy your predictive models as ready-to-consume web services. Azure Machine Learning provides tools for creating complete predictive analytics solutions in the cloud to quickly create, test, operationalize, and manage predictive models. Select from a large algorithm library, use a web-based studio for building models, and easily deploy your model as a web service.
+[Azure Machine Learning Studio (classic)](https://ml.azure.com/) provides tools to model predictive analytics, and a fully managed service you can use to deploy your predictive models as ready-to-consume web services. Azure Machine Learning provides tools for creating complete predictive analytics solutions in the cloud to quickly create, test, operationalize, and manage predictive models. Select from a large algorithm library, use a web-based studio for building models, and easily deploy your model as a web service.
### Apache Spark and Deep learning
hdinsight Apache Spark Streaming Overview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/hdinsight/spark/apache-spark-streaming-overview.md
ssc.start()
ssc.awaitTermination() ```
-For details on the Spark Stream API, see [Apache Spark Streaming Programming Guide](https://people.apache.org/~pwendell/spark-releases/latest/streaming-programming-guide.html).
+For details on the Spark Stream API, see [Apache Spark Streaming Programming Guide](https://spark.apache.org/docs/latest/structured-streaming-programming-guide.html).
The following sample application is self-contained, so you can run it inside a [Jupyter Notebook](apache-spark-jupyter-notebook-kernels.md). This example creates a mock data source in the class DummySource that outputs the value of a counter and the current time in milliseconds every five seconds. A new StreamingContext object has a batch interval of 30 seconds. Every time a batch is created, the streaming application examines the RDD produced. Then converts the RDD to a Spark DataFrame, and creates a temporary table over the DataFrame.
After the first minute, there are 12 entries - six entries from each of the two
| 11 | 1497316344339 | 12 | 1497316349361
-The sliding window functions available in the Spark Streaming API include window, countByWindow, reduceByWindow, and countByValueAndWindow. For details on these functions, see [Transformations on DStreams](https://people.apache.org/~pwendell/spark-releases/latest/streaming-programming-guide.html#transformations-on-dstreams).
+The sliding window functions available in the Spark Streaming API include window, countByWindow, reduceByWindow, and countByValueAndWindow. For details on these functions, see [Transformations on DStreams](https://spark.apache.org/docs/latest/structured-streaming-programming-guide.html).
## Checkpointing
The status of all applications can also be checked with a GET request against a
## Next steps * [Create an Apache Spark cluster in HDInsight](../hdinsight-hadoop-create-linux-clusters-portal.md)
-* [Apache Spark Streaming Programming Guide](https://people.apache.org/~pwendell/spark-releases/latest/streaming-programming-guide.html)
+* [Apache Spark Streaming Programming Guide](https://spark.apache.org/docs/latest/structured-streaming-programming-guide.html)
* [Overview of Apache Spark Structured Streaming](apache-spark-structured-streaming-overview.md)
iot-operations Howto Create Dataflow https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-operations/connect-to-cloud/howto-create-dataflow.md
Once you have used the [schema registry to store the schema](concept-schema-regi
```bicep sourceSettings: {
- serializationFormat: Json
- schemaRef: aio-sr://<SCHEMA_NAMESPACE>/<SCHEMA_NAME>:<VERSION>
+ serializationFormat: 'Json'
+ schemaRef: 'aio-sr://<SCHEMA_NAMESPACE>/<SCHEMA_NAME>:<VERSION>'
} ```
Once you have used the [schema registry to store the schema](concept-schema-regi
```yaml sourceSettings: serializationFormat: Json
- schemaRef: aio-sr://<SCHEMA_NAMESPACE>/<SCHEMA_NAME>:<VERSION>
+ schemaRef: 'aio-sr://<SCHEMA_NAMESPACE>/<SCHEMA_NAME>:<VERSION>'
```
Once you [upload a schema to the schema registry](concept-schema-registry.md#upl
```bicep builtInTransformationSettings: {
- serializationFormat: Delta
- schemaRef: aio-sr://<SCHEMA_NAMESPACE>/<SCHEMA>:<VERSION>
+ serializationFormat: 'Delta'
+ schemaRef: 'aio-sr://<SCHEMA_NAMESPACE>/<SCHEMA>:<VERSION>'
} ```
Once you [upload a schema to the schema registry](concept-schema-registry.md#upl
```yaml builtInTransformationSettings: serializationFormat: Delta
- schemaRef: aio-sr://<SCHEMA_NAMESPACE>/<SCHEMA>:<VERSION>
+ schemaRef: 'aio-sr://<SCHEMA_NAMESPACE>/<SCHEMA>:<VERSION>'
```
kubectl get dataflow my-dataflow -o yaml > my-dataflow.yaml
- [Convert data by using dataflows](concept-dataflow-conversions.md) - [Enrich data by using dataflows](concept-dataflow-enrich.md) - [Understand message schemas](concept-schema-registry.md)-- [Manage dataflow profiles](howto-configure-dataflow-profile.md)
+- [Manage dataflow profiles](howto-configure-dataflow-profile.md)
load-balancer Load Balancer Outbound Connections https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/load-balancer/load-balancer-outbound-connections.md
In the example in the following table, a backend instance with private IP 10.0.0
* Fragmented packets are dropped unless outbound is through an instance level public IP on the VM's NIC.
-* Secondary IP configurations of a network interface don't provide outbound communication (unless a public IP is associated to it) via a load balancer.
+* Secondary IPv4 configurations of a network interface are not supported with outbound rules. For outbound connectivity on secondary IPv4 configurations, attach instance level public IPs or leverage NAT Gateway instead.
## Next steps
load-testing How To Schedule Tests https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/load-testing/how-to-schedule-tests.md
+
+ Title: Define schedules on load tests
+
+description: 'Learn how to schedule load tests with Azure Load Testing. Scheduling tests allows you to run tests at a later time or run at a regular cadence.'
++++ Last updated : 10/09/2024+++
+# Define schedules on load tests
+
+In this article, you learn how to schedule load tests with Azure Load Testing. Scheduling tests allows you to run tests at a later time or run at a regular cadence. Azure Load Testing supports adding one schedule to a test. You can add a schedule to a test after creating it.
+
+## Prerequisites
+
+- An Azure account with an active subscription. If you don't have an Azure subscription, create a [free account](https://azure.microsoft.com/free/?WT.mc_id=A261C142F) before you begin.
+- An Azure load testing resource and test. If you need to create an Azure Load Testing resource and test, see the quickstart [Create and run a load test](./quickstart-create-and-run-load-test.md).
+
+## Add a schedule to a test
+
+1. In the Azure portal, navigate to your load testing resource.
+
+2. In the left pane, select **Tests**.
+
+3. Select the test you want to schedule.
+
+4. In the Schedule pane, select **Add schedule**.
+
+5. In the Add schedule pane, configure the following settings:
+
+ | Field | Details |
+ |-||
+ | **Schedule Name** | Enter a name for the schedule. |
+ | **Start date** | Select the date and time when the test should start. |
+ | **Time zone** | Select the time zone for the start date time provided. |
+ | **Recurrence** | Select the frequency at which the test should run. You can choose to run the test once, hourly, daily, weekly, or monthly. Choose cron to specify a custom recurrence pattern. Refer to more settings for each recurrence in the following tables. |
+ | **End**| Select how you want the schedule to end. You can choose to end the schedule after some occurrences or on a specific date. Alternatively, you can choose not to end the schedule. |
+
+ For an hourly recurrence, configure the following settings:
+
+ | Field | Details |
+ |-||
+ | **Every** | Enter the number of hours between each test run. For example if you provide six, the schedule runs every six hours at the time specified in start time. |
+
+ For a daily recurrence, configure the following settings:
+
+ | Field | Details |
+ |-||
+ | **Every** | Enter the number of days between each test run. For example if you provide two, the schedule runs every two days at the time specified in start time. |
+
+ For a weekly recurrence, configure the following settings:
+
+ | Field | Details |
+ |-||
+ | **Every** | Enter the number of weeks between each test run. |
+ | **Days** | Select the days of the week when the test should run. If you provided two weeks and selected Monday, the schedule starts on the Monday after the start date and runs every two weeks at the time specified in start time. |
+
+ For a monthly recurrence, configure the following settings:
+
+ | Field | Details |
+ |-||
+ | **Every** | Enter the number of months between each test run. |
+ | **Pattern** | Select the pattern for the test to run. You can choose **Date** to run the test on a specific date of the month, for example, on every 10th of the month. You can choose **Day** to run the test on a specific day of the week, for example, on the first Friday of the month. |
+
+ For a cron recurrence, configure the following settings:
+
+ | Field | Details |
+ |-||
+ | **Cron expression** | Enter a cron expression to specify the recurrence pattern. For example, `0 0 12 1/1 * ? *` runs the test every day at 12:00 PM. |
+
+6. Select **Add** to add the schedule to the test.
+
+> [!NOTE]
+> If a scheduled test run is in progress when the next scheduled run is due, the next run is skipped. The next run will be scheduled for the next recurrence time.
+
+## View schedules
+
+You can view the schedule in the Schedule pane of the test. The schedule shows the next run time and the status of the schedule. You can have only one schedule in an active, paused, or disabled state. You can add another schedule after the current schedule is completed or deleted.
+
+You can view the trigger for a test run in the **Test runs** grid of the test. The trigger shows as Scheduled for a scheduled test run. You can filter the test runs grid to view only the scheduled test runs.
++
+## Modify a schedule
+
+You can modify the schedule of a test after adding it. You can also pause or resume a schedule.
+
+> [!NOTE]
+> A schedule is disabled if three consecutive test runs of a schedule fail. You can resolve the issues with the test and enable the schedule again from the Schedule pane of the test.
+
+## Next steps
+
+Advance to the next article to learn how to identify performance regressions by defining test fail criteria and comparing test runs.
+
+- [Tutorial: automate regression tests](./quickstart-add-load-test-cicd.md)
+- [Define test fail criteria](./how-to-define-test-criteria.md)
+- [View performance trends over time](./how-to-compare-multiple-test-runs.md)
++++++++
logic-apps Create Single Tenant Workflows Azure Portal https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/create-single-tenant-workflows-azure-portal.md
ms.suite: integration
Previously updated : 09/27/2024 Last updated : 10/26/2024 # Customer intent: As a developer, I want to create my first example Standard logic app workflow that runs in single-tenant Azure Logic Apps using the Azure portal.
By default, your Standard logic app authenticates access to your Azure Storage a
1. [Follow these steps to add the user-assigned managed identity to your Standard logic app resource](authenticate-with-managed-identity.md?tabs=standard#add-user-assigned-identity-to-logic-app-in-the-azure-portal).
-1. If your Standard logic app uses the hosting option named **Workflow Service Plan**, enable runtime scale monitoring:
+1. If your Standard logic app uses the hosting option named **Workflow Service Plan**, enable runtime scale monitoring:
+
+ > [!NOTE]
+ >
+ > If your logic app uses the App Service Environment (ASE) v3 hosting option, skip
+ > the steps for runtime scale monitoring because ASE doesn't support this capability.
1. On the logic app menu, under **Settings**, select **Configuration**.
logic-apps Single Tenant Overview Compare https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/logic-apps/single-tenant-overview-compare.md
ms.suite: integration Previously updated : 09/12/2024 Last updated : 10/26/2024 # Differences between Standard single-tenant logic apps versus Consumption multitenant logic apps
For the **Standard** logic app workflow, these capabilities have changed, or the
* **Azure API Management**: You currently can't import a **Standard** logic app resource into Azure API Management. However, you can import a **Consumption** logic app resource.
-* **Authentication to backend storage**: Single-tenant Azure Logic Apps relies only on storage access keys to connect with the backend Azure Storage account. Alternative authentication methods, such as Microsoft Entra ID (Enterprise ID) and managed identity, currently aren't supported. So, when you deploy an Azure storage account alongside a **Standard** logic app, make sure that you enable storage access keys.
- <a name="firewall-permissions"></a> ## Strict network and firewall traffic permissions
migrate Common Questions Import https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/migrate/common-questions-import.md
+
+ Title: Questions about importing data
+description: Get answers to common questions about importing RVTools XLSX into Azure migrate
++++ Last updated : 10/28/2024++
+# Import VMware servers using RVTools XLSX - Common questions
+
+This article answers common questions about importing servers running in your VMware environment using RVTools XLSX.
+
+### Which sheets and columns are required to import data into Azure Migrate?
+
+The following sheets and columns are necessary for importing all data:
+
+**Sheet** | **Columns**
+ |
+**vInfo** | VM, Powerstate, CPUs, Memory, Provisioned MiB, In use MiB, OS according to the configuration file, VM UUID
+**vPartition** | VM, VM UUID, Capacity MiB, Consumed MiB
+**vMemory** | VM, VM UUID, Size MiB, Reservation
+
+### Will the data import fail if I donΓÇÖt have vPartition and vMemory sheets?
+
+Storage sizing is captured using data from the vPartition and vMemory sheets. If these sheets aren't available, it is taken from the vInfo sheet and this data might be inaccurate.
++
+### My RVTools XLSX import keeps failing. What do I need to do?
+
+Ensure the following:
+
+- There are no manual edits in the RVTools export file. If there are edits, remove them or export a fresh file for importing into Azure Migrate.
+
+- The imported file is set to be readable. Set the file sensitivity to **General** as file sensitivity labels might prevent Azure Migrate from reading the file successfully.
++
+## Next steps
+
+[Learn more](how-to-create-assessment.md) about creating an assessment.
+
+
migrate Tutorial Discover Spring Boot https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/migrate/tutorial-discover-spring-boot.md
After you have performed server discovery and software inventory using the Azure
- | - **Supported Linux OS** | Ubuntu 20.04, RHEL 9 **Hardware configuration required** | 8 GB RAM, with 30 GB storage, 4 Core CPU
- **Network Requirements** | Access to the following endpoints: <br/><br/> *.docker.io <br/></br> *.docker.com <br/><br/>api.snapcraft.io <br/><br/> https://dc.services.visualstudio.com/v2/track <br/><br/> https://legoonboarding.blob.core.windows.net </br></br> [Azure Arc-enabled Kubernetes network requirements](/azure/azure-arc/kubernetes/network-requirements) <br/><br/>[Azure CLI endpoints for proxy bypass](/cli/azure/azure-cli-endpoints)
+ **Network Requirements** | Access to the following endpoints: <br/><br/> *.docker.io <br/></br> *.docker.com <br/><br/>api.snapcraft.io <br/><br/> https://dc.services.visualstudio.com/v2/track <br/><br/> [Azure Arc-enabled Kubernetes network requirements](/azure/azure-arc/kubernetes/network-requirements) <br/><br/>[Azure CLI endpoints for proxy bypass](/cli/azure/azure-cli-endpoints)
After copying the script, you can go to your Linux server, save the script as *Deploy.sh* on the server.
migrate Tutorial Import Vmware Using Rvtools Xlsx https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/migrate/vmware/tutorial-import-vmware-using-rvtools-xlsx.md
description: Learn how to import on-premises servers in a VMware environment by
Previously updated : 03/22/2024 Last updated : 10/10/2024 #Customer intent: As an VMware admin, I want to import my on-premises servers running in a VMware environment.
Before you begin this tutorial, ensure that you have the following prerequisites
- The file format should be XLSX. - File sensitivity is set to **General** or file protection is set to **Any user**. - [Operating system names](../tutorial-discover-import.md#supported-operating-system-names) specified in the RVTools XLSX (preview) file contains and matches the supported names.-- The XLSX file should contain the vInfo & vDisk sheets and the VM, Powerstate, Disks, CPUs, Memory, Provisioned MiB, In use MiB, OS according to the configuration file, VM UUID columns from the vInfo sheet and the VM, Capacity MiB columns from the vDisk sheet should be present.
+- The XLSX file should contain the vInfo, vPartition & vMemory sheets. The columns in these sheets are as follows:
+ - **vInfo** - VM, Powerstate, CPUs, Memory, Provisioned MiB, In use MiB, OS according to the configuration file, VM UUID.
+ - **vPartition** - VM, VM UUID, Capacity MiB, Consumed MiB.
+ - **vMemory** - VM, VM UUID, Size MiB, Reservation.
> [!NOTE] > The number of disks that will be seen in the discovered and assessed machines will be one. However, the total configured and used storage capacity is being considered from the RVTools file import.
migrate Whats New https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/migrate/whats-new.md
ms. Previously updated : 06/07/2024 Last updated : 10/28/2024
[Azure Migrate](migrate-services-overview.md) helps you to discover, assess and migrate on-premises servers, apps, and data to the Microsoft Azure cloud. This article summarizes new releases and features in Azure Migrate.
+## Update (October 2024)
+
+The RVTools XLSX (preview) file import now reads storage data, when available, from vPartition and vMemory (for storage required for unreserved memory) sheets. [Learn more](vmware/tutorial-import-vmware-using-rvtools-xlsx.md#prerequisites).
++ ## Update (April 2024) - Movere: Movere service has been retired on 1st March 2024. Users are requested to use Azure Migrate for the discovery and assessment of on-premises workloads.
network-watcher Network Watcher Agent Update https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/network-watcher/network-watcher-agent-update.md
Run the following commands:
Set-AzVMExtension -ResourceGroupName "myResourceGroup1" -Location "WestUS" -VMName "myVM1" -Name "AzureNetworkWatcherExtension" -Publisher "Microsoft.Azure.NetworkWatcher" -Type "NetworkWatcherAgentLinux" #Windows command
-Set-AzVMExtension -ResourceGroupName "myResourceGroup1" -Location "WestUS" -VMName "myVM1" -Name " AzureNetworkWatcherExtension" -Publisher "Microsoft.Azure.NetworkWatcher" -Type "NetworkWatcherAgentWindows" -ForceRerun "True"
+Set-AzVMExtension -ResourceGroupName "myResourceGroup1" -Location "WestUS" -VMName "myVM1" -Name "AzureNetworkWatcherExtension" -Publisher "Microsoft.Azure.NetworkWatcher" -Type "NetworkWatcherAgentWindows" -ForceRerun "True"
```
network-watcher Nsg Flow Logs Migrate https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/network-watcher/nsg-flow-logs-migrate.md
Previously updated : 09/26/2024 Last updated : 10/28/2024 #CustomerIntent: As an Azure administrator, I want to migrate my network security group flow logs to the new virtual network flow logs so that I can use all the benefits of virtual network flow logs, which overcome some of the network security group flow logs limitations.
In this article, you learn how to migrate your existing network security group f
- An Azure account with an active subscription. [Create an account for free](https://azure.microsoft.com/free/?WT.mc_id=A261C142F). -- PowerShell installed on your machine. For more information, see [Install PowerShell on Windows, Linux, and macOS](/powershell/scripting/install/installing-powershell). This article requires the Az PowerShell module. For more information, see [How to install Azure PowerShell](/powershell/azure/install-azure-powershell). To find the installed version, run `Get-Module -ListAvailable Az`.
+- PowerShell 7 installed on your machine. For more information, see [Install PowerShell on Windows, Linux, and macOS](/powershell/scripting/install/installing-powershell). This article requires the Az PowerShell module. For more information, see [How to install Azure PowerShell](/powershell/azure/install-azure-powershell). To find the installed version, run `Get-Module -ListAvailable Az`.
- Necessary RBAC permissions for the subscriptions of the flow logs and Log Analytics workspaces (if traffic analytics is enabled for any of the network security group flow logs). For more information, see [Network Watcher permissions](required-rbac-permissions.md).
operator-nexus Concepts Storage https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/operator-nexus/concepts-storage.md
status:
### StorageClass: nexus-shared
-In situations where a shared file system is required, the *nexus-shared* storage class is available. This storage class provides a highly available shared storage solution by enabling multiple pods in the same Nexus Kubernetes cluster to concurrently access and share the same volume. The *nexus-shared* storage class is backed by a highly available NFS storage service. This NFS storage service (storage pool currently limited to a maximum size of 1TiB) is available per Cloud Service Network (CSN). The NFS storage service is deployed automatically on creation of a CSN resource. Any Nexus Kubernetes cluster attached to the CSN can provision persistent volumes from this shared storage pool. Nexus-shared supports both Read Write Once (RWO) and Read Write Many (RWX) access modes. What that means is that the workload applications can make use of either of these access modes to access the shared storage.
+In situations where a shared file system is required, the *nexus-shared* storage class is available. This storage class provides a highly available shared storage solution by enabling multiple pods in the same Nexus Kubernetes cluster to concurrently access and share the same volume. The *nexus-shared* storage class is backed by a highly available NFS storage service. This NFS storage service (storage pool currently limited to a maximum size of 1 TiB) is available per Cloud Service Network (CSN). The NFS storage service is deployed automatically on creation of a CSN resource. Any Nexus Kubernetes cluster attached to the CSN can provision persistent volumes from this shared storage pool. Nexus-shared supports both Read Write Once (RWO) and Read Write Many (RWX) access modes. What that means is that the workload applications can make use of either of these access modes to access the shared storage.
<! IMG ![Nexus Shared Volume](Docs/media/nexus-shared-volume.png) IMG > :::image type="content" source="media/nexus-shared-volume.png" alt-text="Diagram depicting how nexus-shared provisions a volume for a workload in Nexus Kubernetes Cluster":::
Although the performance and availability of *nexus-shared* are sufficient for m
#### Read Write Once (RWO)
-In Read Write Once (RWO) mode, the nexus-shared volume can be mounted by only one node or claimant at a time. ReadWriteOnce access mode still allows multiple pods to access the volume when the pods are running on the same node.
+In Read Write Once (RWO) mode, only one node or claimant can mount the nexus-shared volume at a time. ReadWriteOnce access mode still allows multiple pods to access the volume when the pods are running on the same node.
``` apiVersion: v1 items:
items:
#### Read Write Many (RWX)
-In Read Write Many (RWX) mode, the nexus-shared volume can be mounted by multiple nodes or claimants at the same time.
+In the Read Write Many (RWX) mode, multiple nodes or claimants can mount the nexus-shared volume at the same time.
``` apiVersion: v1 items:
items:
``` ### Examples #### Read Write Once (RWO) with nexus-volume storage class
-The below manifest creates a StatefulSet with PersistentVolumeClaimTemplate using nexus-volume storage class in ReadWriteOnce mode.
+This example manifest creates a StatefulSet with PersistentVolumeClaimTemplate using nexus-volume storage class in ReadWriteOnce mode.
``` apiVersion: apps/v1 kind: StatefulSet
spec:
storage: 10Gi storageClassName: nexus-volume ```
-Each pod of the StatefulSet will have one PersistentVolumeClaim created.
+Each pod of the StatefulSet has one PersistentVolumeClaim created.
``` # kubectl get pvc NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
spec:
claimName: test-volume-rwx ... ```
-Once applied, there will be three replicas of the deployment sharing the same PVC.
+Once applied, there are three replicas of the deployment sharing the same PVC.
``` # kubectl get pvc NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
Thu Nov 9 21:51:41 UTC 2023 -- test-deploy-rwx-fdb8f49c-wdgw7
Thu Nov 9 21:51:42 UTC 2023 -- test-deploy-rwx-fdb8f49c-86pv4 ```
+## Volume size limits and capacity management
+
+PVCs created using the nexus-volume and nexus-shared have minimum and maximum claim sizes.
+
+| Storage Class | Minimum PVC Size | Maximum PVC Size |
+||||
+| nexus-volume | 1 MiB | 12 TiB |
+| nexus-shared | None | 1 TiB |
+
+> [!IMPORTANT]
+> Volumes that reach their consumption limit will cause out of disk space errors on the workloads that consume them. You must make sure that you provision suitable volume sizes for your workload requirements. You must monitor both the storage appliance and all NFS servers for their percentage storage consumption. You can do this using the metrics documented in the [list of available metrics](./list-of-metrics-collected.md).
+
+- Both nexus-volume and nexus-shared PVCs have their requested storage capacity enforced as a consumption limit. A volume can't consume more storage than the associated PVC request.
+- All physical volumes are thin-provisioned. You must monitor the total storage consumption on your storage appliance and perform maintenance operations to free up storage space if necessary.
+- A nexus-volume PVC provisioning request fails if the requested size is less than the minimum or more than the maximum supported volume size.
+- Nexus-shared volumes are logically thin-provisioned on the backing NFS server. This NFS server has a fixed capacity of 1 TiB.
+ - A nexus-shared PVC can be provisioned despite requesting more than 1 TiB of storage, however, only 1 TiB can be consumed.
+ - It is possible to provision a set of PVCs where the sum of capacity requests is greater than 1 TiB. However, the consumption limit of 1 TiB applies; the set of associated PVs may not consume more than 1 TiB of storage.
+ ## Storage appliance status The following properties reflect the operational state of a storage appliance:
operator-nexus Reference Nexus Kubernetes Cluster Supported Versions https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/operator-nexus/reference-nexus-kubernetes-cluster-supported-versions.md
Note the following important changes to make before you upgrade to any of the av
|--|-|--| | Volume orchestration connectivity is TLS encrypted | Beginning from 1.28.9-1, 1.28.0-5, 1.27.9-1, 1.27.3-5, 1.26.12-1, 1.26.6-5, 1.25.11-5 and 1.25.6-7 | | | Cluster nodes are Azure Arc-enabled | Beginning from 1.25.6-4, 1.25.11-2, 1.26.3-4, 1.26.6-2, 1.27.1-4, 1.27.3-2 and 1.28.0-2 | |
+| nexus-shared volumes have their capacity attribute enforced as a volume size limit | Beginning from v1.27.13-3, v1.27.9-5, v1.28.11-4, v1.28.12-3, v1.29.6-4, v1.29.7-3, v1.30.3-1 | |
## Upgrading Kubernetes versions
Nexus Kubernetes clusters don't support direct upgrades between LTS versions. To
### How does Microsoft notify me of new Kubernetes versions?
-This document is updated periodically with planned dates of the new Kubernetes versions.
+This document is updated periodically with planned dates of the new Kubernetes versions.
### How often should I expect to upgrade Kubernetes versions to stay in support?
operator-nexus Troubleshoot Enable Node Down Cleaner https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/operator-nexus/troubleshoot-enable-node-down-cleaner.md
- Title: "Azure Operator Nexus: Enable node down cleaner"
-description: Learn how to enable node down cleaner.
---- Previously updated : 12/12/2023---
-# Enable node down cleaner
-
-Azure Operator Nexus introduces a new feature called node down cleaner, which is disabled by default.
-It helps in moving NFS server pods from a failed node to a new node when a Bare Metal Host is powers off through AZ CLI.
-The following procedure enables node down cleaner and is applicable for both green field and brown field environments.
-
-## Prerequisites
--- This article assumes that you've installed the Azure command line interface & the `networkcloud` command line interface extension. For more information, see [How to Install CLI Extensions](./howto-install-cli-extensions.md).-- Logged in to Azure CLI with the correct subscription-- The target bare metal machine power state is on and has readyState set to True-- User must have the appropriate permission assigned to execute the `networkcloud baremetalmachine run-command`-
-## Steps to enable node down cleaner on cluster
-
-The procedure needs to be run against management nodes. To determine which nodes are management nodes, you can run the following Azure CLI `baremetalmachine run-read-command`.
-
-```azurecli
-az networkcloud baremetalmachine run-read-command --name <any-ready-baremetal-machine> \
- --commands "[{command:'kubectl get',arguments:[nodes,-l,platform.afo-nc.microsoft.com/role=control-plane]}]" \
- --limit-time-seconds 60 \
- --resource-group <cluster-managed-resource-group> \
- --subscription <subscription>
-```
-
-Run the following command to enable node down cleaner
-
-```azurecli
-az networkcloud baremetalmachine run-command --bare-metal-machine-name <management-node-baremetal-machine> \
subscription <subscription> \resource-group <cluster-managed-resource-group> \limit-time-seconds 60 \script "IyEvYmluL2Jhc2gKCmt1YmVjdGwgZ2V0IGRlcGxveW1lbnQgLW4gbmMtc3lzdGVtIG5vZGUtZG93
-bi1jbGVhbmVyCgprdWJlY3RsIHNjYWxlIGRlcGxveW1lbnQgLW4gbmMtc3lzdGVtIG5vZGUtZG93
-bi1jbGVhbmVyIC0tcmVwbGljYXM9MQoKa3ViZWN0bCBnZXQgZGVwbG95bWVudCAtbiBuYy1zeXN0
-ZW0gbm9kZS1kb3duLWNsZWFuZXIKCmt1YmVjdGwgZ2V0IHBvZHMgLW4gbmMtc3lzdGVtIC1sIGFw
-cC5rdWJlcm5ldGVzLmlvL25hbWU9bm9kZS1kb3duLWNsZWFuZXIKCg=="
-```
-
-The script executes the following kubectl commands:
-
-```console
-kubectl get deployment -n nc-system node-down-cleaner
-
-kubectl scale deployment -n nc-system node-down-cleaner --replicas=1
-
-kubectl get deployment -n nc-system node-down-cleaner
-
-sleep 5s
-
-kubectl get pods -n nc-system -l app.kubernetes.io/name=node-down-cleaner
-```
-
-On execution of the baremetalmachine run-command, node down cleaner will scale to one replica and its pod should be in running state. The output would look like:
-
-```output
-====Action Command Output====
-NAME READY UP-TO-DATE AVAILABLE AGE
-node-down-cleaner 0/0 0 0 4d9h
-deployment.apps/node-down-cleaner scaled
-NAME READY UP-TO-DATE AVAILABLE AGE
-node-down-cleaner 0/1 1 0 4d9h
-NAME READY STATUS RESTARTS AGE
-node-down-cleaner-xxxxxxxxxxxxxx 1/1 Running 0 5s
-```
oracle Faq Oracle Database Azure https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/oracle/oracle-db/faq-oracle-database-azure.md
Title: Oracle Database@Azure FAQs
-description: Learn answers to frequently ask questions about Oracle Database@Azure
+ Title: FAQ for Oracle Database@Azure
+description: Learn answers to frequently asked questions about Oracle Database@Azure.
Last updated 08/01/2024
-# Oracle Database@Azure FAQs
-This article answers frequently asked questions (FAQs) about the Oracle Database@Azure offering.
+# FAQ for Oracle Database@Azure
+
+In this article, get answers to frequently asked questions about Oracle Database@Azure.
## General
-In this section, we cover general questions about Oracle Database@Azure.
+
+This section answers general questions about Oracle Database@Azure.
### How does Oracle Database@Azure work?
-Oracle Database@Azure is enabled by hosting OCIΓÇÖs infrastructure in Azure and natively integrated with Azure offering low-latency, high-bandwidth connectivity from your mission critical database tier to your application tier and rest of services in Azure. Enterprise critical features like RAC, Data Guard, Golden Gate, managed backups, self-managed RMAN backups, Zero Downtime Migration, on-premises connectivity, and seamless integration with other Azure services are supported. For more information, see [Overview - Oracle Database@Azure | Microsoft Learn](/azure/oracle/oracle-db/database-overview).
-### How is Oracle Database@Azure different from OCI Interconnect and Oracle on Azure VMs?
+Oracle Database@Azure is enabled by hosting the Oracle Cloud Infrastructure (OCI) in Azure. In Oracle Database@Azure, OCI is natively integrated with Azure to offer low-latency, high-bandwidth connectivity from your mission-critical database tier to your application tier and other services in Azure. Enterprise-critical features like Oracle Real Application Clusters (Oracle RAC), Oracle Data Guard, Oracle GoldenGate, managed backups, self-managed Oracle Recovery Manager (RMAN) backups, Oracle Zero Downtime Migration (Oracle ZDM), on-premises connectivity, and seamless integration with other Azure services are supported. For more information, see the [overview of Oracle Database@Azure](/azure/oracle/oracle-db/database-overview).
+
+### How is Oracle Database@Azure different from OCI Interconnect and Oracle on Azure virtual machines?
-- Oracle Database@Azure: Oracle Database@Azure (Oracle Database Service for Azure) is hosted on OCIΓÇÖs infrastructure in Azure datacenters enabling you to host your mission critical Oracle databases closer to your application tier hosted in Azure. Azure virtual network integration with subnet delegation enables private IPs from customer virtual network to serve as database endpoints. This solution is Oracle managed and supported service in Azure.
+- Oracle Database@Azure: Oracle Database@Azure (Oracle Database Service for Azure) is hosted on the OCI infrastructure in Azure datacenters. You can host your mission-critical Oracle databases closer to your application tier hosted in Azure. Azure virtual network integration with subnet delegation enables private IP addresses from customer virtual networks to serve as database endpoints. This solution is Oracle-managed and a supported service in Azure.
-- Oracle on Azure VMs: You can also deploy and self-manage your Oracle workloads on Azure VMs. Specifically, workloads that don't require features like RAC, Smart Scan or Exadata performance are best suited for this operation.
+- Oracle on Azure virtual machines (VMs): You can also deploy and self-manage your Oracle workloads on Azure VMs. Specifically, workloads that don't require features like Oracle RAC, Exadata Smart Scan, or Exadata performance are best suited for this operation.
-- OCI Interconnect: OCI interconnect is used to connect your Oracle deployments in OCI with Applications and services in Azure over OCI FastConnect and Azure ExpressRoute. This typically suits workloads/solutions that can work with the high latency envelope, have dependency on services, features, and functionalities running in both clouds.
+- OCI Interconnect: OCI Interconnect is used to connect your Oracle deployments in OCI with applications and services in Azure via OCI FastConnect and Azure ExpressRoute. This configuration typically suits workloads and solutions that can work with the high-latency envelope and which have dependency on services, features, and functionalities that run in both clouds.
-### Is Oracle Database@Azure available on dedicated infrastructure or is it only available as a shared service? What is the isolation level?
+### Is Oracle Database@Azure available on a dedicated infrastructure or is it available only as a shared service? What is the isolation level?
-There are two services offered as part of Oracle Database@Azure:
+Two services are offered as part of Oracle Database@Azure:
-- Oracle Exadata Database Service on Dedicated Infrastructure runs on Dedicated Exadata infrastructure in Azure. You get dedicated Oracle CPUs (OCPUs) and storage, with isolation being at the node level.
+- Oracle Exadata Database on a dedicated infrastructure runs on a dedicated Exadata infrastructure in Azure. You get dedicated Oracle CPUs (OCPUs) and storage. Isolation is at the node level.
-- Oracle Autonomous Database Serverless is the other Oracle Database service offered at Azure and is on shared Exadata infrastructure.
+- Oracle Autonomous Database is the other Oracle Database service offered at Azure. Autonomous Database is on a shared Exadata infrastructure.
-### What are the Database versions supported on Oracle Database@Azure?
+### What Oracle database versions are supported on Oracle Database@Azure?
-Oracle versions supported on Oracle Cloud Infrastructure (OCI) are supported on Oracle Database@Azure. This includes 11 g to 19c, similar to Exadata Cloud Service in OCI. Versions older than 19c need upgrade support. For more information, see [Oracle Database Releases that Support Direct Upgrade](https://docs.oracle.com/en/database/oracle/oracle-database/18/upgrd/oracle-database-releases-that-support-direct-upgrade.html).
+Oracle versions supported on Oracle Cloud Infrastructure (OCI) are supported on Oracle Database@Azure. These versions include 11g to 19c, similar to Exadata Cloud Service in OCI. Versions earlier than 19c need upgrade support. For more information, see [Oracle Database releases that support direct upgrade](https://docs.oracle.com/en/database/oracle/oracle-database/18/upgrd/oracle-database-releases-that-support-direct-upgrade.html).
-### Do you have any documented benchmark latency-wise between Azure resources and Oracle Database@Azure?
+### Do you have any documented latency benchmark between Azure resources and Oracle Database@Azure?
-Latency between Azure resources and Oracle Database@Azure is within the Azure regional latency envelope as the Exadata infrastructure is within the Azure Data Centers. Latency can be further fine-tuned dependent on colocation within availability zones. For more information, see [What are availability zones?](/azure/reliability/availability-zones-overview?tabs=azure-cli).
+Latency between Azure resources and Oracle Database@Azure is within the Azure regional latency envelope because the Exadata infrastructure is inside Azure datacenters. Latency can be further fine-tuned dependent on colocation within availability zones. For more information, see [What are availability zones?](/azure/reliability/availability-zones-overview?tabs=azure-cli).
-### Does Oracle Database@Azure support deploying Base Database (BD), or do I need to migrate to Autonomous Database service?
+### Does Oracle Database@Azure support deploying Oracle Base Database, or do I need to migrate to the Autonomous Database service?
-No, Base Database isn't currently supported with Oracle Database@Azure. You can deploy single instance self-managed databases on Azure VMs or if you need Oracle managed databases with RAC, we recommend Autonomous Databases via Oracle Database@Azure. For more information, see [Autonomous Database | Oracle](https://www.oracle.com/cloud/azure/oracle-database-at-azure/) and [Provision Oracle Autonomous Databases | Microsoft Learn](provision-autonomous-oracle-databases.md).
+No, Base Database isn't currently supported with Oracle Database@Azure. You can deploy single-instance, self-managed databases on Azure VMs. If you need Oracle-managed databases with Oracle RAC, we recommend that you use Autonomous Database via Oracle Database@Azure. For more information, see [Autonomous Database](https://www.oracle.com/cloud/azure/oracle-database-at-azure/) and [Provision Oracle Autonomous Database](provision-autonomous-oracle-databases.md).
-### For the Oracle Database@Azure service, will the automated DR use Azure backbone or the OCI backbone?
+### For the Oracle Database@Azure service, does automated disaster recovery use the Azure backbone or the OCI backbone?
-BCDR is enabled using the OCI managed offering (Backup and Data Guard) and will use the Azure-OCI backbone.
+Business continuity and disaster recovery (BCDR) are enabled by using the OCI managed offering (Backup and Data Guard). BCDR uses the Azure/OCI backbone.
### How many database servers can be deployed in each rack of Oracle Database@Azure? Is there flexibility in terms of being able to scale up and down as needed from both the consumption and licensing perspective?
-Oracle Database@Azure currently runs on X9M hardware and provides a configuration of a minimum of two database servers and three Storage servers. This constitutes a quarter rack configuration. This configuration can be increased to a limit of 32 database servers and 64 Storage servers. You can scale up and down as needed within the Exadata system depending on your SKU. For more information about configurations, see [Oracle Exadata Database Service on Dedicated Infrastructure Description](https://docs.oracle.com/iaas/exadatacloud/exacs/exa-service-desc.html#ECSCM-GUID-EC1A62C6-DDA1-4F39-B28C-E5091A205DD3). For more specifics, see [Oracle Exadata Cloud Infrastructure X9M Data Sheet](https://www.oracle.com/a/ocom/docs/engineered-systems/exadata/exadata-cloud-infrastructure-x9m-ds.pdf).
+Oracle Database@Azure currently runs on Oracle Exadata X9M hardware and provides a configuration of a minimum of 2 database servers and 3 storage servers. This configuration is called *quarter-rack*. This configuration can be increased to a limit of 32 database servers and 64 storage servers. You can scale up and scale down as needed within the Oracle Exadata system depending on your SKU. For more information about configurations, see [Oracle Exadata Database service on a dedicated infrastructure](https://docs.oracle.com/iaas/exadatacloud/exacs/exa-service-desc.html#ECSCM-GUID-EC1A62C6-DDA1-4F39-B28C-E5091A205DD3). For details, see the [Oracle Exadata Cloud Infrastructure X9M data sheet](https://www.oracle.com/a/ocom/docs/engineered-systems/exadata/exadata-cloud-infrastructure-x9m-ds.pdf).
+
+### What Oracle applications can run on Azure?
+
+Various Oracle applications are authorized and supported to run on Azure. For more information, see [Oracle programs eligible for authorized cloud environments](https://www.oracle.com/us/corporate/pricing/authorized-cloud-environments-3493562.pdf).
+
+### What service-level agreements are available?
-### What Oracle applications are supported to run on Azure?
+For detailed service-level agreements (SLAs), see [Oracle PaaS and IaaS public cloud services pillars](https://www.oracle.com/contracts/docs/paas_iaas_pub_cld_srvs_pillar_4021422.pdf?download=false).
-Various Oracle applications are authorized and supported to be run on Azure. For more information, see [Oracle programs are eligible for Authorized Cloud Environments](https://www.oracle.com/us/corporate/pricing/authorized-cloud-environments-3493562.pdf).
+## Billing and commerce
-### What are the available Service Level Agreements (SLAs)?
+This section includes questions related to billing and commerce for Oracle Database@Azure.
-For detailed Service Level Agreements, refer to the Oracle PaaS and IaaS Public Cloud Services [Pillar Document](https://www.oracle.com/contracts/docs/paas_iaas_pub_cld_srvs_pillar_4021422.pdf?download=false).
+### How much does Oracle Database@Azure cost?
-## Billing and Commerce
-In this section, we cover questions related to billing and commerce for Oracle Database@Azure.
+Oracle Database@Azure is at parity with the Exadata Cloud costs in OCI. For prices, see the [OCI cloud cost estimator](https://www.oracle.com/cloud/costestimator.html). For specific costs for your scenario and environment, contact your Oracle sales team.
-### How much will Oracle Database@Azure cost?
+### Is Oracle Database@Azure eligible for Microsoft Azure Commit to Consume benefits?
-Oracle Database@Azure is at parity with the Exadata Cloud costs in OCI. For list prices, refer to [OCIΓÇÖs Cloud Cost Estimator](https://www.oracle.com/cloud/costestimator.html). For your specific costs tailored to your needs, work with your Oracle sales team.
+Yes, the Oracle Database@Azure offering is Azure eligible for benefits and therefore eligible for Microsoft Azure Commit to Consume (MACC) decrement.
-### Is Oracle Database@Azure eligible for MACC (Microsoft Azure Commit to Consume)?
+### What licensing options are available to deploy Oracle databases by using Oracle Database@Azure?
-Yes, the Oracle Database@Azure offering is Azure benefits eligible and hence eligible for MACC decrement.
+You can bring your own license (BYOL) or provision a license that's included with Oracle databases in Oracle Database@Azure.
-### What licensing options are available to deploy Oracle Databases with Oracle Database@Azure.
+### Can I purchase Oracle Database@Azure even if the service isn't available in my region?
-You can Bring Your Own License (BYOL) or provision License included Oracle databases with Oracle Database@Azure.
+You can purchase the Oracle Database@Azure at any time because it's generally available in multiple regions. However, you can deploy the service in a region only after the service is supported in that region.
-### Can I procure Oracle Database@Azure even if the service isn't available in my region?
+### For Oracle Database@Azure, will automated Oracle Database DBCS disaster recovery incur charges from Azure?
-You can purchase the Oracle Database@Azure anytime as it's Generally Available in multiple regions. However, you can only deploy the service in the region of your choice once it's live.
+BCDR for double-byte character set (DBCS) by using the OCI-managed offering (Oracle Backup and Oracle Data Guard) doesn't incur any more charges from Azure.
-### For the Oracle Database@Azure service, will the automated DBCS DR incur charges from Azure?
+### Does ingress and egress incur any charges for the Oracle Database@Azure service?
-BCDR using the OCI managed offering (Backup and Data Guard) won't incur any more charges from Azure.
+Ingress and egress for managed services occurs via the Azure/OCI backbone and doesn't incur charges. Virtual network traffic is charged at the current price.
-### Does ingress/egress incur any charges for the Oracle Database@Azure service?
+## Onboarding, provisioning, and migrating
-Ingress and Egress for managed services is via Azure OCI backbone and doesn't incur charges. Virtual network traffic is charged at the current price.
+This section includes questions related to onboarding, provisioning, and migrating to Oracle Database@Azure.
-### Can a Cloud Service Provider (CSP) or an Outsourcer (OCA) avail the Oracle Database@Azure Service?
+### Can a CSP or an outsourcer use Oracle Database@Azure?
-No, Oracle Database@Azure does not support Cloud Service Providers, Outsourcer Channel Agreements, or Multi-party private offers (MPPO).
+No. Oracle Database@Azure doesn't support cloud service providers (CSPs), Outsourcer Channel Agreement (OCAs), or multi-party private offers (MPPOs).
-## Onboarding, Provisioning, and Migration
-In this section, we'll cover questions related to onboarding, provisioning, and migration to Oracle Database@Azure.
-### To set up Oracle Database@Azure, what would be the role assignments needed for the Azure user?
+### To set up Oracle Database@Azure, what role assignments does the Azure user need?
-See [Groups and roles for Oracle Database@Azure](/azure/oracle/oracle-db/oracle-database-groups-roles) for the list of role assignments.
+For a list of role assignments, see [Groups and roles for Oracle Database@Azure](/azure/oracle/oracle-db/oracle-database-groups-roles).
-### Can you describe the authentication/authorization standards supported by Oracle Database@Azure?
+### Can you describe the authentication and authorization standards that Oracle Database@Azure supports?
-Oracle Database@Azure is based on SAML and OpenID standards. OCI Oracle Identity and Access Management (IAM) can be federated with Microsoft Entra ID, or other customer used identity providers for OCI Console access for Oracle Database Users.
+Oracle Database@Azure is based on Security Assertion Markup Language (SAML) and OpenID standards. OCI Identity and Access Management (IAM) can be federated with Microsoft Entra ID or with other identity providers for OCI Console access for Oracle database users.
### Where can I find best practices to plan and deploy Oracle Database@Azure?
-To plan and deploy your oracle workloads with Oracle Database@Azure, refer to the [landing zone architecture documentation](/azure/cloud-adoption-framework/scenarios/oracle-iaas/?wt.mc_id=knwlserapi_inproduct_azportal#landing-zone-architecture-for-oracle-databaseazure).
+To plan and deploy your Oracle workloads with Oracle Database@Azure, see the [landing zone architecture documentation](/azure/cloud-adoption-framework/scenarios/oracle-iaas/?wt.mc_id=knwlserapi_inproduct_azportal#landing-zone-architecture-for-oracle-databaseazure).
-### Does Azure have any tools to assist with understanding Oracle database sizing, license usage and TCO for both Oracle Database@Azure and Oracle IaaS?
+### Does Azure have any tools to assist with understanding Oracle database sizing, license usage, and total cost of ownership for both Oracle Database@Azure and Oracle Cloud infrastructure as a service (IaaS)?
-For Oracle Database@Azure, the sizing is managed by Oracle. Contact your Oracle representative for sizing.
+For Oracle Database@Azure, sizing is managed by Oracle. For more information about sizing, contact your Oracle representative.
-For Oracle Database on Azure VMs, we currently have the Oracle Migration Assistance Tool (OMAT). Contact your Microsoft representative for more information.
+For Oracle Database on Azure VMs, we currently offer the Oracle Migration Assistance Tool (OMAT). For more information, contact your Microsoft representative.
-### What tools can be used for database migration? Could you help share other details about licensing and charges for these tools?
+### What tools can I use for database migration? Could you share other details about licensing and charges for these tools?
-There are multiple tools available from Oracle: ZDM, Data Guard, Data pump, GoldenGate, and more. For more information, see [Migrate Oracle workloads to Azure](/azure/cloud-adoption-framework/scenarios/oracle-iaas/oracle-migration-planning?wt.mc_id=knwlserapi_inproduct_azportal#migrate-oracle-workloads-to-azure). Contact your Oracle representative for commercials.
+Multiple tools are available from Oracle, including Oracle ZDM, Oracle Data Guard, Oracle Data Pump, and Oracle GoldenGate. For more information, see [Migrate Oracle workloads to Azure](/azure/cloud-adoption-framework/scenarios/oracle-iaas/oracle-migration-planning?wt.mc_id=knwlserapi_inproduct_azportal#migrate-oracle-workloads-to-azure). For commercial accounts, contact your Oracle representative.
-### When using Oracle GoldenGate for migration, do I need to purchase a GoldenGate license?
+### If I use Oracle GoldenGate to migrate, do I need to purchase a GoldenGate license?
-Yes, and it isn't included in the private offer. Discuss with your Oracle representative on how to enable this service in addition to Oracle Database@Azure.
+Yes. Note that a GoldenGate license isn't included in a private offer. Discuss with your Oracle representative how to enable this service with Oracle Database@Azure.
## Networking
-In this section, we cover questions related to networking for Oracle Database@Azure.
+
+This section includes questions related to networking for Oracle Database@Azure.
### What network patterns and network features are supported with Oracle Database@Azure?
-We support a comprehensive list of connectivity patterns and network features with Oracle Database@Azure and the list evolves as we're continuously releasing new features and capabilities. For more information, see [Network planning for Oracle Database@Azure | Microsoft Learn](oracle-database-network-plan.md).
+We support a comprehensive list of connectivity patterns and network features for Oracle Database@Azure. The list evolves as we continuously release new features and capabilities. For more information, see [Network planning for Oracle Database@Azure](oracle-database-network-plan.md).
-### How does Data Guard traffic between Availability Zones in the same region work?
+### How does Data Guard route traffic between availability zones in the same Azure region work?
-Data Guard network path can be configured while setting it up. For cross zone Data Guard traffic, you have an option to configure the traffic to traverse only the Azure backbone. For cross region traffic however, it must traverse through Azure and OCI network backbone.
+You can configure an Oracle Data Guard network path when you set up your deployment. You can configure *cross-zone* Data Guard traffic to traverse only the Azure backbone. However, *cross-region* traffic must traverse the Azure and OCI network backbones.
### What is the latency impact of using OCI connections?
-None. The OCI connection is primarily utilized for OCI control plane to manage the service and so there's no impact to your Application to DB latencies or any data plane latencies.
+None. The OCI connection is primarily used for the OCI control plane to manage the service. There's no impact on your application-to-database latencies or on any data-plane latencies.
-### How do I achieve low latencies between my application and Database tiers?
+### How do I achieve low latencies between my application tier and my database tier?
-You can deploy your application and database in the same virtual network or a peered virtual networks in the same region and availability zone for lowest possible latencies.
+For the lowest possible latencies, you can deploy your application and database in the same virtual network or in peered virtual networks in the same region and availability zone.
## Management
-In this section, we cover questions related to management for Oracle Database@Azure.
+
+This section includes questions related to management for Oracle Database@Azure.
### Who manages and hosts the data in this partnership with Oracle?
-Oracle will manage and host the data on Oracle Cloud Infrastructure hosted in Azure datacenters. Your data reside within the provisioned Oracle Exadata infrastructure in Azure, and within the Azure Virtual Network boundary.
+Oracle manages and hosts the data on OCI hosted in Azure datacenters. Your data resides in the provisioned Oracle Exadata infrastructure in Azure, and within the Azure Virtual Network boundary.
-In case you enable backup to Azure, that data reside in the respective Azure storage ΓÇô Azure NetApp Files, Blob storage.
+If you enable backup to Azure, the data resides in the respective Azure storage, such as Azure NetApp Files and Azure Blob Storage.
-We ensure compliance with both companiesΓÇÖ data privacy and compliance policies through physical isolation of systems within Azure datacenters and access enforced assignment policies. For more information on compliance, refer to [Overview - Oracle Database@Azure | Microsoft Learn](database-overview.md) or [Oracle compliance website](https://docs.oracle.com/iaas/Content/multicloud/compliance.htm).
+We ensure compliance with both companiesΓÇÖ data privacy and compliance policies through physical isolation of systems in Azure datacenters and through enforced access assignment policies. For more information about compliance, see [Overview of Oracle Database@Azure](database-overview.md) and [Oracle Cloud compliance](https://docs.oracle.com/iaas/Content/multicloud/compliance.htm).
### How is data security managed? Is the data encrypted in transit and at rest?
-Data is encrypted at rest. All traffic between sites, including Oracle Database@Azure infrastructure, is encrypted.
+Data is encrypted at rest. All traffic between sites, including to the Oracle Database@Azure infrastructure, is encrypted.
-### Can Azure Monitor be used to along with Oracle Database@Azure?
+### Can I use Azure Monitor with Oracle Database@Azure?
-Yes, Metrics are published for Exadata Infra, VM cluster and Oracle databases. The database metrics are folded under VM metrics. Custom dashboards can be created on Azure Monitor along with your application monitoring for a unified view.
+Yes. Metrics are published for the Oracle Exadata infrastructure, for VM clusters, and for Oracle databases. The database metrics are listed under VM metrics. You can create custom dashboards for Azure Monitor to use with your application monitoring for a unified view.
### What are the different options for backup on Oracle Database@Azure?
-Automated / managed backups to OCI object storage and self-managed backups using RMAN to Azure NetApp Files (ANF).
+Automated and managed backups to OCI object storage and self-managed backups by using Oracle Database Autonomous Recovery Service to Azure NetApp Files.
-### Is there a way to connect to SAN storage and will this connection be supported?
+### Is there a way to connect to SAN storage, and is this connection supported?
-Oracle Database@Azure service provides customers with dedicated Exadata compute and storage within the Exadata Infrastructure. For other storage options, Azure NetApp Files volumes can be attached to the VMs on the VM clusters.
+Oracle Database@Azure provides customers with dedicated Oracle Exadata compute and storage within the Exadata infrastructure. You also can attach Azure NetApp Files volumes to the VMs on VM clusters.
-### Will we be able to use Azure HSM, or external HSM to encrypt databases? How would customer managed database keys work?
+### Can we use a hardware security module (HSM) in Azure or an external HSM to encrypt databases? How do customer-managed database keys work?
-You can manage keys with Oracle Key Vault. Integration with Azure offerings like HSM and Sentinel are on the roadmap.
+You can manage keys by using Oracle Key Vault. Integration with Microsoft offerings like Azure Dedicated HSM and Microsoft Sentinel are on the roadmap.
### What type of storage redundancy options are available?
-Oracle ASM is the default and only storage management system supported on Exadata systems. Only NORMAL (protection against single disk or an entire storage server failure) and HIGH redundancy (protection against two simultaneous partner disk failures from two distinct storage servers) levels are supported on Exadata systems. For more information, see [Oracle ASM Considerations
-for Exadata Deployments:
-On-premises and Cloud](https://www.oracle.com/docs/tech/database/maa-exadata-asm-cloud.pdf).
-
-### Is tiering storage available for the database within Oracle Database@Azure?
+Oracle Automatic Storage Management (Oracle ASM) is the default and only storage management system that's supported on Oracle Exadata systems. Only NORMAL (protection against single disk or an entire storage server failure) and HIGH redundancy (protection against two simultaneous partner disk failures from two distinct storage servers) levels are supported on Oracle Exadata systems. For more information, see [Oracle ASM considerations
+for Oracle Exadata deployments, on-premises and cloud](https://www.oracle.com/docs/tech/database/maa-exadata-asm-cloud.pdf).
-Tiering storage service is available as part of Oracle Database@Azure. The Exadata storage servers provide three levels of tiering--PMem, NVME Flash, and HDD. Compression and partitioning are recommended as part of a storage tiering design. For more information, see [Oracle Exadata Cloud Infrastructure X9M Data Sheet](https://www.oracle.com/a/ocom/docs/engineered-systems/exadata/exadata-cloud-infrastructure-x9m-ds.pdf).
+### Is tiering storage available for the database in Oracle Database@Azure?
-### Where can I go to get more information about capabilities and features corresponding to Oracle Database@Azure?
+Tiering storage service is available for Oracle Database@Azure. The Oracle Exadata storage servers provide three levels of tiering: PMem, NVME Flash, and HDD. Compression and partitioning are recommended as part of a storage tiering design. For more information, see the [Oracle Exadata Cloud Infrastructure X9M data sheet](https://www.oracle.com/a/ocom/docs/engineered-systems/exadata/exadata-cloud-infrastructure-x9m-ds.pdf).
-For more information about Oracle Database@Azure, see the following resources.
--- [Overview - Oracle Database@Azure](/azure/oracle/oracle-db/database-overview)-- [Provision and manage Oracle Database@Azure](https://docs.oracle.com/en-us/iaas/Content/multicloud/oaaonboard.htm)-- [Oracle Database@Azure support information](https://mylearn.oracle.com/ou/course/oracle-databaseazure-deep-dive/135849)-- [Network planning for Oracle Database@Azure](/training/modules/migrate-oracle-workload-azure-odaa/)-- [Groups and roles for Oracle Database@Azure](https://www.oracle.com/cloud/azure/oracle-database-at-azure/)
+### Where can I get more information about capabilities and features in Oracle Database@Azure?
-## Next steps
+For more information about Oracle Database@Azure, see the following resources:
-- [Overview - Oracle Database@Azure](/azure/oracle/oracle-db/database-overview)-- [Provision and manage Oracle Database@Azure](https://docs.oracle.com/en-us/iaas/Content/multicloud/oaaonboard.htm)-- [Oracle Database@Azure support information](https://mylearn.oracle.com/ou/course/oracle-databaseazure-deep-dive/135849)
+- [Overview of Oracle Database@Azure](/azure/oracle/oracle-db/database-overview)
+- [Provision and manage Oracle Database@Azure](https://docs.oracle.com/iaas/Content/multicloud/oaaonboard.htm)
+- [Support for Oracle Database@Azure](https://mylearn.oracle.com/ou/course/oracle-databaseazure-deep-dive/135849)
- [Network planning for Oracle Database@Azure](/training/modules/migrate-oracle-workload-azure-odaa/) - [Groups and roles for Oracle Database@Azure](https://www.oracle.com/cloud/azure/oracle-database-at-azure/)
oracle Link Oracle Database Multiple Subscription https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/oracle/oracle-db/link-oracle-database-multiple-subscription.md
Title: Link Oracle Database@Azure to multiple Azure subscriptions
-description: Learn about how to link Oracle Database@Azure to multiple Azure subscriptions.
+description: Learn how to link your Oracle Database@Azure resources to multiple Azure subscriptions.
# Link Oracle Database@Azure to multiple Azure subscriptions
-Learn about how to link Oracle Database@Azure to multiple Azure subscriptions.
-You can use Oracle Database@Azure within two or more [Azure subscriptions](/azure/cloud-adoption-framework/ready/azure-setup-guide/organize-resources) within a single Azure account. This feature gives you the ability to isolate projects, environments, and application domains for security and cost allocation, while maintaining a single Azure account for simplified billing and account management. When using two or more Azure subscriptions with Oracle Database@Azure, all Azure subscriptions are linked to the OCI tenancy used for service onboarding.
+In this article, learn how to link your Oracle Database@Azure resources to multiple Azure subscriptions.
+
+You can use Oracle Database@Azure resources in multiple [Azure subscriptions](/azure/cloud-adoption-framework/ready/azure-setup-guide/organize-resources) within a single Azure account. You can isolate projects, environments, and application domains for security and cost allocation while maintaining a single Azure account for simplified billing and account management. When you use two or more Azure subscriptions with Oracle Database@Azure, all Azure subscriptions are linked to the Oracle Cloud Infrastructure (OCI) tenancy that you use to onboard the service instance.
## Prerequisites-- You must onboard with Oracle Database@Azure before you can link Azure subscriptions to the service as described in this article. For more information, see [Onboarding with Oracle Database@Azure](onboard-oracle-database.md).-- Add the ``Oracle.Database`` resource provider to the subscription you're adding to the service. To add the subscription, navigate to the Azure subscription details page, then select Resource providers under Settings. Select ``Oracle.Database`` in the list of providers, then select **Register**.-- Add the ``Microsoft.BareMetal``, ``Microsoft.Network``, and ``Microsoft.Compute`` resources providers to the subscription you're adding to the service. Add these resources from the Azure subscription details page, as you added the ``Oracle.Database`` resource provider described in the preceding prerequisite.
->[!Note]
->You can't provision Oracle Database@Azure resources until these Azure resource providers are registered for the subscription you're adding.
-## How multiple Azure subscriptions work in Oracle Database@Azure
-During Oracle Database@Azure onboarding, you select an Azure subscription to use initially with the service. In this documentation, the subscription selected during onboarding is referred to as the primary subscription for Oracle Database@Azure. After onboarding is complete and your Azure account is linked to your OCI tenancy, the OCI tenancy has a new, automatically created [compartment](https://docs.oracle.com/en-us/iaas/Content/Identity/compartments/managingcompartments.htm) for the management of the service.
+- Oracle Database@Azure is onboarded before you link Azure subscriptions to the service instance.
+
+ For more information, see [Onboard Oracle Database@Azure](onboard-oracle-database.md).
+
+- The following resource providers are added to the subscription that you add to the service instance:
+
+ - Oracle.Database
+ - Microsoft.BareMetal
+ - Microsoft.Network
+ - Microsoft.Compute
+
+ You can't provision Oracle Database@Azure resources until these Azure resource providers are registered for the subscription you add.
+
+ To add a resource provider to a subscription:
+
+ 1. In the Azure portal, go to the Azure subscription that you want to add.
+ 1. In the service menu under **Settings**, select **Resource providers**.
+ 1. In the list of providers, select the resource provider, and then select **Register**.
+
+## Use multiple Azure subscriptions with Oracle Database@Azure
+
+When you onboard Oracle Database@Azure, you select an Azure subscription to initially use with the service instance. In Azure documentation, the subscription you select when you onboard Oracle Database@Azure is called the *primary subscription*.
-When you add more Azure subscriptions to your Oracle Database@Azure service, the service automatically creates a child compartment within the main Oracle Database@Azure compartment created during onboarding. You don't have to do any manual configuration of your OCI tenancy to add more Azure subscriptions to the service.
+When onboarding is complete and your Azure account is linked to your OCI tenancy, a new [compartment](https://docs.oracle.com/iaas/Content/Identity/compartments/managingcompartments.htm) is automatically created for the service instance. When you add an Azure subscription to your Oracle Database@Azure service instance, the service automatically creates a child compartment in the main Oracle Database@Azure compartment that was created in the onboarding process. No manual configuration of your OCI tenancy is required to add more Azure subscriptions.
->[!Important]
-> When adding Azure subscriptions to your Oracle Database@Azure service, the new subscriptions must use the same billing account as the primary Azure subscription selected during service onboarding.
+> [!IMPORTANT]
+> When you add another Azure subscription to your Oracle Database@Azure service instance, the new subscription must use the same billing account as the Azure primary subscription.
-After you add a new Azure subscription to the Oracle Database@Azure service, you can begin provisioning database resources in that subscription. For database systems with more than one component (for example, Exadata systems with an infrastructure resource and a VM cluster resource), all components must be provisioned within the same subscription. When users are working within an Azure subscription, they only see the Oracle Database@Azure resources provisioned within that subscription. Database resources provisioned in other subscriptions aren't visible to the user.
+After you add a new Azure subscription to the Oracle Database@Azure service instance, you can begin provisioning database resources in that subscription. For database systems that have more than one component (for example, an Oracle Exadata system with an infrastructure resource and a virtual machine cluster resource), all components must be provisioned in the same subscription. When a user works in an Azure subscription, they can view only the Oracle Database@Azure resources that are provisioned in that subscription. Database resources that are provisioned in other subscriptions aren't visible to the user.
-## Add an Azure subscription to the Oracle Database@Azure service
+## Add an Azure subscription to your Oracle Database@Azure instance
-1. Sign in to the Azure portal and navigate to the details page of your primary Oracle Database@Azure subscription (this is the subscription selected during onboarding). For more information, see [Filter and view subscriptions](/azure/cost-management-billing/manage/filter-view-subscriptions) in the Azure documentation for details. If you don't know the name of the subscription, ask your Azure account administrator.
-2. On the details page for your Oracle subscription, select **Add subscriptions**.
-3. In the **Add Azure Subscriptions** panel, select one or more subscriptions to add to your service using the **Azure Subscriptions** selector, then select **Add**.
-4. On the details page of the primary Oracle Database@Azure, you can see the number of active subscriptions for the service under **Account management**. When the subscriptions you added are ready for use, you see a **Validated** message in the **Account management** section.
+1. In the Azure portal, go to the details pane of your primary subscription for Oracle Database@Azure (the subscription you selected during onboarding).
+ For more information, see [Filter and view subscriptions](/azure/cost-management-billing/manage/filter-view-subscriptions). If you don't know the name of the subscription, contact your Azure account administrator.
+1. Select **Add subscriptions**.
+1. On the **Add Azure subscriptions** pane, select one or more Azure subscriptions to add to your service instance, and then select **Add**.
+1. On the details pane for the Oracle Database@Azure primary subscription, under **Account management**, the number of active subscriptions for the service instance appears. When the subscription that you added is ready to use with the Oracle Database@Azure instance resources, a status of **Validated** for the subscription is shown.
oracle Onboard Oracle Database https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/oracle/oracle-db/onboard-oracle-database.md
Title: Onboard with Oracle Database@Azure
-description: Learn about onboarding with OracleOracle Database@Azure.
+ Title: "Onboard Oracle Database@Azure"
+description: Learn about purchase and configuration steps to onboard Oracle Database@Azure.
-# Onboard with Oracle Database@Azure
+# Onboard Oracle Database@Azure
-In this article, you learn about the purchase and configuration of Oracle Database@Azure, which is called onboarding.
+In this article, learn about purchase and configuration (*onboarding*) steps for Oracle Database@Azure.
-You perform most onboarding tasks only one time, during your Oracle Database@Azure deployment. After you complete the onboarding tasks, you can begin provisioning and using Oracle Database resources in your Azure environment.
+You complete most onboarding tasks only once, when you create your Oracle Database@Azure deployment. After you complete the onboarding tasks, you can begin provisioning and using Oracle database resources in your Azure environment.
-## Purchase Oracle Database@Azure
+## Purchase options for Oracle Database@Azure
-The exact set of tasks you perform depends on the type of offer you purchase (Pay as You Go or private offer) and the database products you plan to use (Oracle Autonomous Database and Oracle Exadata Database Service). For details on the differences between the Pay as You Go offer and the private offer, see [Purchase Oracle Database@Azure](https://docs.oracle.com/en-us/iaas/Content/database-at-azure/getting-started.htm#oaa_purchasing).
+The set of onboarding tasks you complete depends on the type of offer you purchase (pay-as-you-go or a private offer) and the database products you plan to use (Oracle Autonomous Database or Oracle Exadata). For more information about the differences between a pay-as-you-go offer and a private offer, see [Purchase Oracle Database@Azure](https://docs.oracle.com/iaas/Content/database-at-azure/getting-started.htm#oaa_purchasing).
-Most of the onboarding tasks apply to all deployments. For tasks (or task sections) that depend on offer type or Oracle Database product, the documentation explains which tasks need to be completed for which scenarios.
+Most Oracle Database@Azure onboarding tasks apply to all deployments. If a task is based on an offer type or on the Oracle database product you choose, specific requirements for that scenario are identified in the Azure documentation.
-Onboarding uses both the Azure portal and the OCI Console.
+When you set up an instance of Oracle Database@Azure, you use both the Azure portal and the Oracle Cloud Infrastructure (OCI) console.
-## Steps to onboard with Oracle Database@Azure
+## Steps to onboard Oracle Database@Azure
-1. [Prerequisites](https://docs.oracle.com/en-us/iaas/Content/database-at-azure/getting-started.htm#oaa_prerequisites)
-1. [Accept Private Offer](https://docs.oracle.com/en-us/iaas/Content/database-at-azure/oaaonboard-task-2.htm#oaaonboard_task_2) (private offer purchases only)
-1. [Purchase Offer](https://docs.oracle.com/en-us/iaas/Content/database-at-azure/oaaonboard-task-3.htm#oaaonboard_task_3)
-1. [Link an OCI Account](https://docs.oracle.com/en-us/iaas/Content/database-at-azure/oaaonboard-task-4.htm#oaaonboard_task_4)
-1. [Register with My Oracle Support](https://docs.oracle.com/en-us/iaas/Content/database-at-azure/oaaonboard-task-5.htm)
-1. [Find the Azure Availability Zone Mapping](https://docs.oracle.com/en-us/iaas/Content/database-at-azure/oaaonboard-task-6.htm#oaaonboard_task_6) (optional)
-1. [Set Up Role Based Access Control](https://docs.oracle.com/en-us/iaas/Content/database-at-azure/oaaonboard-task-7.htm#oaaonboard_task_7)
-1. [Set Up Identity Federation](https://docs.oracle.com/en-us/iaas/Content/database-at-azure/oaaonboard-task-8.htm#oaaonboard_task_8) (optional)
+1. [Prerequisites](https://docs.oracle.com/iaas/Content/database-at-azure/getting-started.htm#oaa_prerequisites)
+1. [Accept a private offer](https://docs.oracle.com/iaas/Content/database-at-azure/oaaonboard-task-2.htm#oaaonboard_task_2) (private offer purchases only)
+1. [Purchase an offer](https://docs.oracle.com/iaas/Content/database-at-azure/oaaonboard-task-3.htm#oaaonboard_task_3)
+1. [Link an OCI account](https://docs.oracle.com/iaas/Content/database-at-azure/oaaonboard-task-4.htm#oaaonboard_task_4)
+1. [Register with My Oracle Support](https://docs.oracle.com/iaas/Content/database-at-azure/oaaonboard-task-5.htm)
+1. [Find Azure availability zone mapping](https://docs.oracle.com/iaas/Content/database-at-azure/oaaonboard-task-6.htm#oaaonboard_task_6) (optional)
+1. [Set up role-based access control](https://docs.oracle.com/iaas/Content/database-at-azure/oaaonboard-task-7.htm#oaaonboard_task_7)
+1. [Set up an identity federation](https://docs.oracle.com/iaas/Content/database-at-azure/oaaonboard-task-8.htm#oaaonboard_task_8) (optional)
oracle Oracle Cloud Infrastructure Azure Autonomous Database Services https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/oracle/oracle-db/oracle-cloud-infrastructure-azure-autonomous-database-services.md
Title: OCI multicloud landing zone for Azure
-description: Learn about OCI multicloud autonomous database landing zone for Azure.
+description: Learn about Oracle Cloud Infrastructure (OCI) multicloud Oracle Autonomous Database landing zones for Azure.
Last updated 08/01/2024
# OCI multicloud landing zone for Azure
-Oracle Cloud Infrastructure (OCI) partnered with Microsoft Azure to develop and distribute HashiCorp Terraform/OpenTofu modules that streamline the provisioning process.
+Oracle partnered with Microsoft to develop and distribute HashiCorp Terraform/OpenTofu modules to streamline the process of provisioning Oracle Cloud Infrastructure (OCI) in Azure.
-When you use both OCI Multicloud Landing Zone for Azure (OCI LZ) and Azure Verified Modules (MVM), multiple templates empower Oracle Database@Azure. These Terraform/OpenTofu modules use four (4) terraform providers, AzureRM, AzureAD, AzAPI, and OCI, covering IAM, networking, and database layer resources. Apply these reference implementations for a quick start deployment, or customize them for a more complex topology fit to your needs.
+The OCI multicloud landing zone for Azure and Azure Verified Modules for Terraform give you a set of templates that help you provision Oracle Database@Azure. The Terraform/OpenTofu modules use four Terraform providers: AzureRM, AzureAD, AzAPI, and OCI. Together, they cover identity and access management (IAM), networking, and database layer resources. Apply these reference implementations for a quickstart deployment, or customize them for a more complex topology fit to your needs.
-The following diagram illustrates where Terraform or OpenTofu can be introduced to streamline the identity, access, networking, and provisioning processes within Oracle Database@Azure.
-
+The following figure illustrates where Terraform or OpenTofu can be introduced to streamline the processes of identity, access, networking, and provisioning in Oracle Database@Azure.
## Prerequisites -- Complete, at a minimum, steps 1-2 of the [Onboarding with Oracle Database@Azure](https://docs.oracle.com/iaas/Content/multicloud/oaaonboard.htm).-- Have a Terraform/OpenTofu, OCI CLI, Azure CLI, and python (minimum 3.4) environment. For more information, see the [Oracle Multicloud Landing Zone for Azure README](https://github.com/oracle-quickstart/terraform-oci-multicloud-azure?tab=readme-ov-file#prerequisites).
+- Steps 1 and 2 completed in [Onboard Oracle Database@Azure](https://docs.oracle.com/iaas/Content/multicloud/oaaonboard.htm), minimum
+- Terraform/OpenTofu, the OCI CLI, the Azure CLI, and Python (version 3.4 or later) installed in your environment
+
+For more information, see [Oracle multicloud landing zone for Azure](https://github.com/oracle-quickstart/terraform-oci-multicloud-azure?tab=readme-ov-file#prerequisites) on GitHub.
## Dependencies
-The [Oracle Multicloud Landing Zone for Azure](https://github.com/oracle-quickstart/terraform-oci-multicloud-azure) modules and templates use multiple Terraform providers.
-| Terraform/OpenTofu Providers | Terraform/OpenTofu Modules |
+The [multicloud landing zone for Azure](https://github.com/oracle-quickstart/terraform-oci-multicloud-azure) modules and templates use multiple Terraform providers. The following table lists dependencies:
+
+| Terraform/OpenTofu providers | Terraform/OpenTofu modules |
| - | -- |
-| [AzAPI](/azure/developer/terraform/overview-azapi-provider) | [OCI Landing Zone modules](https://github.com/oci-landing-zones/) |
+| [AzAPI](/azure/developer/terraform/overview-azapi-provider) | [OCI landing zone modules](https://github.com/oci-landing-zones/) |
| [AzureAD](https://registry.terraform.io/providers/hashicorp/azuread/latest/docs) | [Azure Verified Modules](https://aka.ms/avm) | | [AzureRM](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs) | | | [OCI](https://registry.terraform.io/providers/oracle/oci/latest/docs) | | ## Templates
-Refer to [Oracle Multicloud Landing Zone for Azure](https://github.com/oracle-quickstart/terraform-oci-multicloud-azure) for module details.
-| Template | Use Case and Configurations | Terraform/OpenTofu Providers |
+The following table describes Oracle multicloud landing zone for Azure templates.
+
+For more information about modules, see [Oracle multicloud landing zone for Azure](https://github.com/oracle-quickstart/terraform-oci-multicloud-azure).
+
+| Template | Use case and configurations | Terraform/OpenTofu providers |
| -- | | - |
-| [az-oci-adbs](https://github.com/oracle-quickstart/terraform-oci-multicloud-azure/tree/main/templates/az-oci-adbs) | **Quick start Autonomous Database** | [hashicorp/azurerm](https://registry.terraform.io/providers/hashicorp/azurerm) |
-| | 1. Configure Azure virtual network with [delegated subnet limits](https://docs.oracle.com/iaas/Content/database-at-azure/oaa-delegated-subnets-limits.htm) | [azure/api](https://registry.terraform.io/providers/Azure/azapi) |
-| | 2. [Provision an Autonomous Database](oracle-database-provision-autonomous-database.md) | |
-| [az-oci-rbac-n-sso-fed](https://github.com/oracle-quickstart/terraform-oci-multicloud-azure/tree/main/templates/az-oci-rbac-n-sso-fed) | Set up both identity federation and RBAC roles/groups | All the following |
-| [az-oci-sso-federation](https://github.com/oracle-quickstart/terraform-oci-multicloud-azure/tree/main/templates/az-oci-sso-federation) | Set up [SSO Between OCI and Microsoft Entra ID](https://docs.oracle.com/iaas/Content/Identity/tutorials/azure_ad/sso_azure/azure_sso.htm) | [hashicorp/azuread](https://registry.terraform.io/providers/hashicorp/azuread/) |
-| | 1. Get service provider metadata from OCI IAM. | [hashicorp/azurerm](https://registry.terraform.io/providers/hashicorp/azurerm) |
-| | 2. Create an Microsoft Entra ID application. | [hashicorp/oci](https://registry.terraform.io/providers/hashicorp/oci) |
-| | 3. Set up SAML SSO for the Microsoft Entra ID application. | |
-| | 4. Set up attributes and claims in the Microsoft Entra ID application. | |
-| | 5. Assign a test user to the Microsoft Entra ID application. | |
-| | 6. Enable the Microsoft Entra ID application as the Identity Provider (IdP) for OCI IAM. | |
-| | 7. Set up [Identity Lifecycle Management Between OCI IAM and Microsoft Entra ID](https://docs.oracle.com/iaas/Content/Identity/tutorials/azure_ad/lifecycle_azure/azure_lifecycle.htm#azure-lifecycle). | |
-| [az-odb-rbac](https://github.com/oracle-quickstart/terraform-oci-multicloud-azure/tree/main/templates/az-odb-rbac) | Create [roles and groups in Azure](https://docs.oracle.com/iaas/Content/multicloud/oaagroupsroles.htm) for Exadata and Autonomous Database services. | [hashicorp/azuread](https://registry.terraform.io/providers/hashicorp/azuread/) |
-| | 1. Create Azure role definition for ADBS Administrator role.| [hashicorp/azurerm](https://registry.terraform.io/providers/hashicorp/azurerm) |
-| | 2. Create Azure group. | |
-| | 3. Create Azure role assignment. | |
-
-## More Terraform/OpenTofu resources
-
-* [QuickStart Oracle Database@Azure with Terraform or OpenTofu Modules](https://docs.oracle.com/en/learn/dbazure-terraform/https://docsupdatetracker.net/index.html)
-* [Terraform: Set Up OCI Terraform](https://docs.oracle.com/iaas/developer-tutorials/tutorials/tf-provider/01-summary.htm)
-* [Import OCI Resources into a Terraform State File](https://docs.oracle.com/en/learn/terraform-statefile-oci-resources/https://docsupdatetracker.net/index.html)
-* [Azure Verified Module for Virtual Network](https://github.com/Azure/terraform-azurerm-avm-res-network-virtualnetwork)
-* [Quickstart: Install and Configure Terraform For Azure](/azure/developer/terraform/quickstart-configure)
-* [Authenticate Terraform to Azure](/azure/developer/terraform/authenticate-to-azure)
+| [az-oci-adbs](https://github.com/oracle-quickstart/terraform-oci-multicloud-azure/tree/main/templates/az-oci-adbs) | **Quickstart Oracle Autonomous Database** | [hashicorp/azurerm](https://registry.terraform.io/providers/hashicorp/azurerm) |
+| | - Configure an Azure virtual network with [delegated subnet limits](https://docs.oracle.com/iaas/Content/database-at-azure/oaa-delegated-subnets-limits.htm) | [azure/api](https://registry.terraform.io/providers/Azure/azapi) |
+| | - [Provision Autonomous Database](oracle-database-provision-autonomous-database.md) | |
+| [az-oci-rbac-n-sso-fed](https://github.com/oracle-quickstart/terraform-oci-multicloud-azure/tree/main/templates/az-oci-rbac-n-sso-fed) | Set up identity federation and role-based access control (RBAC) roles and groups | All the following scenarios: |
+| [az-oci-sso-federation](https://github.com/oracle-quickstart/terraform-oci-multicloud-azure/tree/main/templates/az-oci-sso-federation) | Set up [SSO between OCI and Microsoft Entra ID](https://docs.oracle.com/iaas/Content/Identity/tutorials/azure_ad/sso_azure/azure_sso.htm) | [hashicorp/azuread](https://registry.terraform.io/providers/hashicorp/azuread/) |
+| | - Get service provider metadata from OCI IAM | [hashicorp/azurerm](https://registry.terraform.io/providers/hashicorp/azurerm) |
+| | - Create a Microsoft Entra ID application | [hashicorp/oci](https://registry.terraform.io/providers/hashicorp/oci) |
+| | - Set up Security Assertion Markup Language (SAML) single sign-on (SSO) for a Microsoft Entra ID application | |
+| | - Set up attributes and claims in a Microsoft Entra ID application | |
+| | - Assign a test user to a Microsoft Entra ID application | |
+| | - Enable a Microsoft Entra ID application as the identity provider (IdP) for OCI IAM | |
+| | - Set up [identity lifecycle management between OCI IAM and Microsoft Entra ID](https://docs.oracle.com/iaas/Content/Identity/tutorials/azure_ad/lifecycle_azure/azure_lifecycle.htm#azure-lifecycle) | |
+| [az-odb-rbac](https://github.com/oracle-quickstart/terraform-oci-multicloud-azure/tree/main/templates/az-odb-rbac) | Create [roles and groups in Azure](https://docs.oracle.com/iaas/Content/multicloud/oaagroupsroles.htm) for Oracle Exadata and Oracle Autonomous Database | [hashicorp/azuread](https://registry.terraform.io/providers/hashicorp/azuread/) |
+| | - Create an Azure role definition for the ADBS Administrator role | [hashicorp/azurerm](https://registry.terraform.io/providers/hashicorp/azurerm) |
+| | - Create an Azure resource group | |
+| | - Create an Azure role assignment | |
+
+## Related content
+
+- [Quickstart: Oracle Database@Azure with Terraform or OpenTofu modules](https://docs.oracle.com/learn/dbazure-terraform/https://docsupdatetracker.net/index.html)
+- [Set up OCI Terraform](https://docs.oracle.com/iaas/developer-tutorials/tutorials/tf-provider/01-summary.htm)
+- [Import OCI resources into a Terraform state file](https://docs.oracle.com/learn/terraform-statefile-oci-resources/https://docsupdatetracker.net/index.html)
+- [Azure Verified Modules for a virtual network](https://github.com/Azure/terraform-azurerm-avm-res-network-virtualnetwork)
+- [Quickstart: Install and configure Terraform for Azure](/azure/developer/terraform/quickstart-configure)
+- [Authenticate Terraform to Azure](/azure/developer/terraform/authenticate-to-azure)
oracle Oracle Database Autonomous Database Services https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/oracle/oracle-db/oracle-database-autonomous-database-services.md
Title: Autonomous database services for Oracle Database@Azure
-description: Learn about autonomous database services for Oracle Database@Azure.
+ Title: Oracle Autonomous Database in Oracle Database@Azure
+description: Learn about Oracle Autonomous Database in Oracle Database@Azure.
Last updated 08/01/2024
-# Autonomous database services for Oracle Database@Azure
+# Oracle Autonomous Database in Oracle Database@Azure
-Oracle Database@Azure (OracleDB@Azure) provides you with a seamless integration of Oracle Autonomous Database resources within your Microsoft Azure cloud environment.
+Oracle Database@Azure provides you with a seamless integration of Oracle Autonomous Database resources within your Azure cloud environment.
-You access the OracleDB@Azure service through the Microsoft Azure portal. You create and manage Oracle Autonomous Database resources. For additional Autonomous Database functionality, you have direct access to the Oracle Cloud Infrastructure (OCI) portal.
+You access your instance of Oracle Database@Azure through the Azure portal. Then, you create and manage Oracle Autonomous Database resources in the Azure portal. For more Oracle Autonomous Database functionality, you have direct access to the Oracle Cloud Infrastructure (OCI) portal.
-There are IP address requirement differences between Oracle Database@Azure and Oracle Cloud Infrastructure (OCI).
-* Oracle Database@Azure reserves 13 IP addresses for the client subnet versus 3 for OCI requirements.
+Oracle Database@Azure has different IP address requirements than Oracle Cloud Infrastructure (OCI). Oracle Database@Azure reserves 13 IP addresses for the client subnet versus 3 for OCI requirements.
-For more information on specific Oracle Autonomous Database articles beyond their implementation and use within OracleDB@Azure, see [Using Oracle Autonomous Database Serverless](https://docs.oracle.com/en/cloud/paas/autonomous-database/serverless/adbsb/https://docsupdatetracker.net/index.html).
+For more information about Oracle Autonomous Database beyond implementation and use within Oracle Database@Azure, see [Using Oracle Autonomous Database Serverless](https://docs.oracle.com/en/cloud/paas/autonomous-database/serverless/adbsb/https://docsupdatetracker.net/index.html).
-The following articles provide specifics of the creation and management tasks associated with Autonomous Database services.
+The following articles describe how to create and manage tasks associated with Oracle Autonomous Database in Oracle Database@Azure:
-* [What's New in autonomous database services](oracle-database-whats-new-autonomous-database-services.md)
-* [Provision an autonomous database](oracle-database-provision-autonomous-database.md)
-* [Manage autonomous database resources](provision-manage-oracle-resources.md)
-* [Terraform/OpenTofu examples for Autonomous Database services](oracle-database-examples-autonomous-database-services.md)
-* [Troubleshoot autonomous database services](oracle-database-troubleshoot-autonomous-database-services.md)
-
-For more information on specific Oracle Autonomous Database articles beyond their implementation and use within OracleDB@Azure, see [Using Oracle Autonomous Database Serverless](https://docs.oracle.com/en/cloud/paas/autonomous-database/serverless/adbsb/https://docsupdatetracker.net/index.html).
+* [What's new in Oracle Autonomous Database](oracle-database-whats-new-autonomous-database-services.md)
+* [Provision an instance of Autonomous Database](oracle-database-provision-autonomous-database.md)
+* [Manage Autonomous Database resources](provision-manage-oracle-resources.md)
+* [Terraform/OpenTofu examples for Autonomous Database](oracle-database-examples-autonomous-database-services.md)
+* [Troubleshoot Autonomous Database](oracle-database-troubleshoot-autonomous-database-services.md)
oracle Oracle Database Compliance https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/oracle/oracle-db/oracle-database-compliance.md
Title: Oracle Database@Azure compliance information
-description: Learn about compliance for Oracle Database@Azure
+ Title: Compliance information for Oracle Database@Azure
+description: Learn about compliance and service management in Oracle Database@Azure.
Last updated 08/01/2024
-# Compliance information
+# Compliance information for Oracle Database@Azure
-In this article, you learn about the compliance certifications and service management responsibilities of the Oracle Database@Azure.
+In this article, learn about compliance certifications and service management responsibilities in Oracle Database@Azure.
## Shared responsibility between Oracle and Microsoft
- Oracle Database@Azure is a database service that runs Oracle Database workloads in a customer's Azure environment. The Oracle Cloud Infrastructure (OCI) offers several Oracle Cloud Database services through a customer's Azure environment. The service lets customers monitor database metrics, audit logs, events, logging data, and telemetry natively in Azure. The service runs on infrastructure managed by Oracle's Cloud Infrastructure operations team, which performs software patching, infrastructure updates, and other operations through a connection to Oracle Cloud. While the service requires that customers have a tenancy, most service activities take place in the Azure environment.
-
-All infrastructure for Oracle Database@Azure is colocated in Azure's physical data centers and uses Azure Virtual Network for networking, managed within the Azure environment. Federated identity and access management are provided by Microsoft Entra ID.
-
-## Next steps
-
-For detailed information on the compliance certifications, see [Microsoft service trust portal](https://servicetrust.microsoft.com/) and [Oracle compliance website](https://www.oracle.com/corporate/cloud-compliance/). If you have further questions about OracleDB@Azure compliance, contact your account team and/or get information through [Oracle and Microsoft support for Oracle Database@Azure](oracle-database-support.md).
---
+Oracle Database@Azure is a database service that runs Oracle database workloads in a customer's Azure environment. Oracle Cloud Infrastructure (OCI) offers several Oracle Cloud Database services through a customer's Azure environment. You can monitor database metrics, audit logs, events, logging data, and telemetry natively in Azure. The service runs on infrastructure that's managed by the Cloud Infrastructure operations team at Oracle. The Oracle operations team manages software patching, infrastructure updates, and other operations through a connection to OCI. Although the service requires that customers have an OCI tenancy, most service activities take place in the Azure environment.
+All infrastructure for Oracle Database@Azure is colocated in Azure physical datacenters, uses Azure Virtual Network for networking, and is managed in the Azure environment. Federated identity and access management are provided by Microsoft Entra ID.
+## Related content
+- [Microsoft Service Trust Portal](https://servicetrust.microsoft.com/)
+- [Oracle Cloud compliance](https://www.oracle.com/corporate/cloud-compliance/)
+- [Oracle and Microsoft support for Oracle Database@Azure](oracle-database-support.md)
oracle Oracle Database Examples Autonomous Database Services https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/oracle/oracle-db/oracle-database-examples-autonomous-database-services.md
Title: Terraform/OpenTofu examples for Oracle Database@Azure services
-description: Learn about Terraform/OpenTofu examples for Oracle Database@Azure services.
+description: Learn about Terraform/OpenTofu examples for Oracle Database@Azure.
Last updated 08/01/2024
-# Terraform/OpenTofu examples for Oracle Database@Azure services
+# Terraform/OpenTofu examples for Oracle Database@Azure
-Using HashiCorp Terraform, you can provision and manage resources for Oracle Database@Azure using the Terraform tool that enables you to provision and manage infrastructure in Oracle Cloud Infrastructure (OCI).
+You can use Terraform by HashiCorp to provision and manage resources for Oracle Database@Azure. Terraform offers the AzAPI provider as a tool to provision and manage infrastructure in Oracle Cloud Infrastructure (OCI).
-For more information on reference implementations for Terraform or OpenTofu modules, sees the following links:
+For more information on reference implementations for Terraform or OpenTofu modules, see the following resources:
-* [QuickStart Oracle Database@Azure with Terraform or OpenTofu Modules](https://docs.oracle.com/en/learn/dbazure-terraform/https://docsupdatetracker.net/index.html)
-* [OCI Landing Zones](https://github.com/oci-landing-zones/)
+* [Quickstart Oracle Database@Azure by using Terraform or OpenTofu modules](https://docs.oracle.com/en/learn/dbazure-terraform/https://docsupdatetracker.net/index.html)
+* [OCI landing zones](https://github.com/oci-landing-zones/)
* [Azure Verified Modules](https://aka.ms/avm)
->[!NOTE]
->This document describes examples of provisioning and management of Oracle Database@Azure resources through Terraform provider `AzAPI`. For detailed AzAPI provider resources and data sources documentation, see [https://registry.terraform.io/providers/Azure/azapi/latest/docs](https://registry.terraform.io/providers/Azure/azapi/latest/docs)
-The samples use example values for illustration purposes. You must replace them with your own settings.
-The samples use [AzAPI Dynamic Properties](https://techcommunity.microsoft.com/t5/azure-tools-blog/announcing-azapi-dynamic-properties/ba-p/4121855) instead of `JSONEncode` for more native Terraform behavior.
+> [!NOTE]
+> This article provides example code to demonstrate provisioning and managing Oracle Database@Azure resources by using the Terraform provider AzAPI. For detailed AzAPI provider resources and data sources documentation, see [AzAPI provider](https://registry.terraform.io/providers/Azure/azapi/latest/docs) in the Terraform registry.
-## Create delegated subnet for Oracle Database@Azure
+The samples use example values for illustration. Replace the placeholder example values with values from your scenario.
-```resource "azurerm_resource_group" "resource_group" {
+The samples use [AzAPI dynamic properties](https://techcommunity.microsoft.com/t5/azure-tools-blog/announcing-azapi-dynamic-properties/ba-p/4121855) instead of JSONEncode for more native Terraform behavior.
+
+## Create a delegated subnet for Oracle Database@Azure
+
+```terraform
+resource "azurerm_resource_group" "resource_group" {
location = "eastus" name = "ExampleRG" }
module "avm_odbas_network" {
} ```
-## Create an Oracle Autonomous Database
+## Create an instance of Oracle Exadata Database@Azure
-```terraform {
+```terraform
+{
required_providers { azapi = { source = "Azure/azapi"
resource "azapi_resource" "autonomous_db" {
} response_export_values = ["id", "properties.ocid", "properties"] }
-```
+```
oracle Oracle Database Get Started https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/oracle/oracle-db/oracle-database-get-started.md
Title: Get started with Oracle Database@Azure
-description: Learn about how to get started with Oracle Database@Azure.
+description: Learn how to get started with using Oracle Database@Azure.
# Get started with Oracle Database@Azure
-In this article, you learn about how to purchase and use Oracle Database@Azure.
+In this article, learn how to purchase and start using Oracle Database@Azure.
-Oracle Database@Azure is an Oracle database service running on Oracle Cloud Infrastructure (OCI), colocated in Microsoft data centers. This ensures that the Oracle Database@Azure service has the fastest possible access to Azure resources and applications.
+Oracle Database@Azure is an Oracle database service that runs on Oracle Cloud Infrastructure (OCI) and is colocated in Azure datacenters at Microsoft. Colocation ensures that the Oracle Database@Azure service has the fastest possible access to Azure resources and applications.
-Oracle Database@Azure runs on infrastructure managed by Oracle's expert Cloud Infrastructure operations team. The operations team performs software patching, infrastructure updates, and other operations through a connection to OCI. While the service requires that customers have an OCI tenancy, most service activities take place in the Azure environment.
+Oracle Database@Azure runs on infrastructure that's managed by the expert Cloud Infrastructure operations team at Oracle. The operations team manages software patching, infrastructure updates, and other operations through a connection to OCI. Although the service requires that customers have an OCI tenancy, most service activities take place in the Azure environment.
## Purchase Oracle Database@Azure
-To purchase Oracle Database@Azure, contact Oracle's sales team or your Oracle sales representative for a sale offer. Oracle Sales will create an Azure Private Offer in the Azure Marketplace for your service. After an offer has been created for your organization, you can accept the offer and complete the purchase in the Azure portal's Marketplace service. For more information on Azure private offers, see Overview of the commercial marketplace and enterprise procurement.
-Billing and payment for the service is done through Azure. Payment for Oracle Database@Azure counts toward your Microsoft Azure Consumption Commitment (MACC). Existing Oracle Database software customers can use the Bring Your Own License (BYOL) option or Unlimited License Agreements (ULAs). On your regular Microsoft Azure invoices, you'll see charges for Oracle Database@Azure alongside charges for your other Azure Marketplace services.
+To purchase Oracle Database@Azure, contact the Oracle sales team or your Oracle sales representative for a sale offer. Oracle Sales creates an Azure private offer in Azure Marketplace for your instance of the service. After an offer is created for your organization, you can accept the offer and complete the purchase in the marketplace in the Azure portal. For more information about Azure private offers, see [Overview of the commercial marketplace and enterprise procurement](/marketplace/what-is-commercial-marketplace).
-## Oracle Database@Azure Interfaces
-You can provision Oracle Database@Azure using the Azure portal and Azure APIs, SDKs and Terraform. Management of Oracle database system infrastructure and VM cluster resources takes place in the Azure portal as well.
+Billing and payment for the service is processed through Azure. Payment for Oracle Database@Azure counts toward Microsoft Azure Consumption Commitment (MACC). Existing Oracle Database software customers can use a bring your own license (BYOL) option or an unlimited license agreement (ULA). On your regular invoice for Azure, charges for Oracle Database@Azure appear with charges for your other Azure Marketplace services.
-For Oracle Container Databases (CDB) and Oracle Pluggable Databases (PDB), some management tasks are completed using the OCI console.
+## Oracle Database@Azure interfaces
-Database and application developers work in the Azure portal or use Azure tools (Azure API, SDK, Terraform) to interact with Oracle Database@Azure databases.
+You can provision Oracle Database@Azure by using the Azure portal and Azure APIs, SDKs, and Terraform. You manage the Oracle database system infrastructure and virtual machine cluster resources in the Azure portal.
+
+For an Oracle container database (CDB) or an Oracle pluggable database (PDB), some management tasks are completed by using the OCI console.
+
+Database and application developers work in the Azure portal or use Azure tools (Azure APIs, SDKs, or Terraform) to manage their databases in Oracle Database@Azure.
oracle Oracle Database Groups Roles https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/oracle/oracle-db/oracle-database-groups-roles.md
Title: Groups and roles for Oracle Database@Azure
-description: Learn about groups and roles for Oracle Database@Azure
+ Title: Groups and roles in Oracle Database@Azure
+description: Learn about groups and roles in Oracle Database@Azure.
Last updated 12/12/2023
-# Groups and roles for Oracle Database@Azure
+# Groups and roles in Oracle Database@Azure
-This article lists the groups and roles used to manage access to Oracle Database@Azure. Using these groups and roles ensures that assigned users have the appropriate permissions to operate the service.
+This article lists groups and roles you use to manage access to Oracle Database@Azure. Using these groups and roles ensures that assigned users have the appropriate permissions to operate the service.
## Groups and roles in Azure
-Use the following groups in your Azure account.
+Use the following groups in your Azure account:
|Group name|Azure role assigned|description| |-|-|--|
-|odbaa-exa-infra-administrators| odbaa-exa-infra-administrator |This group is for administrators who need to manage all Oracle Exadata Database Service resources in Azure |
-|odbaa-vm-cluster-administrators |odbaa-vm-cluster-administrator |User in this group can administer VM cluster resources in Azure |
-|odbaa-db-family-administrators |*not applicable* | This group is replicated in OCI during the optional identity federation process. OCI policies are defined for this group in the Oracle Cloud environment. |
-|odbaa-db-family-readers |*not applicable* |This group is replicated in OCI during the optional identity federation process. OCI policies are defined for this group in the Oracle Cloud environment. |
-|odbaa-exa-cdb-administrators |*not applicable* |This group is replicated in OCI during the optional identity federation process. OCI policies are defined for this group in the Oracle Cloud environment. |
-|odbaa-exa-pdb-administrators |*not applicable* |This group is replicated in OCI during the optional identity federation process. OCI policies are defined for this group in the Oracle Cloud environment. |
+|odbaa-exa-infra-administrators| odbaa-exa-infra-administrator |This group is for administrators who need to manage all Oracle Exadata Database@Azure resources in Azure. |
+|odbaa-vm-cluster-administrators |odbaa-vm-cluster-administrator |Users in this group can administer virtual machine (VM) cluster resources in Azure. |
+|odbaa-db-family-administrators |*Not applicable* | This group is replicated in Oracle Cloud Infrastructure (OCI) during the optional identity federation process. OCI policies are defined for this group in the Oracle Cloud environment. |
+|odbaa-db-family-readers |*Not applicable* |This group is replicated in OCI during the optional identity federation process. OCI policies are defined for this group in the Oracle Cloud environment. |
+|odbaa-exa-cdb-administrators |*Not applicable* |This group is replicated in OCI during the optional identity federation process. OCI policies are defined for this group in the Oracle Cloud environment. |
+|odbaa-exa-pdb-administrators |*Not applicable* |This group is replicated in OCI during the optional identity federation process. OCI policies are defined for this group in the Oracle Cloud environment. |
-## Groups in Oracle Cloud Infrastructure
+## Groups in Oracle Cloud Infrastructure
-Use the following groups in your Oracle Cloud Infrastructure (OCI) tenancy.
+Use the following groups in your OCI tenancy:
|Group name|Description| |-|--|
-|odbaa-db-family-administrators | Users this group are administrators who manage database family actions. |
-|odbaa-db-family-readers |Users this group are administrators who read database family actions. |
-|odbaa-exa-cdb-administrators |Users this group are administrators who manage Oracle Container Database (CDB) actions. |
-|odbaa-exa-pdb-administrators | Users this group are administrators who manage Oracle Pluggable Database (PDB) actions.|
+|odbaa-db-family-administrators | Users in this group are administrators who manage database family actions. |
+|odbaa-db-family-readers |Users in this group are administrators who read database family actions. |
+|odbaa-exa-cdb-administrators |Users in this group are administrators who manage Oracle Container Database (CDB) actions. |
+|odbaa-exa-pdb-administrators | Users in this group are administrators who manage Oracle Pluggable Database (PDB) actions.|
-## Required IAM policies
-The following IAM policies are needed for Oracle Database@Azure users or groups:
+## Required Identity and Access Management policies
-- ``Allow any-user to use tag-namespaces in tenancy where request.principal.type = ΓÇÿmulticloudlinkΓÇÖ``-- `` Allow any-user to manage tag-defaults in tenancy where request.principal.type = ΓÇÿmulticloudlinkΓÇÖ``
+The following Oracle Cloud Infrastructure Identity and Access Management (IAM) policies are required for each user and each group in Oracle Database@Azure:
-For information on working with policies, see [Getting Started with Policies](https://docs.oracle.com/en-us/iaas/Content/Identity/policiesgs/get-started-with-policies.htm).
+- `Allow any-user to use tag-namespaces in tenancy where request.principal.type = ΓÇÿmulticloudlinkΓÇÖ`
+- `Allow any-user to manage tag-defaults in tenancy where request.principal.type = ΓÇÿmulticloudlinkΓÇÖ`
-## Next steps
-- [Overview - Oracle Database@Azure](database-overview.md)-- [Onboard with Oracle Database@Azure](onboard-oracle-database.md)
+For information about working with policies, see [Get started with policies](https://docs.oracle.com/iaas/Content/Identity/policiesgs/get-started-with-policies.htm) in Oracle databases.
+
+## Related content
+
+- [Overview of Oracle Database@Azure](database-overview.md)
+- [Onboard Oracle Database@Azure](onboard-oracle-database.md)
- [Provision and manage Oracle Database@Azure](provision-oracle-database.md)-- [Oracle Database@Azure support information](oracle-database-support.md)
+- [Support for Oracle Database@Azure](oracle-database-support.md)
oracle Oracle Database Known Issues https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/oracle/oracle-db/oracle-database-known-issues.md
Title: Known issues for Oracle Database@Azure
-description: Learn about known issues for Oracle Database@Azure.
+ Title: Known issues in Oracle Database@Azure
+description: Learn about known issues in Oracle Database@Azure.
Last updated 08/29/2024
-# Known issues for Oracle Database@Azure
+# Known issues in Oracle Database@Azure
-In this article, you find known issues for Oracle Database@Azure.
+Learn about known issues in Oracle Database@Azure and how to resolve them.
-## Exadata Virtual Machine Cluster Provisioning
+## Oracle Exadata virtual machine cluster provisioning
-### VM cluster provisioning fails because number of available IPs reported by OCI and don't match
+### Virtual machine cluster provisioning fails because the number of available IPs doesn't match
-**Details**: reports the wrong number of available IPs in the subnet, causing VM cluster provisioning to fail.
+The wrong number of available IPs in the subnet is reported, causing virtual machine cluster provisioning to fail.
-**Error message**:
-```
+#### Message
+
+```output
Error returned by CreateCloudVmCluster operation in Database service.(400, InvalidParameter, false) Cidr block of the subnet must have at least 11 ip addresses available. ```
-**Diagnosis**: Verify the correct number of available IP addresses in the subnet using the OCI Console. For instructions, see [Listing Private IP Addresses](https://docs.oracle.com/en-us/iaas/Content/Network/Tasks/private-ip-address-list.htm).
+#### Resolution
-**Workaround**: If the subnet doesn't have enough IP addresses, reconfigure the subnet according to the [prerequisites](oracle-database-plan-ip.md).
+Verify the correct number of available IP addresses in the subnet by using the Oracle Cloud Infrastructure (OCI) console. For more information, see [List private IP addresses](https://docs.oracle.com/iaas/Content/Network/Tasks/private-ip-address-list.htm).
-### VM cluster provisioning fails with authorization error
+If the subnet doesn't have enough IP addresses, reconfigure the subnet according to the [prerequisites](oracle-database-plan-ip.md).
-**Details**: Provisioning of an Exadata VM cluster fails with the following error.
+### Virtual machine cluster provisioning fails because of an authorization error
-**Error message**:
-```
+Provisioning an Oracle Exadata virtual machine cluster fails and shows the following message.
+
+#### Message
+
+```output
Authorization Failed
-The client *&lt;client\_name&gt;* with object id *&lt;object\_id&gt;* does not have authorization to perform action 'Oracle.Database/location/operationStatuses/read' over scope <scope_details> or scope is invalid. If access was recently granted, please refresh your credentials.
+The client <client_name> with object id <object_id> does not have authorization to perform action 'Oracle.Database/location/operationStatuses/read' over scope <scope_details> or scope is invalid. If access was recently granted, please refresh your credentials.
```
-The failure occurs because the user performing the action doesn't have permissions for the `Microsoft.BareMetal/BareMetalConnections` resource.
+The failure occurs because the user performing the action doesn't have permissions for the Microsoft.BareMetal/BareMetalConnections resource.
-**Workaround**:
+#### Resolution
-1. Ensure that no policy assigned to the user or the subscription is preventing the user from performing the action. If the user has specific permissions assigned to them directly, add the following resources to the authorized list:
+1. Ensure that no policy is assigned to the user or to the subscription that prevents the user from performing the action. If the user has specific permissions directly assigned to them, add the following resources to the authorized list of resources:
- 1. Microsoft.BareMetal/BareMetalConnections
- 2. Microsoft.Network/privateDnsZones
-2. Delete the failed VM cluster from the UI
-3. After the VM Cluster is fully terminated in both and, wait 30 minutes. This wait period ensures that all dependent resources are also deleted.
-4. Provision a new VM cluster.
+ - Microsoft.BareMetal/BareMetalConnections
+ - Microsoft.Network/privateDnsZones
-## Buy offer
+1. Delete the failed virtual machine cluster.
+1. After the virtual machine cluster is fully terminated in both Azure and OCI, wait 30 minutes. This wait period ensures that all dependent resources are also deleted.
+1. Provision a new virtual machine cluster.
-### Create 'OracleSubscription' resource fails with 'deny' Policy Action during offer purchase
+## Buy offer
-**Details:** When subscribing to Oracle Database@Azure, must create a Managed Resource Group (MRG) in the background to contain the `OracleSubscription` object for billing purposes. This MRG must be in the `EastUS` region with a specific name, and without tags initially.
+### Creating an OracleSubscription resource fails because of 'deny' policy action during offer purchase
-Any policy that blocks the creation of the MRG triggers the error. For example, a policy with any of the following rules could cause the buy to fail:
+When you subscribe to Oracle Database@Azure, you must create a managed resource group in the background to contain the `OracleSubscription` object for billing purposes. The managed resource group must be in the EastUS region. It must have a specific name, and it must initially be created without tags.
-- A rule that denies the creation of resources in the `EastUS` region-- A rule that denies the creation of a resource without tags-- A rule that enforces specific naming patterns
+Any policy that blocks the creation of the managed resource group triggers the error. For example, a policy that has any of the following rules might cause the purchase to fail:
-**Error message:**
+- A rule that denies the creation of resources in the EastUS Azure region
+- A rule that denies the creation of a resource without tags
+- A rule that enforces specific naming patterns
-```
+#### Message
+
+```output
The resource write operation failed to complete successfully, because it reached terminal provisioning state 'Failed' ```
-**Workaround:**
-
-1. Identify the blocking policy by examining the **Activity log**. In the log, you might see **'deny' Policy action** operation with the "failed" status:
-
- :::image type="content" source="media/deny-known-issue-purchase-failure.png" alt-text="The image shows the Azure activity log with a 'deny' Policy action that has caused a failure for the OracleSubscriptions_Update operation.":::
-
- The following image shows the details of the **'deny' Policy action** in the Azure portal:
+#### Resolution
- :::image type="content" source="media/example-known-issue-purchase-failure.png" alt-text="The image shows a JSON file with example policies, including a policy limiting the allowed locations for resource groups.":::
+1. Identify the blocking policy by examining the activity log in the Azure portal. In the log, you might see a **'deny' Policy action** operation with a **failed** status:
+ :::image type="content" source="media/deny-known-issue-purchase-failure.png" alt-text="Screenshot that shows the Azure activity log with a 'deny' policy action that caused a failure for the OracleSubscriptions_Update operation.":::
-2. Create a time-bound policy exemption for the blocking policies before trying to buy the offer and create the **OracleSubscription** resource again. For more information, see [Azure Policy exemption structure](/azure/governance/policy/concepts/exemption-structure) in the Azure documentation.
+ The following figure shows the details of the **'deny' Policy action** in the Azure portal:
- >[!TIP]
- >A policy exemption can take up to 30 minutes to take effect. Ensure that the time window for the exemption is large enough to finish the buy process for the offer. We recommend at least two hours for the policy exemption.
+ :::image type="content" source="media/example-known-issue-purchase-failure.png" alt-text="Screenshot that shows a JSON file with example policies, including a policy that limits the allowed locations for resource groups.":::
- Select **Create exemption** on the Policy Assignments page in the Azure portal:
+1. Create a time-bound policy exemption for the blocking policies before you try to buy the offer, and then create the OracleSubscription resource again.
- :::image type="content" source="media/exemption-known-issue-purchase-failure.png" alt-text="The image shows the Create exemption button in the Azure portal policy.":::
+ For more information, see [Azure Policy exemption structure](/azure/governance/policy/concepts/exemption-structure).
-3. On the **Create exemption** page in the Azure portal, create a policy exemption. Use the **Expiration date** field to limit the time window for the policy exemption.
+ > [!TIP]
+ > A policy exemption can take up to 30 minutes to take effect. Ensure that the time window for the exemption is large enough to finish the buy process for the offer. We recommend a window of time of at least two hours for the policy exemption.
- :::image type="content" source="media/workflow-known-issue-purchase-failure.png" alt-text="The image shows the Azure portal Create exemption workflow.":::
+ On the **Policy Assignments** pane in the Azure portal, select **Create exemption**.
+ :::image type="content" source="media/exemption-known-issue-purchase-failure.png" alt-text="Screenshot that shows the Create exemption button in the Azure portal.":::
+1. On the **Create exemption** pane in the Azure portal, create a policy exemption. For **Expiration date**, limit the time window for the policy exemption.
+ :::image type="content" source="media/workflow-known-issue-purchase-failure.png" alt-text="Screenshot that shows the Azure portal Create exemption pane.":::
oracle Oracle Database Manage Autonomous Database Resources https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/oracle/oracle-db/oracle-database-manage-autonomous-database-resources.md
Title: Manage autonomous database resources for Oracle Database@Azure
-description: Learn about how to manage autonomous database resources for Oracle Database@Azure.
+ Title: Manage resources in Oracle Database@Azure
+description: Learn how to manage resources in an instance of Oracle Database@Azure.
Last updated 08/01/2024
-# Manage autonomous database resources for Oracle Database@Azure
+# Manage resources in Oracle Database@Azure
-After provisioning any OracleDB@Azure resource, you can use the Microsoft Azure blade for a limited set of management functions.
+After you provision an instance of Oracle Database@Azure, you can use the Azure portal to complete a limited set of resource management functions.
## Prerequisites
-There are prerequisites that must be completed before you can provision Exadata Services. You need to complete the following:
-- An existing Azure subscription-- An Azure VNet with a subnet delegated to the Oracle Database@Azure service (`Oracle.Database/networkAttachments`)
+You must have the following prerequisites before you can provision Oracle Database@Azure:
+
+- An existing Azure subscription.
+- An Azure virtual network with a subnet delegated to the Oracle Database@Azure service (`Oracle.Database/networkAttachments`).
- Permissions in Azure to create resources in the region, with the following conditions:
- * No policies prohibiting the creation of resources without tags, because the OracleSubscription resource is created automatically without tags during onboarding.
- * No policies enforcing naming conventions, because the OracleSubscription resource is created automatically with a default resource name.
-- Purchase OracleDB@Azure in the Azure portal.-- Select your Oracle Cloud Infrastructure (OCI) account.
-For more detailed documentation, including optional steps, see [Onboarding with Oracle Database@Azure](https://docs.oracle.com/iaas/Content/database-at-azure/oaaonboard.htm).
+ - No policies that prohibit the creation of resources without tags. The OracleSubscription resource is created automatically without tags during onboarding.
+ - No policies that enforce naming conventions. The OracleSubscription resource is created automatically with a default resource name.
+- Oracle Database@Azure purchased in the Azure portal.
+- An Oracle Cloud Infrastructure (OCI) account.
+
+For more information, including optional steps, see [Onboard Oracle Database@Azure](https://docs.oracle.com/iaas/Content/database-at-azure/oaaonboard.htm).
+
+## Common management functions in the Azure portal
+
+This section describes management functions that are available for all Oracle Database@Azure resources. To access management functions, go to the Azure pane for that resource.
+
+### Access the resource pane
-## Common Management Functions from the Microsoft Azure Blade
+1. In the Azure portal, go to the home pane for your Oracle Database@Azure application.
+1. On the service menu, select **Oracle Database@Azure**.
+1. If the pane lists and manages multiple resources, select the resource type at the top of the pane.
-The following management functions are available for all resources from the Microsoft Azure blade for that resource.
+ For example, use the **Oracle Exadata Database@Azure** pane to access both the Oracle Exadata infrastructure and the Oracle Exadata virtual machine (VM) cluster resources.
-### Access the resource blade
+### List a resource type status
-1. From the Microsoft Azure portal, select OracleDB@Azure application.
-1. From the left menu, select **Oracle Exadata Database@Azure**.
-1. If the blade lists and manages several resources, select the resource type at the top of the blade. For example, the **Oracle Exadata Database@Azure** blade accesses both Oracle Exadata Infrastructure and Oracle Exadata VM Cluster resources.
+1. Go to the resource pane. For more information, see [Access the resource pane](#access-the-resource-pane).
-### List status for all resources of the same type
+ Resources are shown as **Succeeded**, **Failed**, or **Provisioning**.
-1. Follow the steps to **Access the resource blade**.
-1. Resources will be shown in the list as **Succeeded**, **Failed**, or **Provisioning**.
-1. Access the specifics of that resource by selecting the link in the **Name** field in the table.
+1. To access details for the resource, under **Name**, select the link for the resource.
### Provision a new resource
-1. Follow the steps to **Access the resource blade**.
-1. Select the **+ Create** icon at the top of the blade.
-1. Follow the provisioning flow for [Provision an Autonomous Database](oracle-database-provision-autonomous-database.md).
+1. Go to the resource pane. For more information, see [Access the resource pane](#access-the-resource-pane).
+1. In the command bar, select **Create**.
+1. Complete the steps to [provision an instance of Oracle Autonomous Database](oracle-database-provision-autonomous-database.md).
-### Refresh the blade's info
+### Refresh the pane
-1. Follow the steps to **Access the resource blade**.
-1. Select the **Refresh** icon at the top of the blade.
-1. Wait for the blade to reload.
+1. Go to the resource pane.
+1. In the command bar, select the **Refresh** icon.
+1. Wait for the pane to reload.
### Remove a resource
-1. Follow the steps to **Access the resource blade**.
-1. You can remove a single or multiple resources from the blade by selecting the checkbox on the left side of the table. Once you have selected the resource(s) to remove, you can then select the **Delete** icon at the top of the blade.
-1. You can also remove a single resource by selecting the link to the resource from the **Name** field in the table. From the resource's detail page, select the **Delete** icon at the top of the blade.
+1. Go to the resource pane.
+1. On the resource pane, you can remove a single resource or multiple resources by selecting the checkbox to the left of the table. After you select the resources to remove, in the command bar, select the **Delete** icon.
+1. You also can remove a single resource. Under **Name**, select the link for the resource. On the resource's detail pane, select the **Delete** icon.
### Add, manage, or delete resource tags
-1. Follow the steps to **Access the resource blade**.
-1. Select the link to the resource from the **Name** field in the table.
-1. From the resource's overview page, select the **Edit** link on the **Tags** field.
-1. To create a new tag, enter values in the **Name** and **Value** fields.
-1. To edit an existing tag, change the value in the existing tag's **Value** field.
-1. To delete an existing tag, select the **Trashcan** icon at the right-side of the tag.
-
-### Manage Resource Allocation for Oracle Autonomous Database Serverless Instances
-
->[!NOTE]
->You can only change the resource allocation settings for Oracle Autonomous Database Serverless instances using these steps. This does not apply to any other resource type.
-
-1. Follow the steps to access the Oracle Autonomous Database@Azure blade.
-1. Select the link to the resource from the **Name** field in the table.
-1. From the resource's overview page, select the **Setting** link left-menu, and then the **Resource allocation** link.
-1. Select the **Manage** button at the top of the **Resource allocation** page.
-1. From the **Manage resource allocation** window, you can set the **ECPU count** from 2 to 512. The **Compute auto scaling** checkbox allows you to enable your Oracle Autonomous Database to scale its computing allocation automatically up to 512. The **Storage** is a slider UI that allows setting the Storage allocation from 1 TB to 383 TB. The **Storage auto scaling** checkbox allows you to enable your Oracle Autonomous Database to scale its storage allocation automatically up to 383 TB.
-1. After you have set or reviewed the fields, select the **Apply** or **Cancel** button as appropriate.
-
-### Perform a connectivity test
-
-1. Follow the steps to access the Oracle Autonomous Database@Azure blade.
-1. Select the link to the resource from the Name field in the table.
-1. From the resource's overview page, select the Settings link left-menu, and then the Connections link.
-1. Select the Download wallet icon and save the file.
-1. Open Oracle SQL Developer. If you don't have SQL Developer installed, download SQL Developer and install.
-1. Within SQL Developer, open a new connection with the following information.
- 1. **Name** - Enter a name of your choice used to save your connection.
- 1. **Username** - Enter **SYS**.
- 1. **Password** - Enter the password used when creating the PDB.
- 1. **Role** - Select **SYSDBA**.
- 1. **Save Password** - Select the box if your security rules allow. If not, you will need to enter the PDB password every time you use this connection in SQL Developer.
- 1. **Connection Type** - Select **Cloud Wallet**.
- 1. **Configuration File** - Select **Browse**, and select the wallet you downloaded.
- 1. Select the **Test** button. The **Status** at the bottom of the connections list should show as **Success**. If the connection is not a success, the wallet is out of date, or the ADB is not currently running.
- 1. Select the **Save** button.
- 1. Select the **Connect** button.
+1. Go to the resource pane.
+1. Under **Name**, select the link for the resource.
+1. On the resource overview pane, under **Tags**, select **Edit**.
+1. To create a new tag, enter a name and tag value.
+1. To edit an existing tag, change the value for the existing tag.
+1. To delete an existing tag, select the **Delete** icon to the right of the tag.
+
+### Manage resource allocation
+
+> [!NOTE]
+> You can change only the *resource allocation* settings for an instance of Oracle Database@Azure by using these steps. The steps don't apply to any other resource type.
+
+1. Go to the resource pane.
+1. Under **Name**, select the link for the resource.
+1. On the service menu, select **Settings**, and then select **Resource allocation**.
+1. On the **Resource allocation** pane, select **Manage**.
+1. On the **Manage resource allocation** pane, you can set the Elastic Compute Processing Unit (ECPU) count from **2** to **512**. To set your Oracle Database@Azure instance to scale its computing allocation automatically up to 512, select the **Compute auto scaling** checkbox. For **Storage**, set storage allocation from 1 TB to 383 TB. To set your Oracle Database@Azure instance to scale storage allocation automatically up to 383 TB, select the **Storage auto scaling** checkbox.
+1. After you set or review settings, select **Apply** to apply changes, or select **Cancel** to leave the current settings.
+
+### Test connectivity
+
+1. Go to the resource pane.
+1. Under **Name**, select the link for the resource.
+1. On the service menu, select **Settings**, and then select **Connections**.
+1. Select the **Download wallet** icon and save the file.
+1. Open Oracle SQL Developer. If you don't have SQL Developer installed, download SQL Developer and install it.
+1. In SQL Developer, open a new connection by using the following information:
+
+ 1. **Name**: Enter a name to use for the connection.
+ 1. **Username**: Enter **SYS**.
+ 1. **Password**: Enter the password you used when you created the pluggable database (PDB).
+ 1. **Role**: Select **SYSDBA**.
+ 1. **Save Password**: Select this checkbox if your security rules allow. Otherwise, you're required to enter the PDB password every time you use this connection in SQL Developer.
+ 1. **Connection Type**: Select **Cloud Wallet**.
+ 1. **Configuration File**: Select **Browse**, and then select the wallet you downloaded.
+ 1. Select the **Test** button. Check **Status** in the list of connections for a **Success** value. If the connection isn't a success, the wallet is out of date, or the instance of Oracle Autonomous Database isn't currently running.
+ 1. Select **Save**.
+ 1. Select **Connect**.
### Access the OCI console
-1. Follow the steps to **Access the resource blade**.
-1. Select the link to the resource from the **Name** field in the table.
-1. From the resource's detail page, select the **Go to OCI** link on the **OCI Database URL** field.
-1. Log in to OCI.
+1. Go to the resource pane.
+1. Under **Name**, select the link for the resource.
+1. On the service menu, under **OCI Database URL**, select the **Go to OCI** link.
+1. Sign in to OCI.
1. Manage the resource from within the OCI console.
-### Support for OracleDB@Azure
+### Get support for Oracle Database@Azure
-1. Follow the steps to Access the OCI console.
-1. From the OCI console, there are two ways to access support resources.
- 1. At the top of the page, select the Help (?) icon at the top-right of the menu bar.
- 1. On the right-side of the page, select the floating Support icon.
- >[!NOTE]
- > This icon can be moved by the user, and the precise horizontal location can vary from user to user.
+1. Follow the steps to [access the OCI console](#access-the-oci-console).
+
+1. In the OCI console, choose an option to access support resources:
+
+ - On the top-right menu bar, select the **Help** (`?`) icon.
+
+ - On the right side of the page, select the floating **Support** icon.
1. You have several support options from here, including documentation, requesting help via chat, visiting the Support Center, posting a question to a forum, submitting feedback, requesting a limit increase, and creating a support request.
-1. If you need to create a support request, select that option.
-1. The support request page will auto-populate with information needed by Oracle Support Services, including resource name, resource OCID, service group, service, and several other items dependent upon the specific OracleDB@Azure resource.
-1. Select the support option from the following options:
- 1. **Critical outage** for critical production system outage or a critical business function is unavailable or unstable. You or an alternate contact must be available to work this issue 24x7 if needed.
- 1. **Significant impairment** for critical system or a business function experiencing severe loss of service. Operations can continue in a restricted manner. You or an alternate contact are available to work this issue during normal business hours.
- 1. **Technical issue** where functionality, errors, or a performance issue impact some operations.
- 1. **General guidance** where a product or service usage question, product or service setup, or documentation clarification is needed.
-1. Select the **Create Support Request** button.
-1. The support ticket is created. This ticket can be monitored within the OCI console or via [My Oracle Support (MOS)](https://support.oracle.com/).
+
+ If you need to create a support request, select that option.
+
+1. The support request page autopopulates with information that's needed by Oracle Support Services, including the resource name, the resource Oracle Cloud Identifier (OCID), the service group, the service, and several other items depending on the Oracle Database@Azure resource.
+
+1. Select the relevant support option from the following options:
+
+ 1. **Critical outage** for a critical production system outage or if a critical business function is unavailable or unstable. You or an alternate contact must be available to work on this issue 24x7 if needed.
+
+ 1. **Significant impairment** for a critical system failure or if a business function experiencing severe loss of service. Operations can continue in a restricted manner. You or an alternate contact must be available to work on this issue during normal business hours.
+
+ 1. **Technical issue** for functionality, errors, or a performance issue that affects only some operations.
+
+ 1. **General guidance** if you have a product or service usage question, for product or service setup, or if you need documentation clarification.
+
+1. Select **Create Support Request**.
+
+The support ticket is created. You can monitor the ticket in the OCI console or via [My Oracle Support (MOS)](https://support.oracle.com/).
oracle Oracle Database Network Plan https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/oracle/oracle-db/oracle-database-network-plan.md
Title: Network planning for Oracle Database@Azure
-description: Learn about Network planning for Oracle Database@Azure.
+description: Learn about network planning for Oracle Database@Azure.
Last updated 12/12/2023
# Network planning for Oracle Database@Azure
-In this article, you learn about the topologies and constraints for Oracle Database@Azure. After you purchase the offer through Azure Marketplace and provision the Exadata infrastructure, you'll then need to create your virtual machine cluster that will host your Oracle Exadata Database. These Oracle database clusters are connected to your Azure virtual network via a virtual NIC from your delegated subnet (delegated to ``Oracle.Database/networkAttachement``).
+In this article, learn about network topologies and constraints in Oracle Database@Azure.
+
+After you purchase an offer through Azure Marketplace and provision the Oracle Exadata infrastructure, the next step is to create your virtual machine cluster to host your instance of Oracle Exadata Database@Azure. The Oracle database clusters are connected to your Azure virtual network via a virtual network interface card (virtual NIC) from your delegated subnet (delegated to `Oracle.Database/networkAttachment`).
## Supported topologies
-The following table describes the network topologies supported by each network features configuration of Oracle Database@Azure.
+The following table describes the network topologies that are supported by each configuration of network features for Oracle Database@Azure:
|Topology |Supported | | :- |::|
-|Connectivity to Oracle database cluster in a local virtual network| Yes |
-|Connectivity to Oracle database cluster in a peered virtual network (Same region)|Yes |
-|Connectivity to Oracle database cluster in a spoke VNet in a different region with VWAN |Yes |
-|Connectivity to Oracle database cluster in a peered virtual network* (Cross region or global peering)* without VWAN| No|
-|On-premises connectivity to Oracle database cluster via Global and Local Expressroute |Yes|
-|ExpressRoute (ER) FastPath |No |
-|Connectivity from on-premises to Oracle database cluster in a spoke virtual network over ExpressRoute gateway and virtual network peering with gateway transit|Yes |
-|On-premises connectivity to Delegated Subnet via VPN GW| Yes |
-|Connectivity from on-premises to Oracle database in a spoke virtual network over VPN gateway and virtual network peering with gateway transit| Yes |
-|Connectivity over Active/Passive VPN gateways| Yes |
-|Connectivity over Active/Active VPN gateways| No |
-|Connectivity over Active/Active Zone Redundant gateways| No |
-|Transit connectivity via vWAN for Oracle database cluster provisioned in spoke virtual networks| Yes |
-|On-premises connectivity to Oracle database cluster via vWAN attached SD-WAN|No|
-|On-premises connectivity via Secured HUB (Firewall NVA) | No|
-|Connectivity from Oracle database cluster on Oracle Database@Azure nodes to Azure resources|Yes|
-
-* You can overcome this limitation by setting Site-to-Site VPN.
+|Connectivity to an Oracle database cluster in a local virtual network| Yes |
+|Connectivity to an Oracle database cluster in a peered virtual network (in the same region)|Yes |
+|Connectivity to an Oracle database cluster in a spoke virtual network in a different region with a virtual wide area network (virtual WAN) |Yes |
+|Connectivity to an Oracle database cluster in a peered virtual network (cross-region or global peering) without a virtual WAN\* | No|
+|On-premises connectivity to an Oracle database cluster via global and local Azure ExpressRoute |Yes|
+|Azure ExpressRoute FastPath |No |
+|Connectivity from on-premises to an Oracle database cluster in a spoke virtual network over an ExpressRoute gateway and virtual network peering with a gateway transit|Yes |
+|On-premises connectivity to a delegated subnet via a virtual private network (VPN) gateway | Yes |
+|Connectivity from on-premises to an Oracle database in a spoke virtual network over a VPN gateway and virtual network peering with gateway transit| Yes |
+|Connectivity over active/passive VPN gateways| Yes |
+|Connectivity over active/active VPN gateways| No |
+|Connectivity over active/active zone-redundant gateways| No |
+|Transit connectivity via a virtual WAN for an Oracle database cluster provisioned in a spoke virtual network| Yes |
+|On-premises connectivity to an Oracle database cluster via a virtual WAN and attached software-defined wide area network (SD-WAN)|No|
+|On-premises connectivity via a secured hub (a firewall network virtual appliance) | No|
+|Connectivity from an Oracle database cluster on Oracle Database@Azure nodes to Azure resources|Yes|
+
+\* You can overcome this limitation by using a site-to-site VPN.
## Constraints
-The following table describes the configuration of supported network features:
+The following table describes required configurations of supported network features:
|Features |Basic network features | | :- | -: | |Delegated subnet per virtual network |1|
-|[Network Security Groups](../../virtual-network/network-security-groups-overview.md) on Oracle Database@Azure-delegated subnets|No|
-|[User-defined routes (UDRs)](../../virtual-network/virtual-networks-udr-overview.md#user-defined) on Oracle Database@Azure-delegated subnets|Yes|
-|Connectivity from Oracle database cluster to [private endpoints](../../private-link/private-endpoint-overview.md) in the same virtual network on Azure-delegated subnets|No|
-|Connectivity from Oracle database cluster to [private endpoints](../../private-link/private-endpoint-overview.md) in a different spoke virtual network connected to vWAN|Yes|
+|[Network security groups](../../virtual-network/network-security-groups-overview.md) on Oracle Database@Azure delegated subnets|No|
+|[User-defined routes (UDRs)](../../virtual-network/virtual-networks-udr-overview.md#user-defined) on Oracle Database@Azure delegated subnets|Yes|
+|Connectivity from an Oracle database cluster to a [private endpoint](../../private-link/private-endpoint-overview.md) in the same virtual network on Azure-delegated subnets|No|
+|Connectivity from an Oracle database cluster to a [private endpoint](../../private-link/private-endpoint-overview.md) in a different spoke virtual network connected to a virtual WAN|Yes|
|Load balancers for Oracle database cluster traffic|No|
-|Dual stack (IPv4 and IPv6) virtual network|IPv4 only supported.|
+|Dual stack (IPv4 and IPv6) virtual network|Only IPv4 is supported|
-## Next steps
+## Related content
-- [Overview - Oracle Database@Azure](database-overview.md)-- [Onboard with Oracle Database@Azure](onboard-oracle-database.md)-- [Provision and manage Oracle Database@Azure](provision-oracle-database.md)-- [Oracle Database@Azure support information](oracle-database-support.md)-- [Groups and roles for Oracle Database@Azure](oracle-database-groups-roles.md)
+* [Overview of Oracle Database@Azure](database-overview.md)
+* [Onboard Oracle Database@Azure](onboard-oracle-database.md)
+* [Provision and manage Oracle Database@Azure](provision-oracle-database.md)
+* [Support for Oracle Database@Azure](oracle-database-support.md)
+* [Groups and roles for Oracle Database@Azure](oracle-database-groups-roles.md)
oracle Oracle Database Plan Ip https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/oracle/oracle-db/oracle-database-plan-ip.md
Title: Plan IP address space for Oracle Database@Azure
-description: Learn about how to plan your IP address space for Oracle Database@Azure.
+description: Learn how to plan your IP address space for Oracle Database@Azure.
Last updated 08/29/2024
-# Plan for IP address space for Oracle Database@Azure
+# Plan IP address space for Oracle Database@Azure
-When you set up Oracle Database@Azure, you need to plan your IP address space to ensure that you have enough IP addresses for your virtual machine clusters and networking services.
+A key part of designing an Oracle Database@Azure deployment is planning for IP address space. It's important to ensure that you have enough IPs for your virtual machine clusters and for networking services.
-This article provides tables you can use to find the minimum subnet CIDR size for your Oracle Database@Azure Exadata service instance.
+This article provides tables you can use to find the minimum subnet Classless Inter-Domain Routing (CIDR) size for your instance of Oracle Database@Azure.
-Consider the following points when setting up networking:
+When you set up your network, consider the following points:
-- For , the minimum CIDR size is /27.-- IP address ranges allocated to an and Exadata VM clusters must not overlap with other CIDRs in use, as this might cause routing issues. Take cross-region routing into consideration when configuring CIDRs for Oracle Database@Azure.-- For Exadata X9M: IP addresses 100.106.0.0/16 and 100.107.0.0/16 are reserved for the interconnect, and can't be allocated to client or backup networks.
+- For Oracle Autonomous Database, the minimum CIDR size is /27.
+- IP address ranges that are allocated to Oracle Autonomous Database subnets and to Oracle Exadata virtual machine clusters can't overlap with other CIDRs that are in use. Overlap might cause routing issues. Account for cross-region routing when you configure CIDRs for Oracle Database@Azure.
+- For Oracle Exadata X9M, IP addresses 100.106.0.0/16 and 100.107.0.0/16 are reserved for the interconnect and can't be allocated to client networks or backup networks.
-Other requirements specific to the Client Subnet and the Backup Subnet are provided in the sections for each subnet type that follow.
+Other requirements that are specific to client subnets and backup subnets are described in the next sections.
-## Client subnet requirements
+## Client subnet requirements
-The Client Subnet has the following IP address requirements:
+The client subnet has the following IP address requirements:
-- Four IP addresses are needed for each virtual machine. virtual machine clusters have a minimum of two virtual machines. Therefore, a virtual machine cluster with two virtual machines requires eight IP addresses in the Client Subnet. Each other virtual machine added to a virtual machine cluster increases the number of IP addresses needed in the Client Subnet by 4 IPs.-- Each virtual machine cluster requires three IP addresses for Single Client Access Names ([SCANs](https://docs.oracle.com/en/cloud/paas/exadata-cloud/csexa/connect-db-using-net-services.html)), regardless of how many virtual machines are present in the virtual machine cluster.-- 17 IP addresses are reserved for networking services in the Client Subnet, regardless of how many virtual machine clusters are present in the Client Subnet. The 17 addresses are the first 16 IP addresses, and the last IP address.
+- Each virtual machine requires 4 IP addresses. Virtual machine clusters must have a minimum of two virtual machines. Therefore, a virtual machine cluster with two virtual machines requires 8 IP addresses in the client subnet. Each virtual machine that's added to a virtual machine cluster increases the number of IP addresses required in the client subnet by 4 IP addresses.
+- Each virtual machine cluster requires 3 IP addresses for [Single Client Access Names (SCANs)](https://docs.oracle.com/en/cloud/paas/exadata-cloud/csexa/connect-db-using-net-services.html), regardless of how many virtual machines are in the virtual machine cluster.
+- In the client subnet, 17 IP addresses are reserved for networking services, regardless of how many virtual machine clusters are in the client subnet. The 17 IP addresses are the first 16 IP addresses and the last IP address.
-**Example**: IP addresses required for a Client Subnet that has one virtual machine cluster with two virtual machines.
+**Example**: The number of IP addresses required for a client subnet that has one virtual machine cluster with two virtual machines is *11 IPs (one virtual machine cluster with two virtual machines, plus three SCANs) + 17 IPs (for networking services) = 28 IPs*.
-``11 IPs *(virtual machine cluster with 2 virtual machines, plus 3 SCANs)* + 17 IPs *(Networking)* = 28 IPs.``
+### Scenarios: CIDR size required for a client subnet
-### Virtual machine cluster scenarios: CIDR size needed for the client subnet
-
-The following table shows scenarios of provisioned virtual machine clusters of varying sizes. The number of each scenario that can fit in a Client Subnet depends on the CIDR size used by the subnet. This table doesn't show all possible scenarios.
+The following table shows scenarios of provisioned virtual machine clusters of varying sizes. The number of instances of each scenario that can fit in a client subnet depends on the CIDR size of the subnet. This table doesn't show all possible scenarios.
|Scenario|/27|/26|/25|/24|/23|/22| |--|||||||
-|One virtual machine cluster with two virtual machines *(11 IPs + 17 Networking = 28)*|1|4|10|21|45|91|
-|One virtual machine cluster with three virtual machines *(15 IPs + 17 Networking = 32*|1|3|7|15|33|67|
-|One virtual machine cluster with four virtual machines *(19 IPs + 17 Networking = 36)*| |2|5|12|26|53|
-|Two virtual machine clusters with two virtual machines each *(22 IPs + 17 Networking = 39)*| |2|5|10|22|45|
-|Two virtual machine clusters with three virtual machines each *(30 IPs + 17 Networking = 47)*| |1|3|7|16|33|
-|Two virtual machine clusters with four virtual machines each *(38 IPs + 17 Networking = 55)*| |1|2|6|13|26|
-
-### Virtual machine cluster scenarios: CIDR size needed for the client subnet
-
-The following table shows scenarios of provisioned virtual machine clusters of varying sizes. The number of each scenario that can fit in a Client Subnet depends on the CIDR size used by the subnet. This table doesn't show all possible scenarios.
+|One virtual machine cluster with two virtual machines *(11 IPs + 17 IPs for networking services = 28 IPs)*|1|4|10|21|45|91|
+|One virtual machine cluster with three virtual machines *(15 IPs + 17 IPs for networking services = 32* IPs)|1|3|7|15|33|67|
+|One virtual machine cluster with four virtual machines *(19 IPs + 17 IPs for networking services = 36 IPs)*| |2|5|12|26|53|
+|Two virtual machine clusters with two virtual machines each *(22 IPs + 17 IPs for networking services = 39 IPs)*| |2|5|10|22|45|
+|Two virtual machine clusters with three virtual machines each *(30 IPs + 17 IPs for networking services = 47 IPs)*| |1|3|7|16|33|
+|Two virtual machine clusters with four virtual machines each *(38 IPs + 17 IPs for networking services = 55 IPs)*| |1|2|6|13|26|
-|Scenario|/27|/26|/25|/24|/23|/22|
-|--|||||||
-|One virtual machine cluster with two virtual machines *(11 IPs + 17 Networking = 28)*|1|2|4|9|18|36|
-|One virtual machine cluster with three virtual machines *(15 IPs + 17 Networking = 32)*|1|2|4|8|16|32|
-|One virtual machine cluster with four virtual machines *(19 IPs + 17 Networking = 36)*| |1|3|7|14|28|
-|Two virtual machine clusters with two virtual machines each *(22 IPs + 17 Networking = 39)*| |1|3|6|13|26|
-|Two virtual machine clusters with three virtual machines each *(30 IPs + 17 Networking = 47)*| |1|2|5|10|21|
-|Two virtual machine clusters with four virtual machines each *(38 IPs + 17 Networking = 55)*| |1|2|4|9|18|
+## Backup subnet requirements
-## Backup subnet requirements
+A backup subnet has the following IP address requirements:
-The Backup Subnet has the following IP address requirements:
+- Each virtual machine requires 3 IP addresses. Virtual machine clusters have a minimum of two virtual machines. Therefore, a virtual machine cluster that has two virtual machines requires 6 IP addresses in the backup subnet. Each virtual machine that's added to a virtual machine cluster increases the number of IP addresses required in the backup subnet by 3 IPs.
+- Networking services require 3 IP addresses for the backup subnet, regardless of how many virtual machine clusters are in the backup subnet.
-- Three IP addresses for each virtual machine. virtual machine clusters have a minimum of two virtual machines. Therefore, a virtual machine cluster with two virtual machines requires six IP addresses in the backup subnet. Each other virtual machine added to a virtual machine cluster increases the number of IP addresses needed in the Backup Subnet by 3 IPs.-- Networking services require three IP addresses for the Backup Subnet, regardless of how many virtual machine clusters are present in the Backup Subnet.
+**Example**: The number of IP addresses required for a backup subnet that has one virtual machine cluster with two virtual machines is *6 IPs (one virtual machine cluster with two virtual machines) + 3 IPs (for networking services) = 9 IPs*.
-**Example**: IP addresses required for a Backup Subnet that has one virtual machine cluster with two virtual machines.
+### Scenarios: CIDR size required for a backup subnet
-``6 IPs *(virtual machine cluster with 2 virtual machines)* + 3 IPs *(Networking)* = 9 IPs.``
-
-### Virtual machine cluster scenarios: CIDR size needed for the Backup Subnet
-
-The following table shows scenarios of provisioned virtual machine clusters of differing sizes. The number of each scenario that can fit in a Backup Subnet depends on the CIDR size used by the subnet. This table doesn't display all possible scenarios.
+The following table shows scenarios of provisioned virtual machine clusters of different sizes. The number of instances of each scenario that can fit in a backup subnet depends on the CIDR size of the subnet. The table doesn't display all possible scenarios.
|Scenario|/28|/27|/26|/25|/24|/23| |--|||||||
-|One virtual machine cluster with two virtual machines *(6 IPs + 3 Networking = 9)*|1|3|7|14|28|56|
-|One virtual machine cluster with three virtual machines *(9 IPs + 3 Networking = 12)*|1|2|5|10|21|42|
-|One virtual machine cluster with four virtual machines *(12 IPs + 3 Networking = 15)*|1|2|4|8|17|34|
-|Two virtual machine clusters with two virtual machines each *(12 IPs + 3 Networking = 15)*|1|2|4|8|17|34|
-|Two virtual machine clusters with three virtual machines each *(18 IPs + 3 Networking = 21)*| |1|3|6|12|24|
-|Two virtual machine clusters with four virtual machines each *(24 IPs + 3 Networking = 27)*| |1|2|4|9|18|
+|One virtual machine cluster with two virtual machines *(6 IPs + 3 for networking services = 9 IPs)*|1|3|7|14|28|56|
+|One virtual machine cluster with three virtual machines *(9 IPs + 3 for networking services = 12 IPs)*|1|2|5|10|21|42|
+|One virtual machine cluster with four virtual machines *(12 IPs + 3 for networking services = 15 IPs)*|1|2|4|8|17|34|
+|Two virtual machine clusters with two virtual machines each *(12 IPs + 3 for networking services = 15 IPs)*|1|2|4|8|17|34|
+|Two virtual machine clusters with three virtual machines each *(18 IPs + 3 for networking services = 21 IPs)*| |1|3|6|12|24|
+|Two virtual machine clusters with four virtual machines each *(24 IPs + 3 for networking services = 27 IPs)*| |1|2|4|9|18|
-## Usable IPs for client and Backup subnets by CIDR size
+## Usable IPs for client and backup subnets by CIDR size
-The following table shows the number of IPs available for virtual machine clusters and SCANs for various CIDR sizes, after subtracting the IPs required by the Networking services.
+The following table shows the number of IP addresses that are available for virtual machine clusters and SCANs for various CIDR sizes after you subtract the IP addresses that the networking services require.
->[!Tip]
-> Allocating a larger space for the subnet than the minimum required (for example, at least /25 instead of /27) can reduce the relative impact of those reserved addresses on the subnet's available space.
+> [!TIP]
+> Allocating more than the required space for a subnet (for example, at least /25 instead of /27) can help reduce the relative effect that reserved IP addresses have on the subnet's available space.
-|Subnet CIDR|Reserved Networking IPs for Client Subnet|Usable IPs for Client Subnet (Virtual Machines and SCANs)|Reserved Networking IPs for Backup Subnet|Usable IPs for Backup Subnet (Virtual Machines and SCANs)|
+|Subnet CIDR|Reserved networking IPs for a client subnet|Usable IPs for a client subnet (virtual machines and SCANs)|Reserved networking IPs for a backup subnet|Usable IPs for a backup subnet (virtual machines and SCANs)|
|--|--|--|--|--|
-|/28|17|0 (2^4 - 17)|3|13 (2^4 - 3)|
+|/28|17|0 (2<4 - 17)|3|13 (2^4 - 3)|
|/27|17|15 (2^5 - 17)|3|29 (2^5 - 3)| |/26|17|47 (2^6 - 17)|3|61 (2^6 - 3)| |/25|17|111 (2^7 - 17)|3|125 (2^7 - 3)| |/24|17|239 (2^8 - 17)|3|253 (2^8 - 3)| |/23|17|495 (2^9 - 17)|3|509 (2^9 - 3)|
-|/22|17|1007 (2^10 - 17)|3|1021 (2^10 - 3)|
+|/22|17|1,007 (2^10 - 17)|3|1,021 (2^10 - 3)|
+
+## Related content
-## Next steps
- [Provision and manage Oracle Database@Azure](provision-oracle-database.md)-- [Oracle Database@Azure support information](oracle-database-support.md)
+- [Support for Oracle Database@Azure](oracle-database-support.md)
- [Network planning for Oracle Database@Azure](oracle-database-network-plan.md) - [Groups and roles for Oracle Database@Azure](oracle-database-groups-roles.md)-
oracle Oracle Database Processes Autonomous Database Services https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/oracle/oracle-db/oracle-database-processes-autonomous-database-services.md
Title: Database operations processes for autonomous recovery Service@Azure
-description: Learn about database operations processes for autonomous recovery Service@Azure.
+ Title: Database ops processes for Oracle Database@Azure
+description: Learn about database operations processes for Oracle Database@Azure.
Last updated 08/01/2024
-# Database operations processes for Exadata services
-
-There are Oracle processes that are accessible from Microsoft Azure, but are setup and maintained from the Oracle Cloud Infrastructure (OCI) console.
-
-## Oracle database Autonomous Recovery Service@Azure
-
-Oracle Database Autonomous Recovery Service@Azure (RCV) is the preferred backup solution for OracleDB@Azure resources. The key customer benefits are as follows:
-* Allows use of Microsoft Azure Consumption Commitment (MACC) to pay for your backup storage.
-* Allows choice of backup storage locations to meet corporate data residency and compliance requirements.
-* Provides zero data loss with real-time database protection, enabling recovery to less than a second after an outage or ransomware attack.
-* Provides backup immutability using a policy-based backup retention lock preventing backup deletion or alteration by any user in the tenancy.
-* Improves data theft prevention with mandatory and automatic encryption for backup data throughout the entire lifecycle.
-* Provides higher operational efficiency by eliminating weekly full backups that reduces the CPU, memory, and I/O overhead when running backups lowering overall cloud costs.
-* Shortens the backup window with an incremental forever paradigm that moves smaller amounts of backup data between the database and RCV.
-* Improves recoverability with automated zero-impact recovery validation for database backups.
-* Speeds recovery to regions with optimized backups eliminating the need to recover multiple incremental backups.
-* Centralizes database protection insights with a granular recovery health dashboard.
-
-### High-level steps to enable autonomous recovery Service@Azure
-1. Access the OCI console for the database you want to enable for Autonomous Recovery Service@Azure. For details on this, see Access the OCI console in [Manage autonomous database resources](oracle-database-manage-autonomous-database-resources.md).
-1. Configure or create an Autonomous Recovery Service@Azure protection policy with Store backups in the same cloud provider as the database set.
-1. Use the protection policy to Configure automated backups.
-1. When the backup completes, subscription and backup location details will appear in the database within OCI.
-
-## Next steps
-For details and additional documentation for Autonomous Recovery Service@Azure, see the following documents:
-* [Multicloud Oracle Database Backup Support](https://docs.oracle.com/en/cloud/paas/recovery-service/dbrsu/azure-multicloud-recoveryservice.html)
-* [Backup Automation and Storage in Oracle Cloud](https://docs.oracle.com/en/cloud/paas/recovery-service/dbrsu/backup-automation.html)
-* [Enable Automatic Backups to Recovery Service](https://docs.oracle.com/en/cloud/paas/recovery-service/dbrsu/enable-automatic-backup.html#GUID-B8A2D342-3331-42C9-8FDD-D0DB0E25F4CE)
-* [About Configuring Protection Policies](https://docs.oracle.com/en/cloud/paas/recovery-service/dbrsu/overview-protection-policy.html#GUID-8C097EAF-E2B0-4231-8027-0067A2E81A00)
-* [Creating a Protection Policy](https://docs.oracle.com/en/cloud/paas/recovery-service/dbrsu/create-protection-policy.html#GUID-C73E254E-2019-4EDA-88E0-F0BA68082A65)
-* [Viewing Protection Policy Details](https://docs.oracle.com/en/cloud/paas/recovery-service/dbrsu/view-protection-policy.html#GUID-5101A7ED-8891-4A6B-B1C4-F13F55A68FF0)
+# Database operations processes for Oracle Database@Azure
+
+Some Oracle processes are accessible from Azure, but you use the Oracle Cloud Infrastructure (OCI) console to set them up and maintain them.
+
+## Oracle Database Autonomous Recovery Service@Azure
+
+Oracle Database Autonomous Recovery Service@Azure is the preferred backup solution to use for Oracle Database@Azure resources. Here are some of the key benefits of using Oracle Database Autonomous Recovery Service@Azure:
+
+* You can use Microsoft Azure Consumption Commitment (MACC) to pay for your backup storage.
+* You can choose your backup storage locations to meet requirements for corporate data residency and compliance.
+* It gives you zero data loss with real-time database protection and recovery in less than a second after an outage or ransomware attack.
+* It provides backup immutability by using a policy-based backup retention lock. The lock prevents any user in the tenancy from deleting or altering backup data.
+* Data theft is prevented through mandatory, automatic encryption for backup data throughout the entire lifecycle.
+* It contributes to higher operational efficiency by eliminating weekly full backups to reduce CPU, memory, and I/O overhead and lower overall cloud costs.
+* It shortens the backup window via an incremental-forever paradigm that moves smaller amounts of backup data between the database and Oracle Database Autonomous Recovery Service@Azure.
+* Recoverability is improved through automated zero-impact recovery validation for database backups.
+* It uses optimized backups to eliminate the need to recover multiple incremental backups and speed recovery to regions.
+* Database protection insights are centralized in a granular recovery health dashboard.
+
+### High-level steps to enable Oracle Database Autonomous Recovery Service@Azure
+
+1. Go to the OCI console for the database you want to enable for Oracle Database Autonomous Recovery Service@Azure. Learn how to [access the OCI console](oracle-database-manage-autonomous-database-resources.md).
+1. Configure or create an Oracle Database Autonomous Recovery Service@Azure protection policy with storage backups in the same cloud provider as the database.
+1. Use the protection policy to configure automated backups.
+1. When the backup completes, check for subscription and backup location details in the database in OCI.
+
+## Related content
+
+* [Support for multicloud Oracle database backup](https://docs.oracle.com/en/cloud/paas/recovery-service/dbrsu/azure-multicloud-recoveryservice.html)
+* [Backup automation and storage in Oracle Cloud](https://docs.oracle.com/en/cloud/paas/recovery-service/dbrsu/backup-automation.html)
+* [Enable automatic backups to the recovery service](https://docs.oracle.com/en/cloud/paas/recovery-service/dbrsu/enable-automatic-backup.html#GUID-B8A2D342-3331-42C9-8FDD-D0DB0E25F4CE)
+* [Create a protection policy](https://docs.oracle.com/en/cloud/paas/recovery-service/dbrsu/create-protection-policy.html#GUID-C73E254E-2019-4EDA-88E0-F0BA68082A65)
+* [Configure protection policies](https://docs.oracle.com/en/cloud/paas/recovery-service/dbrsu/overview-protection-policy.html#GUID-8C097EAF-E2B0-4231-8027-0067A2E81A00)
+* [View protection policy details](https://docs.oracle.com/en/cloud/paas/recovery-service/dbrsu/view-protection-policy.html#GUID-5101A7ED-8891-4A6B-B1C4-F13F55A68FF0)
oracle Oracle Database Provision Autonomous Database https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/oracle/oracle-db/oracle-database-provision-autonomous-database.md
Title: Provision an autonomous database serverless instance
-description: Learn about how to provision an autonomous database serverless instance.
+ Title: Provision Oracle Autonomous Database
+description: Learn how to provision an instance of Oracle Autonomous Database in Azure.
Last updated 08/01/2024
-# Provision an autonomous database serverless instance
-Provisioning and basic management functions for an Oracle Autonomous Database Serverless instance is done from the Oracle Autonomous Database@Azure blade. More management functions are available within the Oracle Cloud Infrastructure (OCI) portal available via the link to that Oracle Autonomous Database from the Oracle Autonomous Database@Azure blade.
+# Provision an instance of Oracle Database@Azure
+
+You provision and manage basic functions for an Oracle Autonomous Database instance on the Oracle Autonomous Database@Azure pane in the Azure portal. More management functions are available in the Oracle Cloud Infrastructure (OCI) console via the link to that database on the Oracle Autonomous Database@Azure pane.
## Prerequisites
-The following are prerequisites that must be completed before you can provision Exadata Services.
-- An existing Azure subscription-- An Azure virtual network with a subnet delegated to the Oracle Database@Azure service (`Oracle.Database/networkAttachments`)
+You must have the following prerequisites before you can provision Oracle Database@Azure:
+
+- An existing Azure subscription.
+- An Azure virtual network with a subnet delegated to the Oracle Database@Azure service (`Oracle.Database/networkAttachments`).
- Permissions in Azure to create resources in the region, with the following conditions:
- * No policies prohibiting the creation of resources without tags, because the OracleSubscription resource is created automatically without tags during onboarding.
- * No policies enforcing naming conventions, because the OracleSubscription resource is created automatically with a default resource name.
-- Purchase OracleDB@Azure in the Azure portal.-- Select your Oracle Cloud Infrastructure (OCI) account.
-For more detailed documentation, including optional steps, see [Onboarding with Oracle Database@Azure](https://docs.oracle.com/iaas/Content/database-at-azure/oaaonboard.htm).
-
-## Provision an Oracle autonomous database serverless instance
-
-1. You provision an Oracle Autonomous Database instance from the Microsoft Azure portal. Select the Oracle Autonomous Database@Azure blade.
-1. There are two paths to begin the Oracle Autonomous Database instance provisioning flow.
- 1. From the Oracle Autonomous Database@Azure application Home, select the **Create an Oracle Autonomous Database** button.
- 1. From the Oracle Autonomous Database blade, select **+ Create** at the top of the blade. The Oracle Autonomous Database@Azure blade shows all your existing Autonomous Databases along with their current status. Selecting a specific Autonomous Database shows you that instance is detailed information.
-1. From the **Basics** tab of the Create Oracle Autonomous Database flow, enter the following information.
- 1. The **Subscription** field is a drop-down containing the current subscription, plus any other subscriptions that your account can access.
- 1. The **Resource group** field is a drop-down containing the existing resource groups.
- 1. To create a new **Resource group**, select the **Create new** link.
- 1. Enter a **Name** for your Oracle Autonomous Database Serverless instance. This name must be unique within your subscription.
- 1. Select the **Region**. The current region is automatically selected. If your subscription has access to other regions, those are available in the drop-down list.
- 1. Select **Next** to continue.
-1. From the **Configuration** tab of the Create Oracle Autonomous Database flow, enter the following information.
- 1. The **Workload type** is a drop-down list that provides all the options for your Oracle Autonomous Database Serverless instance. Select the appropriate option from the list.
- 1. The **Database version** is a drop-down list that allows you to select the options provided by your subscription and the currently supported versions of Oracle Autonomous Database Serverless.
- 1. The **ECPU count** is a slider UI that allows setting the ECPU count from 2 to 512.
- 1. The **Compute auto scaling** checkbox allows you to option for your Oracle Autonomous Database to scale its computing allocation automatically up to 512. By default, this is selected.
- 1. **Storage** is a slider UI that allows setting the Storage allocation from 1 TB to 383 TB or 20 GB to 393,216 GB.
- 1. The **Storage unit size** radio button allows you to select whether your storage is allocated in GB or TB.
- 1. The **Storage auto scaling** checkbox allows you to option for your Oracle Autonomous Database to scale its storage allocation automatically up to 383 TB or 393,216 GB. By default, this is unselected.
- 1. The **Backup retention period in days** is a slider UI that allows setting the backup retention days to vary from 1 to 60.
- 1. The **Username** is a read-only field that is set to **ADMIN**.
- 1. Enter a password for your **ADMIN** account. Passwords must be nonempty, between 12 and 60 characters, and contain at least one uppercase letter, one lowercase letter, and one number. The password cannot contain the double quote (") character or the username ADMIN.
- 1. The **Confirmed password** field must match your previously entered password.
- 1. The **License type** is a drop-down list of available license types, **License included** and **Bring your own license**. Select the one that is needed for your subscription.
- 1. If you select the **Advanced options** checkbox, two (2) another fields appear, **Character set** and **National character set**. These are drop-down lists of the available character set options for your database. If you select the **Advanced options** checkbox, select the appropriate **Character set** and **National character set** for your database.
- 1. Select **Next** to continue.
-1. From the **Networking** tab of the Create Oracle Autonomous Database flow, enter the following information.
- 1. Currently, the **Access type** drop-down only allows you to select **Managed private virtual network IP only**.
- 1. For **Managed private virtual network IP only**, the **Require mutual TLS (mTLS) authentication** is unselected by default and can be selected if desired. Additionally, the **Virtual network** and **Subnet** drop-downs are required and require you to select from existing resources.
-
+ - No policies that prohibit the creation of resources without tags. The OracleSubscription resource is created automatically without tags during onboarding.
+ - No policies that enforce naming conventions. The OracleSubscription resource is created automatically with a default resource name.
+- Oracle Database@Azure purchased in the Azure portal.
+- An OCI account.
+
+For more information, including optional steps, see [Onboard Oracle Database@Azure](https://docs.oracle.com/iaas/Content/database-at-azure/oaaonboard.htm).
+
+## Provision Oracle Database@Azure
+
+To provision an Oracle Autonomous Database instance:
+
+1. Go to the Azure portal.
+1. Choose one of the following options to begin provisioning your instance of Oracle Database@Azure:
+
+ - On the home pane for the Oracle Autonomous Database@Azure application, select **Create an Oracle Autonomous Database**.
+ - On the **Oracle Autonomous Database@Azure** pane, select **Create**. The Oracle Autonomous Database@Azure pane shows all your existing instances of Oracle Autonomous Database@Azure and the current status. To see detailed information about an instance of Oracle Autonomous Database@Azure, select the instance in the list.
+
+1. On the **Basics** tab, enter or select the following information:
+
+ 1. For **Subscription**, select the relevant subscription.
+ 1. For **Resource group**, select an existing resource group, or select the **Create new** link to create a new resource group.
+ 1. For **Name**, enter a name for your instance of Oracle Database@Azure. The name must be unique within your subscription.
+ 1. For **Region**, select the Azure region to use. The current region is automatically selected. If your subscription has access to other regions, the regions appear in the list.
+ 1. Select **Next**.
+
+1. On the **Configuration** tab, enter or select the following information:
+
+ 1. For **Workload type**, select the relevant option for your Oracle Database@Azure instance.
+ 1. For **Database version**, select from the options that are provided based on your subscription and the currently supported versions of Oracle Database@Azure.
+ 1. For **ECPU count**, select an Elastic Compute Processing Unit (ECPU) count from **2** to **512**.
+ 1. Select or clear the **Compute auto scaling** checkbox for the option to scale the computing allocation automatically up to 512. By default, the checkbox is selected.
+ 1. For **Storage**, set the storage allocation from 1 TB to 383 TB or from 20 GB to 393,216 GB.
+ 1. For **Storage unit size**, select the option to allocate your storage in GB or TB.
+ 1. You select or clear the **Storage auto scaling** checkbox for the option to scale the storage allocation automatically up to 383 TB or 393,216 GB. By default, the checkbox is cleared.
+ 1. For **Backup retention period in days**, set the backup retention days from **1** to **60**.
+ 1. The value for **Username** is set automatically to **ADMIN**.
+ 1. Enter a required password for your **ADMIN** account. The password must be from 12 to 60 characters, and it must contain at least one uppercase letter, one lowercase letter, and one number. The password can't contain the double quote (`"`) character or the word `ADMIN`.
+ 1. For **Confirmed password**, enter a password that matches your previously entered password.
+ 1. For **License type**, select the license type that's required for your subscription.
+ 1. If you select the **Advanced options** checkbox, select values for **Character set** and **National character set** as relevant for your database.
+ 1. Select **Next**.
+
+1. On the **Networking** tab, enter or select the following information:
+
+ 1. Currently, the value for **Access type** is set automatically to **Managed private virtual network IP only**.
+ 1. For **Managed private virtual network IP only**, you can optionally select the **Require mutual TLS (mTLS) authentication** checkbox.
+ 1. For **Virtual network** and **Subnet**, select existing resources.
+ > [!NOTE]
- > The selected virtual network must have one subnet delegated to the **Oracle.Database/networkAttachments** service. For more information, see Delegate a subnet to an Azure service.
-
- 1. Select **Next** to continue.
-1. From the **Maintenance** tab of the Create Oracle Autonomous Database flow, enter the following information.
- 1. The **Maintenance patch level** is a read-only field. Your Oracle Autonomous Database is patched on a regular and as-needed basis. This patching is done in a manner that should be unnoticeable to you. **Regular** means that the typical patch schedule is applied. For more information, see [View Patch and Maintenance Window Information, Set the Patch Level](https://docs.oracle.com/iaas/autonomous-database-serverless/doc/maintenance-windows-patching.html).
- 1. You can enter up to 10 contact email addresses for notification of unplanned maintenance events.
- 1. Select **Next** to continue.
-1. From the **Consent** tab of the Create Oracle Autonomous Database flow, review the Oracle terms of use and the Oracle privacy policy. When reviewed, select the **I agree to the terms of service** checkbox to continue. Select **Next** to continue.
-1. From the **Tags** tab of the Create Oracle Autonomous Database flow, set one or more tags to enable easier management and tracking of multiple Oracle Autonomous Databases. For more information, see [Use tags to organize your Azure resources and management hierarchy](https://go.microsoft.com/fwlink/?linkid=873112). Select **Next** to continue.
-1. From the **Review + Create** tab of the Create Oracle Autonomous Database flow, check the field values you have entered. Validation occurs as you enter this page, and all validations must pass for the provisioning to be started. Even if the validation passes, you may have incorrectly entered a value or values.
-1. Once your validations complete successfully and you have reviewed the values, select the **Create** button to start the provisioning process.
-1. The provisioning process starts. You return to the Oracle Autonomous Database@Azure blade. You can see the status of your provisioning processes. Assuming your process succeeds, select that entry in the list.
-1. This is the basic information for your Oracle Autonomous Database Serverless instance. You can perform functions shared with Microsoft Azure. For most administrative functions for the database, select the **Go to OCI** link under the **OCI Database URL** field.
-1. For the complete documentation on using an Oracle Autonomous Database, see [Using Oracle Autonomous Database Serverless](https://docs.oracle.com/en/cloud/paas/autonomous-database/serverless/adbsb/autonomous-intro-adb.html#GUID-8EAA5AE6-397D-4E9A-9BD0-3E37A0345E24).
+ > The selected virtual network must have one subnet delegated to the Oracle.Database/networkAttachments service.
+
+ 1. Select **Next**.
+
+1. On the **Maintenance** tab, enter or select the following information:
+
+ 1. The value for **Maintenance patch level** is set automatically. Your Oracle Autonomous Database is patched on a regular and as-needed basis. Patching is done in a manner that should be unnoticeable to you. *Regular* means that the typical patch schedule is applied. For more information, see [View patch and maintenance window information](https://docs.oracle.com/iaas/autonomous-database-serverless/doc/maintenance-windows-patching.html).
+ 1. Enter up to 10 contact email addresses for notification of unplanned maintenance events.
+ 1. Select **Next**.
+
+1. On the **Consent** tab, review the Oracle terms of use and the Oracle privacy policy. Select the **I agree to the terms of service** checkbox, and then select **Next**.
+
+1. On the **Tags** tab, optionally set one or more tags for easier management and to track multiple instances of Oracle Database@Azure. For more information, see [Use tags to organize your Azure resources and management hierarchy](https://go.microsoft.com/fwlink/?linkid=873112). Then select **Next**.
+
+1. On the **Review + Create** tab, check the values you entered. Validation automatically occurs on this pane. All validations must pass for the provisioning to start. Even if the validation passes, verify the settings.
+
+1. After your validation is successful and you review your settings, select **Create** to start the provisioning process.
+
+1. On the **Oracle Autonomous Database@Azure** pane, view the status of your provisioning process. When the provisioning process succeeds, select the entry in the list.
+
+1. The basic information for your Oracle Database@Azure instance is shown. You can complete functions that are shared with Azure. For most administrative functions for the database, under **OCI Database URL**, select the **Go to OCI** link.
+
+For the complete Oracle documentation, see [Using Oracle Autonomous Database Serverless](https://docs.oracle.com/en/cloud/paas/autonomous-database/serverless/adbsb/autonomous-intro-adb.html#GUID-8EAA5AE6-397D-4E9A-9BD0-3E37A0345E24).
oracle Oracle Database Regions https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/oracle/oracle-db/oracle-database-regions.md
Title: Available regions for Oracle Database@Azure
-description: Learn about available regions for Oracle Database@Azure.
+ Title: Region availability for Oracle Database@Azure
+description: Learn about region availability for Oracle Database@Azure.
-# Available regions for Oracle Database@Azure
-Learn what Azure regions offer Oracle Database@Azure.
+# Region availability for Oracle Database@Azure
-## Asia Pacific (APAC)
+Learn what Azure regions and corresponding Oracle Cloud Infrastructure (OCI) regions support Oracle Database@Azure in standard business regions across the globe.
+
+## Asia-Pacific (APAC)
+
+The following table lists Azure regions and corresponding OCI regions that support Oracle Database@Azure in the APAC business region:
| Azure region | OCI region | Oracle Exadata Database@Azure | Oracle Autonomous Database@Azure | |-|--|-|-|
Learn what Azure regions offer Oracle Database@Azure.
| Southeast Asia | Singapore (Singapore) | Γ£ô | Γ£ô | | Japan East | Japan East(Tokyo) | Γ£ô | Γ£ô |
+## Europe, Middle East, Africa (EMEA)
-## Europe, Middle East, Africa (EMEA)
-
+The following table lists Azure regions and corresponding OCI regions that support Oracle Database@Azure in the EMEA business region:
|Azure region |OCI region | Oracle Exadata Database@Azure | Oracle Autonomous Database@Azure | ||--|--||
Learn what Azure regions offer Oracle Database@Azure.
| UK South | UK South (London) | Γ£ô | Γ£ô | | Italy North | Italy North (Milan) | Γ£ô | |
+## North America (NA)
-## North America (NA)
+The following table lists Azure regions and corresponding OCI regions that support Oracle Database@Azure in the NA business region:
| Azure region | OCI region | Oracle Exadata Database@Azure | Oracle Autonomous Database@Azure | | -- | -|| | | East US | US East (Ashburn) | Γ£ô | Γ£ô | | Canada Central | Canada Southeast (Toronto) | Γ£ô | Γ£ô |
-## Available DR regions for Oracle Database@Azure
+## Disaster recovery regions available for Oracle Database@Azure
-Below Azure regions offer single zone DR solution for Oracle Database@Azure.
+The following table lists Azure regions and corresponding OCI regions that offer a single-zone disaster recovery solution for Oracle Database@Azure:
| Azure region | OCI region | Oracle Exadata Database@Azure | Oracle Autonomous Database@Azure | |-|--|-|-|
-| West US | US West (Phoenix) | Γ£ô | Γ£ô
-
+| West US | US West (Phoenix) | Γ£ô | Γ£ô |
->[!Note]
-> To provision Oracle Database@Azure resources in a supported region, your tenancy must be subscribed to the target region. For more information, see [Managing regions](https://docs.oracle.com/en-us/iaas/Content/Identity/regions/managingregions.htm#Managing_Regions) and [Subscribing to an infrastructure region](https://docs.oracle.com/en-us/iaas/Content/Identity/regions/To_subscribe_to_an_infrastructure_region.htm#subscribe).
+> [!NOTE]
+> To provision Oracle Database@Azure resources in a supported region, your tenancy must be subscribed to the target region. Learn how to [manage regions](https://docs.oracle.com/iaas/Content/Identity/regions/managingregions.htm#Managing_Regions) and [subscribe to an infrastructure region](https://docs.oracle.com/iaas/Content/Identity/regions/To_subscribe_to_an_infrastructure_region.htm#subscribe).
oracle Oracle Database Troubleshoot Autonomous Database Services https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/oracle/oracle-db/oracle-database-troubleshoot-autonomous-database-services.md
Title: Troubleshoot autonomous database services for Oracle Database@Azure
-description: Learn about how to troubleshoot for autonomous database services.
+ Title: Troubleshoot Oracle Autonomous Database@Azure
+description: Learn how to troubleshoot problems in Oracle Autonomous Database@Azure.
Last updated 08/01/2024
-# Troubleshoot autonomous database services for Oracle Database@Azure
+# Troubleshoot Oracle Autonomous Database@Azure
-In this article, you learn to resolve common errors and provisioning issues in your Oracle Database@Azure environments.
+In this article, learn how to resolve common problems and provisioning issues in your Oracle Autonomous Database@Azure environment.
-The issues covered in this guide don't cover general issues related to Oracle Database@Azure configuration, settings, and account setup. For more information on those articles, see [Oracle Database@Azure Overview](https://docs.oracle.com/iaas/Content/multicloud/oaaoverview.htm).
+This article doesn't describe general issues related to Oracle Database@Azure configuration, settings, and account setup. For more information about these topics, see [Overview of Oracle Database@Azure](https://docs.oracle.com/iaas/Content/multicloud/oaaoverview.htm).
-## Terminations and Microsoft Azure locks
+## Terminations and Microsoft locks
-Oracle advises removal of all Microsoft Azure locks to Oracle Database@Azure resources before terminating the resource. For example, if you created a Microsoft Azure private endpoint, you should remove that resource first. If you have a policy to prevent the deletion of locked resources, the Oracle Database@Azure workflow to delete the resource fails because Oracle Database@Azure can't delete the lock.
+Oracle recommends that you remove all Microsoft locks that are applied to Oracle Database@Azure resources before you terminate a resource. If you have a policy to prevent the deletion of locked resources, the Oracle Database@Azure process to delete the resource fails because Oracle Database@Azure can't delete locked resources. For example, if you created an Azure private endpoint, you should remove the lock before you delete the resource.
-## IP Address requirement differences
+## IP address requirement differences between Oracle Database@Azure and OCI
-There are IP address requirement differences between Oracle Database@Azure and Oracle Cloud Infrastructure (OCI). In the [Requirements for IP Address Space](https://docs.oracle.com/iaas/exadatacloud/exacs/ecs-network-setup.html#GUID-D5C577A1-BC11-470F-8A91-77609BBEF1EA) documentation, the following changes for Oracle Database@Azure must be considered.
-* Oracle Database@Azure only supports Exadata X9M. All other shapes are unsupported.
-* Oracle Database@Azure reserves 13 IP addresses for the client subnet versus 3 for OCI requirements.
+Oracle Database@Azure has different IP address requirements than Oracle Cloud Infrastructure (OCI). As described in [Requirements for IP address space](https://docs.oracle.com/iaas/exadatacloud/doc/ecs-network-setup.html#ECSCM-GUID-D5C577A1-BC11-470F-8A91-77609BBEF1EA), the following differences in IP address requirements for Oracle Database@Azure must be considered:
-## Private DNS zone limitation
+- Oracle Database@Azure supports only Oracle Exadata X9M. All other shapes are unsupported.
+- Oracle Database@Azure reserves 13 IP addresses for the client subnet versus 3 IP addresses for OCI requirements.
-When provisioning Exadata Services, in a private DNS zone you can only select zones with four labels or less. For example, a.b.c.d is allowed, while a.b.c.d.e isn't allowed.
+## Private DNS zone limitation
+When you provision Oracle Exadata Database@Azure in a private DNS zone, you can select only zones that have four labels or less. For example, `a.b.c.d` is allowed, but `a.b.c.d.e` isn't allowed.
oracle Oracle Database Troubleshoot https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/oracle/oracle-db/oracle-database-troubleshoot.md
Title: Troubleshoot Oracle Database@Azure
-description: Learn about how to troubleshoot Oracle Database@Azure.
+description: Learn how to troubleshoot problems in Oracle Database@Azure.
Last updated 08/29/2024
-# Troubleshoot Oracle Database@Azure
-Find troubleshooting tips for Oracle Database@Azure.
+# Troubleshoot problems in Oracle Database@Azure
-## Private DNS FQDN name can't contain more than four labels
+Get troubleshooting tips for problems you might have when you use Oracle Database@Azure.
-**Details:** When creating an Exadata VM cluster, if you select a private DNS zone whose FQDN has more than four labels (delimited by a period '.'), you get this error. For example, `a.b.c.d` is allowed, while `a.b.c.d.e` is not allowed.
+## A private DNS FQDN name can't contain more than four labels
-**Error:**
+When you create an Oracle Exadata Database@Azure virtual machine (VM) cluster, if you select a private DNS zone that has a fully qualified domain name (FQDN) that has more than four labels, you might see the following message.
-```
+### Message
+
+```output
Error returned by CreateCloudVmCluster operation in Database service. (400, InvalidParameter, false) domain name cannot contain more than four labels ```
-**Workaround:** Rename the private DNS that caused the error, or select a different private DNS whose FQDN has 4 or fewer labels.
+### Resolution
-### Not Authorized error when private DNS with no tags is used
+Labels are delimited by a period (`.`). For example, `a.b.c.d` is allowed, but `a.b.c.d.e` isn't allowed.
-**Details:**
+Rename the private DNS zone that caused the problem or select a private DNS zone that has an FQDN that has a maximum of four labels.
-When creating an Exadata VM cluster, if you select a private DNS zone created without any tags, the default tag `oracle-tags` is automatically generated for the VM cluster. This might cause the following error, if the tag namespace isn't authorized in the tenancy:
+## Not Authorized error when a private DNS with no tags is used
-**Error:**
+When you create an Oracle Exadata Database@Azure VM cluster, if you select a private DNS zone that you created without any tags, the default tag `oracle-tags` is automatically generated for the VM cluster. The tags might cause the following error if the tag namespace isn't authorized in the tenancy.
-```
+### Message
+
+```output
404 NotAuthorizedOrNotFound ```
-**Workaround:** Add the following policies to the tenancy:
+### Resolution
-```
+To resolve the problem, add the following policies to the tenancy:
+
+```output
Allow any user to use tag-namespaces in tenancy where request.principal.type = ΓÇÿmulticloudlinkΓÇÖ Allow any user to manage tag-defaults in tenancy where request.principal.type = ΓÇÿmulticloudlinkΓÇÖ ```
-## Microsoft locks
-In this section, you find information about Microsoft locks and how they can affect Oracle Database@Azure.
-### Terminations and Microsoft locks
+## Microsoft locks
-We recommend the removal of all Microsoft locks to Oracle Database@Azure resources before terminating the resources. For example, if you're using a locked Microsoft private endpoint with Oracle Database@Azure, confirm that the endpoint can be deleted, then remove the lock before deleting the Oracle Database@Azure resources. If you have a policy to prevent the deletion of locked resources, the Oracle Database@Azure work flow to delete system resources fails because Oracle Database@Azure can't delete a locked resource.
+This section includes information about Microsoft locks and how they might affect Oracle Database@Azure deployments.
-## Networking
-In this section, you'll find information about networking and how it can affect Oracle Database@Azure.
-### IP address requirement differences between Oracle Database@Azure and Exadata in OCI
+### Terminations and Microsoft locks
-IP address requirements are different between Oracle Database@Azure and Exadata in OCI. In the [Requirements for IP Address Space](https://docs.oracle.com/iaas/exadatacloud/doc/ecs-network-setup.html#ECSCM-GUID-D5C577A1-BC11-470F-8A91-77609BBEF1EA) documentation for Exadata in OCI, the following differences with the requirements of Oracle Database@Azure must be considered:
+We recommend that you remove all Microsoft locks from an Oracle Database@Azure resource before you terminate the resource. If you have a policy to prevent the deletion of locked resources, the Oracle Database@Azure process to delete system resources fails because Oracle Database@Azure can't delete a locked resource. For example, if you're using a locked private endpoint with Oracle Database@Azure, confirm that the endpoint can be deleted, and then remove the lock before you delete the Oracle Database@Azure resource.
-- Oracle Database@Azure only supports Exadata X9M. All other shapes are unsupported.
+## Networking
-- Oracle Database@Azure reserves 13 IP addresses for the client subnet.
+This section includes information about networking and how it might affect Oracle Database@Azure.
+### IP address requirement differences between Oracle Database@Azure and Oracle Exadata in OCI
-### Automatic network ingress configuration
+Oracle Database@Azure has different IP address requirements than Oracle Exadata in Oracle Cloud Infrastructure (OCI). As described in [Requirements for IP address space](https://docs.oracle.com/iaas/exadatacloud/doc/ecs-network-setup.html#ECSCM-GUID-D5C577A1-BC11-470F-8A91-77609BBEF1EA), the following differences in IP address requirements for Oracle Database@Azure must be considered:
-You can connect a Microsoft Azure VM to an Oracle Exadata VM cluster if both are in the same virtual network (VNet). This functionality is automatic, and requires no extra changes to network security group (NSG) rules. If you need to connect an VM from a different VNet than the one used by the Exadata VM cluster, you must also configure NSG traffic rules to let the other VNet's traffic to flow to the Exadata VM cluster. For example, if you have 2 VNets ("A" and "B"), with VNet A serving the Microsoft Azure VM, and VNet B serving the Oracle Exadata VM cluster, you need to add VNet A's CIDR address to the NSG route table in OCI.
+- Oracle Database@Azure supports only Oracle Exadata X9M. All other shapes are unsupported.
-#### Default client NSG rules
+- Oracle Database@Azure reserves 13 IP addresses for the client subnet.
-|Direction|Source or Destination|Protocol|Details|Description|
-|--|--|-||-|
-| **Direction:** Egress **Stateless:** No | **Destination Type:** CIDR **Destination:** 0.0.0.0/0 | All protocols | **Allow:** All traffic for all ports | Default NSG egress rule |
-| **Direction:** Ingress **Stateless:** No | **Source Type:** CIDR **Source:** Microsoft Azure VNet CIDR | TCP | **Source Port Range:** All **Destination Port Range:** All **Allow:** TCP traffic for all ports | Ingress for all TCP from Microsoft Azure VNet |
-| **Direction:** Ingress **Stateless:** No | **Source Type:** CIDR **Source:** Microsoft Azure VNet CIDR | ICMP | **Type:** All **Code:** All **Allow:** ICMP traffic for all | Ingress for all ICMP from Microsoft Azure VNet |
+### Automatic network ingress configuration
+You can connect an Azure VM to an Oracle Exadata Database@Azure VM cluster if both VMs are in the same virtual network (VNet). This functionality is automatic and requires no extra changes to network security group rules. If you need to connect a VM from a different VNet than the one used by the Oracle Exadata Database@Azure VM cluster, you must also configure network security group traffic rules to let the other VNet's traffic to flow to the Oracle Exadata Database@Azure VM cluster. For example, you have two VNets ("A" and "B"). VNet A serves the Azure VM and VNet B serves the Oracle Exadata Database@Azure VM cluster. For network ingress, you must add VNet A's Classless Inter-Domain Routing (CIDR) address to the network security group route table in OCI.
+#### Default client network security group rules
+
+| Direction | Source or destination | Protocol | Details | Description |
+|--|--|-||-|
+| **Direction**: Egress<br />**Stateless**: No | **Destination type**: CIDR<br />**Destination**: 0.0.0.0/0 | All protocols | **Allow**: All traffic for all ports | Default network security group egress rule |
+| **Direction**: Ingress<br />**Stateless**: No | **Source type**: CIDR<br />**Source**: Azure virtual network CIDR | TCP | **Source port range**: All<br />**Destination port range**: All<br />**Allow**: TCP traffic for all ports | Ingress for all TCP from an Azure virtual network |
+| **Direction**: Ingress<br />**Stateless**: No | **Source type**: CIDR<br />**Source**: Azure virtual network CIDR | ICMP | **Type**: All<br />**Code**: All<br />**Allow**: ICMP traffic for all | Ingress for all ICMP from an Azure virtual network |
-#### Default backup NSG rules
+#### Default backup network security group rules
-|Direction|Source or Destination|Protocol|Details|Description|
+| Direction | Source or destination | Protocol | Details | Description |
|||--|-|--|
-|**Direction:** Egress **Stateless:** No |**Destination Type:** Service **Destination:** object storage|TCP|**Source Port Range:** All **Destination Port Range:** 443 **Allow:** TCP traffic for port 443 HTTPS|Allows access to object storage|
-|**Direction:** Ingress **Stateless:** No|**Source Type:** CIDR **Source:** 0.0.0.0/0 |ICMP| **Type:** 3 **Code:** 4 **Allow:** ICMP traffic for 3, 4 Destination Unreachable: Fragmentation needed and "Don't Fragment" was set |Allows Path MTU Discovery fragmentation messages|
+| **Direction**: Egress<br />**Stateless**: No | **Destination type**: Service<br />**Destination**: Object storage | TCP |**Source port range**: All<br />**Destination port range**: 443<br />**Allow**: TCP traffic for port 443 HTTPS | Allows access to object storage |
+| **Direction**: Ingress<br />**Stateless**: No | **Source type**: CIDR<br />**Source**: 0.0.0.0/0 | ICMP | **Type**: 3<br />**Code**: 4<br />**Allow**: ICMP traffic for 3, 4 Destination Unreachable: Fragmentation needed and "Don't Fragment" was set | Allows path maximum transmission unit (MTU) discovery fragmentation messages |
oracle Oracle Database What Is New https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/oracle/oracle-db/oracle-database-what-is-new.md
Title: What's New in Oracle Database@Azure
-description: Learn about what's New in Oracle Database@Azure
+ Title: What's new in Oracle Database@Azure
+description: Learn about what's new in Oracle Database@Azure.
# What's new in Oracle Database@Azure
-In this article, you find information about new features in Oracle Database@Azure.
+Learn about new features in Oracle Database@Azure.
## August 2024 | Feature | Description | ||-|
-| Multiple Azure subscription support | Oracle Database@Azure now supports using multiple Azure subscriptions with the service. For more information, see [Link Oracle Database@Azure to multiple Azure subscriptions](link-oracle-database-multiple-subscription.md). |
+| Support for multiple Azure subscriptions | Oracle Database@Azure now supports using multiple Azure subscriptions in the same Azure account. For more information, see [Link Oracle Database@Azure to multiple Azure subscriptions](link-oracle-database-multiple-subscription.md). |
+
+## Related content
-## Next steps
- [Provision and manage Oracle Database@Azure](provision-oracle-database.md)-- [Oracle Database@Azure support information](oracle-database-support.md)
+- [Support for Oracle Database@Azure](oracle-database-support.md)
- [Network planning for Oracle Database@Azure](oracle-database-network-plan.md) - [Groups and roles for Oracle Database@Azure](oracle-database-groups-roles.md)-
oracle Oracle Database Whats New Autonomous Database Services https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/oracle/oracle-db/oracle-database-whats-new-autonomous-database-services.md
Title: What's new in autonomous database services
-description: Learn about what's new in autonomous database services.
+ Title: What's new in Oracle Autonomous Database@Azure
+description: Learn about what's new in Oracle Autonomous Database@Azure.
Last updated 08/01/2024
-# What's new in autonomous database services
+# What's new in Oracle Autonomous Database@Azure
-This is the list of product enhancements and fixes to Oracle Database@Azure (OracleDB@Azure) for Oracle Autonomous Database.
+Learn about product enhancements and fixes for Oracle Autonomous Database@Azure.
## July 2024
-| Month/Year | Feature | Description |
+The following table lists only changes made in Oracle Autonomous Database@Azure:
+
+| Month and year | Feature | Description |
| - | - | -- |
-| July 2024 | Added a Quickstart Terraform Templates and Modules section. | This section will grow as the templates and modules are revised and new content is added. |
+| July 2024 | Added a section for Terraform quickstart templates and modules. | This section will expand as templates and modules are revised and new content is added. |
+
+For information about changes to the Oracle Autonomous Database service, see the following Oracle links:
+
+* For new features that are added in the current year, see [What's new for Oracle Autonomous Database](https://docs.oracle.com/en/cloud/paas/autonomous-database/serverless/adbsb/whats-new-adwc.html).
+* For previous features that were added to Oracle Autonomous Database, see [the Oracle previous feature announcements](https://docs.oracle.com/en/cloud/paas/autonomous-database/serverless/adbsb/previous-feature-announcements.html).
-The above table only lists the changes within the Oracle Database@Azure product specific to Autonomous Database Services. For changes to the Oracle Autonomous Database product, use the following links:
-* For current year new features added to Oracle Autonomous Database, see What's New for [Oracle Autonomous Database Serverless](https://docs.oracle.com/en/cloud/paas/autonomous-database/serverless/adbsb/whats-new-adwc.html).
-* For older features added to Oracle Autonomous Database, see [Previous Feature Announcements](https://docs.oracle.com/en/cloud/paas/autonomous-database/serverless/adbsb/previous-feature-announcements.html).
+## Related content
-## Next steps
-- [Provision and manage Oracle Database@Azure](provision-oracle-database.md)-- [Oracle Database@Azure support information](oracle-database-support.md)-- [Network planning for Oracle Database@Azure](oracle-database-network-plan.md)-- [Groups and roles for Oracle Database@Azure](oracle-database-groups-roles.md)
+* [Provision and manage Oracle Database@Azure](provision-oracle-database.md)
+* [Support for Oracle Database@Azure](oracle-database-support.md)
+* [Network planning for Oracle Database@Azure](oracle-database-network-plan.md)
+* [Groups and roles for Oracle Database@Azure](oracle-database-groups-roles.md)
peering-service Location Partners https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/peering-service/location-partners.md
Previously updated : 10/08/2024 Last updated : 10/28/2024
The following table provides information on the Peering Service connectivity par
| [LINX](https://www.linx.net/services/microsoft-azure-peering/) | Europe, North America | | [Liquid Telecom](https://liquidc2.com/connect/#maps) | Africa | | [Lumen Technologies](https://www.ctl.io/microsoft-azure-peering-services/) | Asia, Europe, North America |
-| [MainOne](https://www.mainone.net/connectivity-services/cloud-connect/) | Africa |
+| [MainOne](https://mainone.net/products-and-services/) | Africa |
| [NAP Africa](https://www.napafrica.net/technical/microsoft-azure-peering-service/) | Africa | | [NTT Communications](https://www.ntt.com/en/services/network/software-defined-network.html) | Japan, Indonesia | | [PCCW](https://www.pccwglobal.com/en/enterprise/products/network/ep-global-internet-access) | Asia |
reliability Reliability Fabric https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/reliability/reliability-fabric.md
- references_regions - build-2023 - ignite-2023 Previously updated : 08/15/2024 Last updated : 10/28/2024 # Reliability in Microsoft Fabric
Fabric makes commercially reasonable efforts to provide availability zone suppor
| **Americas** | **Power BI** | **Datamarts** | **Data Warehouses** | **Real-Time Analytics** | **Data Factory (pipelines)** | **Data Engineering** | |:|::|::|::|::|::|::|
-| Brazil South | :::image type="icon" source="media/yes-icon.svg" border="false"::: | | :::image type="icon" source="media/yes-icon.svg" border="false"::: | :::image type="icon" source="media/yes-icon.svg" border="false"::: | :::image type="icon" source="media/yes-icon.svg" border="false"::: | |
-| Canada Central | :::image type="icon" source="media/yes-icon.svg" border="false"::: | | | :::image type="icon" source="media/yes-icon.svg" border="false"::: | :::image type="icon" source="media/yes-icon.svg" border="false"::: | |
+| Brazil South | :::image type="icon" source="media/yes-icon.svg" border="false"::: | | :::image type="icon" source="media/yes-icon.svg" border="false"::: | :::image type="icon" source="media/yes-icon.svg" border="false"::: | :::image type="icon" source="media/yes-icon.svg" border="false"::: | :::image type="icon" source="media/yes-icon.svg" border="false"::: |
+| Canada Central | :::image type="icon" source="media/yes-icon.svg" border="false"::: | | | :::image type="icon" source="media/yes-icon.svg" border="false"::: | :::image type="icon" source="media/yes-icon.svg" border="false"::: | :::image type="icon" source="media/yes-icon.svg" border="false"::: |
| Central US | :::image type="icon" source="media/yes-icon.svg" border="false"::: | | | | | :::image type="icon" source="media/yes-icon.svg" border="false"::: | | East US | :::image type="icon" source="media/yes-icon.svg" border="false"::: | :::image type="icon" source="media/yes-icon.svg" border="false"::: | :::image type="icon" source="media/yes-icon.svg" border="false"::: | :::image type="icon" source="media/yes-icon.svg" border="false"::: | :::image type="icon" source="media/yes-icon.svg" border="false"::: | :::image type="icon" source="media/yes-icon.svg" border="false"::: | | East US 2 | :::image type="icon" source="media/yes-icon.svg" border="false"::: | :::image type="icon" source="media/yes-icon.svg" border="false"::: | :::image type="icon" source="media/yes-icon.svg" border="false"::: | :::image type="icon" source="media/yes-icon.svg" border="false"::: | :::image type="icon" source="media/yes-icon.svg" border="false"::: | :::image type="icon" source="media/yes-icon.svg" border="false"::: | | South Central US | :::image type="icon" source="media/yes-icon.svg" border="false"::: | | | | :::image type="icon" source="media/yes-icon.svg" border="false"::: | |
-| West US 2 | :::image type="icon" source="media/yes-icon.svg" border="false"::: | :::image type="icon" source="media/yes-icon.svg" border="false"::: | | | :::image type="icon" source="media/yes-icon.svg" border="false"::: | |
-| West US 3 | :::image type="icon" source="media/yes-icon.svg" border="false"::: | | | :::image type="icon" source="media/yes-icon.svg" border="false"::: | :::image type="icon" source="media/yes-icon.svg" border="false"::: | |
-| **Europe** | | | | | | |
-| France Central | :::image type="icon" source="media/yes-icon.svg" border="false"::: | :::image type="icon" source="media/yes-icon.svg" border="false"::: | :::image type="icon" source="media/yes-icon.svg" border="false"::: | :::image type="icon" source="media/yes-icon.svg" border="false"::: | :::image type="icon" source="media/yes-icon.svg" border="false"::: | |
-| Germany West Central | :::image type="icon" source="media/yes-icon.svg" border="false"::: | | | | | |
+| West US 2 | :::image type="icon" source="media/yes-icon.svg" border="false"::: | :::image type="icon" source="media/yes-icon.svg" border="false"::: | | | :::image type="icon" source="media/yes-icon.svg" border="false"::: | :::image type="icon" source="media/yes-icon.svg" border="false"::: |
+| West US 3 | :::image type="icon" source="media/yes-icon.svg" border="false"::: | | | :::image type="icon" source="media/yes-icon.svg" border="false"::: | :::image type="icon" source="media/yes-icon.svg" border="false"::: | :::image type="icon" source="media/yes-icon.svg" border="false"::: |
+|**Europe** | | | | | | |
+| France Central | :::image type="icon" source="media/yes-icon.svg" border="false"::: | :::image type="icon" source="media/yes-icon.svg" border="false"::: | :::image type="icon" source="media/yes-icon.svg" border="false"::: | :::image type="icon" source="media/yes-icon.svg" border="false"::: | :::image type="icon" source="media/yes-icon.svg" border="false"::: | :::image type="icon" source="media/yes-icon.svg" border="false"::: |
+| Germany West Central | :::image type="icon" source="media/yes-icon.svg" border="false"::: | | | | | :::image type="icon" source="media/yes-icon.svg" border="false"::: |
| North Europe | :::image type="icon" source="media/yes-icon.svg" border="false"::: | :::image type="icon" source="media/yes-icon.svg" border="false"::: | :::image type="icon" source="media/yes-icon.svg" border="false"::: | :::image type="icon" source="media/yes-icon.svg" border="false"::: | :::image type="icon" source="media/yes-icon.svg" border="false"::: | :::image type="icon" source="media/yes-icon.svg" border="false"::: | | UK South | :::image type="icon" source="media/yes-icon.svg" border="false"::: | | :::image type="icon" source="media/yes-icon.svg" border="false"::: | :::image type="icon" source="media/yes-icon.svg" border="false"::: | :::image type="icon" source="media/yes-icon.svg" border="false"::: | :::image type="icon" source="media/yes-icon.svg" border="false"::: |
-| West Europe | :::image type="icon" source="media/yes-icon.svg" border="false"::: | :::image type="icon" source="media/yes-icon.svg" border="false"::: | | | | |
-| Norway East | :::image type="icon" source="media/yes-icon.svg" border="false"::: | | | :::image type="icon" source="media/yes-icon.svg" border="false"::: | :::image type="icon" source="media/yes-icon.svg" border="false"::: | |
+| West Europe | :::image type="icon" source="media/yes-icon.svg" border="false"::: | :::image type="icon" source="media/yes-icon.svg" border="false"::: | | | | :::image type="icon" source="media/yes-icon.svg" border="false"::: |
+| Norway East | :::image type="icon" source="media/yes-icon.svg" border="false"::: | | | :::image type="icon" source="media/yes-icon.svg" border="false"::: | :::image type="icon" source="media/yes-icon.svg" border="false"::: | :::image type="icon" source="media/yes-icon.svg" border="false"::: |
| **Middle East** | | | | | | | | Qatar Central | :::image type="icon" source="media/yes-icon.svg" border="false"::: | | | | | | | **Africa** | | | | | | |
-| South Africa North | :::image type="icon" source="media/yes-icon.svg" border="false"::: | | | :::image type="icon" source="media/yes-icon.svg" border="false"::: | :::image type="icon" source="media/yes-icon.svg" border="false"::: | |
+| South Africa North | :::image type="icon" source="media/yes-icon.svg" border="false"::: | | | :::image type="icon" source="media/yes-icon.svg" border="false"::: | :::image type="icon" source="media/yes-icon.svg" border="false"::: | :::image type="icon" source="media/yes-icon.svg" border="false"::: |
| **Asia Pacific** | | | | | | |
-| Australia East | :::image type="icon" source="media/yes-icon.svg" border="false"::: | | :::image type="icon" source="media/yes-icon.svg" border="false"::: | | :::image type="icon" source="media/yes-icon.svg" border="false"::: | |
-| Japan East | :::image type="icon" source="media/yes-icon.svg" border="false"::: | | | | :::image type="icon" source="media/yes-icon.svg" border="false"::: | |
+| Australia East | :::image type="icon" source="media/yes-icon.svg" border="false"::: | | :::image type="icon" source="media/yes-icon.svg" border="false"::: | | :::image type="icon" source="media/yes-icon.svg" border="false"::: | :::image type="icon" source="media/yes-icon.svg" border="false"::: |
+| Japan East | :::image type="icon" source="media/yes-icon.svg" border="false"::: | | | | :::image type="icon" source="media/yes-icon.svg" border="false"::: | :::image type="icon" source="media/yes-icon.svg" border="false"::: |
| Southeast Asia | :::image type="icon" source="media/yes-icon.svg" border="false"::: | | | | :::image type="icon" source="media/yes-icon.svg" border="false"::: | | ### Zone down experience
While Fabric ensures that data remains accessible after a disaster, you can also
## Next steps - [Experience-specific disaster recovery guidance](/fabric/security/experience-specific-guidance)-- [Reliability in Azure](./overview.md)
+- [Reliability in Azure](./overview.md)
reliability Reliability Hdinsight On Aks https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/reliability/reliability-hdinsight-on-aks.md
Previously updated : 04/15/2024 Last updated : 10/28/2024 CustomerIntent: As a cloud architect/engineer, I want to understand reliability support for Azure HDInsight on Azure Kubernetes Service so that I can respond to and/or avoid failures in order to minimize downtime and data loss. # Reliability in Azure HDInsight on Azure Kubernetes Service
+> [!Note]
+> We will retire Azure HDInsight on AKS on January 31, 2025. Before January 31, 2025, you will need to migrate your workloads to [Microsoft Fabric](https://www.microsoft.com/microsoft-fabric) or an equivalent Azure product to avoid abrupt termination of your workloads. The remaining clusters on your subscription will be stopped and removed from the host.
+>
+> Only basic support will be available until the retirement date.
+
+> [!IMPORTANT]
+> This feature is currently in preview. The [Supplemental Terms of Use for Microsoft Azure Previews](https://azure.microsoft.com/support/legal/preview-supplemental-terms/) include more legal terms that apply to Azure features that are in beta, in preview, or otherwise not yet released into general availability. For information about this specific preview, see [Azure HDInsight on AKS preview information](/azure/hdinsight-aks/preview). For questions or feature suggestions, please submit a request on [AskHDInsight](https://aka.ms/askhdinsight) with the details and follow us for more updates on [Azure HDInsight Community](https://www.linkedin.com/groups/14313521/).
+ This article describes reliability support in [Azure HDInsight on Azure Kubernetes Service (AKS)](../hdinsight-aks/overview.md), and covers both [specific reliability recommendations](#reliability-recommendations) and [disaster recovery and business continuity](#disaster-recovery-and-business-continuity). For a more detailed overview of reliability principles in Azure, see [Azure reliability](/azure/architecture/framework/resiliency/overview). ## Reliability recommendations
sap Businessobjects Deployment Guide Linux https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/sap/workloads/businessobjects-deployment-guide-linux.md
Follow the [SAP BOBI platform](https://help.sap.com/viewer/product/SAP_BUSINESSO
For multi-instance deployment, run the installation setup on a second host (`azusbosl2`). For **Select Install Type**, select **Custom / Expand**, which will expand the existing BOBI setup.
-In Azure Database for MySQL, a gateway redirects the connections to server instances. After the connection is established, the MySQL client displays the version of MySQL set in the gateway, not the actual version running on your MySQL server instance. To determine the version of your MySQL server instance, use the `SELECT VERSION();` command at the MySQL prompt. For more details, see [Supported Azure Database for MySQL server versions](/azure/mysql/concepts-supported-versions).
+In Azure Database for MySQL, a gateway redirects the connections to server instances. After the connection is established, the MySQL client displays the version of MySQL set in the gateway, not the actual version running on your MySQL server instance. To determine the version of your MySQL server instance, use the `SELECT VERSION();` command at the MySQL prompt. For more details, see [Supported Azure Database for MySQL server versions](/azure/mysql/flexible-server/concepts-supported-versions).
![Screenshot that shows SAP BOBI Deployment on Linux - CMC Settings.](media/businessobjects-deployment-guide/businessobjects-deployment-linux-sql-cmc.png)
sap Integration Get Started https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/sap/workloads/integration-get-started.md
To learn more about the opportunities of extending SAP applications with Azure s
> [!VIDEO https://www.youtube.com/embed/72kbjv0GJAY]
-We have over thirty years of partnership between SAP and Microsoft, which is a foundation to support common goals long-term, including a joint commitment by SAP and Microsoft to simplify and streamline customersΓÇÖ journeys to the cloud. For more information, see:
+We have over 30 years of partnership between SAP and Microsoft, which is a foundation to support common goals long-term, including a joint commitment by SAP and Microsoft to simplify and streamline customersΓÇÖ journeys to the cloud. For more information, see:
- [SAP Partners with Microsoft for First-in-Market Cloud Migration Offerings](https://news.microsoft.com/2019/10/20/sap-partners-with-microsoft-for-first-in-market-cloud-migration-offerings/) - [SAP and Microsoft Expand Partnership and Integrate Microsoft Teams Across Solutions](https://news.sap.com/2021/01/sap-and-microsoft-expand-partnership-integrate-teams/)
Select an area for resources about how to integrate SAP and Azure in that space.
| [Microsoft Universal Print](#microsoft-universal-print) | Learn about the available cloud native printing capabilities for SAP. | | [SAP Fiori](#sap-fiori) | Increase performance and security of your SAP Fiori applications by integrating them with Azure services. | | [Microsoft Entra ID (formerly Azure Active Directory)](#microsoft-entra-id-formerly-azure-ad) | Ensure end-to-end SAP user authentication and authorization with Microsoft Entra ID. Single sign-on (SSO) and multifactor authentication (MFA) are the foundation for a secure and seamless user experience. |
-| [Azure Integration Services](#azure-integration-services) | Connect your SAP workloads with your end users, business partners, and their systems with world-class integration services. Learn about co-development efforts that enable SAP Event Mesh to exchange cloud events with Azure Event Grid, understand how you can achieve high-availability for services like SAP Cloud Integration, automate your SAP invoice processing with Logic Apps and Azure AI services and more. |
+| [Azure Integration Services](#azure-integration-services) | Connect your SAP workloads with your end users, business partners, and their systems with world-class integration services. Learn about codevelopment efforts that enable SAP Event Mesh to exchange cloud events with Azure Event Grid, understand how you can achieve high-availability for services like SAP Cloud Integration, automate your SAP invoice processing with Logic Apps and Azure AI services and more. |
| [App Development in any language including ABAP and DevOps](#app-development-in-any-language-including-abap-and-devops) | Apply best-in-class developer tooling to your SAP app developments and DevOps processes. | | [Azure Data Services](#azure-data-services) | Learn how to integrate your SAP data with Data Services like Azure Synapse Analytics, Azure Data Lake Storage, Azure Data Factory, Power BI, Data Warehouse Cloud, Analytics Cloud, which connector to choose, tune performance, efficiently troubleshoot, and more. | | [Threat Monitoring and Response Automation with Microsoft Security Services for SAP](#microsoft-security-for-sap) | Learn how to best secure your SAP workload with Microsoft Defender XDR, Defender for Cloud, the [SAP certified](https://www.sap.com/dmc/exp/2013_09_adpd/enEN/#/solutions?id=s:33db1376-91ae-4f36-a435-aafa892a88d8) Microsoft Sentinel solution, and immutable vault for Azure Backup. Prevent incidents from happening, detect, and respond to threats in real-time. |
For more information about integration with [Azure OpenAI service](/azure/ai-ser
Also see these SAP resources: - [empower SAP RISE enterprise users with Azure OpenAI in multicloud environment | blog](https://blogs.sap.com/2023/02/14/empower-sap-rise-enterprise-users-with-chatgpt-in-multi-cloud-environment/)-- [Consume OpenAI services (GPT) through CAP & SAP BTP, AI Core | github repos](https://github.com/SAP-samples/azure-openai-aicore-cap-api)
+- [Consume OpenAI services (GPT) through CAP & SAP BTP, AI Core | GitHub repos](https://github.com/SAP-samples/azure-openai-aicore-cap-api)
- [SAP SuccessFactors Helps HR Solve Skills Gap with Generative AI | SAP News](https://news.sap.com/2023/05/sap-successfactors-helps-hr-solve-skills-gap-with-generative-ai/) ### Microsoft Copilot
For more information about integration with Microsoft Teams, see [Native SAP app
- [SAP Build Work Zone, advanced edition](https://help.sap.com/docs/WZ/b03c84105ff74f809631e494bd612e83/bfa596db8219450ba9c65b809300b55d.html) - [Embedding SAP Cloud Portal and SAP Build Work Zone into Microsoft Teams](https://blogs.sap.com/2022/01/26/integrate-sap-cloud-portal-and-launchpad-service-into-microsoft-teams-including-sso/) - [Embed self-hosted SAP Fiori Launchpad into Microsoft Teams](https://blogs.sap.com/2022/08/02/embed-self-hosted-sap-fiori-launchpad-into-microsoft-teams/)-- [Simplify Supplier forecasting with SAP Integrated Business Planning, Ariba and Microsoft Teams](https://blogs.sap.com/2022/10/03/using-microsoft-adaptive-cards-in-supply-chain-scenarios/)
+- [Simplify Supplier forecasting with SAP Integrated Business Planning, Ariba, and Microsoft Teams](https://blogs.sap.com/2022/10/03/using-microsoft-adaptive-cards-in-supply-chain-scenarios/)
### Microsoft Power Platform
Use [Microsoft Defender for Cloud](/azure/defender-for-cloud/defender-for-cloud-
Complimenting that, use the [SAP certified](https://www.sap.com/dmc/exp/2013_09_adpd/enEN/#/solutions?id=s:33db1376-91ae-4f36-a435-aafa892a88d8) solution [Microsoft Sentinel for SAP](../../sentinel/sap/sap-solution-security-content.md) to protect your SAP system and [SAP Business Technology Platform (BTP)](../../sentinel/sap/sap-btp-solution-overview.md) instance from within using signals from the SAP Audit Log among others.
-Unify all your security solutions for M365, cloud-infrastructure, and SAP in one portal experience with [Microsoft Defender XDR](/microsoft-365/security/defender/microsoft-365-defender). Profit from the correlation of signals across the Microsoft ecosystem and connected 3rd parties to detect and respond to threats in real-time.
+Unify all your security solutions for Microsoft 365, cloud-infrastructure, and SAP in one portal experience with [Microsoft Defender XDR](/microsoft-365/security/defender/microsoft-365-defender). Profit from the correlation of signals across the Microsoft ecosystem and connected third parties to detect and respond to threats in real-time.
-Learn more about identity focused integration capabilities that power the analysis on Defender and Sentinel via the [Microsoft Entra ID section](#microsoft-entra-id-formerly-azure-ad).
+Learn more about identity focused integration capabilities that power the analysis on Defender and Microsoft Sentinel via the [Microsoft Entra ID section](#microsoft-entra-id-formerly-azure-ad).
-Leverage the [immutable vault for Azure Backup](/azure/backup/backup-azure-immutable-vault-concept) to protect your SAP data from ransomware attacks.
+Use the [immutable vault for Azure Backup](/azure/backup/backup-azure-immutable-vault-concept) to protect your SAP data from ransomware attacks.
See the Microsoft Security Copilot working with an SAP Incident in action [here](https://www.youtube.com/watch?v=snV2joMnSlc&t=234s).
-Discover partner offerings for SAP security on the [Azure marketplace](https://azuremarketplace.microsoft.com/marketplace/consulting-services?search=Sentinel%20for%20SAP&page=1).
+Discover partner offerings for SAP security on the [Azure Marketplace](https://azuremarketplace.microsoft.com/marketplace/consulting-services?search=Sentinel%20for%20SAP&page=1).
#### Microsoft Sentinel for SAP
-Sentinel integrates natively with Defender XDR. See the integration in action with [Automatic attack disruption for SAP](../../sentinel/sap/deployment-attack-disrupt.md).
+Microsoft Sentinel integrates natively with Microsoft Defender XDR. See the integration in action with [Automatic attack disruption for SAP](../../sentinel/sap/deployment-attack-disrupt.md).
For more information about [SAP certified](https://www.sap.com/dmc/exp/2013_09_adpd/enEN/#/solutions?id=s:33db1376-91ae-4f36-a435-aafa892a88d8) threat monitoring with Microsoft Sentinel for SAP, see the following Microsoft resources: -- [Microsoft Sentinel incident response playbooks for SAP](../../sentinel/sap/sap-incident-response-playbooks.md)-- [SAP security content reference](../../sentinel/sap/sap-solution-security-content.md)-- [Deploy the Microsoft Sentinel solution for SAP](../../sentinel/sap/deploy-sap-security-content.md)-- [Deploy Microsoft Sentinel Solution for SAP BTP](../../sentinel/sap/deploy-sap-btp-solution.md)-- [Microsoft Sentinel SAP solution data reference](../../sentinel/sap/sap-solution-log-reference.md)-- [Deploying Microsoft Sentinel SAP agent into an AKS/Kubernetes cluster](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/deploying-microsoft-sentinel-threat-monitoring-for-sap-agent/ba-p/3528040)
+- [Microsoft Sentinel solution for SAP applications](/azure/sentinel/sap/solution-overview)
+- [Microsoft Sentinel solution for SAP BTP](/azure/sentinel/sap/sap-btp-solution-overview)
Also see the following SAP resources: - [How to use Microsoft Sentinel's SOAR capabilities with SAP](https://blogs.sap.com/2023/05/22/from-zero-to-hero-security-coverage-with-microsoft-sentinel-for-your-critical-sap-security-signals-blog-series/) - [Deploy SAP user blocking based on suspicious activity on the SAP backend](https://blogs.sap.com/2023/05/22/from-zero-to-hero-security-coverage-with-microsoft-sentinel-for-your-critical-sap-security-signals-youre-gonna-hear-me-soar-part-1/)-- [Automatically trigger re-activation of the SAP audit log on malicious deactivation](https://blogs.sap.com/2023/05/23/from-zero-to-hero-security-coverage-with-microsoft-sentinel-for-your-critical-sap-security-signals-part-3/)-- [Automatically remediate Sentinel SAP Collector Agent attack](https://blogs.sap.com/2023/07/06/from-zero-to-hero-security-coverage-with-microsoft-sentinel-for-your-critical-sap-security-signals-part-4/)
+- [Automatically trigger reactivation of the SAP audit log on malicious deactivation](https://blogs.sap.com/2023/05/23/from-zero-to-hero-security-coverage-with-microsoft-sentinel-for-your-critical-sap-security-signals-part-3/)
+- [Automatically remediate Microsoft Sentinel SAP Collector Agent attack](https://blogs.sap.com/2023/07/06/from-zero-to-hero-security-coverage-with-microsoft-sentinel-for-your-critical-sap-security-signals-part-4/)
-See below video to experience the SAP security orchestration, automation and response workflow with Sentinel in action:
+See below video to experience the SAP security orchestration, automation, and response workflow with Microsoft Sentinel in action:
> [!VIDEO https://www.youtube.com/embed/b-AZnR-nQpg]
See below video to experience the SAP security orchestration, automation and res
The [Defender product family](/azure/defender-for-cloud/defender-for-cloud-introduction) consist of multiple products tailored to provide "cloud security posture management" (CSPM) and "cloud workload protection" (CWPP) for the various workload types. Below excerpt serves as entry point to start securing your SAP system. -- Defender XDR (integration with Sentinel for SAP)
+- Defender XDR (integration with Microsoft Sentinel for SAP)
- [Automatic attack disruption for SAP](../../sentinel/sap/deployment-attack-disrupt.md) - Defender for Servers (SAP hosts)
The [Defender product family](/azure/defender-for-cloud/defender-for-cloud-intro
- [Protect your OpenAPI APIs with Defender for APIs](/azure/defender-for-cloud/defender-for-apis-introduction) - [Enable the Defender for APIs](/azure/defender-for-cloud/defender-for-apis-deploy)
-See SAP's recommendation to use AntiVirus software for SAP hosts and systems on both Linux and Windows based platforms [here](https://wiki.scn.sap.com/wiki/display/Basis/Protecting+SAP+systems+using+antivirus+softwares). Be aware that the threat landscape has evolved from file-based attacks to file-less attacks. Therefore, the protection approach has to evolve beyond pure AntiVirus capabilities too.
+See SAP's recommendation to use AntiVirus software for SAP hosts and systems on both Linux and Windows based platforms [here](https://wiki.scn.sap.com/wiki/display/Basis/Protecting+SAP+systems+using+antivirus+softwares). The threat landscape has evolved from file-based attacks to file-less attacks, and the protection approach has to evolve beyond pure AntiVirus capabilities too.
For more information about using Microsoft Defender for Endpoint (MDE) via Microsoft Defender for Server for SAP applications regarding `Next-generation protection` (AntiVirus) and `Endpoint Detection and Response` (EDR) see the following Microsoft resources:
sap Sap Hana High Availability Scale Out Hsr Rhel https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/sap/workloads/sap-hana-high-availability-scale-out-hsr-rhel.md
Some readers will benefit from consulting a variety of SAP notes and resources b
* [High availability add-on reference](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/high_availability_add-on_reference/index). * [Red Hat Enterprise Linux networking guide](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/networking_guide). * [How do I configure SAP HANA scale-out system replication in a Pacemaker cluster with HANA file systems on NFS shares](https://access.redhat.com/solutions/5423971).
- * [Active/Active (read-enabled): RHEL HA solution for SAP HANA scale out and system replication](https://access.redhat.com/sites/default/files/attachments/v8_ha_solution_for_sap_hana_scale_out_system_replication_1.pdf).
+ * [Active/Active (read-enabled): RHEL HA solution for SAP HANA scale out and system replication](https://access.redhat.com/articles/3004101).
* Azure-specific RHEL documentation: * [Install SAP HANA on Red Hat Enterprise Linux for use in Microsoft Azure](https://access.redhat.com/public-cloud/microsoft-azure). * [Red Hat Enterprise Linux Solution for SAP HANA scale-out and system replication](https://access.redhat.com/solutions/4386601).
sap Sap Hana High Availability https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/sap/workloads/sap-hana-high-availability.md
[2235581]:https://launchpad.support.sap.com/#/notes/2235581 [2684254]:https://launchpad.support.sap.com/#/notes/2684254
-[sles-for-sap-bp]:https://documentation.suse.com/sbp-supported.html
+[sles-for-sap-bp]:https://documentation.suse.com/en-us/?tab=sbp
[sles-for-sap-bp12]:https://documentation.suse.com/sbp/sap-12/ [sles-for-sap-bp15]:https://documentation.suse.com/sbp/sap-15/
security Code Integrity https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/security/fundamentals/code-integrity.md
Even with this layered protection, it's still possible that some server in the f
## Next steps
-Learn how [Windows 10](/windows/security/threat-protection/device-guard/introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control) uses configurable code integrity.
- To learn more about what we do to drive platform integrity and security, see: - [Firmware security](firmware.md)
sentinel Api Protection https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/sentinel/data-connectors/api-protection.md
Title: "API Protection connector for Microsoft Sentinel"
description: "Learn how to install the connector API Protection to connect your data source to Microsoft Sentinel." Previously updated : 10/15/2024 Last updated : 10/28/2024
Copy the values shown below and save them for configuration of the API log forwa
Step 3: Install the 42Crunch protection and log forwarder
-The next step is to install the 42Crunch protection and log forwarder to protect your API. Both components are availabe as containers from the [42Crunch repository](https://hub.docker.com/u/42crunch). The exact installation will depend on your environment, consult the [42Crunch protection documentation](https://docs.42crunch.com/latest/content/concepts/api_firewall_deployment_architecture.htm) for full details. Two common installation scenarios are described below:
+The next step is to install the 42Crunch protection and log forwarder to protect your API. Both components are availabe as containers from the [42Crunch repository](https://hub.docker.com/u/42crunch). The exact installation depends on your environment, consult the [42Crunch protection documentation](https://docs.42crunch.com/latest/content/concepts/api_firewall_deployment_architecture.htm) for full details. Two common installation scenarios are described below:
Installation via Docker Compose
In order to test the data ingestion the user should deploy the sample *httpbin*
4.1 Install the sample
-The sample application can be installed locally using a [Docker compose file](https://github.com/42Crunch/azure-sentinel-integration/blob/main/sample-deployment/docker-compose.yml) which will install the httpbin API server, the 42Crunch API protection and the Microsoft Sentinel log forwarder. Set the environment variables as required using the values copied from step 2.
+The sample application can be installed locally using a [Docker compose file](https://github.com/42Crunch/azure-sentinel-integration/blob/main/sample-deployment/docker-compose.yml) which installs the httpbin API server, the 42Crunch API protection, and the Microsoft Sentinel log forwarder. Set the environment variables as required using the values copied from step 2.
4.2 Run the sample
-Verfify the API protection is connected to the 42Crunch platform, and then exercise the API locally on the *localhost* at port 8080 using Postman, curl, or similar. You should see a mixture of passing and failing API calls.
+Verfify the API protection is connected to the 42Crunch platform, and then exercise the API locally on the *localhost* at port 8080 using curl, or similar. You should see a mixture of passing and failing API calls.
4.3 Verify the data ingestion on Log Analytics
sentinel Dataminr Pulse Alerts Data Connector https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/sentinel/data-connectors/dataminr-pulse-alerts-data-connector.md
Title: "Dataminr Pulse Alerts Data Connector (using Azure Functions) connector f
description: "Learn how to install the connector Dataminr Pulse Alerts Data Connector (using Azure Functions) to connect your data source to Microsoft Sentinel." Previously updated : 04/26/2024 Last updated : 10/28/2024
If you're already signed in, go to the next step.
2) To add integration settings in Dataminr RTAP using the function URL
-1. Open any API request tool like Postman.
+1. Open any API request tool.
2. Click on '+' to create a new request. 3. Select HTTP request method as **'POST'**. 4. Enter the url prepapred in **point 1)**, in the request URL part.
sentinel False Positives https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/sentinel/false-positives.md
let subnets = _GetWatchlist('subnetallowlist');
The [Microsoft Sentinel solution for SAP® applications](sap/solution-overview.md) provides functions you can use to exclude users or systems from triggering alerts. -- **Exclude users**. Use the [**SAPUsersGetVIP**](sap/sap-solution-log-reference.md#sapusersgetvip) function to:
+- **Exclude users**. Use the [**SAPUsersGetVIP**](sap/sap-solution-function-reference.md#sapusersgetvip) function to:
- Call tags for users you want to exclude from triggering alerts. Tag users in the *SAP_User_Config* watchlist, using asterisks (*) as wildcards to tag all users with a specified naming syntax. - List specific SAP roles and/or profiles you want to exclude from triggering alerts.
The [Microsoft Sentinel solution for SAP® applications](sap/solution-overview.m
For more information, see [Microsoft Sentinel solution for SAP® applications data reference](sap/sap-solution-log-reference.md).
-## Next steps
+## Related content
For more information, see:+ - [Use UEBA data to analyze false positives](investigate-with-ueba.md#use-ueba-data-to-analyze-false-positives) - [Automate incident handling in Microsoft Sentinel with automation rules](automate-incident-handling-with-automation-rules.md) - [Create custom analytics rules to detect threats](detect-threats-custom.md)
sentinel Monitor Sap System Health https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/sentinel/monitor-sap-system-health.md
Title: Monitor the health and role of your Microsoft Sentinel SAP systems
+ Title: Monitor the health of the connection between Microsoft Sentinel and your SAP system
description: Use the SAP connector page and a dedicated alert rule template to keep track of your SAP systems' connectivity and performance. Previously updated : 11/09/2022 Last updated : 09/16/2024 --
-#Customer intent: As an SAP administrator, I want to monitor the health and performance of my SAP systems using Microsoft Sentinel so that I can ensure their proper functioning and quickly address any issues.
- # Monitor the health and role of your SAP systems
-After you [deploy the SAP solution](sap/deployment-overview.md), you want to ensure proper functioning and performance of your SAP systems, and keep track of your system health, connectivity, and performance.
-This article describes how to use the following features, which allow you to perform this monitoring from within Microsoft Sentinel:
--- [**Use the SAP data connector page**](#use-the-sap-data-connector). Review the **System Health** area under the Microsoft Sentinel for SAP connector to get information on the health of your connected SAP systems.-- [**Use the Data collection health check alert rule**](#use-an-alert-rule-template). Get proactive alerts on the health of the SAP agent's data collection.
+After you [deploy the SAP solution](sap/deployment-overview.md), you want to ensure proper functioning and performance of your SAP systems, and keep track of your system health, connectivity, and performance. This article describes how you can check the connectivity health manually on the data connector page and use a dedicated alert rule template to monitor the health of your SAP systems.
> [!IMPORTANT] > Monitoring the health of your SAP systems is currently in PREVIEW. The [Azure Preview Supplemental Terms](https://azure.microsoft.com/support/legal/preview-supplemental-terms/) include additional legal terms that apply to Azure features that are in beta, preview, or otherwise not yet released into general availability.
-## Use the SAP data connector
+For a video demonstration of the procedures in this article, watch the following video:
+<br><br>
+> [!VIDEO https://www.youtube.com/embed/FasuyBSIaQM?si=apdesRR29Lvq6aQM]
-1. From the Microsoft Sentinel portal, select **Data connectors**.
-1. In the search bar, type *Microsoft Sentinel for SAP*.
-1. Select the **Microsoft Sentinel for SAP** connector and select **Open connector page**.
-1. In the **Configuration > Configure an SAP system and assign it to a collector agent** area, view details about the health of your SAP systems. For example:
+## Prerequisites
- :::image type="content" source="media/monitor-sap-system-health/health-status.png" alt-text="Screenshot of the health status table." lightbox="media/monitor-sap-system-health/health-status.png":::
+- Before you can perform the procedures in this article, you need to have a SAP data connector agent deployed and connected to your SAP system. SAP logs aren't displayed in the Microsoft Sentinel **Logs** page until your SAP system is connected and data starts streaming into Microsoft Sentinel.
For more information, see [Deploy and configure the container hosting the SAP data connector agent](sap/deploy-data-connector-agent-container.md).
-### System health status and details
+## Check your data connector's health and connectivity
-The following table describes the different fields in the **Configure an SAP system and assign it to a collector agent** area.
+This procedure describes how to check your data connector's connection status from the **Microsoft Sentinel for SAP** data connector page.
-|Field |Description |Values |Notes |
-|||||
-|SID |The name of the connected SAP system ID (SID). | | |
-|System role |Indicates whether the system is productive or not. The data connector agent retrieves the value by reading the SAP T000 table. This value also impacts billing. To change the role, an SAP admin needs to change the configuration in the SAP system. |ΓÇó **Production**. The system is defined by the SAP admin as a production system.<br>ΓÇó **Unknown (Production)**. Microsoft Sentinel couldn't retrieve the system status. Microsoft Sentinel regards this type of system as a production system for both security and billing purposes.<br>ΓÇó **Non production**. Indicates roles like developing, testing, and customizing.<br>ΓÇó **Agent update available**. Displayed in addition to the health status to indicate that a newer SAP connector version exists. In this case, we recommended that you [update the connector](sap/update-sap-data-connector.md). | If the system role is **Production (unknown)**, check the Microsoft Sentinel role definitions and permissions on the SAP system, and validate that the system allows Microsoft Sentinel to read the content of the T000 table. Next, consider [updating the SAP connector](sap/update-sap-data-connector.md) to the latest version. |
-|Agent name |Unique ID of the installed data connector agent. | | |
-|Health |Indicates whether the SID is healthy. To troubleshoot health issues, [review the container execution logs](sap/sap-deploy-troubleshoot.md#view-all-container-execution-logs) and review other [troubleshooting steps](sap/sap-deploy-troubleshoot.md). |ΓÇó **System healthy** (green icon): Indicates that Microsoft Sentinel identified both logs and a heartbeat from the system.<br>ΓÇó **System Connected ΓÇô unauthorized to collect role, production assumed** (yellow icon): Microsoft Sentinel doesn't have sufficient permissions to define whether the system is a production system. In this case, Microsoft Sentinel defines the system as a production system. To allow Microsoft Sentinel to receive the system status, review the Notes column.<br>ΓÇó **Connected with errors** (yellow icon): Microsoft Sentinel detected errors when fetching the system role. In this case, Microsoft Sentinel received data regarding whether the system is or isn't a production system.<br>ΓÇó **System not connected**: Microsoft Sentinel was unable to connect to the SAP system, and cannot fetch the system role. In this case, Microsoft Sentinel received data regarding whether the system is or isn't a production system.<br><br>Other statuses, like **System unreachable for over 1 day**, indicate the connectivity status. |If the system health status is **System Connected ΓÇô unauthorized to collect role, production assumed**, check the Microsoft Sentinel role definitions and permissions on the SAP system, and validate that the system allows Microsoft Sentinel to read the content of the T000 table. Next, consider [updating the SAP connector](sap/update-sap-data-connector.md) to the latest version. |
-## Use an alert rule template
+1. In Microsoft Sentinel, select **Data connectors** and search for *Microsoft Sentinel for SAP*.
-The Microsoft Sentinel for SAP solution includes an alert rule template designed to give you insight into the health of your SAP agent's data collection.
-To turn on the analytics rule:
+1. Select the **Microsoft Sentinel for SAP** connector and select **Open connector page**.
-1. From the Microsoft Sentinel portal, select **Analytics**.
-1. Under **Rule templates**, locate the *SAP - Data collection health check* alert rule.
+1. In the **Configuration > 2. Configure an SAP system and assign it to a collector agent** area, view details about the health of your SAP systems.
-The analytics rule:
-- Evaluates signals sent from the agent.-- Evaluates telemetry data. -- Evaluates alerts on log continuation and other system connectivity issues, if any are found. -- Learns the log ingestion history, and therefore works better with time.
+ For example:
+
+ :::image type="content" source="media/monitor-sap-system-health/health-status.png" alt-text="Screenshot of the Microsoft Sentinel for SAP applications health status table." lightbox="media/monitor-sap-system-health/health-status.png":::
+
+ The fields in the **Configure an SAP system and assign it to a collector agent** area are described as follows:
+
+ - **System display name**. The SAP system ID (SID) and its client number. Together, this value qualifies the connection to the SAP system and defines for SAP BASIS which system you're connecting to.
+
+ - **System role**. Indicates whether the system is production state or not, which also affects billing. For more information, see [Solution pricing](sap/solution-overview.md#solution-pricing). Values include:
+
+ |Value |Description |
+ |||
+ |**Production** | The system is defined by the SAP admin as a production system. |
+ |**Unknown (Production)** | Microsoft Sentinel couldn't retrieve the system status. Microsoft Sentinel regards this type of system as a production system for both security and billing purposes. <br><br>In such cases, we recommend that you check the Microsoft Sentinel role definitions and permissions on the SAP system, and validate that the system allows Microsoft Sentinel to read the content of the T000 table. Next, consider [updating the SAP connector](sap/update-sap-data-connector.md) to the latest version. |
+ |**Non production** | Indicates roles like developing, testing, and customizing. |
+
+ - **Agent name**. Unique ID of the installed data connector agent.
-The rule needs at least seven days of loading history to detect the different seasonality patterns. We recommend a value of 14 days for the alert rule **Look back** parameter to allow detection of weekly activity profiles.
+ - **Health**. Indicates whether the SID is healthy. To troubleshoot health issues, [review the container execution logs](sap/sap-deploy-troubleshoot.md#view-all-container-execution-logs) and review other [troubleshooting steps](sap/sap-deploy-troubleshoot.md). Values include:
+
+ |Value |Description |
+ |||
+ | **System healthy** (green icon)| Indicates that Microsoft Sentinel identified both logs and a heartbeat from the system.|
+ | **System Connected ΓÇô unauthorized to collect role, production assumed** (yellow icon) | Microsoft Sentinel doesn't have sufficient permissions to define whether the system is a production system. In this case, Microsoft Sentinel defines the system as a production system. <br><br>In such cases, check the Microsoft Sentinel role definitions and permissions on the SAP system, and validate that the system allows Microsoft Sentinel to read the content of the T000 table. Next, consider [updating the SAP connector](sap/update-sap-data-connector.md) to the latest version. |
+ | **Connected with errors** (yellow icon) | Connection was successful but Microsoft Sentinel detected errors when fetching the system role and doesn't have the details of whether the system is or isn't a production system. |
+ | **System not connected** | Microsoft Sentinel was unable to connect to the SAP system, and cannot fetch the system role. In this case, Microsoft Sentinel doesn't have the details of whether the system is or isn't a production system. |
+ | Other statuses that reflect more details about connectivity issues | For example, **System unreachable for over 1 day**. |
+
+## View SAP logs streaming into Microsoft Sentinel
+
+In Microsoft Sentinel, select **General** > **Logs > Custom logs** to view the logs streaming in from the SAP system. For example:
++
+For more information, see [Microsoft Sentinel solution for SAP applications solution logs reference](sap-solution-log-reference.md).
+
+## Use an alert rule template to monitor the health of your SAP systems
+
+The Microsoft Sentinel for SAP solution includes an alert rule template designed to give you insight into the health of your SAP agent's data collection.
+
+The rule needs at least seven days of loading history to detect the different seasonality patterns. We recommend a value of 14 days for the alert rule **Look back** parameter to allow detection of weekly activity profiles.
+
+Once activated, the rule judges the recent telemetry and log volume observed on the workspace according to the history learned. The rule then alerts on potential issues, dynamically assigning severities according to the scope of the problem.
+
+To turn on the analytics rule in Microsoft Sentinel, select **Analytics > Rule templates**, and locate the *SAP - Data collection health check* alert rule.
+
+The analytics rule does the following:
+
+- Evaluates signals sent from the agent.
+- Evaluates telemetry data.
+- Evaluates alerts on log continuation and other system connectivity issues, if any are found.
+- Learns the log ingestion history, and therefore works better with time.
-Once activated, the rule judges the recent telemetry and log volume observed on the workspace according to the history learned. The rule then alerts on potential issues, dynamically assigning severities according to the scope of the problem.
+The following screenshot shows an example of an alert generated by the *SAP - Data collection health check* alert rule:
-This screenshot shows an example of an alert generated by the *SAP - Data collection health check* alert rule.
:::image type="content" source="media/monitor-sap-system-health/alert-rule-example.png" alt-text="Screenshot of an alert triggered by the SAP - Data collection health check alert rule."::: ## Next steps - Learn about the [Microsoft Sentinel Solution for SAP](sap/solution-overview.md). - Learn how to [deploy the Microsoft Sentinel Solution for SAP](sap/deployment-overview.md)-- Learn about [auditing and health monitoring](health-audit.md) in other areas of Microsoft Sentinel.
+- Learn about [auditing and health monitoring](health-audit.md) in other areas of Microsoft Sentinel.
sentinel Collect Sap Hana Audit Logs https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/sentinel/sap/collect-sap-hana-audit-logs.md
Last updated 06/09/2024--
+appliesto:
+ - Microsoft Sentinel in the Azure portal
+ - Microsoft Sentinel in the Microsoft Defender portal
+ #Customer intent: As a security analyst, I want to collect and analyze SAP HANA audit logs to Microsoft Sentinel so that I can monitor and respond to security events effectively.
Last updated 06/09/2024
This article explains how to collect audit logs from your SAP HANA database.
+Content in this article is intended for your **security**, **infrastructure**, and **SAP BASIS** teams.
+ > [!IMPORTANT] > Microsoft Sentinel SAP HANA support is currently in PREVIEW. The [Azure Preview Supplemental Terms](https://azure.microsoft.com/support/legal/preview-supplemental-terms/) include additional legal terms that apply to Azure features that are in beta, preview, or otherwise not yet released into general availability. ## Prerequisites
-SAP HANA logs are sent over Syslog. Make sure that your Azure Monitor Agent is configured to collect Syslog files. For more information, see:
-
-For more information, see [Ingest syslog and CEF messages to Microsoft Sentinel with the Azure Monitor Agent](../connect-cef-syslog-ama.md).
+SAP HANA logs are sent over Syslog. Make sure that your Azure Monitor Agent is configured to collect Syslog files. For more information, see [Ingest syslog and CEF messages to Microsoft Sentinel with the Azure Monitor Agent](../connect-cef-syslog-ama.md).
## Collect SAP HANA audit logs 1. Make sure that the SAP HANA audit log trail is configured to use Syslog, as described in *SAP Note 0002624117*, which is accessible from the [SAP Launchpad support site](https://launchpad.support.sap.com/#/notes/0002624117). For more information, see:
- - [SAP HANA Audit Trail - Best Practice](https://help.sap.com/docs/SAP_HANA_PLATFORM/b3ee5778bc2e4a089d3299b82ec762a7/35eb4e567d53456088755b8131b7ed1d.html?version=2.0.03)
- - [Recommendations for Auditing](https://help.sap.com/viewer/742945a940f240f4a2a0e39f93d3e2d4/2.0.05/en-US/5c34ecd355e44aa9af3b3e6de4bbf5c1.html)
- - [SAP HANA Security Guide for SAP HANA Platform](https://help.sap.com/docs/SAP_HANA_PLATFORM/b3ee5778bc2e4a089d3299b82ec762a7/4f7cde1125084ea3b8206038530e96ce.html)
+ - [SAP HANA Audit Trail - Best Practice](https://help.sap.com/docs/SAP_HANA_PLATFORM/b3ee5778bc2e4a089d3299b82ec762a7/35eb4e567d53456088755b8131b7ed1d.html)
+ - [Recommendations for Auditing](https://help.sap.com/docs/SAP_HANA_PLATFORM/742945a940f240f4a2a0e39f93d3e2d4/5c34ecd355e44aa9af3b3e6de4bbf5c1.html)
+ - [Actions Audited by Default Audit Policy](https://help.sap.com/docs/SAP_HANA_PLATFORM/b3ee5778bc2e4a089d3299b82ec762a7/4f7cde1125084ea3b8206038530e96ce.html)
1. Check your operating system Syslog files for any relevant HANA database events.
Use the following built-in analytics rules to have Microsoft Sentinel start trig
- **SAP - (PREVIEW) HANA DB -Deactivation of Audit Trail** - **SAP - (PREVIEW) HANA DB -User Admin actions**
-For more information, see [Microsoft Sentinel solution for SAP® applications: security content reference](sap-solution-security-content.md).
+For more information, see [Microsoft Sentinel solution for SAP applications: security content reference](sap-solution-security-content.md).
## Related content
-Learn more about the Microsoft Sentinel Solution for SAP BTP:
--- [Deploy Microsoft Sentinel solution for SAP® applications](deploy-sap-btp-solution.md)-- [Microsoft Sentinel Solution for SAP BTP: security content reference](sap-btp-security-content.md)-
-Learn more about the Microsoft Sentinel solution for SAP® applications:
--- [Deploy Microsoft Sentinel solution for SAP® applications](deployment-overview.md)-- [Prerequisites for deploying Microsoft Sentinel solution for SAP® applications](prerequisites-for-deploying-sap-continuous-threat-monitoring.md)-- [Deploy SAP Change Requests (CRs) and configure authorization](preparing-sap.md)-- [Deploy the solution content from the content hub](deploy-sap-security-content.md)-- [Deploy and configure the container hosting the SAP data connector agent](deploy-data-connector-agent-container.md)-- [Deploy the SAP data connector with SNC](configure-snc.md)-- [Monitor the health of your SAP system](../monitor-sap-system-health.md)-- [Enable and configure SAP auditing](configure-audit.md)-
-Troubleshooting:
--- [Troubleshoot your Microsoft Sentinel solution for SAP® applications deployment](sap-deploy-troubleshoot.md)-- [HANA audit log is not generated in SYSLOG | SAP note](https://me.sap.com/notes/3305033/E)-- [How to Redirect syslog Auditing for HANA to an alternate location | SAP note](https://me.sap.com/notes/2386609)-
-Reference files:
--- [Microsoft Sentinel solution for SAP® applications data reference](sap-solution-log-reference.md)-- [Microsoft Sentinel solution for SAP® applications: security content reference](sap-solution-security-content.md)-- [Kickstart script reference](reference-kickstart.md)-- [Update script reference](reference-update.md)-- [Systemconfig.ini file reference](reference-systemconfig.md)
+Learn more about the Microsoft Sentinel solution for SAP applications:
-For more information, see [Microsoft Sentinel solutions](../sentinel-solutions.md).
+- [Deploy Microsoft Sentinel solution for SAP applications](deployment-overview.md)
+- [Deploy the Microsoft Sentinel solution for SAP BTP](deploy-sap-btp-solution.md)
sentinel Configuration File Reference https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/sentinel/sap/configuration-file-reference.md
- Title: Configuration file reference | Microsoft Docs
-description: Configuration file reference
--- Previously updated : 03/02/2022--
-# Configuration file reference
sentinel Configure Audit Log Rules https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/sentinel/sap/configure-audit-log-rules.md
- Title: Configure SAP audit log monitoring rules with Microsoft Sentinel
-description: Monitor the SAP audit logs using Microsoft Sentinel built-in analytics rules, to easily manage your SAP logs, reducing noise with no compromise to security value.
--- Previously updated : 08/19/2022--
-#Customer intent: As a security analyst, I want to configure SAP audit log monitoring rules so that I can detect and respond to security anomalies efficiently.
---
-# Configure SAP audit log monitoring rules
-
-The SAP audit log records audit and security actions on SAP systems, like failed sign-in attempts or other suspicious actions. This article describes how to monitor the SAP audit log using Microsoft Sentinel built-in analytics rules.
-
-With these rules, you can monitor all audit log events, or get alerts only when anomalies are detected. This way, you can better manage your SAP logs, reducing noise with no compromise to your security value.
-
-You use two analytics rules to monitor and analyze your SAP audit log data:
--- **SAP - Dynamic Deterministic Audit Log Monitor (PREVIEW)**. Alerts on any SAP audit log events with minimal configuration. You can configure the rule for an even lower false-positive rate. [Learn how to configure the rule](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/microsoft-sentinel-for-sap-news-dynamic-sap-security-audit-log/ba-p/3326842). -- **SAP - Dynamic Anomaly based Audit Log Monitor Alerts (PREVIEW)**. Alerts on SAP audit log events when anomalies are detected, using machine learning capabilities and with no coding required. [Learn how to configure the rule](#set-up-the-sapdynamic-anomaly-based-audit-log-monitor-alerts-preview-rule-for-anomaly-detection).-
-The two [SAP Audit log monitor rules](sap-solution-security-content.md#monitoring-the-sap-audit-log) are delivered as ready to run out of the box, and allow for further fine tuning using the [SAP_Dynamic_Audit_Log_Monitor_Configuration and SAP_User_Config watchlists](sap-solution-security-content.md#available-watchlists).
-
-## Anomaly detection
-
-When trying to identify security events in a diverse activity log like the SAP audit log, you need to balance the configuration effort, and the amount of noise the alerts produce.
-
-With the SAP audit log module in the Sentinel for SAP solution, you can choose:
-- Which events you want to look at deterministically, using customized, predefined thresholds and filters.-- Which events you want to leave out, so the machine can learn the parameters on its own.-
-Once you mark an SAP audit log event type for anomaly detection, the alerting engine checks the events recently streamed from the SAP audit log. The engine checks if the events seem normal, considering the history it has learned.
-
-Microsoft Sentinel checks an event or group of events for anomalies. It tries to match the event or group of events with previously seen activities of the same kind, at the user and system levels. The algorithm learns the network characteristics of the user at the subnet mask level, and according to seasonality.
-
-With this ability, you can look for anomalies in previously quieted event types, such as user sign-in events. For example, if the user JohnDoe signs in hundreds of times an hour, you can now let Microsoft Sentinel decide if behavior is suspicious. Is this John from accounting, repeatedly refreshing a financial dashboard with multiple data source, or a DDoS attack forming up?
-
-## Set up the SAP - Dynamic Anomaly based Audit Log Monitor Alerts (PREVIEW) rule for anomaly detection
-
-If your SAP audit log data isn't already streaming data into the Microsoft Sentinel workspace, learn how to [deploy the solution](deployment-overview.md).
-
-1. From the Microsoft Sentinel navigation menu, under **Content management**, select **Content hub (Preview)**.
-1. Check if your **Continuous threat monitoring for SAP** application has updates.
-1. From the navigation menu, under **Analytics**, enable these 3 audit log alerts:
- - **SAP - Dynamic Deterministic Audit Log Monitor**. Runs every 10 minutes and focuses on the SAP audit log events marked as **Deterministic**.
- - **SAP - (Preview) Dynamic Anomaly based Audit Log Monitor Alerts**. Runs hourly and focuses on SAP events marked as **AnomaliesOnly**.
- - **SAP - Missing configuration in the Dynamic Security Audit Log Monitor**. Runs daily to provide configuration recommendations for the SAP audit log module.
-
-Microsoft Sentinel now scans the entire SAP audit log at regular intervals, for deterministic security events and anomalies. You can view the incidents this log generates in the **Incidents** page.
-
-As with every machine learning solution, it will perform better with time. Anomaly detection works best using an SAP audit log history of seven days or more.
-
-### Configure event types with the SAP_Dynamic_Audit_Log_Monitor_Configuration watchlist
-
-You can further configure event types that produce too many incidents using the [SAP_Dynamic_Audit_Log_Monitor_Configuration](sap-solution-security-content.md#available-watchlists) watchlist. Here are a few options for reducing incidents.
-
-|Option |Description |
-|||
-|Set severities and disable unwanted events |By default, both the deterministic rules and the rules based on anomalies create alerts for events marked with medium and high severities. You can set these severities specifically for production and non-production environments. For example, you can set a debugging activity event as high severity in production systems, and disable those events in non-production systems. |
-|Exclude users by their SAP roles or SAP profiles |Microsoft Sentinel for SAP ingests the SAP userΓÇÖs authorization profile, including direct and indirect role assignments, groups and profiles, so that you can speak the SAP language in your SIEM.<br><br>You can configure an SAP event to exclude users based on their SAP roles and profiles. In the watchlist, add the roles or profiles that group your RFC interface users in the **RolesTagsToExclude** column, next to the **Generic table access by RFC** event. From now on, youΓÇÖll get alerts only for users that are missing these roles. |
-|Exclude users by their SOC tags |With tags, you can come up with your own grouping, without relying on complicated SAP definitions or even without SAP authorization. This method is useful for SOC teams that want to create their own grouping for SAP users.<br><br>Conceptually, excluding users by tags works like name tags: you can set multiple events in the configuration with multiple tags. You donΓÇÖt get alerts for a user with a tag associated with a specific event. For example, you donΓÇÖt want specific service accounts to be alerted for **Generic table access by RFC** events, but canΓÇÖt find an SAP role or an SAP profile that groups these users. In this case, you can add the **GenTableRFCReadOK** tag next to the relevant event in the watchlist, and then go to the **SAP_User_Config** watchlist and assign the interface users the same tag. |
-|Specify a frequency threshold per event type and system role |Works like a speed limit. For example, you can decide that the noisy **User Master Record Change** events only trigger alerts if more than 12 activities are observed in an hour, by the same user in a production system. If a user exceeds the 12 per hour limitΓÇöfor example, 2 events in a 10-minute windowΓÇöan incident is triggered. |
-|Determinism or anomalies |If you know the eventΓÇÖs characteristics, you can use the deterministic capabilities. If you aren't sure how to correctly configure the event, the machine learning capabilities can decide. |
-|SOAR capabilities |You can use Microsoft Sentinel to further orchestrate, automate and respond to incidents that can be applied to the SAP audit log dynamic alerts. Learn about [Security Orchestration, Automation, and Response (SOAR)](../automation.md). |
-
-## Next steps
-
-In this article, you learned how to monitor the SAP audit log using Microsoft Sentinel built-in analytics rules.
--- [Learn more about the SAP Audit log monitor rules](sap-solution-security-content.md#monitoring-the-sap-audit-log)-- [Learn about the SAP Audit Log workbook](sap-audit-log-workbook.md)-
-
----
-
--
-
-
-
-
sentinel Configure Audit https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/sentinel/sap/configure-audit.md
- Title: Enable and configure SAP auditing for Microsoft Sentinel | Microsoft Docs
-description: This article shows you how to enable and configure auditing for the Microsoft Sentinel solution for SAP® applications, so that you can have complete visibility into your SAP solution.
--- Previously updated : 04/27/2022-----
-# Enable and configure SAP auditing for Microsoft Sentinel
-
-This article shows you how to enable and configure auditing for the Microsoft Sentinel solution for SAP® applications, so that you can have complete visibility into your SAP solution.
-
-> [!IMPORTANT]
-> We strongly recommend that any management of your SAP system is carried out by an experienced SAP system administrator.
->
-> The steps in this article may vary, depending on your SAP system's version, and should be considered as a sample only.
-
-Some installations of SAP systems may not have audit log enabled by default. For best results in evaluating the performance and efficacy of the Microsoft Sentinel solution for SAP® applications, enable auditing of your SAP system and configure the audit parameters.
-
-## Deployment milestones
-
-Track your SAP solution deployment journey through this series of articles:
-
-1. [Deployment overview](deployment-overview.md)
-
-1. [Deployment prerequisites](prerequisites-for-deploying-sap-continuous-threat-monitoring.md)
-
-1. [Work with the solution across multiple workspaces](cross-workspace.md) (PREVIEW)
-
-1. [Prepare SAP environment](preparing-sap.md)
-
-1. **Configure auditing (*You are here*)**
-
-1. [Deploy data connector agent](deploy-data-connector-agent-container.md)
-
-1. [Deploy SAP security content](deploy-sap-security-content.md)
-
-1. [Configure Microsoft Sentinel solution for SAP® applications](deployment-solution-configuration.md)
-
-1. Optional deployment steps
- - [Configure data connector to use SNC](configure-snc.md)
- - [Collect SAP HANA audit logs](collect-sap-hana-audit-logs.md)
- - [Configure audit log monitoring rules](configure-audit-log-rules.md)
- - [Deploy SAP connector manually](sap-solution-deploy-alternate.md)
- - [Select SAP ingestion profiles](select-ingestion-profiles.md)
-
-## Check if auditing is enabled
-
-1. Sign in to the SAP GUI and run the **RSAU_CONFIG** transaction.
-
- ![Screenshot showing how to run the R S A U CONFIG transaction.](./media/configure-audit/rsau-config.png)
-
-1. In the **Security Audit Log - Display of Current Configuration** window, find the **Parameter** section within the **Configuration** section. Under **General Parameters**, see that the **Static security audit active** checkbox is marked.
-
-## Enable auditing
-
-> [!IMPORTANT]
-> Your audit policy should be determined in close collaboration with SAP administrators and your security department.
-
-1. Sign in to the SAP GUI and run the **RSAU_CONFIG** transaction.
-
-1. In the **Security Audit Log** screen, select **Parameter** under **Security Audit Log Configuration** section in **Configuration** tree.
-
-1. If the **Static security audit active** checkbox is marked, system-level auditing is turned on. If it isn't, select **Display <-> Change** and mark the **Static security audit active** checkbox.
-
-1. By default, the SAP system logs the client name (terminal ID) rather than client IP address. If you want the system to log by client IP address instead, mark the **Log peer address not terminal ID** checkbox in the **General Parameters** section.
-
-1. If you changed any settings in the **Security Audit Log Configuration - Parameter** section, select **Save** to save the changes. Auditing will be activated only after the server is rebooted.
-
- > [!IMPORTANT]
- > SAP applications running on Windows OS should consider recommendations in SAP Note 2360334 in case the audit log isn't read correctly after setup.
-
- ![Screenshot showing R S A U CONFIG parameters.](./media/configure-audit/rsau-config-parameter.png)
-
-1. Right-click **Static Configuration** and select **Create Profile**.
-
- ![Screenshot showing R S A U CONFIG create profile screen.](./media/configure-audit/create-profile.png)
-
-1. Specify a name for the profile in the **Profile/Filter Number** field.
-
- > [!NOTE]
- > Vanilla SAP installation requires this additional step: right-click the profile you have created and create a new filter.
-
-1. Mark the **Filter for recording active** checkbox.
-
-1. In the **Client** field, enter `*`.
-
-1. In the **User** field enter `*`.
-
-1. Under **Event Selection**, choose **Classic event selection** and select all the event types in the list.
-
-1. Select **Save**.
-
- ![Screenshot showing Static profile settings.](./media/configure-audit/create-profile-settings.png)
-
-1. You'll see that the **Static Configuration** section displays the newly created profile. Right-click the profile and select **Activate**.
-
-1. In the confirmation window select **Yes** to activate the newly created profile.
- > [!NOTE]
- > Static configuration only takes effect after a system restart. For an immediate setup, create an additional dynamic filter with the same properties, by right clicking the newly created static profile and selecting "apply to dynamic configuration".
-
-## Next steps
-
-In this article, you learned how to enable and configure SAP auditing for Microsoft Sentinel.
-
-> [!div class="nextstepaction"]
-> [Deploy and configure the container hosting the data connector agent](deploy-data-connector-agent-container.md)
sentinel Configure Snc https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/sentinel/sap/configure-snc.md
- Title: Deploy the Microsoft Sentinel for SAP data connector with SNC
-description: Deploy the Microsoft Sentinel for SAP data connector to ingest NetWeaver and ABAP logs over a secure connection by using Secure Network Communications (SNC).
---- Previously updated : 05/03/2022---
-#Customer intent: As a security engineer, I want to deploy a secure data connector for SAP logs using SNC so that I can ensure encrypted and authenticated data transmission between SAP systems and my monitoring solution.
---
-# Deploy the Microsoft Sentinel for SAP data connector by using SNC
-
-This article shows you how to deploy the Microsoft Sentinel for SAP data connector to ingest SAP NetWeaver and SAP ABAP logs over a secure connection by using Secure Network Communications (SNC).
-
-The SAP data connector agent typically connects to an SAP ABAP server by using a remote function call (RFC) connection and a username and password for authentication.
-
-However, some environments might require the connection to be made on an encrypted channel, and some environments might require client certificates to be used for authentication. In these cases, you can use SNC from SAP to securely connect your data connector. Complete the steps as they're outlined in this article.
-
-## Prerequisites
-
-To deploy the Microsoft Sentinel for SAP data connector by using SNC, you need:
--- The [SAP Cryptographic Library](https://help.sap.com/viewer/d1d04c0d65964a9b91589ae7afc1bd45/5.0.4/en-US/86921b29cac044d68d30e7b125846860.html).-- Network connectivity. SNC uses port 48*xx* (where *xx* is the SAP instance number) to connect to the ABAP server.-- An SAP server configured to support SNC authentication.-- A self-signed or enterprise certificate authority (CA)-issued certificate for user authentication.-
-> [!NOTE]
-> This article describes a sample case for configuring SNC. In a production environment, we strongly recommended that you consult with SAP administrators to create a deployment plan.
-
-## Export the server certificate
-
-To begin, export the server certificate:
-
-1. Sign in to your SAP client and run the **STRUST** transaction.
-
-1. On the left pane, go to **SNC SAPCryptolib** and expand the section.
-
-1. Select the system, and then select a value for **Subject**.
-
- The server certificate information is shown in the **Certificate** section.
-
-1. Select **Export certificate**.
-
- ![Screenshot that shows how to export a server certificate.](./media/configure-snc/export-server-certificate.png)
-
-1. In the **Export Certificate** dialog:
-
- 1. For file format, select **Base64**.
-
- 1. Next to **File Path**, select the double boxes icon.
-
- 1. Select a filename to export the certificate to.
-
- 1. Select the green checkmark to export the certificate.
-
-## Import your certificate
-
-This section explains how to import a certificate so that it's trusted by your ABAP server. It's important to understand which certificate needs to be imported into the SAP system. Only public keys of the certificates need to be imported into the SAP system.
--- **If the user certificate is self-signed**: Import a user certificate.--- **If the user certificate is issued by an enterprise CA**: Import an enterprise CA certificate. If both root and subordinate CA servers are used, import both the root and the subordinate CA public certificates.-
-To import your certificate:
-
-1. Run the **STRUST** transaction.
-
-1. Select **Display<->Change**.
-
-1. Select **Import certificate**.
-
-1. In the **Import certificate** dialog:
-
- 1. Next to **File path**, select the double boxes icon and go to the certificate.
-
- 1. Go to the file that contains the certificate (for a public key only) and select the green checkmark to import the certificate.
-
- The certificate information is displayed in the **Certificate** section.
-
- 1. Select **Add to Certificate List**.
-
- The certificate appears in the **Certificate List** section.
-
-## Associate the certificate with a user account
-
-To associate the certificate with a user account:
-
-1. Run the **SM30** transaction.
-
-1. In **Table/View**, enter **USRACLEXT**, and then select **Maintain**.
-
-1. Review the output and identify whether the target user already has an associated SNC name. If no SNC name is associated with the user, select **New Entries**.
-
- ![Screenshot that shows how to create a new entry in the USERACLEXT table.](./media/configure-snc/usraclext-new-entry.png)
-
-1. For **User**, enter the user's username. For **SNC Name**, enter the user's certificate subject name prefixed with **p:**, and then select **Save**.
-
- ![Screenshot that shows how to create a new user in USERACLEXT table.](./media/configure-snc/usraclext-new-user.png)
-
-## Grant logon rights by using the certificate
-
-To grant logon rights:
-
-1. Run the **SM30** transaction.
-
-1. In **Table/View**, enter **VSNCSYSACL**, and then select **Maintain**.
-
-1. In the informational prompt that appears, confirm that the table is cross-client.
-
-1. In **Determine Work Area: Entry**, enter **E** for **Type of ACL entry**, and then select the green checkmark.
-
-1. Review the output and identify whether the target user already has an associated SNC name. If the user doesn't have an associated SNC name, select **New Entries**.
-
- ![Screenshot that shows how to create a new entry in the VSNCSYSACL table.](./media/configure-snc/vsncsysacl-new-entry.png)
-
-1. Enter your system ID and user certificate subject name with a **p:** prefix.
-
- ![Screenshot that shows how to create a new user in the VSNCSYSACL table.](./media/configure-snc/vsncsysacl-new-user.png)
-
-1. Ensure that the checkboxes for **Entry for RFC activated** and **Entry for certificate activated** are selected, and then select **Save**.
-
-## Map users of the ABAP service provider to external user IDs
-
-To map ABAP service provider users to external user IDs:
-
-1. Run the **SM30** transaction.
-
-1. In **Table/View**, enter **VUSREXTID**, and then select **Maintain**.
-
-1. In **Determine Work Area: Entry**, select the **DN** ID type for **Work Area**.
-
-1. Enter the following values:
-
- - For **External ID**, enter **CN=Sentinel**, **C=US**.
- - For **Seq. No**, enter **000**.
- - For **User**, enter **SENTINEL**.
-
-1. Select **Save**, and then select **Enter**.
-
- :::image type="content" source="media/configure-snc/vusrextid-table-configuration.png" alt-text="Screenshot that shows how to set up the SAP VUSREXTID table.":::
-
-## Set up the container
-
-> [!NOTE]
-> If you set up the SAP data connector agent container by using the UI, don't complete the steps that are described in this section. Instead, continue to set up the connector [on the connector page](deploy-data-connector-agent-container.md).
-
-To set up the container:
-
-1. Transfer the *libsapcrypto.so* and *sapgenpse* files to the system where the container will be created.
-
-1. Transfer the client certificate (both private and public keys) to the system where the container will be created.
-
- The client certificate and key can be in *.p12*, *.pfx*, or Base64 *.crt* and *.key* format.
-
-1. Transfer the server certificate (public key only) to the system where the container will be created.
-
- The server certificate must be in Base64 *.crt* format.
-
-1. If the client certificate was issued by an enterprise certification authority, transfer the issuing CA and root CA certificates to the system where the container will be created.
-
-1. Get the kickstart script from the Microsoft Sentinel GitHub repository:
-
- ```bash
- wget https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Solutions/SAP/sapcon-sentinel-kickstart.sh
- ```
-
-1. Change the script's permissions to make it executable:
-
- ```bash
- chmod +x ./sapcon-sentinel-kickstart.sh
- ```
-
-1. Run the script and specify the following base parameters:
-
- ```bash
- ./sapcon-sentinel-kickstart.sh \
- --use-snc \
- --cryptolib <path to sapcryptolib.so> \
- --sapgenpse <path to sapgenpse> \
- --server-cert <path to server certificate public key> \
- ```
-
- If the client certificate is in *.crt* or *.key* format, use the following switches:
-
- ```bash
- --client-cert <path to client certificate public key> \
- --client-key <path to client certificate private key> \
- ```
-
- If the client certificate is in *.pfx* or *.p12* format, use these switches:
-
- ```bash
- --client-pfx <pfx filename>
- --client-pfx-passwd <password>
- ```
-
- If the client certificate was issued by an enterprise CA, add this switch for **each** CA in the trust chain:
-
- ```bash
- --cacert <path to ca certificate>
- ```
-
- For example:
-
- ```bash
- ./sapcon-sentinel-kickstart.sh \
- --use-snc \
- --cryptolib /home/azureuser/libsapcrypto.so \
- --sapgenpse /home/azureuser/sapgenpse \
- --client-cert /home/azureuser/client.crt \
- --client-key /home/azureuser/client.key \
- --cacert /home/azureuser/issuingca.crt
- --cacert /home/azureuser/rootca.crt
- --server-cert /home/azureuser/server.crt \
- ```
-
-For more information about options that are available in the kickstart script, see [Reference: Kickstart script](reference-kickstart.md).
-
-## Troubleshooting and reference
-
-For troubleshooting information, see these articles:
--- [Troubleshoot your Microsoft Sentinel solution for SAP applications deployment](sap-deploy-troubleshoot.md)-- [Microsoft Sentinel solutions](../sentinel-solutions.md)-
-For reference, see these articles:
--- [Microsoft Sentinel solution for SAP applications data reference](sap-solution-log-reference.md)-- [Microsoft Sentinel solution for SAP applications: Security content reference](sap-solution-security-content.md)-- [Kickstart script reference](reference-kickstart.md)-- [Update script reference](reference-update.md)-- [Systemconfig.ini file reference](reference-systemconfig.md)-
-## Related content
--- [Deploy Microsoft Sentinel solution for SAP applications](deployment-overview.md)-- [Prerequisites for deploying Microsoft Sentinel solution for SAP applications](prerequisites-for-deploying-sap-continuous-threat-monitoring.md)-- [Deploy SAP change requests and configure authorization](preparing-sap.md)
sentinel Cross Workspace https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/sentinel/sap/cross-workspace.md
Title: Microsoft Sentinel solution for SAP apps across multiple workspaces
+ Title: Integrate SAP across multiple workspaces
description: Learn how to work with the Microsoft Sentinel solution for SAP applications in multiple workspaces for different deployment scenarios. Previously updated : 03/22/2023 Last updated : 09/15/2024
+appliesto:
+ - Microsoft Sentinel in the Azure portal
+ - Microsoft Sentinel in the Microsoft Defender portal
+ --
-#Customer intent: As a security operations center (SOC) manager, I want to use Microsoft Sentinel for SAP applications across multiple workspaces so that I can ensure compliance with data residency requirements and facilitate collaboration between SOC and SAP teams.
+#Customer intent: As a security manager, I want to use Microsoft Sentinel for SAP applications across multiple workspaces so that I can ensure compliance with data residency requirements and facilitate collaboration between SOC and SAP teams.
-# Work with the Microsoft Sentinel solution for SAP applications in multiple workspaces
+# Integrate SAP across multiple workspaces
When you set up your Log Analytics workspace enabled for Microsoft Sentinel, you have [multiple architecture options](/azure/azure-monitor/logs/workspace-design?toc=/azure/sentinel/TOC.json&bc=/azure/sentinel/breadcrumb/toc.json) and factors to consider. Taking into account geography, regulation, access control, and other factors, you might choose to have multiple workspaces in your organization.
-This article discusses how to work with the Microsoft Sentinel solution for SAP applications in multiple workspaces for different deployment scenarios.
+When working with SAP, your SAP and SOC teams might need to work in separate workspaces to maintain security boundaries. You might not want the SAP team to have visibility into all other security logs across your organization. However, the SAP BASIS team plays a critical role in successfully implementing and maintaining the Microsoft Sentinel solution for SAP applications. Their technical knowledge is essential for effectively monitoring SAP systems, configuring security settings, and ensuring that proper incident response procedures are in place. For this reason, the SAP BASIS team must have access to the Log Analytics workspace enabled for Microsoft Sentinel, allowing them to collaborate with the SOC team while focusing specifically on SAP-related security monitoring.
-The Microsoft Sentinel solution for SAP applications natively supports a cross-workspace architecture to support improved flexibility for:
+This article discusses how to work with the Microsoft Sentinel solution for SAP applications in multiple workspaces, with improved flexibility for:
- Managed security service providers (MSSPs) or a global or federated security operations center (SOC). - Data residency requirements.
The Microsoft Sentinel solution for SAP applications natively supports a cross-w
> [!IMPORTANT] > Working with multiple workspaces is currently in preview. This feature is provided without a service-level agreement. For more information, see [Supplemental Terms of Use for Microsoft Azure Previews](https://azure.microsoft.com/support/legal/preview-supplemental-terms/).
-You can define multiple workspaces when you [deploy SAP security content](deploy-sap-security-content.md#deploy-the-security-content-from-the-content-hub).
-
-## Collaboration between the SOC and SAP teams in your organization
-
-A common use case is one in which collaboration between the SOC and SAP teams in your organization requires a multi-workspace setup.
-
-Your organization's SAP team has technical knowledge that's critical to successfully and effectively implement the Microsoft Sentinel solution for SAP applications. Therefore, it's important for the SAP team see the relevant data and to collaborate with the SOC about the required configuration and incident response procedures.
-
-There are two possible scenarios for SOC and SAP team collaboration, depending on your organization's needs:
--- Scenario 1: **SAP data and SOC data maintained in separate workspaces**. Both teams can see the SAP data by using [cross-workspace queries](#scenario-1-sap-data-and-soc-data-maintained-in-separate-workspaces).
+## SAP and SOC data maintained in separate workspaces
-- Scenario 2: **SAP data kept only in the SOC workspace**. The SAP team can query the data by using [resource context queries](#scenario-2-sap-data-kept-only-in-the-soc-workspace).
+If your SAP and SOC teams have separate Log Analytics workspaces enabled for Microsoft Sentinel where team data is kept, we recommend that you provide some or all SOC team members with the **Sentinel Reader** role for the SAP BASIS team's workspace. This enables both teams to see SAP data by using cross-workspace queries.
-## Scenario 1: SAP data and SOC data maintained in separate workspaces
-In this scenario, the SAP team and the SOC team have separate Log Analytics workspaces enabled for Microsoft Sentinel where team data is kept.
+Maintaining separate workspaces for the SAP and SOC data has the following benefits:
+|Benefit |Description |
+|||
+|**Alerts** | Microsoft Sentinel can trigger alerts that include both SOC and SAP data, and it can run those alerts on the SOC workspace. |
+|**Data isolation** | The SAP BASIS team has its own workspace that includes all features except detections that include both SOC and SAP data. <br><br>The SOC can see and investigate SAP incidents. If the SAP BASIS team faces an event that it can't explain by using existing data, the team can assign the incident to the SOC. |
+|**Flexibility** | The SAP BASIS team can focus on the control of internal threats in its landscape, and the SOC can focus on external threats. |
+|**Pricing** | There's no extra charge for ingestion fees, because data is ingested only once into Microsoft Sentinel. However, each workspace has its own [pricing tier](../design-your-workspace-architecture.md#step-5-collecting-any-non-soc-data). |
-When your organization [deploys the Microsoft Sentinel solution for SAP applications](deploy-sap-security-content.md#deploy-the-microsoft-sentinel-solution-for-sap-applications-from-the-content-hub), each team specifies its SAP workspace.
+The following table maps data and feature access for SAP and SOC teams when they each maintain their own workspace:
-A common practice is to provide some or all SOC team members with the Sentinel Reader role for the SAP workspace.
-
-Creating separate workspaces for the SAP and SOC data has these benefits:
--- Microsoft Sentinel can trigger alerts that include both SOC and SAP data, and it can run those alerts on the SOC workspace.-
- > [!NOTE]
- > For larger SAP landscapes, running queries that are made by the SOC on data from the SAP workspace can affect performance. The SAP data must travel to the SOC workspace when it's being queried. For improved performance and cost optimizations, consider having both the SOC and SAP workspaces on the same [dedicated cluster](/azure/azure-monitor/logs/logs-dedicated-clusters?tabs=cli#cluster-pricing-model).
+|Function |SOC team |SAP BASIS team |
+||||
+|SOC workspace access | &#x2705; | &#10060; |
+|SAP workspace data, analytics rules, functions, watchlists, and workbooks access | &#x2705; | &#x2705;<sup>*</sup> |
+|SAP incident access and collaboration | &#x2705; | &#x2705;<sup>*</sup> |
-- The SAP team has its own Log Analytics workspace enabled for Microsoft Sentinel that includes all features except detections that include both SOC and SAP data.-- Flexibility. The SAP team can focus on the control of internal threats in its landscape, and the SOC can focus on external threats.-- There's no additional charge for ingestion fees, because data is ingested only once into Microsoft Sentinel. However, each workspace has its own [pricing tier](/azure/azure-monitor/logs/workspace-design#step-5-collecting-any-non-soc-data?toc=/azure/sentinel/TOC.json&bc=/azure/sentinel/breadcrumb/toc.json).-- The SOC can see and investigate SAP incidents. If the SAP team faces an event that it can't explain by using existing data, the team can assign the incident to the SOC.
+<sup>*</sup> The SOC team can see these functions in both workspaces. The SAP BASIS team can see these functions only in the SAP workspace.
+> [!NOTE]
+> Running cross-workspace queries across larger SAP landscapes can affect performance. For improved performance and cost optimizations, consider having both the SOC and SAP workspaces on the same dedicated cluster. For more information, see [Create and manage a dedicated cluster in Azure Monitor Logs](/azure/azure-monitor/logs/logs-dedicated-clusters?tabs=cli#cluster-pricing-model).
-The following table maps the access of data and features for the SAP and SOC teams in this scenario:
+## SAP and SOC data maintained in the same workspace
-|Function |SOC team |SAP team |
-||||
-|SOC workspace access | &#x2705; | &#10060; |
-|SAP workspace data, analytics rules, functions, watchlists, and workbooks access | &#x2705; | &#x2705;<sup>1</sup> |
-|SAP incident access and collaboration | &#x2705; | &#x2705;<sup>1</sup> |
+You might want to keep all data in a single workspace and apply access controls to determine who on your team is able to access the data.
-<sup>1</sup> The SOC team can see these functions in both workspaces. The SAP team can see these functions only in the SAP workspace.
+To do this, use the following steps:
-## Scenario 2: SAP data kept only in the SOC workspace
+- **Use Log Analytics in Azure Monitor to manage access to data by resource**. For more information, see [Manage access to Microsoft Sentinel data by resource](../resource-context-rbac.md).
-In this scenario, you want to keep all the data in one workspace and to apply access controls. You can do this by using Log Analytics in Azure Monitor to [manage access to data by resource](../resource-context-rbac.md). You can also associate SAP resources with an Azure resource ID by specifying the required `azure_resource_id` field in the [connector configuration section](reference-systemconfig.md#connector-configuration-section) on the data collector that you use to ingest data from the SAP system into Microsoft Sentinel.
+- **Associate SAP resources with an Azure resource ID**. Specify the required `azure_resource_id` field in the connector configuration section on the data collector that you use to ingest data from the SAP system into Microsoft Sentinel. For more information, see [Connector configuration](reference-systemconfig-json.md#connector-configuration).
:::image type="content" source="media/cross-workspace/sap-cross-workspace-combined.png" alt-text="Diagram that shows how to work with the Microsoft Sentinel solution for SAP applications by using the same workspace for SAP and SOC data." border="false":::
-After the data collector agent is configured with the correct resource ID, the SAP team can access the specific SAP data in the SOC workspace by using a resource-scoped query. The SAP team can't read any of the other, non-SAP data types.
+After the data collector agent is configured with the correct resource ID, the SAP BASIS team can access the specific SAP data in the SOC workspace by using a resource-scoped query. The SAP BASIS team can't read any of the other, non-SAP data types.
-There are no costs associated with this approach because the data is ingested only once into Microsoft Sentinel. When you use this mode of access, the SAP team sees only raw and unformatted data. The SAP team can't use any Microsoft Sentinel features. In addition to accessing the raw data via Log Analytics, the SAP team can access the same data [via Power BI](../resource-context-rbac.md).
+There are no costs associated with this approach because the data is ingested only once into Microsoft Sentinel.
-## Next step
+When you manage access by resource, the SAP BASIS team sees only raw and unformatted data, accessible via Log Analytics or Power BI. The SAP BASIS team can't use any Microsoft Sentinel features.
-In this article, you learned about working with Microsoft Sentinel solution for SAP applications in multiple workspaces for different deployment scenarios. Next, learn how to deploy the solution:
+## Related content
-> [!div class="nextstepaction"]
-> [Deploy the Microsoft Sentinel solution for SAP applications](deployment-overview.md)
+For more information, see [Deploy Microsoft Sentinel solution for SAP applications](deployment-overview.md).
sentinel Deploy Command Line https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/sentinel/sap/deploy-command-line.md
+
+ Title: Connect your SAP system by deploying your data connector agent container from the command line | Microsoft Sentinel
+description: This article describes how to connect your SAP system to Microsoft Sentinel by deploying the container that that hosts the SAP data connector agent using the command line.
++++ Last updated : 09/15/2024++
+#Customer intent: As a security, infrastructure, or SAP BASIS team member, I want to deploy and configure a containerized SAP data connector agent from the command line so that I can ingest SAP data into Microsoft Sentinel for enhanced monitoring and threat detection.
+++
+# Deploy an SAP data connector agent from the command line
+
+This article provides command line options for deploying an SAP data connector agent. For typical deployments we recommend that you use the [portal](deploy-data-connector-agent-container.md#deploy-the-data-connector-agent-from-the-portal-preview) instead of the command line, as data connector agents installed via the command line can be managed only via the command line.
+
+However, if you're using a configuration file to store your credentials instead of Azure Key Vault, or if you're an advanced user who wants to deploy the data connector manually, such as in a Kubernetes cluster, use the procedures in this article instead.
+
+While you can run multiple data connector agents on a single machine, we recommend that you start with one only, monitor the performance, and then increase the number of connectors slowly. We also recommend that your **security** team perform this procedure with help from the **SAP BASIS** team.
+
+## Prerequisites
+
+- Before deploying your data connector, make sure to [create a virtual machine and configure access to your credentials](deploy-data-connector-agent-container.md#create-a-virtual-machine-and-configure-access-to-your-credentials).
+
+- If you're using SNC for secure connections, make sure that your SAP system is configured properly, and then [prepare the kickstart script for secure communication with SNC](#prepare-the-kickstart-script-for-secure-communication-with-snc) before deploying the data connector agent.
+
+ For more information, see the [SAP documentation](https://help.sap.com/docs/ABAP_PLATFORM_NEW/e73bba71770e4c0ca5fb2a3c17e8e229/e656f466e99a11d1a5b00000e835363f.html).
+
+## Deploy the data connector agent using a managed identity or registered application
+
+This procedure describes how to create a new agent and connect it to your SAP system via the command line, authenticating with a managed identity or a Microsoft Entra ID registered application.
+
+- If you're using SNC, make sure that you've completed [Prepare the kickstart script for secure communication with SNC](#prepare-the-kickstart-script-for-secure-communication-with-snc) first.
+
+- If you're using a configuration file to store your credentials, see [Deploy the data connector using a configuration file](#deploy-the-data-connector-using-a-configuration-file) instead.
+
+**To deploy your data connector agent**:
+
+1. Download and run the deployment kickstart script:
+
+ - **For a managed identity**, use one of the following command options:
+
+ - For the Azure public commercial cloud:
+
+ ```bash
+ wget -O sapcon-sentinel-kickstart.sh https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Solutions/SAP/sapcon-sentinel-kickstart.sh && bash ./sapcon-sentinel-kickstart.sh
+ ```
+
+ - For Microsoft Azure operated by 21Vianet, add `--cloud mooncake` to the end of the copied command.
+
+ - For Azure Government - US, add `--cloud fairfax` to the end of the copied command.
+
+ - **For a registered application**, use the following command to download the deployment kickstart script from the Microsoft Sentinel GitHub repository and mark it executable:
+
+ ```bash
+ wget https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Solutions/SAP/sapcon-sentinel-kickstart.sh
+ chmod +x ./sapcon-sentinel-kickstart.sh
+ ```
+
+ Run the script, specifying the application ID, secret (the "password"), tenant ID, and key vault name that you copied in the previous steps. For example:
+
+ ```bash
+ ./sapcon-sentinel-kickstart.sh --keymode kvsi --appid aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa --appsecret ssssssssssssssssssssssssssssssssss -tenantid bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb -kvaultname <key vault name>
+ ```
+
+ - **To configure secure SNC configuration**, specify the following base parameters:
+
+ - `--use-snc`
+ - `--cryptolib <path to sapcryptolib.so>`
+ - `--sapgenpse <path to sapgenpse>`
+ - `--server-cert <path to server certificate public key>`
+
+ If the client certificate is in *.crt* or *.key* format, use the following switches:
+
+ - `--client-cert <path to client certificate public key>`
+ - `--client-key <path to client certificate private key>`
+
+ If the client certificate is in *.pfx* or *.p12* format, use the following switches:
+
+ - `--client-pfx <pfx filename>`
+ - `--client-pfx-passwd <password>`
+
+ If the client certificate was issued by an enterprise CA, add the following switch for each CA in the trust chain:
+
+ - `--cacert <path to ca certificate>`
+
+ For example:
+
+ ```bash
+ wget https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Solutions/SAP/sapcon-sentinel-kickstart.sh
+ chmod +x ./sapcon-sentinel-kickstart.sh --use-snc --cryptolib /home/azureuser/libsapcrypto.so --sapgenpse /home/azureuser/sapgenpse --client-cert /home/azureuser/client.crt --client-key /home/azureuser/client.key --cacert /home/azureuser/issuingca.crt --cacert /home/azureuser/rootca.crt --server-cert /home/azureuser/server.crt
+ ```
+
+ The script updates the OS components, installs the Azure CLI and Docker software and other required utilities (jq, netcat, curl), and prompts you for configuration parameter values. Supply extra parameters to the script to minimize the number of prompts or to customize the container deployment. For more information on available command line options, see [Kickstart script reference](reference-kickstart.md).
+
+1. **Follow the on-screen instructions** to enter your SAP and key vault details and complete the deployment. When the deployment is complete, a confirmation message is displayed:
+
+ ```bash
+ The process has been successfully completed, thank you!
+ ```
+
+ Make a note of the Docker container name in the script output. To see the list of docker containers on your VM, run:
+
+ ```bash
+ docker ps -a
+ ```
+
+ You'll use the name of the docker container in the next step.
+
+1. Deploying the SAP data connector agent requires that you grant your agent's VM identity with specific permissions to the Log Analytics workspace enabled for Microsoft Sentinel, using the **Microsoft Sentinel Business Applications Agent Operator** and **Reader** roles.
+
+ To run the command in this step, you must be a resource group owner on the Log Analytics workspace enabled for Microsoft Sentinel. If you aren't a resource group owner on your workspace, this procedure can also be performed later on.
+
+ Assign the **Microsoft Sentinel Business Applications Agent Operator** and **Reader** roles to the VM's identity:
+
+ 1. <a name=agent-id-managed></a>Get the agent ID by running the following command, replacing the `<container_name>` placeholder with the name of the docker container that you'd created with the kickstart script:
+
+ ```bash
+ docker inspect <container_name> | grep -oP '"SENTINEL_AGENT_GUID=\K[^"]+
+ ```
+
+ For example, an agent ID returned might be `234fba02-3b34-4c55-8c0e-e6423ceb405b`.
+
+ 1. Assign the **Microsoft Sentinel Business Applications Agent Operator** and **Reader** roles by running the following commands:
+
+ ```bash
+ az role assignment create --assignee-object-id <Object_ID> --role --assignee-principal-type ServicePrincipal "Microsoft Sentinel Business Applications Agent Operator" --scope /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP_NAME>/providers/microsoft.operationalinsights/workspaces/<WS_NAME>/providers/Microsoft.SecurityInsights/BusinessApplicationAgents/<AGENT_IDENTIFIER>
+
+ az role assignment create --assignee-object-id <Object_ID> --role --assignee-principal-type ServicePrincipal "Reader" --scope /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP_NAME>/providers/microsoft.operationalinsights/workspaces/<WS_NAME>/providers/Microsoft.SecurityInsights/BusinessApplicationAgents/<AGENT_IDENTIFIER>
+ ```
+
+ Replace placeholder values as follows:
+
+ |Placeholder |Value |
+ |||
+ |`<OBJ_ID>` | Your VM identity object ID. <br><br> To find your VM identity object ID in Azure: <br>- **For a managed identity**, the object ID is listed on the VM's **Identity** page. <br>- **For a service principal**, go to **Enterprise application** in Azure. Select **All applications** and then select your VM. The object ID is displayed on the **Overview** page. |
+ |`<SUB_ID>` | The subscription ID for you Log Analytics workspace enabled for Microsoft Sentinel |
+ |`<RESOURCE_GROUP_NAME>` | The resource group name for your Log Analytics workspace enabled for Microsoft Sentinel |
+ |`<WS_NAME>` | The name of your Log Analytics workspace enabled for Microsoft Sentinel |
+ |`<AGENT_IDENTIFIER>` | The agent ID displayed after running the command in the [previous step](#agent-id-managed). |
+
+1. To configure the Docker container to start automatically, run the following command, replacing the `<container-name>` placeholder with the name of your container:
+
+ ```bash
+ docker update --restart unless-stopped <container-name>
+ ```
+
+The deployment procedure generates a **systemconfig.json** file that contains the configuration details for the SAP data connector agent. For more information, see [SAP data connector agent configuration file](deployment-overview.md#sap-data-connector-agent-configuration-file).
+
+## Deploy the data connector using a configuration file
+
+Azure Key Vault is the recommended method to store your authentication credentials and configuration data. If you're prevented from using Azure Key Vault, this procedure describes how you can deploy the data connector agent container using a configuration file instead.
+
+- If you're using SNC, make sure that you've completed [Prepare the kickstart script for secure communication with SNC](#prepare-the-kickstart-script-for-secure-communication-with-snc) first.
+
+- If you're using a managed identity or registered application, see [Deploy the data connector agent using a managed identity or registered application](#deploy-the-data-connector-agent-using-a-managed-identity-or-registered-application) instead.
+
+**To deploy your data connector agent**:
+
+1. Create a virtual machine on which to deploy the agent.
+
+1. Transfer the [SAP NetWeaver SDK](https://aka.ms/sap-sdk-download) to the machine on which you want to install the agent.
+
+1. Run the following commands to **download the deployment Kickstart script** from the Microsoft Sentinel GitHub repository and **mark it executable**:
+
+ ```bash
+ wget https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Solutions/SAP/sapcon-sentinel-kickstart.sh
+ chmod +x ./sapcon-sentinel-kickstart.sh
+ ```
+
+1. **Run the script**:
+
+ ```bash
+ ./sapcon-sentinel-kickstart.sh --keymode cfgf
+ ```
+
+ The script updates the OS components, installs the Azure CLI and Docker software and other required utilities (jq, netcat, curl), and prompts you for configuration parameter values. Supply extra parameters to the script as needed to minimize the number of prompts or to customize the container deployment. For more information, see the [Kickstart script reference](reference-kickstart.md).
+
+1. **Follow the on-screen instructions** to enter the requested details and complete the deployment. When the deployment is complete, a confirmation message is displayed:
+
+ ```bash
+ The process has been successfully completed, thank you!
+ ```
+
+ Make a note of the Docker container name in the script output. To see the list of docker containers on your VM, run:
+
+ ```bash
+ docker ps -a
+ ```
+
+ You'll use the name of the docker container in the next step.
+
+1. Deploying the SAP data connector agent requires that you grant your agent's VM identity with specific permissions to the Log Analytics workspace enabled for Microsoft Sentinel, using the **Microsoft Sentinel Business Applications Agent Operator** and **Reader** roles.
+
+ To run the commands in this step, you must be a resource group owner on your workspace. If you aren't a resource group owner on your workspace, this step can also be performed later on.
+
+ Assign the **Microsoft Sentinel Business Applications Agent Operator** and **Reader** roles to the VM's identity:
+
+ 1. <a name=agent-id-file></a>Get the agent ID by running the following command, replacing the `<container_name>` placeholder with the name of the docker container that you created with the Kickstart script:
+
+ ```bash
+ docker inspect <container_name> | grep -oP '"SENTINEL_AGENT_GUID=\K[^"]+'
+ ```
+
+ For example, an agent ID returned might be `234fba02-3b34-4c55-8c0e-e6423ceb405b`.
+
+ 1. Assign the **Microsoft Sentinel Business Applications Agent Operator** and **Reader** roles by running the following commands:
+
+ ```bash
+ az role assignment create --assignee-object-id <Object_ID> --role --assignee-principal-type ServicePrincipal "Microsoft Sentinel Business Applications Agent Operator" --scope /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP_NAME>/providers/microsoft.operationalinsights/workspaces/<WS_NAME>/providers/Microsoft.SecurityInsights/BusinessApplicationAgents/<AGENT_IDENTIFIER>
+
+ az role assignment create --assignee-object-id <Object_ID> --role --assignee-principal-type ServicePrincipal "Reader" --scope /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP_NAME>/providers/microsoft.operationalinsights/workspaces/<WS_NAME>/providers/Microsoft.SecurityInsights/BusinessApplicationAgents/<AGENT_IDENTIFIER>
+ ```
+
+ Replace placeholder values as follows:
+
+ |Placeholder |Value |
+ |||
+ |`<OBJ_ID>` | Your VM identity object ID. <br><br> To find your VM identity object ID in Azure: For a managed identity, the object ID is listed on the VM's **Identity** page. For a service principal, go to **Enterprise application** in Azure. Select **All applications** and then select your VM. The object ID is displayed on the **Overview** page. |
+ |`<SUB_ID>` | The subscription ID for your Log Analytics workspace enabled for Microsoft Sentinel |
+ |`<RESOURCE_GROUP_NAME>` | The resource group name for your Log Analytics workspace enabled for Microsoft Sentinel |
+ |`<WS_NAME>` | The name of your Log Analytics workspace enabled for Microsoft Sentinel |
+ |`<AGENT_IDENTIFIER>` | The agent ID displayed after running the command in the [previous step](#agent-id-file). |
+
+1. Run the following command to configure the Docker container to start automatically.
+
+ ```bash
+ docker update --restart unless-stopped <container-name>
+ ```
+
+The deployment procedure generates a **systemconfig.json** file that contains the configuration details for the SAP data connector agent. For more information, see [SAP data connector agent configuration file](deployment-overview.md#sap-data-connector-agent-configuration-file).
+
+## Prepare the kickstart script for secure communication with SNC
+
+This procedure describes how to prepare the deployment script to configure settings for secure communications with your SAP system using SNC. If you're using SNC, you must perform this procedure before deploying the data connector agent.
+
+**To configure the container for secure communication with SNC**:
+
+1. Transfer the *libsapcrypto.so* and *sapgenpse* files to the system where you're creating the container.
+
+1. Transfer the client certificate, including both private and public keys to the system where you're creating the container.
+
+ The client certificate and key can be in *.p12*, *.pfx*, or Base64 *.crt* and *.key* format.
+
+1. Transfer the server certificate (public key only) to the system where you're creating the container.
+
+ The server certificate must be in Base64 *.crt* format.
+
+1. If the client certificate was issued by an enterprise certification authority, transfer the issuing CA and root CA certificates to the system where you're creating the container.
+
+1. Get the kickstart script from the Microsoft Sentinel GitHub repository:
+
+ ```bash
+ wget https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Solutions/SAP/sapcon-sentinel-kickstart.sh
+ ```
+
+1. Change the script's permissions to make it executable:
+
+ ```bash
+ chmod +x ./sapcon-sentinel-kickstart.sh
+ ```
+
+For more information, see [Kickstart deployment script reference for the Microsoft Sentinel for SAP applications data connector agent](reference-kickstart.md).
+
+## Check connectivity and health
+
+After you deploy the SAP data connector agent, check your agent's health and connectivity. For more information, see [Monitor the health and role of your SAP systems](../monitor-sap-system-health.md).
+
+## Next step
+
+Once the connector is deployed, proceed to deploy Microsoft Sentinel solution for SAP applications content:
+> [!div class="nextstepaction"]
+> [Enable SAP detections and threat protection](deployment-solution-configuration.md)
sentinel Deploy Data Connector Agent Container https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/sentinel/sap/deploy-data-connector-agent-container.md
Title: Microsoft Sentinel solution for SAP applications - deploy and configure the SAP data connector agent container
-description: This article shows you how to use the Azure portal to deploy the container that hosts the SAP data connector agent, in order to ingest SAP data into Microsoft Sentinel, as part of the Microsoft Sentinel Solution for SAP.
+ Title: Connect your SAP system by deploying your data connector agent container | Microsoft Sentinel
+description: This article describes how to connect your SAP system to Microsoft Sentinel by deploying the container that that hosts the SAP data connector agent.
Previously updated : 04/01/2024 Last updated : 09/15/2024
+appliesto:
+ - Microsoft Sentinel in the Azure portal
+ - Microsoft Sentinel in the Microsoft Defender portal
+ -
-#Customer intent: As an SAP BASIS team member, I want to deploy and configure a containerized SAP data connector agent so that I can ingest SAP data into Microsoft Sentinel for enhanced monitoring and threat detection.
+#Customer intent: As a security, infrastructure, or SAP BASIS team member, I want to deploy and configure a containerized SAP data connector agent so that I can ingest SAP data into Microsoft Sentinel for enhanced monitoring and threat detection.
-# Deploy and configure the container hosting the SAP data connector agent
-
-This article shows you how to deploy the container that hosts the SAP data connector agent, and how to use it to create connections to your SAP systems. This two-step process is required to ingest SAP data into Microsoft Sentinel, as part of the Microsoft Sentinel solution for SAP applications.
-
-The recommended method to deploy the container and create connections to SAP systems is via the Azure portal. This method is explained in the article, and also demonstrated in [this video on YouTube](https://www.youtube.com/watch?v=bg0vmUvcQ5Q). Also shown in this article is a way to accomplish these objectives by calling a *kickstart* script from the command line.
-
-Alternatively, you can deploy the data connector Docker container agent manually, such as in a Kubernetes cluster. For more information, open a support ticket.
-
-> [!IMPORTANT]
-> Deploying the container and creating connections to SAP systems via the Azure portal is currently in PREVIEW. The [Azure Preview Supplemental Terms](https://azure.microsoft.com/support/legal/preview-supplemental-terms/) include additional legal terms that apply to Azure features that are in beta, preview, or otherwise not yet released into general availability.
--
-## Deployment milestones
-
-Deployment of the Microsoft Sentinel solution for SAP® applications is divided into the following sections:
-
-1. [Deployment overview](deployment-overview.md)
-
-1. [Deployment prerequisites](prerequisites-for-deploying-sap-continuous-threat-monitoring.md)
-
-1. [Work with the solution across multiple workspaces](cross-workspace.md) (PREVIEW)
-
-1. [Prepare SAP environment](preparing-sap.md)
-
-1. [Configure auditing](configure-audit.md)
-
-1. **Deploy the data connector agent (*You are here*)**
-
-1. [Deploy the Microsoft Sentinel solution for SAP applications® from the content hub](deploy-sap-security-content.md)
-
-1. [Configure Microsoft Sentinel solution for SAP® applications](deployment-solution-configuration.md)
-
-1. Optional deployment steps
- - [Configure data connector to use SNC](configure-snc.md)
- - [Collect SAP HANA audit logs](collect-sap-hana-audit-logs.md)
- - [Configure audit log monitoring rules](configure-audit-log-rules.md)
- - [Deploy SAP connector manually](sap-solution-deploy-alternate.md)
- - [Select SAP ingestion profiles](select-ingestion-profiles.md)
-
-## Data connector agent deployment overview
+# Connect your SAP system by deploying your data connector agent container
For the Microsoft Sentinel solution for SAP applications to operate correctly, you must first get your SAP data into Microsoft Sentinel. To accomplish this, you need to deploy the solution's SAP data connector agent.
-The data connector agent runs as a container on a Linux virtual machine (VM). This VM can be hosted either in Azure, in a third-party cloud, or on-premises. We recommend that you install and configure this container using the Azure portal (in PREVIEW); however, you can choose to deploy the container using a *kickstart* script. If you want to deploy the data connector Docker container agent manually, such as in a Kubernetes cluster, open a support ticket for more details.
+This article describes how to deploy the container that hosts the SAP data connector agent and connect to your SAP system, and is the third step in deploying the Microsoft Sentinel solution for SAP applications. Make sure to perform the steps in this article in the order that they're presented.
-The agent connects to your SAP system to pull logs and other data from it, then sends those logs to your Microsoft Sentinel workspace. To do this, the agent has to authenticate to your SAP system&mdash;that's why you created a user and a role for the agent in your SAP system in the previous step.
-You have a few choices of how and where to store your agent configuration information, including your SAP authentication secrets. The decision of which one to use can be affected by where you deploy your VM and by which SAP authentication mechanism you decide to use. These are the options, in descending order of preference:
+Content in this article is relevant for your **security**, **infrastructure**, and **SAP BASIS** teams.
-- An **Azure Key Vault**, accessed through an Azure **system-assigned managed identity**-- An **Azure Key Vault**, accessed through a Microsoft Entra ID **registered-application service principal**-- A plaintext **configuration file**
+## Prerequisites
-For any of these scenarios, you have the extra option to authenticate using SAP's Secure Network Communication (SNC) and X.509 certificates. This option provides a higher level of authentication security, but it's only a practical option in a limited set of scenarios.
+Before you deploy the data connector agent:
-Deploying the data connector agent container includes the following steps:
+- Make sure that all of the deployment prerequisites are in place. For more information, see [Prerequisites for deploying Microsoft Sentinel solution for SAP applications](prerequisites-for-deploying-sap-continuous-threat-monitoring.md).
-1. [Creating the virtual machine and setting up access to your SAP system credentials](#create-a-virtual-machine-and-configure-access-to-your-credentials). This procedure may need to be performed by another team in your organization, but must be performed before the other procedures in this article.
+- Make sure that you have the [Microsoft Sentinel solution for SAP applications](deploy-sap-security-content.md) installed in your Microsoft Sentinel workspace.
-1. [Set up and deploy the data connector agent](#deploy-the-data-connector-agent).
+- Make sure that your SAP system is fully [prepared for the deployment](preparing-sap.md). If you're deploying the data connector agent to communicate with Microsoft Sentinel over SNC, make sure that you completed [Configure your system to use SNC for secure connections](preparing-sap.md#configure-your-system-to-use-snc-for-secure-connections).
-1. [Configure the agent to connect to an SAP system.](#connect-to-a-new-sap-system)
+## Watch a demo video
-## Prerequisites
+Watch one of the following video demonstrations of the deployment process described in this article.
-Before you deploy the data connector agent, make sure that have all the deployment prerequisites in place. For more information, see [Prerequisites for deploying Microsoft Sentinel solution for SAP applications](prerequisites-for-deploying-sap-continuous-threat-monitoring.md).
+A deep dive on the portal options:
+<br><br>
+> [!VIDEO https://www.youtube.com/embed/bg0vmUvcQ5Q?si=hugWYn1wjlq4seCR]
-Also, if you plan to ingest NetWeaver/ABAP logs over a secure connection using Secure Network Communications (SNC), take the relevant preparatory steps. For more information, see [Deploy the Microsoft Sentinel for SAP data connector by using SNC](configure-snc.md).
+Includes more details about using Azure KeyVault. No audio, demonstration only with captions:
+<br><br>
+> [!VIDEO https://www.youtube.com/embed/TXANRi88mqI?si=D_5TlOlswKW9OSee]
## Create a virtual machine and configure access to your credentials
-Ideally, your SAP configuration and authentication secrets can and should be stored in an [**Azure Key Vault**](/azure/key-vault/general/authentication). How you access your key vault depends on where your VM is deployed:
+We recommend creating a dedicated virtual machine for your data connector agent container to ensure optimal performance and avoid potential conflicts. For more information, see [System prerequisites](prerequisites-for-deploying-sap-continuous-threat-monitoring.md#system-prerequisites).
-- **A container on an Azure VM** can use an Azure [system-assigned managed identity](../../active-directory/managed-identities-azure-resources/overview.md) to seamlessly access Azure Key Vault.
+We recommend that you store your SAP and authentication secrets in an [Azure key vault](/azure/key-vault/general/authentication). How you access your key vault depends on where your virtual machine (VM) is deployed:
- In the event that a system-assigned managed identity can't be used, the container can also authenticate to Azure Key Vault using a [Microsoft Entra ID registered-application service principal](../../active-directory/develop/app-objects-and-service-principals.md), or, as a last resort, a **configuration file**.
+|Deployment method |Access method |
+|||
+|**Container on an Azure VM** | We recommend using an Azure system-assigned managed identity to access Azure Key Vault. <br><br>If a system-assigned managed identity can't be used, the container can also authenticate to Azure Key Vault using a Microsoft Entra ID registered-application service principal, or, as a last resort, a configuration file. |
+|**A container on an on-premises VM**, or **a VM in a third-party cloud environment** | Authenticate to Azure Key Vault using a Microsoft Entra ID registered-application service principal. |
-- **A container on an on-premises VM**, or **a VM in a third-party cloud environment**, can't use Azure managed identity, but can authenticate to Azure Key Vault using a [Microsoft Entra ID registered-application service principal](../../active-directory/develop/app-objects-and-service-principals.md).
+If you can't use a registered application or a service principal, use a configuration file to manage your credentials, though this method isn't preferred. For more information, see [Deploy the data connector using a configuration file](deploy-command-line.md#deploy-the-data-connector-using-a-configuration-file).
-- If for some reason a registered-application service principal can't be used, you can use a [**configuration file**](reference-systemconfig.md), though this is not preferred.
+For more information, see:
-> [!NOTE]
-> This procedure may need to be performed by another team in your organization, but must be performed before the other procedures in this article.
->
+- [Authentication in Azure Key Vault](/azure/key-vault/general/authentication)
+- [What are manged identities for Azure resources?](/entra/identity/managed-identities-azure-resources/overview)
+- [Application and service principal objects in Microsoft Entra ID](/entra/identity-platform/app-objects-and-service-principals?tabs=browser)
-Select one of the following tabs, depending on how you plan to store and access your authentication credentials and configuration data.
+Your virtual machine is typically created by your **infrastructure** team. Configuring access to credentials and managing key vaults is typically done by your **security** team.
-# [Managed identity](#tab/create-managed-identity)
+## [Managed identity](#tab/managed-identity)
### Create a managed identity with an Azure VM
-1. Run the following command to **Create a VM** in Azure (substitute actual names from your environment for the `<placeholders>`):
+1. Run the following command to **Create a VM** in Azure, substituting actual names from your environment for the `<placeholders>`:
```azurecli az vm create --resource-group <resource group name> --name <VM Name> --image Canonical:0001-com-ubuntu-server-focal:20_04-lts-gen2:latest --admin-username <azureuser> --public-ip-address "" --size Standard_D2as_v5 --generate-ssh-keys --assign-identity --role <role name> --scope <subscription Id>
Select one of the following tabs, depending on how you plan to store and access
> After the VM is created, be sure to apply any security requirements and hardening procedures applicable in your organization. >
- The command above will create the VM resource, producing output that looks like this:
+ This command creates the VM resource, producing output that looks like this:
```json {
Select one of the following tabs, depending on how you plan to store and access
1. Copy the **systemAssignedIdentity** GUID, as it will be used in the coming steps. This is your **managed identity**.
-# [Registered application](#tab/create-registered-application)
+## [Registered application](#tab/registered-application)
### Register an application to create an application identity
Select one of the following tabs, depending on how you plan to store and access
az ad sp create-for-rbac ```
- The command above will create the application, producing output that looks like this:
+ This command creates the application, producing output that looks like this:
```json {
Select one of the following tabs, depending on how you plan to store and access
} ```
-1. Copy the **appId**, **tenant**, and **password** from the output. You'll need these for assigning the key vault access policy and running the deployment script in the coming steps.
-
-1. Before proceeding any further, create a virtual machine on which to deploy the agent. You can create this machine in Azure, in another cloud, or on-premises.
-
-# [Configuration file](#tab/create-config-file)
-
-### Use a configuration file
-
-Key Vault is the recommended method to store your authentication credentials and configuration data.
+ For more information, see the [Azure CLI reference documentation](/cli/azure/ad/sp#az-ad-sp-create-for-rbac).
-If you are prevented from using Azure Key Vault, you can use a configuration file instead:
+1. Copy the **appId**, **tenant**, and **password** from the output. You need these for assigning the key vault access policy and running the deployment script in the coming steps.
-1. Create a virtual machine on which to deploy the agent.
-1. Continue with deploying the data connector agent using the configuration file. For more information, see
-[Command line options](#command-line-options).
-
-The configuration file is generated during the agent deployment. For more information, see:
--- [Systemconfig.json file reference](reference-systemconfig-json.md) (for versions deployed June 22 or later).-- [Systemconfig.ini file reference](reference-systemconfig.md) (for agent versions deployed before June 22, 2023).
+1. Before proceeding any further, create a virtual machine on which to deploy the agent. You can create this machine in Azure, in another cloud, or on-premises.
### Create a key vault
-This procedure describes how to create a key vault to store your agent configuration information, including your SAP authentication secrets. If you'll be using an existing key vault, skip directly to [step 2](#step2).
+This procedure describes how to create a key vault to store your agent configuration information, including your SAP authentication secrets. If you're using an existing key vault, skip directly to [step 2](#step2).
**To create your key vault**:
This procedure describes how to create a key vault to store your agent configura
|**Azure role-based access control** | Key Vault Secrets User | |**Vault access policy** | `get`, `list` |
- Use the options in the portal to assign the permissions, or run one of the following commands to assign key vault secrets permissions to your identity, substituting actual names for the `<placeholder>` values. Select the tab for the type of identity you'd created.
+ Use the options in the portal to assign the permissions, or run one of the following commands to assign key vault secrets permissions to your identity, substituting actual names for the `<placeholder>` values. Select the tab for the type of identity you created.
- # [Assign managed identity permissions](#tab/perms-managed-identity)
-
- Run one of the following commands, depending on your preferred Key Vault permission model, to assign key vault secrets permissions to your VM's system-assigned managed identity. The policy specified in the commands allows the VM to list and read secrets from the key vault.
+ The policy specified in the commands allows the VM to list and read secrets from the key vault.
- **Azure role-based access control permission model**:
- ```Azure CLI
- az role assignment create --assignee-object-id <ManagedIdentityId> --role "Key Vault Secrets User" --scope /subscriptions/<KeyVaultSubscriptionId>/resourceGroups/<KeyVaultResourceGroupName> /providers/Microsoft.KeyVault/vaults/<KeyVaultName>
- ```
-
- - **Vault access policy permission model**:
+ #### [Managed identity](#tab/managed-identity)
```Azure CLI
- az keyvault set-policy -n <KeyVaultName> -g <KeyVaultResourceGroupName> --object-id <ManagedIdentityId> --secret-permissions get list
+ az role assignment create --assignee-object-id <ManagedIdentityId> --role "Key Vault Secrets User" --scope /subscriptions/<KeyVaultSubscriptionId>/resourceGroups/<KeyVaultResourceGroupName> /providers/Microsoft.KeyVault/vaults/<KeyVaultName>
```
- # [Assign registered application permissions](#tab/perms-registered-application)
-
- Run one of the following commands, depending on your preferred Key Vault permission model, to assign key vault secrets permissions to your VM's registered application identity. The policy specified in the commands allows the VM to list and read secrets from the key vault.
-
- - **Azure role-based access control permission model**:
+ #### [Registered application](#tab/registered-application)
```Azure CLI az role assignment create --assignee-object-id <ServicePrincipalObjectId> --role "Key Vault Secrets User" --scope /subscriptions/<KeyVaultSubscriptionId>/resourceGroups/<KeyVaultResourceGroupName>/providers/Microsoft.KeyVault/vaults/<KeyVaultName>
This procedure describes how to create a key vault to store your agent configura
> [!IMPORTANT] > Do not confuse the object ID from the **Enterprise Applications** page with the app registration's object ID found on the **App registrations** page. Only the object ID from the **Enterprise applications** page will work.
+
+ - **Vault access policy permission model**:
+ #### [Managed identity](#tab/managed-identity)
+
+ ```Azure CLI
+ az keyvault set-policy -n <KeyVaultName> -g <KeyVaultResourceGroupName> --object-id <ManagedIdentityId> --secret-permissions get list
+ ```
+
+ #### [Registered application](#tab/registered-application)
+ ```Azure CLI az keyvault set-policy -n <KeyVaultName> -g <KeyVaultResourceGroupName> --spn <ApplicationId> --secret-permissions get list ```
- To find the object ID of the app registration, go to the Microsoft Entra ID portal's **App registrations** page. Search for name of the app registration and copy the **Application (client) ID** value.
+ To find the object ID of the app registration, go to the Microsoft Entra ID portal's **App registrations** page. Search for name of the app registration and copy the **Application (client) ID** value.
-
+
1. In the same key vault, assign the following Azure role-based access control or vault access policy permissions on the secrets scope to the user configuring the data connector agent:
This procedure describes how to create a key vault to store your agent configura
az keyvault set-policy -n <KeyVaultName> -g <KeyVaultResourceGroupName> --upn <UserPrincipalName>--secret-permissions get list set delete ```
-## Deploy the data connector agent
+## Deploy the data connector agent from the portal (Preview)
-Now that you've created a VM and a Key Vault, your next step is to create a new agent and connect to one of your SAP systems.
+Now that you created a VM and a Key Vault, your next step is to create a new agent and connect to one of your SAP systems. While you can run multiple data connector agents on a single machine, we recommend that you start with one only, monitor the performance, and then increase the number of connectors slowly.
-1. **Sign in to the newly created VM** on which you are installing the agent, as a user with sudo privileges.
+This procedure describes how to create a new agent and connect it to your SAP system using the Azure or Defender portals. We recommend that your **security** team perform this procedure with help from the **SAP BASIS** team.
-1. **Download or transfer the [SAP NetWeaver SDK](https://aka.ms/sap-sdk-download)** to the machine.
+Deploying the data connector agent from the portal is supported from both the Azure portal, and the Defender portal if you onboarded your workspace to the unified security operations platform.
-Use one of the following sets of procedures, depending on whether you're using a managed identity or a registered application to access your key vault, and whether you're using the Azure portal or the command line to deploy the agent:
+While deployment is also supported from the command line, we recommend that you use the portal for typical deployments. Data connector agents deployed using the command line can be managed only via the command line, and not via the portal. For more information, see [Deploy a SAP data connector agent from the command line](deploy-command-line.md).
-- [Azure portal options (Preview)](#azure-portal-options-preview)-- [Command line options](#command-line-options)
+> [!IMPORTANT]
+> Deploying the container and creating connections to SAP systems from the portal is currently in PREVIEW. The [Azure Preview Supplemental Terms](https://azure.microsoft.com/support/legal/preview-supplemental-terms/) include additional legal terms that apply to Azure features that are in beta, preview, or otherwise not yet released into general availability.
+
+**Prerequisites**:
-> [!TIP]
-> The Azure portal can only be used with an Azure key vault. If you're using a configuration file instead, use the relevant [command line option](#command-line-options).
->
+- To deploy your data connector agent via the portal, you need:
-### Azure portal options (Preview)
+ - Authentication via a managed identity or a registered application
+ - Credentials stored in an Azure Key Vault
-Select one of the following tabs, depending on the type of identity you're using to access your key vault.
+ If you don't have these prerequisites, [deploy the SAP data connector agent from the command line](deploy-command-line.md) instead.
-> [!NOTE]
-> If you previously installed SAP connector agents manually or using the kickstart scripts, you can't configure or manage those agents in the Azure portal. If you want to use the portal to configure and update agents, you must reinstall your existing agents using the portal.
+- To deploy the data connector agent, you also need sudo or root privileges on the data connector agent machine.
-# [Deploy with a managed identity](#tab/deploy-azure-managed-identity)
+- If you want to ingest Netweaver/ABAP logs over a secure connection using Secure Network Communications (SNC), you need:
-This procedure describes how to create a new agent through the Azure portal, authenticating with a managed identity:
+ - The path to the `sapgenpse` binary and `libsapcrypto.so` library
+ - The details of your client certificate
-1. From the Microsoft Sentinel navigation menu, select **Data connectors**.
+ For more information, see [Configure your system to use SNC for secure connections](preparing-sap.md#configure-your-system-to-use-snc-for-secure-connections).
-1. In the search bar, enter *SAP*.
+**To deploy the data connector agent**:
-1. Select **Microsoft Sentinel for SAP** from the search results, and select **Open connector page**.
+1. Sign in to the newly created VM on which you're installing the agent, as a user with sudo privileges.
-1. To collect data from an SAP system, you must follow these two steps:
+1. Download and/or transfer the [SAP NetWeaver SDK](https://aka.ms/sap-sdk-download) to the machine.
- 1. [Create a new agent](#create-a-new-agent)
- 1. [Connect the agent to a new SAP system](#connect-to-a-new-sap-system)
+1. In Microsoft Sentinel, select **Configuration > Data connectors**.
-#### Create a new agent
+1. In the search bar, enter *SAP*. Select **Microsoft Sentinel for SAP** from the search results and then **Open connector page**.
1. In the **Configuration** area, select **Add new agent (Preview)**. :::image type="content" source="media/deploy-data-connector-agent-container/configuration-new-agent.png" alt-text="Screenshot of the instructions to add an SAP API-based collector agent." lightbox="media/deploy-data-connector-agent-container/configuration-new-agent.png":::
-1. Under **Create a collector agent** on the right, define the agent details:
+1. In the **Create a collector agent** pane, enter the following agent details:
|Name |Description | |||
- |**Agent name** | Enter an agent name, including any of the following characters: <ul><li> a-z<li> A-Z<li>0-9<li>_ (underscore)<li>. (period)<li>- (dash)</ul> |
+ |**Agent name** | Enter a meaningful agent name for your organization. We don't recommend any specific naming convention, except that the name can include only the following types of characters: <ul><li> a-z<li> A-Z<li>0-9<li>_ (underscore)<li>. (period)<li>- (dash)</ul> |
|**Subscription** / **Key vault** | Select the **Subscription** and **Key vault** from their respective drop-downs. | |**NWRFC SDK zip file path on the agent VM** | Enter the path in your VM that contains the SAP NetWeaver Remote Function Call (RFC) Software Development Kit (SDK) archive (.zip file). <br><br>Make sure that this path includes the SDK version number in the following syntax: `<path>/NWRFC<version number>.zip`. For example: `/src/test/nwrfc750P_12-70002726.zip`. |
- |**Enable SNC connection support** |Select to ingest NetWeaver/ABAP logs over a secure connection using Secure Network Communications (SNC). <br><br>If you select this option, enter the path that contains the `sapgenpse` binary and `libsapcrypto.so` library, under **SAP Cryptographic Library path on the agent VM**. |
- |**Authentication to Azure Key Vault** | To authenticate to your key vault using a managed identity, leave the default **Managed Identity** option selected. <br><br>You must have the managed identity set up ahead of time. For more information, see [Create a virtual machine and configure access to your credentials](#create-a-virtual-machine-and-configure-access-to-your-credentials). |
-
- > [!NOTE]
- > If you want to use an SNC connection, make sure to select **Enable SNC connection support** at this stage as you can't go back and enable an SNC connection after you finish deploying the agent. For more information, see [Deploy the Microsoft Sentinel for SAP data connector by using SNC](configure-snc.md).
+ |**Enable SNC connection support** |Select to ingest NetWeaver/ABAP logs over a [secure connection using SNC](preparing-sap.md#configure-your-system-to-use-snc-for-secure-connections). <br><br>If you select this option, enter the path that contains the `sapgenpse` binary and `libsapcrypto.so` library, under **SAP Cryptographic Library path on the agent VM**. <br><br>If you want to use an SNC connection, make sure to select **Enable SNC connection support** at this stage as you can't go back and enable an SNC connection after you finish deploying the agent. If you want to change this setting afterwards, we recommend that you create a new agent instead. |
+ |**Authentication to Azure Key Vault** | To authenticate to your key vault using a managed identity, leave the default **Managed Identity** option selected. To authenticate to your key vault using a registered application, select **Application Identity**. <br><br>You must have the managed identity or registered application set up ahead of time. For more information, see [Create a virtual machine and configure access to your credentials](#create-a-virtual-machine-and-configure-access-to-your-credentials). |
For example:
This procedure describes how to create a new agent through the Azure portal, aut
To run the commands in this step, you must be a resource group owner on your Microsoft Sentinel workspace. If you aren't a resource group owner on your workspace, this procedure can also be performed after the agent deployment is complete.
- Copy the **Role assignment commands** from step 1 and run them on your agent VM, replacing the `Object_ID` placeholder with your VM identity object ID. For example:
+ Under **Just a few more steps before we finish**, copy the *Role assignment commands* from step 1 and run them on your agent VM, replacing the `[Object_ID]` placeholder with your VM identity object ID. For example:
:::image type="content" source="media/deploy-data-connector-agent-container/finish-agent-deployment-role.png" alt-text="Screenshot of the Copy icon for the command from step 1.":::
- To find your VM identity object ID in Azure, go to **Enterprise application** > **All applications**, and select your VM name. Copy the value of the **Object ID** field to use with your copied command.
+ To find your VM identity object ID in Azure:
+
+ - For a managed identity, the object ID is listed on the VM's **Identity** page.
- These commands assign the **Microsoft Sentinel Business Applications Agent Operator** and **Reader** Azure roles to your VM's managed identity, including only the scope of the specified agent's data in the workspace.
+ - For a service principal, go to **Enterprise application** in Azure. Select **All applications** and then select your VM. The object ID is displayed on the **Overview** page.
+
+ These commands assign the **Microsoft Sentinel Business Applications Agent Operator** and **Reader** Azure roles to your VM's managed or application identity, including only the scope of the specified agent's data in the workspace.
> [!IMPORTANT] > Assigning the **Microsoft Sentinel Business Applications Agent Operator** and **Reader** roles via the CLI assigns the roles only on the scope of the specified agent's data in the workspace. This is the most secure, and therefore recommended option. > > If you must assign the roles [via the Azure portal](/azure/role-based-access-control/role-assignments-portal?tabs=delegate-condition), we recommend assigning the roles on a small scope, such as only on the Microsoft Sentinel workspace.
-1. Select **Copy** :::image type="content" source="media/deploy-data-connector-agent-container/copy-icon.png" alt-text="Screenshot of the Copy icon." border="false"::: next to the **Agent deployment command** in step 2. For example:
+1. Select **Copy** :::image type="content" source="media/deploy-data-connector-agent-container/copy-icon.png" alt-text="Screenshot of the Copy icon next to the Agent deployment command." border="false"::: next to the **Agent deployment command** in step 2. For example:
:::image type="content" source="media/deploy-data-connector-agent-container/finish-agent-deployment-agent.png" alt-text="Screenshot of the Agent command to copy in step 2.":::
-1. After you've copied the command line, select **Close**.
+1. Copy the command line to a separate location and then select **Close**.
The relevant agent information is deployed into Azure Key Vault, and the new agent is visible in the table under **Add an API based collector agent**.
This procedure describes how to create a new agent through the Azure portal, aut
:::image type="content" source="media/deploy-data-connector-agent-container/installation-status.png" alt-text="Screenshot of the health statuses of API-based collector agents on the SAP data connector page." lightbox="media/deploy-data-connector-agent-container/installation-status.png"::: > [!NOTE]
- > The table displays the agent name and health status for only those agents you deploy via the Azure portal. Agents deployed using the [command line](#command-line-options) aren't displayed here.
+ > The table displays the agent name and health status for only those agents you deploy via the Azure portal. Agents deployed using the command line aren't displayed here. For more information, see the [**Command line** tab](deploy-data-connector-agent-container.md?tabs=command-line) instead.
>
-1. On the VM where you plan to install the agent, open a terminal and run the **Agent deployment command** that you'd copied in the previous step.
+1. On the VM where you plan to install the agent, open a terminal and run the **Agent deployment command** that you copied in the previous step. This step requires sudo or root privileges on the data connector agent machine.
The script updates the OS components and installs the Azure CLI, Docker software, and other required utilities, such as jq, netcat, and curl.
- Supply additional parameters to the script as needed to customize the container deployment. For more information on available command line options, see [Kickstart script reference](reference-kickstart.md).
-
- If you need to copy your command again, select **View** :::image type="content" source="media/deploy-data-connector-agent-container/view-icon.png" border="false" alt-text="Screenshot of the View icon."::: to the right of the **Health** column and copy the command next to **Agent deployment command** on the bottom right.
-
-### Connect to a new SAP system
-
-Anyone adding a new connection to an SAP system must have write permission to the [key vault where the SAP credentials are stored](#create-a-key-vault). For more information, see [Create a virtual machine and configure access to your credentials](#create-a-virtual-machine-and-configure-access-to-your-credentials).
-
-1. In the **Configuration** area, select **Add new system (Preview)**.
+ Supply extra parameters to the script as needed to customize the container deployment. For more information on available command line options, see [Kickstart script reference](reference-kickstart.md).
- :::image type="content" source="media/deploy-data-connector-agent-container/create-system.png" alt-text="Screenshot of the Add new system area.":::
+ If you need to copy your command again, select **View** :::image type="content" source="media/deploy-data-connector-agent-container/view-icon.png" border="false" alt-text="Screenshot of the View icon next to the Health column."::: to the right of the **Health** column and copy the command next to **Agent deployment command** on the bottom right.
-1. Under **Select an agent**, select the [agent you created in the previous step](#create-a-new-agent).
+1. In the Microsoft Sentinel solution for SAP application's data connector page, in the **Configuration** area, select **Add new system (Preview)** and enter the following details:
-1. Under **System identifier**, select the server type and provide the server details.
+ - Under **Select an agent**, select the agent you created earlier.
+ - Under **System identifier**, select the server type:
-1. Select **Next: Authentication**.
+ - **ABAP Server**
+ - **Message Server** to use a message server as part of an ABAP SAP Central Services (ASCS).
-1. For basic authentication, provide the user and password. If you selected an SNC connection when you [set up the agent](#create-a-new-agent), select **SNC** and provide the certificate details.
+ - Continue by defining related details for your server type:
-1. Select **Next: Logs**.
+ - **For an ABAP server**, enter the ABAP Application server IP address/FQDN, the system ID and number, and the client ID.
+ - **For a message server**, enter the message server IP address/FQDN, the port number or service name, and the logon group
-1. Select which logs you want to pull from SAP, and select **Next: Review and create**.
-
-1. Review the settings you defined. Select **Previous** to modify any settings, or select **Deploy** to deploy the system.
-
-1. The system configuration you defined is deployed into Azure Key Vault. You can now see the system details in the table under **Configure an SAP system and assign it to a collector agent**. This table displays the associated agent name, SAP System ID (SID), and health status for systems that you added via the Azure portal or via other methods.
-
- At this stage, the system's **Health** status is **Pending**. If the agent is updated successfully, it pulls the configuration from Azure Key vault, and the status changes to **System healthy**. This update can take up to 10 minutes.
-
- Learn more about how to [monitor your SAP system health](../monitor-sap-system-health.md).
-
-# [Deploy with a registered application](#tab/deploy-azure-registered-application)
-
-This procedure describes how to create a new agent through the Azure portal, authenticating with a Microsoft Entra ID registered application.
-
-1. From the Microsoft Sentinel navigation menu, select **Data connectors**.
-
-1. In the search bar, enter *SAP*.
-
-1. Select **Microsoft Sentinel for SAP** from the search results, and select **Open connector page**.
-
-1. To collect data from an SAP system, you must follow these two steps:
-
- 1. [Create a new agent](#create-a-new-agent-1)
- 1. [Connect the agent to a new SAP system](#connect-to-a-new-sap-system-1)
-
-#### Create a new agent
-
-1. In the **Configuration** area, select **Add new agent (Preview)**.
-
- :::image type="content" source="media/deploy-data-connector-agent-container/configuration-new-agent.png" alt-text="Screenshot of the instructions to add an SAP API-based collector agent." lightbox="media/deploy-data-connector-agent-container/configuration-new-agent.png":::
-
-1. Under **Create a collector agent** on the right, define the agent details:
--
- |Name |Description |
- |||
- |**Agent name** | Enter an agent name, including any of the following characters: <ul><li> a-z<li> A-Z<li>0-9<li>_ (underscore)<li>. (period)<li>- (dash)</ul> |
- |**Subscription** / **Key vault** | Select the **Subscription** and **Key vault** from their respective drop-downs. |
- |**NWRFC SDK zip file path on the agent VM** | Enter the path in your VM that contains the SAP NetWeaver Remote Function Call (RFC) Software Development Kit (SDK) archive (.zip file). For example, */src/test/NWRFC.zip*. |
- |**Enable SNC connection support** |Select to ingest NetWeaver/ABAP logs over a secure connection using Secure Network Communications (SNC). <br><br>If you select this option, enter the path that contains the `sapgenpse` binary and `libsapcrypto.so` library, under **SAP Cryptographic Library path on the agent VM**. |
- |**Authentication to Azure Key Vault** | To authenticate to your key vault using a registered application, select **Application Identity**. <br><br>You must have the registered application (application identity) set up ahead of time. For more information, see [Create a virtual machine and configure access to your credentials](#create-a-virtual-machine-and-configure-access-to-your-credentials). |
-
- > [!NOTE]
- > If you want to use an SNC connection, make sure to select **Enable SNC connection support** at this stage as you can't go back and enable an SNC connection after you finish deploying the agent. For more information, see [Deploy the Microsoft Sentinel for SAP data connector by using SNC](configure-snc.md).
+ When you're done, select **Next: Authentication**.
For example:
- :::image type="content" source="media/deploy-data-connector-agent-container/create-agent-app-id.png" alt-text="Screenshot of the Create a collector agent area.":::
-
-1. Select **Create** and review the recommendations before you complete the deployment:
-
- :::image type="content" source="media/deploy-data-connector-agent-container/finish-agent-deployment.png" alt-text="Screenshot of the final stage of the agent deployment.":::
-
-1. Deploying the SAP data connector agent requires that you grant your agent's VM identity with specific permissions to the Microsoft Sentinel workspace, using the **Microsoft Sentinel Business Applications Agent Operator** and **Reader** roles.
-
- To run the commands in this step, you must be a resource group owner on your Microsoft Sentinel workspace. If you aren't a resource group owner on your workspace, this procedure can also be performed after the agent deployment is complete.
-
- Copy the **Role assignment commands** from step 1 and run them on your agent VM, replacing the `Object_ID` placeholder with your VM identity object ID. For example:
-
- :::image type="content" source="media/deploy-data-connector-agent-container/finish-agent-deployment-role.png" alt-text="Screenshot of the Copy icon for the command from step 1.":::
-
- To find your VM identity object ID in Azure, go to **Enterprise application** > **All applications**, and select your application name. Copy the value of the **Object ID** field to use with your copied command.
-
- These commands assign the **Microsoft Sentinel Business Applications Agent Operator** and **Reader** Azure roles to your VM's application identity, including only the scope of the specified agent's data in the workspace.
-
- > [!IMPORTANT]
- > Assigning the **Microsoft Sentinel Business Applications Agent Operator** and **Reader** roles via the CLI assigns the roles only on the scope of the specified agent's data in the workspace. This is the most secure, and therefore recommended option.
- >
- > If you must assign the roles [via the Azure portal](/azure/role-based-access-control/role-assignments-portal?tabs=delegate-condition), we recommend assigning the roles on a small scope, such as only on the Microsoft Sentinel workspace.
-
-1. Select **Copy** :::image type="content" source="media/deploy-data-connector-agent-container/copy-icon.png" alt-text="Screenshot of the Copy icon." border="false"::: next to the **Agent deployment command** in step 2. For example:
-
- :::image type="content" source="media/deploy-data-connector-agent-container/finish-agent-deployment-agent.png" alt-text="Screenshot of the Agent command to copy in step 2.":::
-
-1. After you've copied the command line, select **Close**.
-
- The relevant agent information is deployed into Azure Key Vault, and the new agent is visible in the table under **Add an API based collector agent**.
-
- At this stage, the agent's **Health** status is **"Incomplete installation. Please follow the instructions"**. Once the agent is installed successfully, the status changes to **Agent healthy**. This update can take up to 10 minutes.
-
- :::image type="content" source="media/deploy-data-connector-agent-container/installation-status.png" alt-text="Screenshot of the health statuses of API-based collector agents on the SAP data connector page." lightbox="media/deploy-data-connector-agent-container/installation-status.png":::
-
- The table displays the agent name and health status for only those agents you deploy via the Azure portal. Agents deployed using the [command line](#command-line-options) aren't displayed here.
-
-1. On the VM where you plan to install the agent, open a terminal and run the **Agent deployment command** that you'd copied in the previous step.
-
- The script updates the OS components and installs the Azure CLI, Docker software, and other required utilities, such as jq, netcat, and curl.
-
- Supply additional parameters to the script as needed to customize the container deployment. For more information on available command line options, see [Kickstart script reference](reference-kickstart.md).
-
- If you need to copy your command again, select **View** :::image type="content" source="media/deploy-data-connector-agent-container/view-icon.png" border="false" alt-text="Screenshot of the View icon."::: to the right of the **Health** column and copy the command next to **Agent deployment command** on the bottom right.
+ :::image type="content" source="media/deploy-data-connector-agent-container/create-system.png" alt-text="Screenshot of the Add new system area's System settings tab.":::
-### Connect to a new SAP system
+1. On the **Authentication** tab, enter the following details:
-Anyone adding a new connection to an SAP system must have write permission to the [key vault where the SAP credentials are stored](#create-a-key-vault). For more information, see [Create a virtual machine and configure access to your credentials](#create-a-virtual-machine-and-configure-access-to-your-credentials).
+ - For basic authentication, enter the user and password.
+ - If you selected an SNC connection [when you set up the agent](#deploy-the-data-connector-agent-from-the-portal-preview), select **SNC** and enter the certificate details.
-1. In the **Configuration** area, select **Add new system (Preview)**.
+ When you're done, select **Next: Logs**.
- :::image type="content" source="media/deploy-data-connector-agent-container/create-system.png" alt-text="Screenshot of the Add new system area.":::
+1. On the **Logs** tab, select the logs you want to ingest from SAP, and then select **Next: Review and create**. For example:
-1. Under **Select an agent**, select the [agent you created in the previous step](#create-a-new-agent).
-
-1. Under **System identifier**, select the server type and provide the server details.
-
-1. Select **Next: Authentication**.
-
-1. For basic authentication, provide the user and password. If you selected an SNC connection when you [set up the agent](#create-a-new-agent), select **SNC** and provide the certificate details.
-
-1. Select **Next: Logs**.
-
-1. Select which logs you want to pull from SAP, and select **Next: Review and create**.
+ :::image type="content" source="media/deploy-data-connector-agent-container/logs-page.png" alt-text="Screenshot of the Logs tab in the Add new system side pane.":::
1. Review the settings you defined. Select **Previous** to modify any settings, or select **Deploy** to deploy the system.
-1. The system configuration you defined is deployed into Azure Key Vault. You can now see the system details in the table under **Configure an SAP system and assign it to a collector agent**. This table displays the associated agent name, SAP System ID (SID), and health status for systems that you added via the Azure portal or via other methods.
-
- At this stage, the system's **Health** status is **Pending**. If the agent is updated successfully, it pulls the configuration from Azure Key vault, and the status changes to **System healthy**. This update can take up to 10 minutes.
-
- Learn more about how to [monitor your SAP system health](../monitor-sap-system-health.md).
----
-### Command line options
-
-Select one of the following tabs, depending on the type of identity you're using to access your key vault:
-
-# [Deploy with a managed identity](#tab/deploy-cli-managed-identity)
-
-Create a new agent using the command line, authenticating with a managed identity:
-
-1. **Download and run the deployment Kickstart script**:
-
- For the Azure public commercial cloud, the command is:
-
- ```bash
- wget -O sapcon-sentinel-kickstart.sh https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Solutions/SAP/sapcon-sentinel-kickstart.sh && bash ./sapcon-sentinel-kickstart.sh
- ```
-
- - For Microsoft Azure operated by 21Vianet, add `--cloud mooncake` to the end of the copied command.
-
- - For Azure Government - US, add `--cloud fairfax` to the end of the copied command.
-
- The script updates the OS components, installs the Azure CLI and Docker software and other required utilities (jq, netcat, curl), and prompts you for configuration parameter values. You can supply additional parameters to the script to minimize the number of prompts or to customize the container deployment. For more information on available command line options, see [Kickstart script reference](reference-kickstart.md).
-
-1. **Follow the on-screen instructions** to enter your SAP and key vault details and complete the deployment. When the deployment is complete, a confirmation message is displayed:
-
- ```bash
- The process has been successfully completed, thank you!
- ```
-
- Note the Docker container name in the script output. To see the list of docker containers on your VM, run:
-
- ```bash
- docker ps -a
- ```
-
- You'll use the name of the docker container in the next step.
-
-1. Deploying the SAP data connector agent requires that you grant your agent's VM identity with specific permissions to the Microsoft Sentinel workspace, using the **Microsoft Sentinel Business Applications Agent Operator** and **Reader** roles.
-
- To run the command in this step, you must be a resource group owner on your Microsoft Sentinel workspace. If you aren't a resource group owner on your workspace, this procedure can also be performed later on.
-
- Assign the **Microsoft Sentinel Business Applications Agent Operator** and **Reader** roles to the VM's identity:
-
- 1. <a name=agent-id-managed></a>Get the agent ID by running the following command, replacing the `<container_name>` placeholder with the name of the docker container that you'd created with the Kickstart script:
-
- ```bash
- docker inspect <container_name> | grep -oP '"SENTINEL_AGENT_GUID=\K[^"]+
- ```
-
- For example, an agent ID returned might be `234fba02-3b34-4c55-8c0e-e6423ceb405b`.
--
- 1. Assign the **Microsoft Sentinel Business Applications Agent Operator** and **Reader** roles by running the following commands:
-
- ```bash
- az role assignment create --assignee-object-id <Object_ID> --role --assignee-principal-type ServicePrincipal "Microsoft Sentinel Business Applications Agent Operator" --scope /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP_NAME>/providers/microsoft.operationalinsights/workspaces/<WS_NAME>/providers/Microsoft.SecurityInsights/BusinessApplicationAgents/<AGENT_IDENTIFIER>
-
- az role assignment create --assignee-object-id <Object_ID> --role --assignee-principal-type ServicePrincipal "Reader" --scope /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP_NAME>/providers/microsoft.operationalinsights/workspaces/<WS_NAME>/providers/Microsoft.SecurityInsights/BusinessApplicationAgents/<AGENT_IDENTIFIER>
- ```
-
- Replace placeholder values as follows:
-
- |Placeholder |Value |
- |||
- |`<OBJ_ID>` | Your VM identity object ID. <br><br> To find your VM identity object ID in Azure, go to **Enterprise application** > **All applications**, and select your VM name. Copy the value of the **Object ID** field to use with your copied command. |
- |`<SUB_ID>` | Your Microsoft Sentinel workspace subscription ID |
- |`<RESOURCE_GROUP_NAME>` | Your Microsoft Sentinel workspace resource group name |
- |`<WS_NAME>` | Your Microsoft Sentinel workspace name |
- |`<AGENT_IDENTIFIER>` | The agent ID displayed after running the command in the [previous step](#agent-id-managed). |
-
-1. To configure the Docker container to start automatically, run the following command, replacing the `<container-name>` placeholder with the name of your container:
-
- ```bash
- docker update --restart unless-stopped <container-name>
- ```
-
-# [Deploy with a registered application](#tab/deploy-cli-registered-application)
-
-Create a new agent using the command line, authenticating with a Microsoft Entra ID registered application:
-
-1. Run the following commands to **download the deployment Kickstart script** from the Microsoft Sentinel GitHub repository and **mark it executable**:
-
- ```bash
- wget https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Solutions/SAP/sapcon-sentinel-kickstart.sh
- chmod +x ./sapcon-sentinel-kickstart.sh
- ```
-
-1. **Run the script**, specifying the application ID, secret (the "password"), tenant ID, and key vault name that you copied in the previous steps.
-
- ```bash
- ./sapcon-sentinel-kickstart.sh --keymode kvsi --appid aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa --appsecret ssssssssssssssssssssssssssssssssss -tenantid bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb -kvaultname <key vault name>
- ```
-
- The script updates the OS components, installs the Azure CLI and Docker software and other required utilities (jq, netcat, curl), and prompts you for configuration parameter values. You can supply additional parameters to the script to minimize the number of prompts or to customize the container deployment. For more information on available command line options, see [Kickstart script reference](reference-kickstart.md).
-
-1. **Follow the on-screen instructions** to enter the requested details and complete the deployment. When the deployment is complete, a confirmation message is displayed:
-
- ```bash
- The process has been successfully completed, thank you!
- ```
-
- Note the Docker container name in the script output. To see the list of docker containers on your VM, run:
-
- ```bash
- docker ps -a
- ```
-
- You'll use the name of the docker container in the next step.
-
-1. Deploying the SAP data connector agent requires that you grant your agent's VM identity with specific permissions to the Microsoft Sentinel workspace, using the **Microsoft Sentinel Business Applications Agent Operator** and **Reader** roles.
-
- To run the commands in this step, you must be a resource group owner on your Microsoft Sentinel workspace. If you aren't a resource group owner on your workspace, this step can also be performed later on.
-
- Assign the **Microsoft Sentinel Business Applications Agent Operator** and **Reader** roles to the VM's identity:
-
- 1. <a name=agent-id-application></a>Get the agent ID by running the following command, replacing the `<container_name>` placeholder with the name of the docker container that you'd created with the Kickstart script:
-
- ```bash
- docker inspect <container_name> | grep -oP '"SENTINEL_AGENT_GUID=\K[^"]+'
- ```
-
- For example, an agent ID returned might be `234fba02-3b34-4c55-8c0e-e6423ceb405b`.
-
- 1. Assign the **Microsoft Sentinel Business Applications Agent Operator** and **Reader** roles by running the following commands:
-
- ```bash
- az role assignment create --assignee-object-id <Object_ID> --role --assignee-principal-type ServicePrincipal "Microsoft Sentinel Business Applications Agent Operator" --scope /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP_NAME>/providers/microsoft.operationalinsights/workspaces/<WS_NAME>/providers/Microsoft.SecurityInsights/BusinessApplicationAgents/<AGENT_IDENTIFIER>
-
- az role assignment create --assignee-object-id <Object_ID> --role --assignee-principal-type ServicePrincipal "Reader" --scope /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP_NAME>/providers/microsoft.operationalinsights/workspaces/<WS_NAME>/providers/Microsoft.SecurityInsights/BusinessApplicationAgents/<AGENT_IDENTIFIER>
- ```
-
- Replace placeholder values as follows:
-
- |Placeholder |Value |
- |||
- |`<OBJ_ID>` | Your VM identity object ID. <br><br> To find your VM identity object ID in Azure, go to **Enterprise application** > **All applications**, and select your application name. Copy the value of the **Object ID** field to use with your copied command. |
- |`<SUB_ID>` | Your Microsoft Sentinel workspace subscription ID |
- |`<RESOURCE_GROUP_NAME>` | Your Microsoft Sentinel workspace resource group name |
- |`<WS_NAME>` | Your Microsoft Sentinel workspace name |
- |`<AGENT_IDENTIFIER>` | The agent ID displayed after running the command in the [previous step](#agent-id-application). |
-
-1. To configure the Docker container to start automatically, run the following command, replacing the `<container-name>` placeholder with the name of your container:
-
- ```bash
- docker update --restart unless-stopped <container-name>
- ```
--
-# [Deploy with a configuration file](#tab/deploy-cli-config-file)
-
-1. Transfer the [SAP NetWeaver SDK](https://aka.ms/sap-sdk-download) to the machine on which you want to install the agent.
-
-1. Run the following commands to **download the deployment Kickstart script** from the Microsoft Sentinel GitHub repository and **mark it executable**:
-
- ```bash
- wget https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Solutions/SAP/sapcon-sentinel-kickstart.sh
- chmod +x ./sapcon-sentinel-kickstart.sh
- ```
-
-1. **Run the script**:
+The system configuration you defined is deployed into Azure Key Vault. You can now see the system details in the table under **Configure an SAP system and assign it to a collector agent**. This table displays the associated agent name, SAP System ID (SID), and health status for systems that you added via the portal or otherwise.
- ```bash
- ./sapcon-sentinel-kickstart.sh --keymode cfgf
- ```
-
- The script updates the OS components, installs the Azure CLI and Docker software and other required utilities (jq, netcat, curl), and prompts you for configuration parameter values. You can supply additional parameters to the script to minimize the number of prompts or to customize the container deployment. For more information on available command line options, see [Kickstart script reference](reference-kickstart.md).
-
-1. **Follow the on-screen instructions** to enter the requested details and complete the deployment. When the deployment is complete, a confirmation message is displayed:
-
- ```bash
- The process has been successfully completed, thank you!
- ```
-
- Note the Docker container name in the script output. To see the list of docker containers on your VM, run:
-
- ```bash
- docker ps -a
- ```
-
- You'll use the name of the docker container in the next step.
--
-1. Deploying the SAP data connector agent requires that you grant your agent's VM identity with specific permissions to the Microsoft Sentinel workspace, using the **Microsoft Sentinel Business Applications Agent Operator** and **Reader** roles.
-
- To run the commands in this step, you must be a resource group owner on your Microsoft Sentinel workspace. If you aren't a resource group owner on your workspace, this step can also be performed later on.
-
- Assign the **Microsoft Sentinel Business Applications Agent Operator** and **Reader** roles to the VM's identity:
-
- 1. <a name=agent-id-file></a>Get the agent ID by running the following command, replacing the `<container_name>` placeholder with the name of the docker container that you'd created with the Kickstart script:
+At this stage, the system's **Health** status is **Pending**. If the agent is updated successfully, it pulls the configuration from Azure Key vault, and the status changes to **System healthy**. This update can take up to 10 minutes.
- ```bash
- docker inspect <container_name> | grep -oP '"SENTINEL_AGENT_GUID=\K[^"]+'
- ```
-
- For example, an agent ID returned might be `234fba02-3b34-4c55-8c0e-e6423ceb405b`.
--
- 1. Assign the **Microsoft Sentinel Business Applications Agent Operator** and **Reader** roles by running the following commands:
-
- ```bash
- az role assignment create --assignee-object-id <Object_ID> --role --assignee-principal-type ServicePrincipal "Microsoft Sentinel Business Applications Agent Operator" --scope /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP_NAME>/providers/microsoft.operationalinsights/workspaces/<WS_NAME>/providers/Microsoft.SecurityInsights/BusinessApplicationAgents/<AGENT_IDENTIFIER>
-
- az role assignment create --assignee-object-id <Object_ID> --role --assignee-principal-type ServicePrincipal "Reader" --scope /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP_NAME>/providers/microsoft.operationalinsights/workspaces/<WS_NAME>/providers/Microsoft.SecurityInsights/BusinessApplicationAgents/<AGENT_IDENTIFIER>
- ```
+The deployment procedure generates a **systemconfig.json** file that contains the configuration details for the SAP data connector agent. For more information, see [SAP data connector agent configuration file](deployment-overview.md#sap-data-connector-agent-configuration-file).
- Replace placeholder values as follows:
-
- |Placeholder |Value |
- |||
- |`<OBJ_ID>` | Your VM identity object ID. <br><br> To find your VM identity object ID in Azure, go to **Enterprise application** > **All applications**, and select your VM or application name, depending on whether you're using a managed identity or a registered application. <br><br>Copy the value of the **Object ID** field to use with your copied command. |
- |`<SUB_ID>` | Your Microsoft Sentinel workspace subscription ID |
- |`<RESOURCE_GROUP_NAME>` | Your Microsoft Sentinel workspace resource group name |
- |`<WS_NAME>` | Your Microsoft Sentinel workspace name |
- |`<AGENT_IDENTIFIER>` | The agent ID displayed after running the command in the [previous step](#agent-id-file). |
+## Check connectivity and health
+After you deploy the SAP data connector agent, check your agent's health and connectivity. For more information, see [Monitor the health and role of your SAP systems](../monitor-sap-system-health.md).
-1. Run the following command to configure the Docker container to start automatically.
+## Next step
- ```bash
- docker update --restart unless-stopped <container-name>
- ```
+Once the connector is deployed, proceed to configure the Microsoft Sentinel solution for SAP applications content. Specifically, configuring details in the watchlists is an essential step in enabling detections and threat protection.
--
-## Next steps
-
-Once the connector is deployed, proceed to deploy Microsoft Sentinel solution for SAP® applications content:
> [!div class="nextstepaction"]
-> [Deploy the solution content from the content hub](deploy-sap-security-content.md)
-
-See this [YouTube video](https://youtu.be/FasuyBSIaQM), on the [Microsoft Security Community YouTube channel](https://www.youtube.com/@MicrosoftSecurityCommunity), for guidance on checking the health and connectivity of the SAP connector.
+> [Enable SAP detections and threat protection](deployment-solution-configuration.md)
sentinel Deploy Sap Security Content https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/sentinel/sap/deploy-sap-security-content.md
Title: Deploy Microsoft Sentinel for SAP apps from the content hub
-description: Learn how to deploy the Microsoft Sentinel solution for SAP applications security content from the content hub to your Microsoft Sentinel workspace.
+ Title: Install the Microsoft Sentinel solution for SAP applications
+description: Learn how to install the Microsoft Sentinel solution for SAP applications from the content hub to your Log Analytics workspace enabled for Microsoft Sentinel.
Previously updated : 03/23/2023 Last updated : 09/16/2024
+appliesto:
+ - Microsoft Sentinel in the Azure portal
+ - Microsoft Sentinel in the Microsoft Defender portal
+
+#Customer intent: As a security administrator, I want to deploy and configure security monitoring for SAP applications using Microsoft Sentinel so that I can enhance the security posture and threat detection capabilities of my SAP environment.
+
-#Customer intent: As a security administrator, I want to deploy and configure security monitoring for SAP applications using a cloud-based SIEM solution so that I can enhance the security posture and threat detection capabilities of my SAP environment.
+# Install the Microsoft Sentinel solution for SAP applications
-
+The Microsoft Sentinel solution for SAP applications includes the SAP data connector, which collects logs from your SAP systems and sends them to your Log Analytics workspace enabled for Microsoft Sentinel, and out-of-the-box security content, which helps you gain insight into your organization's SAP environment and detect and respond to security threats. Installing your solution is a required step before you can configure your data connector agent container.
-# Deploy the Microsoft Sentinel solution for SAP applications from the content hub
-This article shows you how to deploy the Microsoft Sentinel solution for SAP applications security content from the content hub to your Microsoft Sentinel workspace. This content makes up the remaining parts of the Microsoft Sentinel solution for SAP.
+Content in this article is relevant for your **security** team.
## Prerequisites To deploy the Microsoft Sentinel solution for SAP applications from the content hub, you need: -- A Microsoft Sentinel instance.-- A defined Microsoft Sentinel workspace, and read and write permissions to the workspace.-- A Microsoft Sentinel for SAP data connector set up.-
-## Check deployment milestones
-
-Track your SAP solution deployment journey through this series of articles:
-
-1. [Deployment overview](deployment-overview.md)
-
-1. [Deployment prerequisites](prerequisites-for-deploying-sap-continuous-threat-monitoring.md)
-
-1. [Work with the solution in multiple workspaces](cross-workspace.md) (preview)
-
-1. [Prepare your SAP environment](preparing-sap.md)
-
-1. [Configure auditing](configure-audit.md)
-
-1. [Deploy the data connector agent](deploy-data-connector-agent-container.md)
-
-1. **Deploy the Microsoft Sentinel solution for SAP applications from the content hub** (*You are here*)
-
-1. [Configure the Microsoft Sentinel solution for SAP applications](deployment-solution-configuration.md)
-
-1. Optional deployment steps:
+- A Log Analytics workspace enabled for Microsoft Sentinel.
+- Read and write permissions to the workspace. For more information, see [Roles and permissions in Microsoft Sentinel](../roles.md).
- - [Configure the SAP data connector to use SNC](configure-snc.md)
- - [Collect SAP HANA audit logs](collect-sap-hana-audit-logs.md)
- - [Configure audit log monitoring rules](configure-audit-log-rules.md)
- - [Deploy the SAP data connector manually](sap-solution-deploy-alternate.md)
- - [Select SAP ingestion profiles](select-ingestion-profiles.md)
+Make sure that you also review the [prerequisites for deploying Microsoft Sentinel solution for SAP applications](prerequisites-for-deploying-sap-continuous-threat-monitoring.md), especially [Azure prerequisites](prerequisites-for-deploying-sap-continuous-threat-monitoring.md#azure-prerequisites).
-## Deploy the security content from the content hub
+## Install the solution from the content hub
-Deploy the [SAP security content](sap-solution-security-content.md) from the Microsoft Sentinel **Content hub** and **Watchlists** areas.
+Installing the Microsoft Sentinel solution for SAP applications makes the Microsoft Sentinel for SAP data connector available for you in as a Microsoft Sentinel data connector. The solution also deploys security content, such as the **SAP - System Applications and Products** workbook and SAP-related analytics rules.
-Deploying the Microsoft Sentinel solution for SAP applications causes the Microsoft Sentinel for SAP data connector to be displayed in the Microsoft Sentinel **Data connectors** area. The solution also deploys the **SAP - System Applications and Products** workbook and SAP-related analytics rules.
+1. In the Microsoft Sentinel **Content hub**, search for the **SAP applications** solution and install it on your Log Analytics workspace enabled for Microsoft Sentinel.
-To deploy SAP solution security content:
-
-1. In Microsoft Sentinel, on the left pane, select **Content hub (Preview)**.
-
- The **Content hub (Preview)** page displays a filtered, searchable list of solutions.
-
-1. To open the SAP solution page, select **Microsoft Sentinel solution for SAP applications**.
+1. On the **Microsoft Sentinel solution for SAP applications** page, select **Create** to define deployment settings. For example:
:::image type="content" source="./media/deploy-sap-security-content/sap-solution.png" alt-text="Screenshot that shows the Microsoft Sentinel solution for SAP applications solution pane." lightbox="./media/deploy-sap-security-content/sap-solution.png":::
-1. To start the solution deployment wizard, select **Create**, and then enter the details of the Azure subscription and resource group.
-
-1. For the **Deployment target workspace**, select the Log Analytics workspace (the one that Microsoft Sentinel uses) where you want to deploy the solution.<a id="multi-workspace"></a>
-
-1. If you want to [work with the Microsoft Sentinel solution for SAP applications in multiple workspaces](cross-workspace.md) (preview), select **Some of the data is on a different workspace**, and then do the following steps:
-
- 1. Under **Configure the workspace where the SOC data resides in**, select the SOC subscription and workspace.
-
- 1. Under **Configure the workspace where the SAP data resides in**, select the SAP subscription and workspace.
-
- For example:
-
- :::image type="content" source="./media/deploy-sap-security-content/sap-multi-workspace.png" alt-text="Screenshot that shows how to configure the Microsoft Sentinel solution for SAP applications to work across multiple workspaces.":::
-
- > [!NOTE]
- > If you want the SAP and SOC data to be kept on the same workspace with no additional access controls, do not select **Some of the data is on a different workspace**. If you want the SOC and SAP data to be kept on the same workspace, but to apply additional access controls, review [this scenario](cross-workspace.md#scenario-2-sap-data-kept-only-in-the-soc-workspace).
-
-1. Select **Next** to cycle through the **Data Connectors**, **Analytics**, and **Workbooks** tabs, where you can learn about the components that are deployed with this solution.
-
- For more information, see [Microsoft Sentinel solution for SAP applications: security content reference](sap-solution-security-content.md).
+1. On the **Basics** tab, under **Project details**, select the **Subscription** and **Resource group** where you want to install the solution.
-1. On the **Review + create tab** pane, wait for the **Validation Passed** message, and then select **Create** to deploy the solution.
+1. Under **Instance details**, select the Log Analytics workspace enabled for Microsoft Sentinel where you want to install the solution.
- > [!TIP]
- > You can also select **Download a template** for a link to deploy the solution as code.
+ If you're working with [the Microsoft Sentinel solution for SAP applications in multiple workspaces](cross-workspace.md), select **Some of the data is on a different workspace**, and then define your target workspace, your SOC workspace, and SAP workspace. For example:
-1. When deployment is finished, to display the newly deployed content:
+ For example:
- - For the [built-in SAP workbooks](sap-solution-security-content.md#built-in-workbooks), go to **Threat Management** > **Workbooks** > **My workbooks**.
+ :::image type="content" source="./media/deploy-sap-security-content/sap-multi-workspace.png" alt-text="Screenshot that shows how to configure the Microsoft Sentinel solution for SAP applications to work across multiple workspaces.":::
- - For a series of [SAP-related analytics rules](sap-solution-security-content.md#built-in-analytics-rules), go to **Configuration** > **Analytics**.
+1. Select **Review + create** or **Next** to browse through the solution components. When you're ready, select **Create**
-1. In Microsoft Sentinel, go to the **Microsoft Sentinel for SAP** data connector to confirm the connection:
+ The deployment process can take a few minutes. After the deployment is finished, you can view the deployed content in Microsoft Sentinel.
- :::image type="content" source="./media/deploy-sap-security-content/sap-data-connector.png" alt-text="Screenshot that shows the Microsoft Sentinel for SAP data connector page." lightbox="media/deploy-sap-security-content/sap-data-connector.png":::
+> [!TIP]
+> If you want the SAP and SOC data to be kept on the same workspace with no additional access controls, do not select **Some of the data is on a different workspace**. In such cases, for more information, see [SAP and SOC data maintained in the same workspace](cross-workspace.md#sap-and-soc-data-maintained-in-the-same-workspace).
- SAP ABAP logs are displayed on the Microsoft Sentinel **Logs** page, under **Custom logs**:
+For more information, see [Discover and manage Microsoft Sentinel out-of-the-box content](../sentinel-solutions-deploy.md).
- :::image type="content" source="./media/deploy-sap-security-content/sap-logs-in-sentinel.png" alt-text="Screenshot that shows the SAP ABAP logs in the Custom Logs area in Microsoft Sentinel." lightbox="media/deploy-sap-security-content/sap-logs-in-sentinel.png":::
+## View deployed content
- For more information, see [Microsoft Sentinel solution for SAP applications solution logs reference](sap-solution-log-reference.md).
+When the deployment is finished, display your new content by browsing again to the Microsoft Sentinel for SAP applications solution from the **Content hub**. Alternatively:
-## Troubleshooting and reference
+- For the [built-in SAP workbooks](sap-solution-security-content.md#built-in-workbooks), in Microsoft Sentinel, go to **Threat Management** > **Workbooks** > **Templates**.
-For troubleshooting information, see these articles:
+- For a series of [SAP-related analytics rules](sap-solution-security-content.md#built-in-analytics-rules), go to **Configuration** > **Analytics** **Rule templates**.
-- [Troubleshoot your Microsoft Sentinel solution for SAP applications deployment](sap-deploy-troubleshoot.md)-- [Microsoft Sentinel solutions](../sentinel-solutions.md)
+Your data connector doesn't appear as connected until you [configure your data connector agent container](deploy-data-connector-agent-container.md) to complete the connection.
-For reference, see these articles:
+## Next step
-- [Microsoft Sentinel solution for SAP applications solution data reference](sap-solution-log-reference.md)-- [Microsoft Sentinel solution for SAP applications: Security content reference](sap-solution-security-content.md)-- [Update script reference](reference-update.md)-- [Systemconfig.ini file reference](reference-systemconfig.md)
+> [!div class="nextstepaction"]
+> [Configure your SAP system for the Microsoft Sentinel solution](preparing-sap.md)
## Related content -- [Deploy Microsoft Sentinel solution for SAP applications](deployment-overview.md)-- [Prerequisites for deploying Microsoft Sentinel solution for SAP applications](prerequisites-for-deploying-sap-continuous-threat-monitoring.md)-- [Deploy SAP Change Requests and configure authorization](preparing-sap.md)
+For more information, see [Microsoft Sentinel solution for SAP applications: security content reference](sap-solution-security-content.md).
sentinel Deployment Attack Disrupt https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/sentinel/sap/deployment-attack-disrupt.md
description: Learn about deploying automatic attack disruption for SAP with the
Previously updated : 05/29/2024 Last updated : 04/07/2024 appliesto: - Microsoft Sentinel in the Azure portal - Microsoft Sentinel in the Microsoft Defender portal -- #Customer intent: As a security engineer, I want to configure automatic attack disruption for SAP so that I can minimize the impact of sophisticated attacks and maintain control over investigation and remediation processes.
-# Automatic attack disruption for SAP
+# Automatic attack disruption for SAP (Preview)
Microsoft Defender XDR correlates millions of individual signals to identify active ransomware campaigns or other sophisticated attacks in the environment with high confidence. While an attack is in progress, Defender XDR disrupts the attack by automatically containing compromised assets that the attacker is using through automatic attack disruption. Automatic attack disruption limits lateral movement early on and reduces the overall impact of an attack, from associated costs to loss of productivity. At the same time, it leaves security operations teams in complete control of investigating, remediating, and bringing assets back online. When you add a new SAP system to Microsoft Sentinel, your default configuration includes attack disruption functionality in the unified security operations platform. This article describes how to ensure that your SAP system is ready to support automatic attack disruption for SAP in the Microsoft Defender portal.
+For a video demonstration of attack disruption for SAP, watch the following video:
+<br><br>
+> [!VIDEO https://www.youtube.com/embed/-ijnGxRnwks?si=MPC2uNuLD8biqMVj]
+
+Content in this article is intended for your **security**, **infrastructure**, and **SAP BASIS** teams.
## Attack disruption for SAP and the unified security operations platform
For more information, see:
## Related content
-For more information, see [Microsoft Sentinel in the Microsoft Defender portal](../microsoft-sentinel-defender-portal.md).
+For more information, see [Microsoft Sentinel in the Microsoft Defender portal (preview)](../microsoft-sentinel-defender-portal.md).
sentinel Deployment Overview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/sentinel/sap/deployment-overview.md
Title: Deploy Microsoft Sentinel solution for SAP applications
+ Title: Deploy the Microsoft Sentinel solution for SAP applications
description: Get an introduction to the process of deploying the Microsoft Sentinel solution for SAP applications. Previously updated : 06/19/2023- Last updated : 05/26/2024
+appliesto:
+ - Microsoft Sentinel in the Azure portal
+ - Microsoft Sentinel in the Microsoft Defender portal
+ #Customer intent: As a security analyst, I want to deploy and configure a monitoring solution for SAP applications so that I can detect and respond to security threats within my SAP environment.
-# Deploy Microsoft Sentinel solution for SAP applications
+# Microsoft Sentinel solution for SAP applications: Deployment overview
-This article introduces you to the process of deploying the Microsoft Sentinel solution for SAP applications. The full process is detailed in a set of articles linked under [Deployment milestones](#deployment-milestones).
+Use the Microsoft Sentinel solution for SAP applications to monitor your SAP systems with Microsoft Sentinel, detecting sophisticated threats throughout the business logic and application layers of your SAP applications.
-> [!TIP]
-> Learn how to [monitor the health and role of your SAP systems](../monitor-sap-system-health.md).
+This article introduces you to the Microsoft Sentinel solution for SAP applications deployment.
-Microsoft Sentinel solution for SAP applications is certified for SAP S/4HANA Cloud, Private Edition RISE with SAP, and SAP S/4 on-premises. Learn more about this [certification](solution-overview.md#certification).
+## Solution components
-> [!NOTE]
-> [Update an existing Microsoft Sentinel for SAP data connector](update-sap-data-connector.md) to the latest version.
+The Microsoft Sentinel solution for SAP applications includes a data connector, which collects logs from your SAP systems and sends them to your Microsoft Sentinel workspace, and out-of-the-box security content, which helps you gain insight into your organization's SAP environment and detect and respond to security threats.
-## What is the Microsoft Sentinel solution for SAP applications?
+### Data connector
-The Microsoft Sentinel solution for SAP applications is a [Microsoft Sentinel solution](../sentinel-solutions.md) that you can use to monitor your SAP systems. Use the solution to detect sophisticated threats throughout the business logic and application layers of your SAP applications. The solution includes the following components:
+The Microsoft Sentinel for SAP data connector is an agent installed as a container on a Linux virtual machine, physical server, or Kubernetes cluster. The agent collects application logs for all of your onboarded SAP SIDs from across the entire SAP system landscape, and then sends those logs to your Log Analytics workspace in Microsoft Sentinel.
-- The Microsoft Sentinel for SAP data connector for data ingestion.-- Analytics rules and watchlists for threat detection.-- Functions that you can use for easy data access.-- Workbooks that you can use to create interactive data visualization.-- Watchlists for customization of the built-in solution parameters.-- Playbooks that you can use to automate responses to threats.
+For example, the following image shows a multi-SID SAP landscape with a split between production and nonproduction systems, including the SAP Business Technology Platform. All the systems in this image are onboarded to Microsoft Sentinel for the SAP solution.
-> [!NOTE]
-> The Microsoft Sentinel for SAP solution is free to install, but there is an [additional hourly charge](https://azure.microsoft.com/pricing/offers/microsoft-sentinel-sap-promo/) for activating and using the solution on production systems.
->
-> - The additional hourly charge applies to connected production systems only.
-> - Microsoft Sentinel identifies a production system by looking at the configuration on the SAP system. To do this, Microsoft Sentinel searches for a production entry in the T000 table.
->
-> For more information, see [View the roles of your connected production systems](../monitor-sap-system-health.md).
-The Microsoft Sentinel for SAP data connector is an agent that's installed on a virtual machine (VM), physical server, or Kubernetes cluster. The agent collects application logs for all of your SAP SIDs from across the entire SAP system landscape, and then sends those logs to your Log Analytics workspace in Microsoft Sentinel. Use the other content in the [Threat Monitoring for SAP solution](sap-solution-security-content.md), including the analytics rules, workbooks, and watchlists, to gain insight into your organization's SAP environment and to detect and respond to security threats.
+The agent connects to your SAP system to pull logs and other data from it, then sends those logs to your Microsoft Sentinel workspace. To do this, the agent has to authenticate to your SAP system, using a user and role created specifically for this purpose.
-For example, the following image shows a multi-SID SAP landscape with a split between production and nonproduction systems, including the SAP Business Technology Platform. All the systems in this image are onboarded to Microsoft Sentinel for the SAP solution.
+Microsoft Sentinel supports a few options for storing your agent configuration information, including the configuration for your SAP authentication secrets. The decision of which option might depend on where you deploy your VM and which SAP authentication mechanism you use. Supported options are as follows, listed in order of preference:
+- An **Azure Key Vault** accessed through an Azure **system-assigned managed identity**
+- An **Azure Key Vault** accessed through a Microsoft Entra ID **registered-application service principal**
+- A plaintext **configuration file**
+
+You can also authenticate using SAP's Secure Network Communication (SNC) and X.509 certificates. While using SNC provides a higher level of authentication security, it might not be practical for all scenarios.
+
+### Security content
+
+The Microsoft Sentinel solution for SAP applications includes the following types of security content to help you gain insight into your organization's SAP environment and detect and respond to security threats:
+
+- **Analytics rules** and **watchlists** for threat detection.
+- **Functions** for easy data access.
+- **Workbooks** to create interactive data visualization.
+- **Watchlists** for customization of the built-in solution parameters.
+- **Playbooks** that you can use to automate responses to threats.
+
+For more information, see [Microsoft Sentinel solution for SAP applications: security content reference](sap-solution-security-content.md).
+
+## Deployment flow and personas
+
+Deploying the Microsoft Sentinel solution for SAP applications involves several steps and requires collaboration across multiple teams, including the **security**, **infrastructure**, and **SAP BASIS** teams. The following image shows the steps in deploying the Microsoft Sentinel solution for SAP applications, with relevant teams indicated:
++
+We recommend that you involve all relevant teams when planning your deployment to ensure that effort is allocated and the deployment can move smoothly.
+
+**Deployment steps include**:
+
+1. [Review the prerequisites for deploying Microsoft Sentinel solution for SAP applications](prerequisites-for-deploying-sap-continuous-threat-monitoring.md). Some prerequisites require coordination with your infrastructure or SAP BASIS teams.
+
+1. The following steps can happen in parallel as they involve separate teams, and aren't dependent on each other:
+
+ 1. [Deploy the Microsoft Sentinel solution for SAP applications from the content hub](deploy-sap-security-content.md). This step is handled by the security team on the Azure portal.
+
+ 1. [Configure your SAP system for the Microsoft Sentinel solution](preparing-sap.md), including configuring SAP authorizations, configuring SAP auditing, and more. We recommend that these steps be done by your SAP BASIS team, and our documentation includes references to SAP documentation.
+
+1. [Connect your SAP system by deploying your data connector agent container](deploy-data-connector-agent-container.md). This step requires coordination between your security, infrastructure, and SAP BASIS teams.
+
+1. [Enable SAP detections and threat protection](deployment-solution-configuration.md). This step is handled by the security team on the Azure portal.
+
+**Extra options include:**
+
+- [Collect SAP HANA audit logs](collect-sap-hana-audit-logs.md)
+- [Deploy SAP connector manually](sap-solution-deploy-alternate.md)
+
+## SAP data connector agent configuration file
+
+The deployment procedure generates a **systemconfig.json** file that contains the configuration details for the SAP data connector agent. The file is located in the `/sapcon-app/sapcon/config/system` directory on your VM. You can use this file to update the configuration of your SAP data connector agent.
+
+Earlier versions of the deployment script, released before June 2023, generated a **systemconfig.ini** file instead. For more information, see:
+
+- [Systemconfig.json file reference](reference-systemconfig-json.md)
+- [Systemconfig.ini file reference](reference-systemconfig.md) (legacy)
+
+## Stop SAP data collection
+
+If you need to stop Microsoft Sentinel from collecting your SAP data, stop log ingestion and disable the connector. Then remove the extra user role and any optional CRs installed on your SAP system.
-## Deployment milestones
+For more information, see [Stop SAP data collection](stop-collection.md).
-Follow your deployment journey through this series of articles, in which you learn how to navigate each of the following steps.
+## Related content
-> [!NOTE]
-> [Update an existing Microsoft Sentinel for SAP data connector](update-sap-data-connector.md) to the latest version.
+For more information, see:
-| Milestone | Article |
-| | - |
-| **1. Deployment overview** | *YOU ARE HERE* |
-| **2. Plan your architecture** | Learn how to [work with the solution in multiple workspaces](cross-workspace.md) (preview) |
-| **3. Deployment prerequisites** | [Prerequisites for deploying the Microsoft Sentinel solution for SAP](prerequisites-for-deploying-sap-continuous-threat-monitoring.md) |
-| **4. Prepare your SAP environment** | [Deploy SAP change requests and configure authorization](preparing-sap.md) |
-| **5. Configure auditing** | [Configure auditing](configure-audit.md) |
-| **6. Deploy the solution content from the content hub** | [Deploy the Microsoft Sentinel solution for SAP applications from the content hub](deploy-sap-security-content.md) |
-| **7. Deploy the data connector agent** | [Deploy and configure the container hosting the data connector agent](deploy-data-connector-agent-container.md) |
-| **8. Configure the Microsoft Sentinel solution for SAP** | [Configure the Microsoft Sentinel solution for SAP](deployment-solution-configuration.md) |
-| **9. Optional steps** | - [Configure the Microsoft Sentinel for SAP data connector to use SNC](configure-snc.md)<br>- [Collect SAP HANA audit logs](collect-sap-hana-audit-logs.md)<br>- [Configure audit log monitoring rules](configure-audit-log-rules.md)<br>- [Deploy SAP connector manually](sap-solution-deploy-alternate.md)<br>- [Select SAP ingestion profiles](select-ingestion-profiles.md) |
+- [About Microsoft Sentinel content and solutions](../sentinel-solutions.md).
+- [Monitor the health and role of your SAP systems](../monitor-sap-system-health.md)
+- [Update Microsoft Sentinel's SAP data connector agent](update-sap-data-connector.md)
## Next step
sentinel Deployment Solution Configuration https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/sentinel/sap/deployment-solution-configuration.md
Title: Configure Microsoft Sentinel solution for SAP® applications
-description: This article shows you how to configure the deployed Microsoft Sentinel solution for SAP® applications
+ Title: Enable SAP detections and threat protection with Microsoft Sentinel
+description: This article shows you how to configure initial security content for the Microsoft Sentinel solution for SAP applications in order to start enabling SAP detections and threat protection.
Previously updated : 03/10/2023 Last updated : 09/15/2024
+appliesto:
+ - Microsoft Sentinel in the Azure portal
+ - Microsoft Sentinel in the Microsoft Defender portal
+ -
-#Customer intent: As a security analyst, I want to configure and monitor SAP systems using a cloud-based SIEM solution so that I can detect and respond to suspicious activities and threats effectively.
+#Customer intent: As a security analyst, I want to configure and monitor SAP systems using Microsoft Sentinel so that I can detect and respond to suspicious activities and threats effectively.
-# Configure Microsoft Sentinel solution for SAP® applications
+# Enable SAP detections and threat protection
+
+While deploying the Microsoft Sentinel data collector agent and solution for SAP applications provides you with the ability to monitor SAP systems for suspicious activities and identify threats, extra configuration steps are required to ensure the solution is optimized for your SAP deployment. This article provides best practices for getting started with the security content delivered with the Microsoft Sentinel solution for SAP applications, and is the last step in deploying the SAP integration.
-This article provides best practices for configuring the Microsoft Sentinel solution for SAP® applications. The full deployment process is detailed in a whole set of articles linked under [Deployment milestones](deployment-overview.md#deployment-milestones).
+Content in this article is relevant for your **security** team.
> [!IMPORTANT]
-> Some components of the Microsoft Sentinel solution for SAP® applications are currently in PREVIEW. The [Azure Preview Supplemental Terms](https://azure.microsoft.com/support/legal/preview-supplemental-terms/) include additional legal terms that apply to Azure features that are in beta, preview, or otherwise not yet released into general availability.
+> Some components of the Microsoft Sentinel solution for SAP applications are currently in PREVIEW. The [Azure Preview Supplemental Terms](https://azure.microsoft.com/support/legal/preview-supplemental-terms/) include additional legal terms that apply to Azure features that are in beta, preview, or otherwise not yet released into general availability.
>
-Deployment of the data collector agent and solution in Microsoft Sentinel provides you with the ability to monitor SAP systems for suspicious activities and identify threats. However, for best results, best practices for operating the solution strongly recommend carrying out several additional configuration steps that are very dependent on the SAP deployment.
-
-## Deployment milestones
-
-Track your SAP solution deployment journey through this series of articles:
+## Prerequisites
-1. [Deployment overview](deployment-overview.md)
+Before configuring the settings described in this article, you must have your data connector agent and solution content installed.
-1. [Deployment prerequisites](prerequisites-for-deploying-sap-continuous-threat-monitoring.md)
+For more information, see [Deploy the Microsoft Sentinel solution for SAP applications from the content hub](deploy-sap-security-content.md) and [Deploy Microsoft Sentinel solution for SAP applications](deployment-overview.md).
-1. [Work with the solution across multiple workspaces](cross-workspace.md) (PREVIEW)
-1. [Prepare SAP environment](preparing-sap.md)
-
-1. [Configure auditing](configure-audit.md)
+## Start enabling analytics rules
-1. [Deploy the Microsoft Sentinel solution for SAP applications® from the content hub](deploy-sap-security-content.md)
+By default, all analytics rules in the Microsoft Sentinel solution for SAP applications are provided as [alert rule templates](../manage-analytics-rule-templates.md#manage-template-versions-for-your-scheduled-analytics-rules-in-microsoft-sentinel). We recommend a staged approach, where you use the templates to create a few rules at a time, allowing time for fine-tuning each scenario.
-1. [Deploy data connector agent](deploy-data-connector-agent-container.md)
+We recommend starting with the following analytics rules, which are considered to be simpler to test:
-1. **Configure Microsoft Sentinel solution for SAP® applications (*You are here*)**
+- [Change in Sensitive privileged user](sap-solution-security-content.md#suspicious-privileges-operations)
+- [Sensitive privileged user logged in](sap-solution-security-content.md#suspicious-privileges-operations)
+- [Sensitive privileged user makes a change in other user](sap-solution-security-content.md#suspicious-privileges-operations)
+- [Sensitive Users Password Change and Login](sap-solution-security-content.md#suspicious-privileges-operations)
+- [Client Configuration Change](sap-solution-security-content.md#attempts-to-bypass-sap-security-mechanisms)
+- [Function Module tested](sap-solution-security-content.md#persistency)
-1. Optional deployment steps
- - [Configure data connector to use SNC](configure-snc.md)
- - [Collect SAP HANA audit logs](collect-sap-hana-audit-logs.md)
- - [Configure audit log monitoring rules](configure-audit-log-rules.md)
- - [Deploy SAP connector manually](sap-solution-deploy-alternate.md)
- - [Select SAP ingestion profiles](select-ingestion-profiles.md)
+For more information, see [Built-in analytics rules](sap-solution-security-content.md#built-in-analytics-rules) and [Threat detection in Microsoft Sentinel](../threat-detection.md).
## Configure watchlists
-Microsoft Sentinel solution for SAP® applications configuration is accomplished by providing customer-specific information in the provisioned watchlists.
-
-> [!NOTE]
->
-> After initial solution deployment, it may take some time before watchlists are populated with data.
-> If you edit a watchlist and find it is empty, please wait a few minutes and retry opening the watchlist for editing.
-
-### SAP - Systems watchlist
-SAP - Systems watchlist defines which SAP Systems are present in the monitored environment. For every system, specify its SID, whether it's a production system or a dev/test environment, as well as a description.
-This information is used by some analytics rules, which may react differently if relevant events appear in a Development or a Production system.
-
-### SAP - Networks watchlist
-SAP - Networks watchlist outlines all networks used by the organization. It's primarily used to identify whether or not user logons are originating from within known segments of the network, also if user logon origin changes unexpectedly.
-
-There are a number of approaches for documenting network topology. You could define a broad range of addresses, like 172.16.0.0/16, and name it "Corporate Network", which will be good enough for tracking logons from outside that range. A more segmented approach, however, allows you better visibility into potentially atypical activity.
-
-For example: define the following two segments and their geographical locations:
+Configure your Microsoft Sentinel solution for SAP applications by providing customer-specific information in the following watchlists:
-| Segment | Location |
-| - | - |
-| 192.168.10.0/23 | Western Europe |
-| 10.15.0.0/16 | Australia |
+|Watchlist name |Configuration details |
+|||
+|**SAP - Systems** | The **SAP - Systems** watchlist defines the SAP systems that are present in the monitored environment. <br><br>For every system, specify: <br>- The SID<br>- Whether it's a production system or a dev/test environment. Defining this in your watchlist doesn't affect billing, and only influences your analytics rule. For example, you might want to use a test system as a production system while testing.<br>- A meaningful description <br><br>Configured data is used by some analytics rules, which might react differently if relevant events appear in a development or a production system. |
+|**SAP - Networks** | The **SAP - Networks** watchlist outlines all networks used by the organization. It's primarily used to identify whether or not user sign-ins originate from within known segments of the network, or if a user's sign-in origin changes unexpectedly. <br><br>There are many approaches for documenting network topology. You could define a broad range of addresses, like *172.16.0.0/16*, and name it *Corporate Network*, which is good enough for tracking sign-ins from outside that range. However, a more segmented approach, allows you better visibility into potentially atypical activity. <br><br>For example, you might define the following segments and geographical locations: <br>- 192.168.10.0/23: Western Europe <br>- 10.15.0.0/16: Australia <br><br>In such cases, Microsoft Sentinel can differentiate a sign-in from *192.168.10.15* in the first segment from a sign-in from *10.15.2.1* in the second segment. Microsoft Sentinel alerts you if such behavior is identified as atypical. |
+|**SAP - Sensitive Function Modules** <br><br>**SAP - Sensitive Tables** <br><br>**SAP - Sensitive ABAP Programs**<br><br>**SAP - Sensitive Transactions** | **Sensitive content watchlists** identify sensitive actions or data that can be carried out or accessed by users. <br><br>While several well-known operations, tables, and authorizations are preconfigured in the watchlists, we recommend that you consult with your SAP BASIS team to identify the operations, transactions, authorizations and tables are considered to be sensitive in your SAP environment, and update the lists as needed. |
+|**SAP - Sensitive Profiles** <br><br>**SAP - Sensitive Roles**<br><br>**SAP - Privileged Users** <br><br>**SAP - Critical Authorizations** | The Microsoft Sentinel solution for SAP applications uses user data gathered in **user data watchlists** from SAP systems to identify which users, profiles, and roles should be considered sensitive. While sample data is included in the watchlists by default, we recommend that you consult with your SAP BASIS team to identify the sensitive users, roles, and profiles in your organization and update the lists as needed.|
-Now Microsoft Sentinel will be able to differentiate a logon from 192.168.10.15 (in the first segment) from a logon from 10.15.2.1 (in the second segment) and alert you if such behavior is identified as atypical.
+After the initial solution deployment, it might take some time until the watchlists are populated with data. If you open a watchlist for editing and find that it's empty, wait a few minutes and try again.
-### Sensitive data watchlists
+For more information, see [Available watchlists](sap-solution-security-content.md#available-watchlists).
-- SAP - Sensitive Function Modules-- SAP - Sensitive Tables-- SAP - Sensitive ABAP Programs-- SAP - Sensitive Transactions
+## Use a workbook to check compliance for your SAP security controls
-All of these watchlists identify sensitive actions or data that can be carried out or accessed by users. Several well-known operations, tables and authorizations have been pre-configured in the watchlists, however we recommend you consult with the SAP BASIS team to identify which operations, transactions, authorizations and tables are considered to be sensitive in your SAP environment.
+The Microsoft Sentinel solution for SAP applications includes the **SAP - Security Audit Controls** workbook, which helps you check compliance for your SAP security controls. The workbook provides a comprehensive view of the security controls that are in place and the compliance status of each control.
-### User master data watchlists
+For more information, see [Check compliance for your SAP security controls with the SAP - Security Audit Controls workbook(Preview)](sap-audit-controls-workbook.md).
-- SAP - Sensitive Profiles-- SAP - Sensitive Roles-- SAP - Privileged Users-- SAP - Critical Authorizations
+## Next step
-The Microsoft Sentinel solution for SAP® applications uses User Master data gathered from SAP systems to identify which users, profiles, and roles should be considered sensitive. Some sample data is included in the watchlists, though we recommend you consult with the SAP BASIS team to identify sensitive users, roles and profiles and populate the watchlists accordingly.
+There's a lot more content to discover for SAP with Microsoft Sentinel, including functions, playbooks, workbooks, and more. This article highlights some useful starting points, and you should continue to implement other content to get the most out of your SAP security monitoring.
-## Start enabling analytics rules
-By default, all analytics rules provided in the Microsoft Sentinel solution for SAP® applications are provided as [alert rule templates](../manage-analytics-rule-templates.md#manage-template-versions-for-your-scheduled-analytics-rules-in-microsoft-sentinel). We recommend a staged approach, where a few rules are created from templates at a time, allowing time for fine tuning each scenario.
- We consider the following rules to be easiest to implement, so best to start with those:
-
-1. Change in Sensitive Privileged User
-2. Client configuration change
-3. Sensitive privileged user logon
-4. Sensitive privileged user makes a change in other
-5. Sensitive privilege user password change and login
-6. Function module tested
+For more information, see:
-## Enable or disable the ingestion of specific SAP logs
+- [Microsoft Sentinel solution for SAP applications - functions reference](sap-solution-function-reference.md)
+- [Microsoft Sentinel solution for SAP applications: security content reference](sap-solution-security-content.md).
-To enable or disable the ingestion of a specific log:
-
-1. Edit the *systemconfig.json* file located under */opt/sapcon/SID/* on the connector's VM.
-1. Inside the configuration file, locate the relevant log and do one of the following:
- - To enable the log, change the value to `True`.
- - To disable the log, change the value to `False`.
-For example, to stop ingestion for the `ABAPJobLog`, change its value to `False`:
+## Related content
-```
-"abapjoblog": "True",
-```
-Review the list of available logs in the [Systemconfig.json file reference](reference-systemconfig-json.md).
+For more information, see:
-You can also [stop ingesting the user master data tables](sap-solution-deploy-alternate.md#configuring-user-master-data-collection).
-
-> [!NOTE]
->
-> Once you stop one of the logs or tables, the workbooks and analytics queries that use that log may not work.
-> [Understand which log each workbook uses](sap-solution-security-content.md#built-in-workbooks) and [understand which log each analytic rule uses](sap-solution-security-content.md#built-in-analytics-rules).
-
-## Stop log ingestion and disable the connector
-
-To stop ingesting SAP logs into the Microsoft Sentinel workspace, and to stop the data stream from the Docker container, run this command:
-
-```
-docker stop sapcon-[SID/agent-name]
-```
-To stop ingesting a specific SID for a multi-SID container you must delete the SID from the connector page UI in Sentinel
-The Docker container stops and doesn't send any more SAP logs to the Microsoft Sentinel workspace. This stops both the ingestion and billing for the SAP system related to the connector.
-
-If you need to reenable the Docker container, run this command:
-
-```
-docker start sapcon-[SID]
-```
-
-## Remove the user role and the optional CR installed on your ABAP system
-
-To remove the user role and optional CR imported to your system, import the deletion CR *NPLK900259* into your ABAP system.
-
-## Next steps
-
-Learn more about the Microsoft Sentinel solution for SAP® applications:
--- [Deploy Microsoft Sentinel solution for SAP® applications](deployment-overview.md)-- [Prerequisites for deploying Microsoft Sentinel solution for SAP® applications](prerequisites-for-deploying-sap-continuous-threat-monitoring.md)-- [Deploy SAP Change Requests (CRs) and configure authorization](preparing-sap.md)-- [Deploy and configure container hosting the SAP data connector agent](deploy-data-connector-agent-container.md)-- [Deploy SAP security content](deploy-sap-security-content.md)
+- [Automatic attack disruption for SAP (Preview)](deployment-attack-disrupt.md)
- [Monitor the health of your SAP system](../monitor-sap-system-health.md)-- [Deploy the Microsoft Sentinel for SAP data connector with SNC](configure-snc.md)-- [Enable and configure SAP auditing](configure-audit.md)-- [Collect SAP HANA audit logs](collect-sap-hana-audit-logs.md)-
-Troubleshooting:
--- [Troubleshoot your Microsoft Sentinel solution for SAP® applications deployment](sap-deploy-troubleshoot.md)-
-Reference files:
--- [Microsoft Sentinel solution for SAP® applications data reference](sap-solution-log-reference.md)-- [Microsoft Sentinel solution for SAP® applications: security content reference](sap-solution-security-content.md)-- [Kickstart script reference](reference-kickstart.md)-- [Update script reference](reference-update.md)-- [Systemconfig.ini file reference](reference-systemconfig.md)-
-For more information, see [Microsoft Sentinel solutions](../sentinel-solutions.md).
+- [Update Microsoft Sentinel's SAP data connector agent](update-sap-data-connector.md)
sentinel Preparing Sap https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/sentinel/sap/preparing-sap.md
Title: Configure SAP authorizations and deploy optional SAP Change Requests (CRS)
+ Title: Configure your SAP system for the Microsoft Sentinel solution
-description: This article shows you how to deploy the SAP Change Requests (CRs) necessary to prepare the environment for the installation of the SAP agent, so that it can properly connect to your SAP systems.
+description: Learn about extra preparations required in your SAP system to install the SAP data connector agent and connect Microsoft Sentinel to your SAP system.
Previously updated : 03/27/2024-- Last updated : 09/16/2024
+appliesto:
+ - Microsoft Sentinel in the Azure portal
+ - Microsoft Sentinel in the Microsoft Defender portal
+ #Customer intent: As an SAP BASIS team member, I want to configure SAP authorizations and deploy optional SAP Change Requests so that I can ensure proper connectivity and log retrieval from SAP systems for security monitoring.
-# Configure SAP authorizations and deploy optional SAP Change Requests
-
-This article describes how to prepare your environment for the installation of the SAP agent so that it can properly connect to your SAP systems. Preparation includes configuring required SAP authorizations and, optionally, deploying extra SAP change requests (CRs).
--- [!INCLUDE [unified-soc-preview-without-alert](../includes/unified-soc-preview-without-alert.md)]-
-## Deployment milestones
-
-Track your SAP solution deployment journey through this series of articles:
-
-1. [Deployment overview](deployment-overview.md)
-
-1. [Deployment prerequisites](prerequisites-for-deploying-sap-continuous-threat-monitoring.md)
-
-1. [Work with the solution across multiple workspaces](cross-workspace.md) (PREVIEW)
+# Configure your SAP system for the Microsoft Sentinel solution
-1. **Prepare SAP environment (*You are here*)**
+This article describes how to prepare your SAP environment for connecting to the SAP data connector agent. Preparation includes configuring required SAP authorizations and, optionally, deploying extra SAP change requests (CRs).
-1. [Configure auditing](configure-audit.md)
+This article is part of the second step in deploying the Microsoft Sentinel solution for SAP applications.
-1. [Deploy the solution content from the content hub](deploy-sap-security-content.md)
-1. [Deploy the data connector agent](deploy-data-connector-agent-container.md)
+The procedures in this article are typically performed by your **SAP BASIS** team.
-1. [Configure Microsoft Sentinel solution for SAP® applications](deployment-solution-configuration.md)
+## Prerequisites
-1. Optional deployment steps
- - [Configure data connector to use SNC](configure-snc.md)
- - [Collect SAP HANA audit logs](collect-sap-hana-audit-logs.md)
- - [Configure audit log monitoring rules](configure-audit-log-rules.md)
- - [Deploy SAP connector manually](sap-solution-deploy-alternate.md)
- - [Select SAP ingestion profiles](select-ingestion-profiles.md)
+- Before you start, make sure to review the [prerequisites for deploying the Microsoft Sentinel solution for SAP applications](prerequisites-for-deploying-sap-continuous-threat-monitoring.md).
## Configure the Microsoft Sentinel role
-1. Upload role authorizations from the [**/MSFTSEN/SENTINEL_RESPONDER**](https://aka.ms/SAP_Sentinel_Responder_Role) file in GitHub.
+To allow the SAP data connector to connect to your SAP system, you must create an SAP system role specifically for this purpose.
- This creates the **/MSFTSEN/SENTINEL_RESPONDER** role, which includes all the authorizations required to retrieve logs from the SAP systems and run [attack disruption response actions](https://aka.ms/attack-disrupt-defender).
+- **To include both log retrieval and [attack disruption response actions](https://aka.ms/attack-disrupt-defender)**, we recommend creating this role by loading role authorizations from the [**/MSFTSEN/SENTINEL_RESPONDER**](https://aka.ms/SAP_Sentinel_Responder_Role) file.
- Alternately, create a role manually with the relevant authorizations required for the logs you want to ingest. For more information, see [Required ABAP authorizations](#required-abap-authorizations). The examples in this procedure use the **/MSFTSEN/SENTINEL_RESPONDER** name.
+- **To include log retrieval only**, we recommend creating this role by deploying the *NPLK900271* SAP change request (CR): [K900271.NPL](https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Solutions/SAP/CR/K900271.NPL) | [R900271.NPL](https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Solutions/SAP/CR/R900271.NPL)
-1. The next step is to generate an active role profile for Microsoft Sentinel to use. Run the **PFCG** transaction:
+ Deploy the CRs on your SAP system as needed just as you'd deploy other CRs. We strongly recommend that deploying SAP CRs is done by an experienced SAP system administrator. For more information, see the [SAP documentation](https://help.sap.com/docs/ABAP_PLATFORM_NEW/4a368c163b08418890a406d413933ba7/e15d9acae75c11d2b451006094b9ea64.html?locale=en-US&version=LATEST).
- In the **SAP Easy Access** screen, enter `PFCG` in the field in the upper left corner of the screen and then press **ENTER**.
+ Alternately, load the role authorizations from the [**MSFTSEN_SENTINEL_CONNECTOR**](https://aka.ms/SAP_Sentinel_Connector_Role) file, which includes all the basic permissions for the data connector to operate.
-1. In the **Role Maintenance** window, type the role name `/MSFTSEN/SENTINEL_RESPONDER` in the **Role** field and select the **Change** button (the pencil).
+ Experienced SAP administrators might choose to create the role manually and assign it the appropriate permissions. In such cases, create a role manually with the relevant authorizations required for the logs you want to ingest. For more information, see [Required ABAP authorizations](required-abap-authorizations.md). Examples in our documentation use the **/MSFTSEN/SENTINEL_RESPONDER** name.
-1. In the **Change Roles** window that appears, select the **Authorizations** tab.
+When configuring the role, we recommend that you:
-1. In the **Authorizations** tab, select **Change Authorization Data**.
+- Generate an active role profile for Microsoft Sentinel by running the **PFCG** transaction.
+- Use `/MSFTSEN/SENTINEL_RESPONDER` as the role name.
-1. In the **Information** popup, read the message and select the green checkmark to confirm.
-
-1. In the **Change Role: Authorizations** window, select **Generate**.
-
- See that the **Status** field has changed from **Unchanged** to **generated**.
-
-1. Select **Back** (to the left of the SAP logo at the top of the screen).
-
-1. Back in the **Change Roles** window, verify that the **Authorizations** tab displays a green box, then select **Save**.
+ For more information, see the [SAP documentation](https://help.sap.com/doc/saphelp_nw73ehp1/7.31.19/en-US/48/e8eb38f94cb138e10000000a114084/frameset.htm) on creating roles.
### Create a user
-The Microsoft Sentinel solution for SAP® applications requires a user account to connect to your SAP system. Use the following instructions to create a user account and assign it to the role that you created in the previous step.
-
-In the examples shown here, we use the role name **/MSFTSEN/SENTINEL_RESPONDER**.
-
-1. Run the **SU01** transaction:
-
- In the **SAP Easy Access** screen, enter `SU01` in the field in the upper left corner of the screen and press **ENTER**.
-
-1. In the **User Maintenance: Initial Screen** screen, type in the name of the new user in the **User** field and select **Create Technical User** from the button bar.
-
-1. In the **Maintain Users** screen, select **System** from the **User Type** drop-down list. Create and enter a complex password in the **New Password** and **Repeat Password** fields, then select the **Roles** tab.
-
-1. In the **Roles** tab, in the **Role Assignments** section, enter the full name of the role - `/MSFTSEN/SENTINEL_RESPONDER` in our example - and press **Enter**.
--
- After pressing **Enter**, verify that the right-hand side of the **Role Assignments** section populates with data, such as **Change Start Date**.
-
-1. Select the **Profiles** tab, verify that a profile for the role appears under **Assigned Authorization Profiles**, and select **Save**.
-
-### Required ABAP authorizations
-
-This section lists the ABAP authorizations required to ensure that the SAP user account used by Microsoft Sentinel's SAP data connector can correctly retrieve logs from the SAP systems and run [attack disruption response actions](https://aka.ms/attack-disrupt-defender).
-
-The required authorizations are listed here by their purpose. You only need the authorizations that are listed for the kinds of logs you want to bring into Microsoft Sentinel and the attack disruption response actions you want to apply.
-
-> [!TIP]
-> To create a role with all the required authorizations, load the role authorizations from the [**/MSFTSEN/SENTINEL_RESPONDER**](https://aka.ms/SAP_Sentinel_Responder_Role) file.
->
-> Alternately, to enable only log retrieval, without attack disruption response actions, deploy the SAP *NPLK900271* CR on the SAP system to create the **/MSFTSEN/SENTINEL_CONNECTOR** role, or load the role authorizations from the [**/MSFTSEN/SENTINEL_CONNECTOR**](https://aka.ms/SAP_Sentinel_Connector_Role) file.
-
-| Authorization object | Field | Value |
-| -- | -- | -- |
-| **All logs** | | |
-| S_RFC | RFC_TYPE | Function Module |
-| S_RFC | RFC_NAME | /OSP/SYSTEM_TIMEZONE |
-| S_RFC | RFC_NAME | DDIF_FIELDINFO_GET |
-| S_RFC | RFC_NAME | RFCPING |
-| S_RFC | RFC_NAME | RFC_GET_FUNCTION_INTERFACE |
-| S_RFC | RFC_NAME | RFC_READ_TABLE |
-| S_RFC | RFC_NAME | RFC_SYSTEM_INFO |
-| S_RFC | RFC_NAME | SUSR_USER_AUTH_FOR_OBJ_GET |
-| S_RFC | RFC_NAME | TH_SERVER_LIST |
-| S_RFC | ACTVT | Execute |
-| S_TCODE | TCD | SM51 |
-| S_TABU_NAM | ACTVT | Display |
-| S_TABU_NAM | TABLE | T000 |
-| **Optional - Only if Sentinel solution CR implemented** | | |
-| S_RFC | RFC_NAME | /MSFTSEN/* |
-| **ABAP Application Log** | | |
-| S_RFC | RFC_NAME | BAPI_XBP_APPL_LOG_CONTENT_GET |
-| S_RFC | RFC_NAME | BAPI_XMI_LOGOFF |
-| S_RFC | RFC_NAME | BAPI_XMI_LOGON |
-| S_RFC | RFC_NAME | BAPI_XMI_SET_AUDITLEVEL |
-| S_TABU_NAM | TABLE | BALHDR |
-| S_XMI_PROD | EXTCOMPANY | Microsoft |
-| S_XMI_PROD | EXTPRODUCT | Azure Sentinel |
-| S_XMI_PROD | INTERFACE | XBP |
-| S_APPL_LOG | ALG_OBJECT | * |
-| S_APPL_LOG | ALG_SUBOBJ | * |
-| S_APPL_LOG | ACTVT | Display |
-| **ABAP Change Documents Log** | | |
-| S_TABU_NAM | TABLE | CDHDR |
-| S_TABU_NAM | TABLE | CDPOS |
-| **ABAP CR Log** | | |
-| S_RFC | RFC_NAME | CTS_API_READ_CHANGE_REQUEST |
-| S_TABU_NAM | TABLE | E070 |
-| S_TRANSPRT | TTYPE | * |
-| S_TRANSPRT | ACTVT | Display |
-| **ABAP DB Table Data Log** | | |
-| S_TABU_NAM | TABLE | DBTABLOG |
-| S_TABU_NAM | TABLE | SACF_ALERT |
-| S_TABU_NAM | TABLE | SOUD |
-| S_TABU_NAM | TABLE | USR41 |
-| S_TABU_NAM | TABLE | TMSQAFILTER |
-| **ABAP Job Log** | | |
-| S_RFC | RFC_NAME | BAPI_XBP_JOB_JOBLOG_READ |
-| S_RFC | RFC_NAME | BAPI_XMI_LOGOFF |
-| S_RFC | RFC_NAME | BAPI_XMI_LOGON |
-| S_RFC | RFC_NAME | BAPI_XMI_SET_AUDITLEVEL |
-| S_TABU_NAM | TABLE | TBTCO |
-| S_XMI_PROD | EXTCOMPANY | Microsoft |
-| S_XMI_PROD | EXTPRODUCT | Azure Sentinel |
-| S_XMI_PROD | INTERFACE | XBP |
-| **ABAP Spool Logs** | | |
-| S_TABU_NAM | TABLE | TSP01 |
-| S_ADMI_FCD | S_ADMI_FCD | SPOS (Use of Transaction SP01 (all systems)) |
-| **ABAP Workflow Log** | | |
-| S_TABU_NAM | TABLE | SWWLOGHIST |
-| S_TABU_NAM | TABLE | SWWWIHEAD |
-| **ABAP Security Audit Log** | | |
-| S_RFC | RFC_NAME | BAPI_USER_GET_DETAIL |
-| S_RFC | RFC_NAME | BAPI_XMI_LOGOFF |
-| S_RFC | RFC_NAME | BAPI_XMI_LOGON |
-| S_RFC | RFC_NAME | BAPI_XMI_SET_AUDITLEVEL |
-| S_RFC | RFC_NAME | BAPI_SYSTEM_MTE_GETMLHIS |
-| S_RFC | RFC_NAME | BAPI_SYSTEM_MTE_GETTREE |
-| S_RFC | RFC_NAME | BAPI_SYSTEM_MTE_GETTIDBYNAME |
-| S_RFC | RFC_NAME | BAPI_SYSTEM_MS_GETLIST |
-| S_RFC | RFC_NAME | BAPI_SYSTEM_MON_GETLIST |
-| S_RFC | RFC_NAME | BAPI_SYSTEM_MON_GETTREE |
-| S_RFC | RFC_NAME | BAPI_SYSTEM_MTE_GETPERFCURVAL |
-| S_RFC | RFC_NAME | BAPI_SYSTEM_MT_GETALERTDATA |
-| S_RFC | RFC_NAME | BAPI_SYSTEM_ALERT_ACKNOWLEDGE |
-| S_ADMI_FCD | S_ADMI_FCD | AUDD (Basis audit display auth.) |
-| S_SAL | SAL_ACTVT | SHOW_LOG (Evaluate the file-based log) |
-| S_USER_GRP | CLASS | SUPER |
-| S_USER_GRP | ACTVT | Display |
-| S_USER_GRP | CLASS | SUPER |
-| S_USER_GRP | ACTVT | Lock |
-| S_XMI_PROD | EXTCOMPANY | Microsoft |
-| S_XMI_PROD | EXTPRODUCT | Azure Sentinel |
-| S_XMI_PROD | INTERFACE | XAL |
-| **User Data** | | |
-| S_TABU_NAM | TABLE | ADCP |
-| S_TABU_NAM | TABLE | ADR6 |
-| S_TABU_NAM | TABLE | AGR_1251 |
-| S_TABU_NAM | TABLE | AGR_AGRS |
-| S_TABU_NAM | TABLE | AGR_DEFINE |
-| S_TABU_NAM | TABLE | AGR_FLAGS |
-| S_TABU_NAM | TABLE | AGR_PROF |
-| S_TABU_NAM | TABLE | AGR_TCODES |
-| S_TABU_NAM | TABLE | AGR_USERS |
-| S_TABU_NAM | TABLE | DEVACCESS |
-| S_TABU_NAM | TABLE | USER_ADDR |
-| S_TABU_NAM | TABLE | USGRP_USER |
-| S_TABU_NAM | TABLE | USR01 |
-| S_TABU_NAM | TABLE | USR02 |
-| S_TABU_NAM | TABLE | USR05 |
-| S_TABU_NAM | TABLE | USR21 |
-| S_TABU_NAM | TABLE | USRSTAMP |
-| S_TABU_NAM | TABLE | UST04 |
-| **Configuration History** | | |
-| S_TABU_NAM | TABLE | PAHI |
-| **SNC Data** | | |
-| S_TABU_NAM | TABLE | SNCSYSACL |
-| S_TABU_NAM | TABLE | USRACL |
-|<a name=attack-disrupt></a>**Attack disruption response actions** | | |
-|S_RFC |RFC_TYPE |Function Module |
-|S_RFC |RFC_NAME |BAPI_USER_LOCK |
-|S_RFC |RFC_NAME |BAPI_USER_UNLOCK |
-|S_RFC |RFC_NAME |TH_DELETE_USER <br>In contrast to its name, this function doesn't delete users, but ends the active user session. |
-|S_USER_GRP |CLASS |* <br>We recommend replacing S_USER_GRP CLASS with the relevant classes in your organization that represent dialog users. |
-|S_USER_GRP |ACTVT |03 |
-|S_USER_GRP |ACTVT |05 |
-
-If needed, you can [remove the user role and the optional CR installed on your ABAP system](deployment-solution-configuration.md#remove-the-user-role-and-the-optional-cr-installed-on-your-abap-system).
-
-## Deploy optional CRs
-
-This section presents a step-by-step guide to deploying extra, optional CRs. It's intended for SOC engineers or implementers who might not necessarily be SAP experts.
-
-Experienced SAP administrators that are familiar with the CR deployment process might prefer to get the appropriate CRs directly from the [SAP environment validation steps](prerequisites-for-deploying-sap-continuous-threat-monitoring.md#sap-environment-validation-steps) section of the guide and deploy them.
-
-We strongly recommend that deploying SAP CRs is done by an experienced SAP system administrator.
-
-The following table describes the optional CRs available to deploy:
-
-|CR |Description |
-|||
-|**NPLK900271** |Creates and configures a sample role with the basic authorizations required to allow the SAP data connector to connect to your SAP system. Alternatively, you can load authorizations directly from a file or manually define the role according to the logs you want to ingest. <br><br>For more information, see [Required ABAP authorizations](#required-abap-authorizations) and [Create and configure a role (required)](prerequisites-for-deploying-sap-continuous-threat-monitoring.md#create-and-configure-a-role-required). |
-|**NPLK900201** or **NPLK900202** |[Retrieves additional information from SAP](prerequisites-for-deploying-sap-continuous-threat-monitoring.md#retrieve-additional-information-from-sap-optional). Select one of these CRs according to your SAP version. |
-
-### Prerequisites for deploying CRs
-
-1. Make sure you've copied the details of the **SAP system version**, **System ID (SID)**, **System number**, **Client number**, **IP address**, **administrative username**, and **password** before beginning the deployment process. For the following example, the following details are assumed:
-
- - **SAP system version:** `SAP ABAP Platform 1909 Developer edition`
- - **SID:** `A4H`
- - **System number:** `00`
- - **Client number:** `001`
- - **IP address:** `192.168.136.4`
- - **Administrator user:** `a4hadm`, however, the SSH connection to the SAP system is established with `root` user credentials.
-
-1. Make sure you know which [CR you want to deploy](#deploy-optional-crs).
-
-1. If you're deploying the NPLK900202 CR to retrieve additional information, make sure you've installed the [relevant SAP note](prerequisites-for-deploying-sap-continuous-threat-monitoring.md#deploy-sap-note-optional).
-
-### Set up the files
-
-1. Sign in to the SAP system using SSH.
-
-1. Transfer the CR files to the SAP system or download the files directly onto the SAP system from the SSH prompt. Use the following commands:
-
- - Download NPLK900271
- ```bash
- wget https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Solutions/SAP/CR/K900271.NPL
- wget https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Solutions/SAP/CR/R900271.NPL
- ```
-
- Alternatively, you can [load these authorizations directly from a file](prerequisites-for-deploying-sap-continuous-threat-monitoring.md#create-and-configure-a-role-required).
-
- - Download NPLK900202
- ```bash
- wget https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Solutions/SAP/CR/K900202.NPL
- wget https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Solutions/SAP/CR/R900202.NPL
- ```
-
- - Download NPLK900201
- ```bash
- wget https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Solutions/SAP/CR/K900201.NPL
- wget https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Solutions/SAP/CR/R900201.NPL
- ```
+The Microsoft Sentinel solution for SAP applications requires a user account to connect to your SAP system. When creating your user:
- Each CR consists of two files, one beginning with K and one with R.
+- Make sure to create a system user.
+- Assign the **/MSFTSEN/SENTINEL_RESPONDER** role to the user, which you'd created in the [previous step](#configure-the-microsoft-sentinel-role).
-1. Change the ownership of the files to user *`<sid>`adm* and group *sapsys*. (Substitute your SAP system ID for `<sid>`.)
+For more information, see the [SAP documentation](https://help.sap.com/docs/ABAP_PLATFORM_NEW/ad77b44570314f6d8c3a8a807273084c/4cb5f7ac9cb33c94e10000000a42189c.html?version=LATEST).
- ```bash
- chown <sid>adm:sapsys *.NPL
- ```
+## Configure SAP auditing
- In our example:
- ```bash
- chown a4hadm:sapsys *.NPL
- ```
+Some installations of SAP systems might not have audit logging enabled by default. For best results in evaluating the performance and efficacy of the Microsoft Sentinel solution for SAP applications, enable auditing of your SAP system and configure the audit parameters. If you want to ingest SAP HANA DB logs, make sure to also enable auditing for SAP HANA DB.
-1. Copy the cofiles (those beginning with *K*) to the `/usr/sap/trans/cofiles` folder. Preserve the permissions while copying, using the `cp` command with the `-p` switch.
+We recommend that you configure auditing for all messages from the audit log, as this data is useful for Microsoft Sentinel detections and in post-compromise investigations and hunting.
- ```bash
- cp -p K*.NPL /usr/sap/trans/cofiles/
- ```
+For more information, see the [SAP community](https://community.sap.com/t5/application-development-blog-posts/analysis-and-recommended-settings-of-the-security-audit-log-sm19-rsau/ba-p/13297094) and [Collect SAP HANA audit logs in Microsoft Sentinel](collect-sap-hana-audit-logs.md).
-1. Copy the data files (those beginning with R) to the `/usr/sap/trans/data` folder. Preserve the permissions while copying, using the `cp` command with the `-p` switch.
+## Configure support for extra data retrieval (recommended)
- ```bash
- cp -p R*.NPL /usr/sap/trans/data/
- ```
+While this step is optional, we recommend that you deploy extra CRs from the [Microsoft Sentinel GitHub repository](https://github.com/Azure/Azure-Sentinel/tree/master/Solutions/SAP/CR) to enable the SAP data connector to retrieve the following content information from your SAP system:
-### Import the CRs
+- **DB Table** and **Spool Output** logs
+- **Client IP address information** from the security audit logs (SAP BASIS version 7.5 SP12 and higher only)
-1. Launch the **SAP Logon** application and sign in to the SAP GUI console.
+Deploy the relevant CRs according to your SAP version:
-1. Run the **STMS_IMPORT** transaction:
+| SAP BASIS versions | Recommended CR |
+| | | |
+| **750 and higher** | *NPLK900202*: [K900202.NPL](https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Solutions/SAP/CR/K900202.NPL), [R900202.NPL](https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Solutions/SAP/CR/R900202.NPL) <br><br>When deploying this CR any of the following SAP versions, also deploy [2641084 - Standardized read access to data of Security Audit Log](https://launchpad.support.sap.com/#/notes/2641084): <br>- 750 SP04 to SP12<br>- 751 SP00 to SP06<br>- 752 SP00 to SP02 |
+| **740** | *NPLK900201*: [K900201.NPL](https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Solutions/SAP/CR/K900201.NPL), [R900201.NPL](https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Solutions/SAP/CR/R900201.NPL) |
- In the **SAP Easy Access** screen, enter `STMS_IMPORT` in the field in the upper left corner of the screen and then press **ENTER**.
+Deploy the CRs on your SAP system as needed just as you'd deploy other CRs. We strongly recommend that deploying SAP CRs is done by an experienced SAP system administrator. For more information, see the [SAP documentation](https://help.sap.com/docs/ABAP_PLATFORM_NEW/4a368c163b08418890a406d413933ba7/e15d9acae75c11d2b451006094b9ea64.html?locale=en-US&version=LATEST).
- :::image type="content" source="media/preparing-sap/stms-import.png" alt-text="Screenshot of running the STMS import transaction.":::
+For more information, see the [SAP Community](https://community.sap.com/t5/application-development-blog-posts/analysis-and-recommended-settings-of-the-security-audit-log-sm19-rsau/ba-p/13297094) and the [SAP documentation](https://help.sap.com/docs/ABAP_PLATFORM_NEW/4a368c163b08418890a406d413933ba7/e15d9acae75c11d2b451006094b9ea64.html?locale=en-US&version=LATEST).
-1. In the **Import Queue** window that appears, select **More > Extras > Other Requests > Add**.
+## Verify that the PAHI table is updated at regular intervals
- :::image type="content" source="media/preparing-sap/import-queue-add.png" alt-text="Screenshot of adding an import queue.":::
+The SAP PAHI table includes data on the history of the SAP system, the database, and SAP parameters. In some cases, the Microsoft Sentinel solution for SAP applications can't monitor the SAP PAHI table at regular intervals, due to missing or faulty configuration. It's important to update the PAHI table and to monitor it frequently, so that the Microsoft Sentinel solution for SAP applications can alert on suspicious actions that might happen at any time throughout the day. For more information, see:
-1. In the **Add Transport Requests to Import Queue** pop-up that appears, select the **Transp. Request** field.
+- [SAP note 12103](https://launchpad.support.sap.com/#/notes/12103)
+- [Monitoring the configuration of static SAP security parameters (Preview)](sap-solution-security-content.md#monitor-the-configuration-of-static-sap-security-parameters-preview)
-1. The **Transport requests** window will appear and display a list of CRs available to be deployed. Select a CR and select the green checkmark button.
-
-1. Back in the **Add Transport Request to Import Queue** window, select **Continue** (the green checkmark) or press **ENTER**.
-
-1. In the **Add Transport Request** confirmation dialog, select **Yes**.
-
-1. If you plan to deploy more CRs, repeat the procedure in the preceding five steps for the remaining CRs.
-
-1. In the **Import Queue** window, select the relevant Transport Request once, and then select **F9** or **Select/Deselect Request** icon.
-
-1. If you have remaining Transport Requests to add to the deployment, repeat step 9.
-
-1. Select the Import Requests icon:
-
- :::image type="content" source="media/preparing-sap/import-requests.png" alt-text="Screenshot of importing all requests." lightbox="media/preparing-sap/import-requests-lightbox.png":::
-
-1. In **Start Import** window, select the **Target Client** field.
-
-1. The **Input Help..** dialog appears. Select the number of the client you want to deploy the CRs to (`001` in our example), then select the green checkmark to confirm.
-
-1. Back in the **Start Import** window, select the **Options** tab, mark the **Ignore Invalid Component Version** checkbox, and select the green checkmark to confirm.
-
- :::image type="content" source="media/preparing-sap/start-import.png" alt-text="Screenshot of the start import window.":::
-
-1. In the **Start import** confirmation dialog, select **Yes** to confirm the import.
-
-1. Back in the **Import Queue** window, select **Refresh**, wait until the import operation completes and the import queue shows as empty.
-
-1. To review the import status, in the **Import Queue** window select **More > Go To > Import History**.
-
- :::image type="content" source="media/preparing-sap/import-history.png" alt-text="Screenshot of import history.":::
-
-1. If you deployed the *NPLK900202* CR, it's expected to display a **Warning**. Select the entry to verify that the warnings displayed are of type "Table \<tablename\> was activated."
-
- The CRs and versions in the following screenshots might change according to your installed CR version.
-
- :::image type="content" source="media/preparing-sap/import-status.png" alt-text="Screenshot of import status display." lightbox="media/preparing-sap/import-status-lightbox.png":::
-
- :::image type="content" source="media/preparing-sap/import-warning.png" alt-text="Screenshot of import warning message display.":::
---
-## Verify that the PAHI table (history of system, database, and SAP parameters) is updated at regular intervals
-
-The SAP PAHI table includes data on the history of the SAP system, the database, and SAP parameters. In some cases, the Microsoft Sentinel solution for SAP® applications can't monitor the SAP PAHI table at regular intervals, due to missing or faulty configuration (see the [SAP note](https://launchpad.support.sap.com/#/notes/12103) with more details on this issue). It's important to update the PAHI table and to monitor it frequently, so that the Microsoft Sentinel solution for SAP® applications can alert on suspicious actions that might happen at any time throughout the day.
-
-Learn more about how the Microsoft Sentinel solution for SAP® applications monitors [suspicious configuration changes to security parameters](sap-solution-security-content.md#monitoring-the-configuration-of-static-sap-security-parameters-preview).
-
-> [!NOTE]
-> For optimal results, in your machine's *systemconfig.ini* file, under the `[ABAP Table Selector]` section, enable both the `PAHI_FULL` and the `PAHI_INCREMENTAL` parameters.
-
-**To verify that the PAHI table is updated at regular intervals**:
-
-1. Check whether the `SAP_COLLECTOR_FOR_PERFMONITOR` job, based on the RSCOLL00 program, is scheduled and running hourly, by the DDIC user in the 000 client.
-1. Check whether the `RSHOSTPH`, `RSSTATPH` and `RSDB_PAR` report names are maintained in the TCOLL table.
- - `RSHOSTPH` report: Reads the operating system kernel parameters and stores this data in the PAHI table.
- - `RSSTATPH` report: Reads the SAP profile parameters and stores this data in the PAHI table.
- - `RSDB_PAR` report: Reads the database parameters and stores them in the PAHI table.
-
-If the job exists and is configured correctly, no further steps are needed.
-
-**If the job doesnΓÇÖt exist**:
-
-1. Sign in to your SAP system in the 000 client.
-1. Execute the SM36 transaction.
-1. Under **Job Name**, type *SAP_COLLECTOR_FOR_PERFMONITOR*.
-
- :::image type="content" source="media/preparing-sap/pahi-table-job-name.png" alt-text="Screenshot of adding the job used to monitor the SAP PAHI table.":::
-
-1. Select **Step** and fill in this information:
- - Under **User**, type *DDIC*.
- - Under *ABAP Program Name*, type *RSCOLL00*.
-1. Save the configuration.
+> [!TIP]
+> For optimal results, in the *systemconfig.json* file on your data connector agent machine, under the `[ABAP Table Selector](reference-systemconfig-json.md#abap-table-selector)` section, enable both the `PAHI_FULL` and the `PAHI_INCREMENTAL` parameters. For more information, see [Systemconfig.json file reference](reference-systemconfig-json.md#abap-table-selector).
- :::image type="content" source="media/preparing-sap/pahi-table-define-user.png" alt-text="Screenshot of defining a user for the job used to monitor the SAP PAHI table.":::
+If the PAHI table is updated regularly, the `SAP_COLLECTOR_FOR_PERFMONITOR` job is scheduled and runs hourly. If the `SAP_COLLECTOR_FOR_PERFMONITOR` job doesn't exist, make sure to configure it as needed. For more information, see the SAP documentation: [Database Collector in Background Processing](https://help.sap.com/doc/saphelp_nw75/7.5.5/en-US/c4/3a735b505211d189550000e829fbbd/frameset.htm) and [Configuring the Data Collector](https://help.sap.com/docs/SAP_NETWEAVER_AS_ABAP_752/3364beced9d145a5ad185c89a1e04658/c43a818c505211d189550000e829fbbd.html)
-1. Select <kbd>F3</kbd> to go back to the previous screen.
-1. Select **Start Condition** to define the start condition.
-1. Select **Immediate** and select the **Periodic job** checkbox.
+## Configure your system to use SNC for secure connections
- :::image type="content" source="media/preparing-sap/pahi-table-periodic-job.png" alt-text="Screenshot of defining the job used to monitor the SAP PAHI table as periodic.":::
+By default, the SAP data connector agent connects to an SAP server using a remote function call (RFC) connection and a username and password for authentication.
-1. Select **Period values** and select **Hourly**.
-1. Select **Save** inside the dialog, and then select **Save** at the bottom.
+However, you might need to make the connection on an encrypted channel or use client certificates for authentication. In these cases, use Smart Network Communications (SNC) from SAP to secure your data connections, as described in this section.
- :::image type="content" source="media/preparing-sap/pahi-table-hourly-job.png" alt-text="Screenshot of defining the job used to monitor the SAP PAHI table as hourly.":::
+In a production environment, we strongly recommend that your consult with SAP administrators to create a deployment plan for configuring SNC. For more information, see the [SAP documentation](https://help.sap.com/docs/ABAP_PLATFORM_NEW/e73bba71770e4c0ca5fb2a3c17e8e229/e656f466e99a11d1a5b00000e835363f.html).
-1. To release the job, select **Save** at the top.
+When configuring SNC:
- :::image type="content" source="media/preparing-sap/pahi-table-release-job.png" alt-text="Screenshot of releasing the job used to monitor the SAP PAHI table as hourly.":::
+- If the client certificate was issued by an enterprise certification authority, transfer the issuing CA and root CA certificates to the system where you plan to create the data connector agent.
+- Make sure to also enter the relevant values and use the relevant procedures when [configuring the SAP data connector agent container](deploy-data-connector-agent-container.md).
-## Next steps
-Your SAP environment is now fully prepared to deploy a data connector agent. A role and profile are provisioned, a user account is created and assigned the relevant role profile, and CRs are deployed as needed for your environment.
-Now, you're ready to enable and configure SAP auditing for Microsoft Sentinel.
+## Next step
> [!div class="nextstepaction"]
-> [Enable and configure SAP auditing for Microsoft Sentinel](configure-audit.md)
+> [Connect your SAP system by deploying your data connector agent container](deploy-data-connector-agent-container.md)
+
sentinel Prerequisites For Deploying Sap Continuous Threat Monitoring https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/sentinel/sap/prerequisites-for-deploying-sap-continuous-threat-monitoring.md
Title: Prerequisites for deploying Microsoft Sentinel solution for SAP® applications
-description: This article lists the prerequisites required for deployment of the Microsoft Sentinel solution for SAP® applications.
+ Title: Prerequisites for deploying Microsoft Sentinel solution for SAP applications
+description: This article lists the prerequisites required for deployment of the Microsoft Sentinel solution for SAP applications.
- Previously updated : 03/21/2024---+ Last updated : 09/15/2024
+appliesto:
+ - Microsoft Sentinel in the Azure portal
+ - Microsoft Sentinel in the Microsoft Defender portal
+ #Customer intent: As a security administrator, I want to understand the prerequisites for deploying a Microsoft Sentinel solution for SAP applications so that I can ensure a smooth and compliant deployment process.
-# Prerequisites for deploying Microsoft Sentinel solution for SAP® applications
-
-This article lists the prerequisites required for deployment of the Microsoft Sentinel solution for SAP® applications.
--
-## Deployment milestones
-
-Track your SAP solution deployment journey through this series of articles:
-
-1. [Deployment overview](deployment-overview.md)
-
-1. **Deployment prerequisites (*You are here*)**
-
-1. [Work with the solution across multiple workspaces](cross-workspace.md) (PREVIEW)
-
-1. [Prepare SAP environment](preparing-sap.md)
-
-1. [Configure auditing](configure-audit.md)
-
-1. [Deploy the solution content from the content hub](deploy-sap-security-content.md)
+# Deployment prerequisites for the Microsoft Sentinel solution for SAP applications
-1. [Deploy the data connector agent](deploy-data-connector-agent-container.md)
+This article lists the prerequisites required for deployment of the Microsoft Sentinel solution for SAP applications. Reviewing and ensuring that you have or understand all the prerequisites is the first step in deploying the Microsoft Sentinel solution for SAP applications.
-1. [Configure Microsoft Sentinel solution for SAP® applications](deployment-solution-configuration.md)
-1. Optional deployment steps
- - [Configure data connector to use Secure Network Communication (SNC)](configure-snc.md)
- - [Collect SAP HANA audit logs](collect-sap-hana-audit-logs.md)
- - [Configure audit log monitoring rules](configure-audit-log-rules.md)
- - [Deploy SAP connector manually](sap-solution-deploy-alternate.md)
- - [Select SAP ingestion profiles](select-ingestion-profiles.md)
+Content in this article is relevant for your **security**, **infrastructure**, and **SAP BASIS** teams.
-## Table of prerequisites
+## Azure prerequisites
-To successfully deploy the Microsoft Sentinel solution for SAP® applications, you must meet the following prerequisites:
-
-### Azure prerequisites
+Typically, Azure prerequisites are managed by your **security** teams.
| Prerequisite | Description |Required/optional | | - | -- |-- |
-| **Access to Microsoft Sentinel** | Make a note of your Microsoft Sentinel *workspace ID* and *primary key*.<br>You can find these details in Microsoft Sentinel: from the navigation menu, select **Settings** > **Workspace settings** > **Agents management**. Copy the *Workspace ID* and *Primary key* and paste them aside for use during the deployment process. |Required |
-| **Permissions to create Azure resources** | At a minimum, you must have the necessary permissions to deploy solutions from the Microsoft Sentinel content hub. For more information, see the [Microsoft Sentinel content hub catalog](../sentinel-solutions-catalog.md). |Required |
-| **Permissions to create an Azure key vault or access an existing one** | Use Azure Key Vault to store secrets required to connect to your SAP system (recommended when this is a required prerequisite). For more information, see [Assign key vault access permissions](deploy-data-connector-agent-container.md#assign-key-vault-access-permissions). |Required if you plan to store the SAP system credentials in Azure Key Vault. <br><br>Optional if you plan to store them in a configuration file. For more information, see [Create a virtual machine and configure access to your credentials](deploy-data-connector-agent-container.md#create-a-virtual-machine-and-configure-access-to-your-credentials).|
-| **Permissions to assign a privileged role to the SAP data connector agent** | Deploying the SAP data connector agent requires that you grant your agent's VM identity with specific permissions to the Microsoft Sentinel workspace, using the **Microsoft Sentinel Business Applications Agent Operator** role. To grant this role, you need **Owner** permissions on the resource group where your Microsoft Sentinel workspace resides. <br><br>For more information, see [Deploy the data connector agent](deploy-data-connector-agent-container.md#deploy-the-data-connector-agent). | Required. <br> If you don't have **Owner** permissions on the resource group, the relevant step can also be performed by another user who does have the relevant permissions, separately after the agent is fully deployed.|
+| **Access to Microsoft Sentinel** | Make a note of your *workspace ID and *primary key* for your Log Analytics workspace enabled for Microsoft Sentinel.<br>You can find these details in Microsoft Sentinel: from the navigation menu, select **Settings** > **Workspace settings** > **Agents management**. Copy the *Workspace ID* and *Primary key* and paste them aside for use during the deployment process. |Required |
+| **Permissions to create Azure resources** | At a minimum, you must have the necessary permissions to deploy solutions from the Microsoft Sentinel content hub. For more information, see [Prerequisites for deploying Microsoft Sentinel solutions](../sentinel-solutions-deploy.md#prerequisites). |Required |
+| **Permissions to create an Azure key vault or access an existing one** | Use Azure Key Vault to store secrets required to connect to your SAP system. For more information, see [Assign key vault access permissions](deploy-data-connector-agent-container.md#assign-key-vault-access-permissions). |Required if you plan to store the SAP system credentials in Azure Key Vault. <br><br>Optional if you plan to store them in a configuration file. For more information, see [Create a virtual machine and configure access to your credentials](deploy-data-connector-agent-container.md#create-a-virtual-machine-and-configure-access-to-your-credentials).|
+| **Permissions to assign a privileged role to the SAP data connector agent** | Deploying the SAP data connector agent requires that you grant your agent's VM identity with specific permissions to the Microsoft Sentinel workspace, using the **Microsoft Sentinel Business Applications Agent Operator** role. To grant this role, you need **Owner** permissions on the resource group where your Microsoft Sentinel workspace resides. <br><br>For more information, see [Connect your SAP system by deploying your data connector agent container](deploy-data-connector-agent-container.md). | Required. <br> If you don't have **Owner** permissions on the resource group, the relevant step can also be performed by another user who does have the relevant permissions, separately after the agent is fully deployed.|
+
+## System prerequisites
-### System prerequisites
+Typically, system prerequisites are managed by your **infrastructure** teams. The following system prerequisites are required for deploying the SAP data connector agent container:
| Prerequisite | Description | | - | -- |
-| **System architecture** | The data connector component of the SAP solution is deployed as a Docker container, and each SAP client requires its own container instance.<br>The container host can be either a physical machine or a virtual machine, can be located either on-premises or in any cloud. <br>The VM hosting the container ***does not*** have to be located in the same Azure subscription as your Microsoft Sentinel workspace, or even in the same Microsoft Entra tenant. |
+| **System architecture** | The data connector component of the SAP solution is deployed as a Docker container.<br>The container host can be either a physical machine or a virtual machine, can be located either on-premises or in any cloud. <br>The VM hosting the container ***does not*** have to be located in the same Azure subscription as your Microsoft Sentinel workspace, or even in the same Microsoft Entra tenant. |
+| **Supported Linux versions** | The SAP data connector agent is tested with the following Linux distributions:<br>- Ubuntu 18.04 or higher<br>- SLES version 15 or higher<br>- RHEL version 7.7 or higher<br><br>If you have a different operating system, you might need to deploy and configure the container manually. <br><br>For more information, see [Deploy the Microsoft Sentinel for SAP data connector agent container with expert options](sap-solution-deploy-alternate.md) or open a support ticket. |
| **Virtual machine sizing recommendations** | **Minimum specification**, such as for a lab environment:<br>*Standard_B2s* VM, with:<br>- Two cores<br>- 4-GB RAM<br><br>**Standard connector** (default):<br>*Standard_D2as_v5* VM or<br>*Standard_D2_v5* VM, with: <br>- Two cores<br>- 8-GB RAM<br><br>**Multiple connectors**:<br>*Standard_D4as_v5* or<br>*Standard_D4_v5* VM, with: <br>- Four cores<br>- 16-GB RAM | | **Administrative privileges** | Administrative privileges (root) are required on the container host machine. |
-| **Supported Linux versions** | The SAP data connector agent is tested with the following Linux distributions:<br>- Ubuntu 18.04 or higher<br>- SLES version 15 or higher<br>- RHEL version 7.7 or higher<br><br>If you have a different operating system, you might need to deploy and configure the container manually. For more information, open a support ticket. |
| **Network connectivity** | Ensure that the container host has access to: <br>- Microsoft Sentinel <br>- Azure key vault (in deployment scenario where Azure key vault is used to store secrets<br>- SAP system via the following TCP ports: *32xx*, *5xx13*, *33xx*, *48xx* (when SNC is used), where *xx* is the SAP instance number. | | **Software utilities** | The [SAP data connector deployment script](reference-kickstart.md) installs the following required software on the container host VM (depending on the Linux distribution used, the list might vary slightly): <br>- [Unzip](http://infozip.sourceforge.net/UnZip.html)<br>- [NetCat](https://sectools.org/tool/netcat/)<br>- [Docker](https://www.docker.com/)<br>- [jq](https://stedolan.github.io/jq/)<br>- [curl](https://curl.se/) |
-| **Managed identity or service principal** | The latest version of the SAP data connector agent requires a managed identity or service principal to authenticate to Microsoft Sentinel. <br><br>Legacy agents are supported for updates to the latest version, and then must use a managed identity or service principal to continue updating to subsequent versions. |
+| **Managed identity or service principal** | The latest version of the SAP data connector agent requires a [managed identity](/entra/identity/managed-identities-azure-resources/) or [service principal](/entra/identity-platform/app-objects-and-service-principals?tabs=browser) to authenticate to Microsoft Sentinel. <br><br>Legacy agents are supported for updates to the latest version, and then must use a managed identity or service principal to continue updating to subsequent versions. |
+## SAP prerequisites
-### SAP prerequisites
+We recommend that your **SAP BASIS** team verify and ensure SAP system prerequisites. We strongly recommend that any management of your SAP system is carried out by an experienced SAP system administrator.
| Prerequisite | Description | | - | -- | | **Supported SAP versions** | The SAP data connector agent support SAP NetWeaver systems and was tested on [SAP_BASIS versions 731](https://support.sap.com/en/my-support/software-downloads/support-package-stacks/product-versions.html#:~:text=SAP%20NetWeaver%20%20%20%20SAP%20Product%20Version,%20%20SAPKB710%3Cxx%3E%20%207%20more%20rows) and above. <br><br>Certain steps in this tutorial provide alternative instructions if you're working on the older [SAP_BASIS version 740](https://support.sap.com/en/my-support/software-downloads/support-package-stacks/product-versions.html#:~:text=SAP%20NetWeaver%20%20%20%20SAP%20Product%20Version,%20%20SAPKB710%3Cxx%3E%20%207%20more%20rows). | | **Required software** | SAP NetWeaver RFC SDK 7.50 ([Download here](https://aka.ms/sentinel4sapsdk))<br>Make sure that you also have an SAP user account in order to access the SAP software download page. |
-| **SAP system details** | Make a note of the following SAP system details for use in this tutorial:<br>- SAP system IP address and FQDN hostname<br>- SAP system number, such as `00`<br>- SAP System ID, from the SAP NetWeaver system (for example, `NPL`) <br>- SAP client ID, such as `001` |
-| **SAP NetWeaver instance access** | The SAP data connector agent uses one of the following mechanisms to authenticate to the SAP system: <br>- SAP ABAP user/password<br>- A user with an X.509 certificate (This option requires extra configuration steps) |
-
-## SAP environment validation steps
-
-> [!NOTE]
->
-> Step-by-step instructions for deploying a CR and assigning the required role are available in the [**Deploying SAP CRs and configuring authorization**](preparing-sap.md) guide. Determine which CRs need to be deployed, retrieve the relevant CRs from the links in the tables below, and proceed to the step-by-step guide.
--- [Create and configure a role (required)](#create-and-configure-a-role-required)-- [Retrieve additional information from SAP (optional)](#retrieve-additional-information-from-sap-optional)-
-### Create and configure a role (required)
-
-To allow the SAP data connector to connect to your SAP system, you must create a role. Create the role by loading the role authorizations from the [**/MSFTSEN/SENTINEL_RESPONDER**](https://aka.ms/SAP_Sentinel_Responder_Role) file.
-
-The **/MSFTSEN/SENTINEL_RESPONDER** role includes both log retrieval and [attack disruption response actions](https://aka.ms/attack-disrupt-defender). To enable only log retrieval, without attack disruption response actions, either deploy the SAP *NPLK900271* CR on the SAP system, or load the role authorizations from the [**MSFTSEN_SENTINEL_CONNECTOR**](https://aka.ms/SAP_Sentinel_Connector_Role) file. The **/MSFTSEN/SENTINEL_CONNECTOR** role that has all the basic permissions for the data connector to operate.
-
-| SAP BASIS versions | Sample CR |
-| | |
-| Any version | *NPLK900271*: [K900271.NPL](https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Solutions/SAP/CR/K900271.NPL), [R900271.NPL](https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Solutions/SAP/CR/R900271.NPL) |
-
-Experienced SAP administrators might choose to create the role manually and assign it the appropriate permissions. In such cases, make sure to follow the recommended authorizations for each log. For more information, see [Required ABAP authorizations](preparing-sap.md#required-abap-authorizations).
-
-### Retrieve additional information from SAP (optional)
-
-You can deploy extra CRs from the [Microsoft Sentinel GitHub repository](https://github.com/Azure/Azure-Sentinel/tree/master/Solutions/SAP/CR) to enable the SAP data connector to retrieve certain information from your SAP system.
-- **SAP BASIS 7.5 SP12 and above**: Client IP Address information from security audit log-- **ANY SAP BASIS version**: DB Table logs, Spool Output log-
-| SAP BASIS versions | Recommended CR |Notes |
-| | | |
-| - 750 and later | *NPLK900202*: [K900202.NPL](https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Solutions/SAP/CR/K900202.NPL), [R900202.NPL](https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Solutions/SAP/CR/R900202.NPL) | Deploy the relevant [SAP note](#deploy-sap-note-optional). |
-| - 740 | *NPLK900201*: [K900201.NPL](https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Solutions/SAP/CR/K900201.NPL), [R900201.NPL](https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Solutions/SAP/CR/R900201.NPL) | |
+| **SAP system details** | Make a note of the following SAP system details: <br>- SAP system IP address and FQDN hostname<br>- SAP system number, such as `00`<br>- SAP System ID, from the SAP NetWeaver system (for example, `NPL`) <br>- SAP client ID, such as `001` |
+| **SAP NetWeaver instance access** | The SAP data connector agent uses one of the following mechanisms to authenticate to the SAP system: <br>- SAP ABAP user/password<br>- A user with an X.509 certificate. This option requires extra configuration steps. For more information, see [Configure your system to use SNC for secure connections](preparing-sap.md#configure-your-system-to-use-snc-for-secure-connections).|
+| **SAP role requirements** | To allow the SAP data connector to connect to your SAP system, you must create an SAP system role. We recommend creating the required system role by deploying the SAP *NPLK900271* change request (CR). For more information, see [Configure the Microsoft Sentinel role](preparing-sap.md#configure-the-microsoft-sentinel-role).|
+| **Recommended CRs for extra support** | Deploy recommended CRs on your SAP system to retrieve extra details, such as client IP address and extra logs. For more information, see [Configure support for extra data retrieval (recommended)](preparing-sap.md#configure-support-for-extra-data-retrieval-recommended). |
-#### Deploy SAP note (optional)
+## Plan your ingestion
-If you choose to retrieve additional information with the [NPLK900202 optional CR](#retrieve-additional-information-from-sap-optional), ensure that the following SAP note is deployed in your SAP system, according to its version:
+We recommend that you test your systems to determine the number of logs that each of your SAP systems sends to Microsoft Sentinel. Microsoft Sentinel billing depends on log ingestion size, which in turn depends on factors such as system usage, modules deployed, number of users, running use cases, network traffic, and log types.
-| SAP BASIS versions | Notes |
-| | |
-| - 750 SP04 to SP12<br>- 751 SP00 to SP06<br>- 752 SP00 to SP02 | [2641084 - Standardized read access to data of Security Audit Log](https://launchpad.support.sap.com/#/notes/2641084)* |
+For more information, see:
-## Next steps
+- [Solution pricing](solution-overview.md#solution-pricing)
+- [Plan costs and understand Microsoft Sentinel pricing and billing](../billing.md)
+- [Reduce costs for Microsoft Sentinel](../billing-reduce-costs.md)
+- [Manage and monitor costs for Microsoft Sentinel](../billing-monitor-costs.md)
-After verifying that all the prerequisites are met, proceed to the next step to deploy the required CRs to your SAP system and configure authorization.
+## Next step
> [!div class="nextstepaction"]
-> [Deploying SAP CRs and configuring authorization](preparing-sap.md)
+> [Install the Microsoft Sentinel solution for SAP applications](deploy-sap-security-content.md)
sentinel Reference Kickstart https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/sentinel/sap/reference-kickstart.md
Title: Microsoft Sentinel solution for SAP® applications container kickstart deployment script reference | Microsoft Docs
+ Title: Kickstart deployment script reference for the Microsoft Sentinel for SAP applications data connector agent
description: Description of command line options available with kickstart deployment script Previously updated : 04/03/2024-- Last updated : 09/15/2024
+appliesto:
+ - Microsoft Sentinel in the Azure portal
+ - Microsoft Sentinel in the Microsoft Defender portal
+ #Customer intent: As an SAP BASIS team member, I want to understand the options in the kickstart script used to deploy and configure a container hosting the SAP data connector, so that I can streamline the setup process and manage secrets storage and network configurations efficiently.
-# Kickstart script reference
-
-## Script overview
+# Kickstart deployment script reference for the Microsoft Sentinel for SAP applications data connector agent
-Simplify the [deployment of the container hosting the SAP data connector](deploy-data-connector-agent-container.md) by using the provided **Kickstart script** (available at [Microsoft Sentinel solution for SAP® applications GitHub](https://github.com/Azure/Azure-Sentinel/tree/master/Solutions/SAP)), which can also enable different modes of secrets storage, configure Secure Network Communications (SNC), and more.
+This article provides a reference of the configurable parameters available in the kickstart script used to the deploy the Microsoft Sentinel for SAP applications data connector agent.
-## Parameter reference
+For more information, see [Deploy and configure the container hosting the SAP data connector agent](deploy-data-connector-agent-container.md).
-The following parameters are configurable. You can see examples of how these parameters are used in [Deploy and configure the container hosting the SAP data connector agent](deploy-data-connector-agent-container.md).
+Content in this article is intended for your **SAP BASIS** teams.
-#### Secret storage location
+## Secret storage location
**Parameter name:** `--keymode`
The following parameters are configurable. You can see examples of how these par
**Required:** No. `kvmi` is assumed by default.
-**Explanation:** Specifies whether secrets (username, password, log analytics ID, and shared key) should be stored in local configuration file, or in Azure Key Vault. Also controls whether authentication to Azure Key Vault is done using the VM's Azure system-assigned managed identity or a Microsoft Entra registered-application identity.
+**Description:** Specifies whether secrets (username, password, log analytics ID, and shared key) should be stored in local configuration file, or in Azure Key Vault. Also controls whether authentication to Azure Key Vault is done using the VM's Azure system-assigned managed identity or a Microsoft Entra registered-application identity.
If set to `kvmi`, Azure Key Vault is used to store secrets, and authentication to Azure Key Vault is done using the virtual machine's Azure system-assigned managed identity.
If set to `kvsi`, Azure Key Vault is used to store secrets, and authentication t
If set to `cfgf`, the configuration file stored locally is used to store secrets.
-#### ABAP server connection mode
+## ABAP server connection mode
**Parameter name:** `--connectionmode`
If set to `cfgf`, the configuration file stored locally is used to store secrets
**Required:** No. If not specified, the default is `abap`.
-**Explanation:** Defines whether the data collector agent should connect to the ABAP server directly, or through a message server. Use `abap` to have the agent connect directly to the ABAP server, whose name you can define using the `--abapserver` parameter (though if you don't, [you're still prompted for it](#abap-server-address)). Use `mserv` to connect through a message server, in which case you **must** specify the `--messageserverhost`, `--messageserverport`, and `--logongroup` parameters.
+**Description:** Defines whether the data collector agent should connect to the ABAP server directly, or through a message server. Use `abap` to have the agent connect directly to the ABAP server, whose name you can define using the `--abapserver` parameter. If you don't define the name ahead of time, the script prompts you for it. Use `mserv` to connect through a message server, in which case you **must** specify the `--messageserverhost`, `--messageserverport`, and `--logongroup` parameters.
-#### Configuration folder location
+## Configuration folder location
**Parameter name:** `--configpath`
If set to `cfgf`, the configuration file stored locally is used to store secrets
**Required:** No, `/opt/sapcon/<SID>` is assumed if not specified.
-**Explanation:** By default kickstart initializes configuration file, metadata location to `/opt/sapcon/<SID>`. To set alternate location of configuration and metadata, use the `--configpath` parameter.
+**Description:** By default kickstart initializes configuration file, metadata location to `/opt/sapcon/<SID>`. To set alternate location of configuration and metadata, use the `--configpath` parameter.
-#### ABAP server address
+## ABAP server address
**Parameter name:** `--abapserver` **Parameter values:** `<servername>`
-**Required:** No. If the parameter isn't specified and if the [ABAP server connection mode](#abap-server-connection-mode) parameter is set to `abap`, you're prompted for the server hostname/IP address.
+**Required:** No. If the parameter isn't specified and if the [ABAP server connection mode](#abap-server-connection-mode) parameter is set to `abap`, the script prompts you for the server hostname/IP address.
-**Explanation:** Used only if the connection mode is set to `abap`, this parameter contains the Fully Qualified Domain Name (FQDN), short name, or IP address of the ABAP server to connect to.
+**Description:** Used only if the connection mode is set to `abap`, this parameter contains the Fully Qualified Domain Name (FQDN), short name, or IP address of the ABAP server to connect to.
-#### System instance number
+## System instance number
**Parameter name:** `--systemnr`
If set to `cfgf`, the configuration file stored locally is used to store secrets
**Required:** No. If not specified, the user is prompted for the system number.
-**Explanation:** Specifies the SAP system instance number to connect to.
+**Description:** Specifies the SAP system instance number to connect to.
-#### System ID
+## System ID
**Parameter name:** `--sid`
If set to `cfgf`, the configuration file stored locally is used to store secrets
**Required:** No. If not specified, the user is prompted for the system ID.
-**Explanation:** Specifies the SAP system ID to connect to.
+**Description:** Specifies the SAP system ID to connect to.
-#### Client number
+## Client number
**Parameter name:** `--clientnumber`
If set to `cfgf`, the configuration file stored locally is used to store secrets
**Required:** No. If not specified, the user is prompted for the client number.
-**Explanation:** Specifies the client number to connect to.
+**Description:** Specifies the client number to connect to.
-#### Message Server Host
+## Message Server Host
**Parameter name:** `--messageserverhost`
If set to `cfgf`, the configuration file stored locally is used to store secrets
**Required:** Yes, if [ABAP server connection mode](#abap-server-connection-mode) is set to `mserv`.
-**Explanation:** Specifies the hostname/ip address of the message server to connect to. Can **only** be used if [ABAP server connection mode](#abap-server-connection-mode) is set to `mserv`.
+**Description:** Specifies the hostname/ip address of the message server to connect to. Can **only** be used if [ABAP server connection mode](#abap-server-connection-mode) is set to `mserv`.
-#### Message Server Port
+## Message Server Port
**Parameter name:** `--messageserverport`
If set to `cfgf`, the configuration file stored locally is used to store secrets
**Required:** Yes, if [ABAP server connection mode](#abap-server-connection-mode) is set to `mserv`.
-**Explanation:** Specifies the service name (port) of the message server to connect to. Can **only** be used if [ABAP server connection mode](#abap-server-connection-mode) is set to `mserv`.
+**Description:** Specifies the service name (port) of the message server to connect to. Can **only** be used if [ABAP server connection mode](#abap-server-connection-mode) is set to `mserv`.
-#### Logon group
+## Logon group
**Parameter name:** `--logongroup`
If set to `cfgf`, the configuration file stored locally is used to store secrets
**Required:** Yes, if [ABAP server connection mode](#abap-server-connection-mode) is set to `mserv`.
-**Explanation:** Specifies the sign-in group to use when connecting to a message server. Can be used **only** if [ABAP server connection mode](#abap-server-connection-mode) is set to `mserv`. If the logon group name contains spaces, they should be passed in double quotes, as in the example `--logongroup "my logon group"`.
+**Description:** Specifies the sign-in group to use when connecting to a message server. Can be used **only** if [ABAP server connection mode](#abap-server-connection-mode) is set to `mserv`. If the logon group name contains spaces, they should be passed in double quotes, as in the example `--logongroup "my logon group"`.
-#### Logon username
+## Logon username
**Parameter name:** `--sapusername`
If set to `cfgf`, the configuration file stored locally is used to store secrets
**Required:** No. If not supplied, the user is prompted for the username if they are **not** using SNC (X.509) for authentication.
-**Explanation:** Username used to authenticate to ABAP server.
+**Description:** Username used to authenticate to ABAP server.
-#### Logon password
+## Logon password
**Parameter name:** `--sappassword`
If set to `cfgf`, the configuration file stored locally is used to store secrets
**Required:** No. If not supplied, the user is prompted for the password, if they're **not** using SNC (X.509) for authentication. Password input is masked.
-**Explanation:** Password used to authenticate to ABAP server.
+**Description:** Password used to authenticate to ABAP server.
-#### NetWeaver SDK file location
+## NetWeaver SDK file location
**Parameter name:** `--sdk`
If set to `cfgf`, the configuration file stored locally is used to store secrets
**Required:** No. The script attempts to locate the nwrfc*.zip file in the current folder. If it isn't found, the user is prompted to supply a valid NetWeaver SDK archive file.
-**Explanation:** NetWeaver SDK file path. A valid SDK is required for the data collector to operate. For more information, see [Prerequisites for deploying Microsoft Sentinel solution for SAP® applications](prerequisites-for-deploying-sap-continuous-threat-monitoring.md#table-of-prerequisites).
+**Description:** NetWeaver SDK file path. A valid SDK is required for the data collector to operate. For more information, see [SAP prerequisites](prerequisites-for-deploying-sap-continuous-threat-monitoring.md#sap-prerequisites).
-#### Enterprise Application ID
+## Enterprise Application ID
**Parameter name:** `--appid`
If set to `cfgf`, the configuration file stored locally is used to store secrets
**Required:** Yes, if [Secret storage location](#secret-storage-location) is set to `kvsi`.
-**Explanation:** When Azure Key Vault authentication mode is set to `kvsi`, authentication to key vault is done using an [enterprise application (service principal) identity](deploy-data-connector-agent-container.md?tabs=registered-application#create-a-virtual-machine-and-configure-access-to-your-credentials). This parameter specifies the application ID.
+**Description:** When Azure Key Vault authentication mode is set to `kvsi`, authentication to key vault is done using an [enterprise application (service principal) identity](deploy-data-connector-agent-container.md?tabs=registered-application#create-a-virtual-machine-and-configure-access-to-your-credentials). This parameter specifies the application ID.
-#### Enterprise Application secret
+## Enterprise Application secret
**Parameter name:** `--appsecret`
If set to `cfgf`, the configuration file stored locally is used to store secrets
**Required:** Yes, if [Secret storage location](#secret-storage-location) is set to `kvsi`.
-**Explanation:** When Azure Key Vault authentication mode is set to `kvsi`, authentication to key vault is done using an [enterprise application (service principal) identity](deploy-data-connector-agent-container.md?tabs=registered-application#create-a-virtual-machine-and-configure-access-to-your-credentials). This parameter specifies the application secret.
+**Description:** When Azure Key Vault authentication mode is set to `kvsi`, authentication to key vault is done using an [enterprise application (service principal) identity](deploy-data-connector-agent-container.md?tabs=registered-application#create-a-virtual-machine-and-configure-access-to-your-credentials). This parameter specifies the application secret.
-#### Tenant ID
+## Tenant ID
**Parameter name:** `--tenantid`
If set to `cfgf`, the configuration file stored locally is used to store secrets
**Required:** Yes, if [Secret storage location](#secret-storage-location) is set to `kvsi`.
-**Explanation:** When Azure Key Vault authentication mode is set to `kvsi`, authentication to key vault is done using an [enterprise application (service principal) identity](deploy-data-connector-agent-container.md?tabs=registered-application#create-a-virtual-machine-and-configure-access-to-your-credentials). This parameter specifies the Microsoft Entra tenant ID.
+**Description:** When Azure Key Vault authentication mode is set to `kvsi`, authentication to key vault is done using an [enterprise application (service principal) identity](deploy-data-connector-agent-container.md?tabs=registered-application#create-a-virtual-machine-and-configure-access-to-your-credentials). This parameter specifies the Microsoft Entra tenant ID.
-#### Key Vault Name
+## Key Vault Name
**Parameter name:** `--kvaultname`
If set to `cfgf`, the configuration file stored locally is used to store secrets
**Required:** No. If [Secret storage location](#secret-storage-location) is set to `kvsi` or `kvmi`, the script prompts for the value if not supplied.
-**Explanation:** If [Secret storage location](#secret-storage-location) is set to `kvsi` or `kvmi`, the key vault name (in FQDN format) should be entered here.
+**Description:** If [Secret storage location](#secret-storage-location) is set to `kvsi` or `kvmi`, the key vault name (in FQDN format) should be entered here.
-#### Log Analytics workspace ID
+## Log Analytics workspace ID
**Parameter name:** `--loganalyticswsid`
If set to `cfgf`, the configuration file stored locally is used to store secrets
**Required:** No. If not supplied, the script prompts for the workspace ID.
-**Explanation:** Log Analytics workspace ID where the data collector sends the data to. To locate the workspace ID, locate the Log Analytics workspace in the Azure portal: open Microsoft Sentinel, select **Settings** in the **Configuration** section, select **Workspace settings**, then select **Agents Management**.
+**Description:** Log Analytics workspace ID where the data collector sends the data to. To locate the workspace ID, locate the Log Analytics workspace in the Azure portal: open Microsoft Sentinel, select **Settings** in the **Configuration** section, select **Workspace settings**, then select **Agents Management**.
-#### Log Analytics key
+## Log Analytics key
**Parameter name:** `--loganalyticskey`
If set to `cfgf`, the configuration file stored locally is used to store secrets
**Required:** No. If not supplied, script prompts for the workspace key. Input is masked.
-**Explanation:** Primary or secondary key of the Log Analytics workspace where the data collector sends the data to. To locate the workspace Primary or Secondary Key, locate the Log Analytics workspace in Azure portal: open Microsoft Sentinel, select **Settings** in the **Configuration** section, select **Workspace settings**, then select **Agents Management**.
+**Description:** Primary or secondary key of the Log Analytics workspace where the data collector sends the data to. To locate the workspace Primary or Secondary Key, locate the Log Analytics workspace in Azure portal: open Microsoft Sentinel, select **Settings** in the **Configuration** section, select **Workspace settings**, then select **Agents Management**.
-#### Use X.509 (SNC) for authentication
+## Use X.509 (SNC) for authentication
**Parameter name:** `--use-snc`
If set to `cfgf`, the configuration file stored locally is used to store secrets
**Required:** No. If not specified, the username and password is used for authentication. If specified, `--cryptolib`, `--sapgenpse`, combination of either `--client-cert` and `--client-key`, or `--client-pfx` and `--client-pfx-passwd` as well as `--server-cert`, and in certain cases `--cacert` switches is required.
-**Explanation:** Specifies that X.509 authentication is used to connect to ABAP server, rather than username/password authentication. For more information, see [Deploy the Microsoft Sentinel for SAP data connector by using SNC](configure-snc.md).
+**Description:** Specifies that X.509 authentication is used to connect to ABAP server, rather than username/password authentication. For more information, see [Configure your system to use SNC for secure connections](preparing-sap.md#configure-your-system-to-use-snc-for-secure-connections).
-#### SAP Cryptographic library path
+## SAP Cryptographic library path
**Parameter name:** `--cryptolib`
If set to `cfgf`, the configuration file stored locally is used to store secrets
**Required:** Yes, if `--use-snc` is specified.
-**Explanation:** Location and filename of SAP Cryptographic library (libsapcrypto.so).
+**Description:** Location and filename of SAP Cryptographic library (libsapcrypto.so).
-#### SAPGENPSE tool path
+## SAPGENPSE tool path
**Parameter name:** `--sapgenpse`
If set to `cfgf`, the configuration file stored locally is used to store secrets
**Required:** Yes, if `--use-snc` is specified.
-**Explanation:** Location and filename of the sapgenpse tool for creation and management of PSE-files and SSO-credentials.
+**Description:** Location and filename of the **sapgenpse** tool for creation and management of PSE-files and SSO-credentials.
-#### Client certificate public key path
+## Client certificate public key path
**Parameter name:** `--client-cert`
If set to `cfgf`, the configuration file stored locally is used to store secrets
**Required:** Yes, if `--use-snc` **and** certificate is in .crt/.key base-64 format.
-**Explanation:** Location and filename of the base-64 client public certificate. If client certificate is in .pfx format, use `--client-pfx` switch instead.
+**Description:** Location and filename of the base-64 client public certificate. If the client certificate is in .pfx format, use `--client-pfx` switch instead.
-#### Client certificate private key path
+## Client certificate private key path
**Parameter name:** `--client-key`
If set to `cfgf`, the configuration file stored locally is used to store secrets
**Required:** Yes, if `--use-snc` is specified **and** key is in .crt/.key base-64 format.
-**Explanation:** Location and filename of the base-64 client private key. If client certificate is in .pfx format, use `--client-pfx` switch instead.
+**Description:** Location and filename of the base-64 client private key. If the client certificate is in .pfx format, use `--client-pfx` switch instead.
-#### Issuing/root Certification Authority certificates
+## Issuing/root Certification Authority certificates
**Parameter name:** `--cacert`
If set to `cfgf`, the configuration file stored locally is used to store secrets
**Required:** Yes, if `--use-snc` is specified **and** the certificate is issued by an enterprise certification authority.
-**Explanation:** If the certificate is self-signed, it has no issuing CA, so there's no trust chain that needs to be validated. If the certificate is issued by an enterprise CA, the issuing CA certificate and any higher-level CA certificates need to be validated. Use separate instances of the `--cacert` switch for each CA in the trust chain, and supply the full filenames of the public certificates of the enterprise certificate authorities.
+**Description:** If the certificate is self-signed, it has no issuing CA, so there's no trust chain that needs to be validated.
-#### Client PFX certificate path
+If the certificate is issued by an enterprise CA, the issuing CA certificate and any higher-level CA certificates need to be validated. Use separate instances of the `--cacert` switch for each CA in the trust chain, and supply the full filenames of the public certificates of the enterprise certificate authorities.
+
+## Client PFX certificate path
**Parameter name:** `--client-pfx`
If set to `cfgf`, the configuration file stored locally is used to store secrets
**Required:** Yes, if `--use-snc` **and** key is in .pfx/.p12 format.
-**Explanation:** Location and filename of the pfx client certificate.
+**Description:** Location and filename of the pfx client certificate.
-#### Client PFX certificate password
+## Client PFX certificate password
**Parameter name:** `--client-pfx-passwd`
If set to `cfgf`, the configuration file stored locally is used to store secrets
**Required:** Yes, if `--use-snc` is used, certificate is in .pfx/.p12 format, and certificate is protected by a password.
-**Explanation:** PFX/P12 file password.
+**Description:** PFX/P12 file password.
-#### Server certificate
+## Server certificate
**Parameter name:** `--server-cert`
If set to `cfgf`, the configuration file stored locally is used to store secrets
**Required:** Yes, if `--use-snc` is used.
-**Explanation:** ABAP server certificate full path and name.
+**Description:** ABAP server certificate full path and name.
-#### HTTP proxy server URL
+## HTTP proxy server URL
**Parameter name:** `--http-proxy`
If set to `cfgf`, the configuration file stored locally is used to store secrets
**Required:** No
-**Explanation:** Containers that can't establish connection to Microsoft Azure services directly and require connection via a proxy server require `--http-proxy` switch to define proxy url for the container. Format of the proxy url is `http://hostname:port`.
+**Description:** Containers that can't establish a connection to Microsoft Azure services directly and require a connection via a proxy server, also require an `--http-proxy` switch to define the proxy URL for the container. The format for the proxy URL is `http://hostname:port`.
-#### Host Based Networking
+## Host-based networking
**Parameter name:** `--hostnetwork` **Required:** No.
-**Explanation:** If this switch is specified, the agent uses host-based networking configuration. This can solve internal DNS resolution issues in some cases.
+**Description:** If the `hostnetwork` switch is specified, the agent uses a host-based networking configuration. This can solve internal DNS resolution issues in some cases.
-#### Confirm all prompts
+## Confirm all prompts
**Parameter name:** `--confirm-all-prompts`
If set to `cfgf`, the configuration file stored locally is used to store secrets
**Required:** No
-**Explanation:** If the `--confirm-all-prompts` switch is specified, the script doesn't pause for any user confirmations and only prompts if user input is required. Use `--confirm-all-prompts` switch to achieve a zero-touch deployment.
+**Description:** If the `--confirm-all-prompts` switch is specified, the script doesn't pause for any user confirmations, and only prompts if user input is required. Use the `--confirm-all-prompts` switch for a zero-touch deployment.
-#### Use preview build of the container
+## Use preview build of the container
**Parameter name:** `--preview`
If set to `cfgf`, the configuration file stored locally is used to store secrets
**Required:** No
-**Explanation:** By default, container deployment kickstart script deploys the container with the `:latest` tag. Public preview features are published to the `:latest-preview` tag. To ensure container deployment script uses public preview version of the container, specify the `--preview` switch.
+**Description:** By default, the container deployment kickstart script deploys the container with the `:latest` tag. Public preview features are published to the `:latest-preview` tag. To have the container deployment script uses the public preview version of the container, specify the `--preview` switch.
-## Next steps
+## Related content
-Learn more about the Microsoft Sentinel solution for SAP® applications:
+For more information, see:
-- [Deploy Microsoft Sentinel solution for SAP® applications](deployment-overview.md)-- [Prerequisites for deploying Microsoft Sentinel solution for SAP® applications](prerequisites-for-deploying-sap-continuous-threat-monitoring.md)-- [Deploy SAP Change Requests (CRs) and configure authorization](preparing-sap.md)-- [Deploy the solution content from the content hub](deploy-sap-security-content.md) - [Deploy and configure the container hosting the SAP data connector agent](deploy-data-connector-agent-container.md)-- [Deploy the Microsoft Sentinel for SAP data connector with SNC](configure-snc.md)-- [Monitor the health of your SAP system](../monitor-sap-system-health.md)-- [Enable and configure SAP auditing](configure-audit.md)-- [Collect SAP HANA audit logs](collect-sap-hana-audit-logs.md)-
-Troubleshooting:
--- [Troubleshoot your Microsoft Sentinel solution for SAP® applications solution deployment](sap-deploy-troubleshoot.md)-
-Reference files:
--- [Microsoft Sentinel solution for SAP® applications data reference](sap-solution-log-reference.md)-- [Microsoft Sentinel solution for SAP® applications: security content reference](sap-solution-security-content.md)-- [Update script reference](reference-update.md)-- [Systemconfig.ini file reference](reference-systemconfig.md)-
-For more information, see [Microsoft Sentinel solutions](../sentinel-solutions.md).
+- [Troubleshoot your Microsoft Sentinel solution for SAP applications solution deployment](sap-deploy-troubleshoot.md)
+- [Systemconfig.json file reference](reference-systemconfig-json.md)
sentinel Reference Systemconfig Json https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/sentinel/sap/reference-systemconfig-json.md
Title: Microsoft Sentinel solution for SAP® applications systemconfig.json container configuration file reference
-description: Description of settings available in systemconfig.json file
+ Title: Microsoft Sentinel solution for SAP applications systemconfig.json file reference
+description: Learn about the settings available in Microsoft Sentinel for SAP applications systemconfig.json file.
Previously updated : 06/03/2023-- Last updated : 09/15/2024
+appliesto:
+ - Microsoft Sentinel in the Azure portal
+ - Microsoft Sentinel in the Microsoft Defender portal
+ #Customer intent: As an SAP BASIS team member, I want to understand the configuration options in the systemconfig.json file so that I can properly set up and manage the data collector for SAP applications.
-# Systemconfig.json file reference
+# Microsoft Sentinel solution for SAP applications `systemconfig.json` file reference
+
+The *systemconfig.json* file is used to configure the behavior of the Microsoft Sentinel for SAP applications data connector agent. This article describes the options available in each section of the configuration file.
-The *systemconfig.json* file is used to configure behavior of the data collector. Configuration options are grouped into several sections. This article lists options available and provides an explanation to the options.
+Content in this article is intended for your **SAP BASIS** teams.
> [!IMPORTANT]
-> Microsoft Sentinel solution for SAP® applications uses the new *systemconfig.json* file for agent versions released on or after June 22, 2023. For previous agent versions, you must still use the *[systemconfig.ini file](reference-systemconfig.md)*.
+> Microsoft Sentinel solution for SAP applications uses the *systemconfig.json* file for agent versions released on or after June 22, 2023. For previous agent versions, you must still use the *[systemconfig.ini file](reference-systemconfig.md)*.
-## File structure
+## Overall file structure
+
+The following code shows the overall structure of the `systemconfig.json` file:
```json {
The *systemconfig.json* file is used to configure behavior of the data collector
} ```
-## Systemconfig configuration file sections
+The following table describes each overall section in the `systemconfig.json` file:
| Section name | Description | | | -- |
-| [Secrets Source](#secrets-source-section) | This section defines where credentials are stored. |
-| [ABAP Central Instance](#abap-central-instance-section) | This section defines general options of the SAP instance to connect to. |
-| [Azure Credentials](#azure-credentials-section) | This section defines credentials to connect to Azure Log Analytics. |
-| [File Extraction ABAP](#file-extraction-abap-section) | This section defines logs and credentials that are extracted from ABAP server using SAPControl interface. |
-| [File Extraction JAVA](#file-extraction-java-section) | This section defines logs and credentials that are extracted from JAVA server using SAPControl interface. |
-| [Logs Activation Status](#logs-activation-status-section) | This section defines which logs are extracted from ABAP. |
-| [Connector Configuration](#connector-configuration-section) | This section defines miscellaneous connector options. |
-| [ABAP Table Selector](#abap-table-selector-section) | This section defines which User Master Data logs get extracted from the ABAP system. |
+| [Secrets source](#secrets-source) | Defines where credentials are stored. |
+| [ABAP central instance](#abap-central-instance) | Defines general options of the SAP instance to connect to. |
+| [Azure credentials](#azure-credentials) | Defines credentials to connect to Azure Log Analytics. |
+| [File extraction ABAP](#file-extraction-abap) | Defines logs and credentials that are extracted from ABAP servers using the SAPControl interface. |
+| [File extraction JAVA](#file-extraction-java) | Defines logs and credentials that are extracted from JAVA servers using the SAPControl interface. |
+| [Logs activation status](#logs-activation-status) | Defines which logs are extracted from ABAP. |
+| [Connector configuration](#connector-configuration) | Defines miscellaneous connector options. |
+| [ABAP table selector](#abap-table-selector) | Defines which user master data logs get extracted from the ABAP system. |
-## Secrets Source section
+## Secrets source
> [!NOTE] > Remove all comments before you use this file for configuration and deployment.
The *systemconfig.json* file is used to configure behavior of the data collector
"secrets": "AZURE_KEY_VAULT|DOCKER_FIXED", # Storage location of SAP credentials and Log Analytics workspace ID and key # AZURE_KEY_VAULT - store in an Azure Key Vault. Requires keyvault option and intprefix option
- # DOCKER_FIXED - store in systemconfig.ini file. Requires user, passwd, loganalyticswsid and publickey options
+ # DOCKER_FIXED - store in systemconfig.json file. Requires user, passwd, loganalyticswsid and publickey options
"keyvault": "<vaultname>", # Azure Keyvault name, in case secrets = AZURE_KEY_VAULT
The *systemconfig.json* file is used to configure behavior of the data collector
}, ```
-## ABAP Central Instance section
+## ABAP central instance
> [!NOTE] > Remove all comments before you use this file for configuration and deployment.
The *systemconfig.json* file is used to configure behavior of the data collector
}, ```
-## Azure Credentials section
+## Azure credentials
> [!NOTE] > Remove all comments before you use this file for configuration and deployment.
The *systemconfig.json* file is used to configure behavior of the data collector
}, ```
-## File Extraction ABAP section
+## File extraction ABAP
> [!NOTE] > Remove all comments before you use this file for configuration and deployment.
The *systemconfig.json* file is used to configure behavior of the data collector
}, ```
-## File Extraction JAVA section
+## File extraction JAVA
> [!NOTE] > Remove all comments before you use this file for configuration and deployment.
The *systemconfig.json* file is used to configure behavior of the data collector
}, ```
-### Logs Activation Status section
+## Logs activation status
> [!NOTE] > Remove all comments before you use this file for configuration and deployment.
The *systemconfig.json* file is used to configure behavior of the data collector
"JAVAFilesLogs": "<True/False>", ```
-### Connector Configuration section
+## Connector configuration
> [!NOTE] > Remove all comments before you use this file for configuration and deployment.
The *systemconfig.json* file is used to configure behavior of the data collector
}, ```
-### ABAP Table Selector section
+## ABAP table selector
> [!NOTE] > Remove all comments before you use this file for configuration and deployment.
The *systemconfig.json* file is used to configure behavior of the data collector
"AGR_DEFINE_FULL": "<True/False>", "AGR_DEFINE_INCREMENTAL": "<True/False>", "PAHI_FULL": "<True/False>",
+ "PAHI_INCREMENTAL": "<True/False>",
"AGR_AGRS_FULL": "<True/False>", "USRSTAMP_FULL": "<True/False>", "USRSTAMP_INCREMENTAL": "<True/False>",
The *systemconfig.json* file is used to configure behavior of the data collector
"USRACL_FULL": "<True/False>" } ```
-## Next steps
-
-Learn more about the Microsoft Sentinel solution for SAP® applications:
-- [Deploy Microsoft Sentinel solution for SAP® applications](deployment-overview.md)-- [Prerequisites for deploying Microsoft Sentinel solution for SAP® applications](prerequisites-for-deploying-sap-continuous-threat-monitoring.md)-- [Deploy SAP Change Requests (CRs) and configure authorization](preparing-sap.md)-- [Deploy and configure the container hosting the SAP data connector agent](deploy-data-connector-agent-container.md)-- [Deploy SAP security content](deploy-sap-security-content.md)-- [Deploy the Microsoft Sentinel for SAP data connector with SNC](configure-snc.md)-- [Monitor the health of your SAP system](../monitor-sap-system-health.md)-- [Enable and configure SAP auditing](configure-audit.md)-- [Collect SAP HANA audit logs](collect-sap-hana-audit-logs.md)-
-Troubleshooting:
--- [Troubleshoot your Microsoft Sentinel solution for SAP® applications solution deployment](sap-deploy-troubleshoot.md)
+## Related content
-Reference files:
+For more information, see:
-- [Microsoft Sentinel solution for SAP® applications data reference](sap-solution-log-reference.md)-- [Microsoft Sentinel solution for SAP® applications: security content reference](sap-solution-security-content.md)
+- [Deploy and configure the container hosting the SAP data connector agent](deploy-data-connector-agent-container.md)
+- [Troubleshoot your Microsoft Sentinel solution for SAP applications solution deployment](sap-deploy-troubleshoot.md)
- [Kickstart script reference](reference-kickstart.md)-- [Update script reference](reference-update.md)-
-For more information, see [Microsoft Sentinel solutions](../sentinel-solutions.md).
sentinel Reference Systemconfig https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/sentinel/sap/reference-systemconfig.md
Title: Microsoft Sentinel solution for SAP® applications systemconfig.ini container configuration file reference
-description: Description of settings available in systemconfig.ini file
+ Title: Microsoft Sentinel solution for SAP applications systemconfig.ini file reference
+description: Learn about the settings available in Microsoft Sentinel for SAP applications systemconfig.ini file.
Previously updated : 06/03/2023 Last updated : 07/03/2024 --
+appliesto:
+ - Microsoft Sentinel in the Azure portal
+ - Microsoft Sentinel in the Microsoft Defender portal
+ #Customer intent: As an SAP BASIS team member using the legacy systemconfig.ini file, I want to understand the configuration options so that I can properly configure the data collector for SAP applications.
-# Systemconfig.ini file reference
+# Microsoft Sentinel solution for SAP applications `systemconfig.ini` file reference
-The *systemconfig.ini* file is used to configure behavior of the data collector. Configuration options are grouped into several sections. This article lists options available and provides an explanation to the options.
+The *systemconfig.ini* file is used to configure the behavior of the Microsoft Sentinel for SAP applications data connector agent. This article describes the options available in each section of the configuration file.
+
+Content in this article is intended for your **SAP BASIS** teams.
> [!IMPORTANT]
-> Microsoft Sentinel solution for SAP® applications uses the new *[systemconfig.json file](reference-systemconfig-json.md)* for agent versions released on or after June 22, 2023. For previous agent versions, you must still use the *systemconfig.ini* file.
+> Microsoft Sentinel solution for SAP applications uses the *[systemconfig.json file](reference-systemconfig-json.md)* for agent versions released on or after June 22, 2023. For previous agent versions, you must still use the *systemconfig.ini* file.
>
-> If you update the agent version, the configuration file is automatically migrated.
+> If you update the agent version, the configuration file is automatically migrated.
## Systemconfig configuration file sections
+The following table describes each overall section in the `systemconfig.ini` file:
+ | Section name | Description | | | -- |
-| [Secrets Source](#secrets-source-section) | This section defines where credentials are stored. |
-| [ABAP Central Instance](#abap-central-instance-section) | This section defines general options of the SAP instance to connect to. |
-| [Azure Credentials](#azure-credentials-section) | This section defines credentials to connect to Azure Log Analytics. |
-| [File Extraction ABAP](#file-extraction-abap-section) | This section defines logs and credentials that are extracted from ABAP server using SAPControl interface. |
-| [File Extraction JAVA](#file-extraction-java-section) | This section defines logs and credentials that are extracted from JAVA server using SAPControl interface. |
-| [Logs Activation Status](#logs-activation-status-section) | This section defines which logs are extracted from ABAP. |
-| [Connector Configuration](#connector-configuration-section) | This section defines miscellaneous connector options. |
-| [ABAP Table Selector](#abap-table-selector-section) | This section defines which User Master Data logs get extracted from the ABAP system. |
-
-## Secrets Source section
-```systemconfig.ini
-secrets=AZURE_KEY_VAULT|DOCKER_FIXED
-# Storage location of SAP credentials and Log Analytics workspace ID and key
-# AZURE_KEY_VAULT - store in an Azure Key Vault. Requires keyvault option and intprefix option
-# DOCKER_FIXED - store in systemconfig.ini file. Requires user, passwd, loganalyticswsid and publickey options
-
-keyvault=<vaultname>
-# Azure Keyvault name, in case secrets = AZURE_KEY_VAULT
-
-intprefix=<prefix>
-# intprefix - Prefix for variables created in Azure Key Vault
-```
-
-## ABAP Central Instance section
-```systemconfig.ini
+| [ABAP central instance](#abap-central-instance) | This section defines general options of the SAP instance to connect to. |
+| [ABAP table selector](#abap-table-selector) | This section defines which user master data logs get extracted from the ABAP system. |
+| [Azure credentials](#azure-credentials) | This section defines credentials to connect to Azure Log Analytics. |
+| [Connector configuration](#connector-configuration) | This section defines miscellaneous connector options. |
+| [File extraction ABAP](#file-extraction-abap) | This section defines logs and credentials that are extracted from ABAP server using SAPControl interface. |
+| [File extraction JAVA](#file-extraction-java) | This section defines logs and credentials that are extracted from JAVA server using SAPControl interface. |
+| [Logs activation status](#logs-activation-status) | This section defines which logs are extracted from ABAP. |
+| [Secrets source](#secrets-source) | This section defines where credentials are stored. |
+
+## ABAP central instance
+
+```ini
[ABAP Central Instance] auth_type=PLAIN_USER_AND_PASSWORD|SNC_WITH_X509 # Authentication type - username/password authentication, or X.509 authentication
x509cert=<server certificate>
# Base64 encoded server certificate value in a single line (with leading -BEGIN-CERTIFICATE and trailing -END-CERTIFICATE- removed) ```
-## Azure Credentials section
-```systemconfig.ini
+## ABAP table selector
+
+```ini
+[ABAP Table Selector]
+# Specify True or False to configure whether table should be collected from the SAP system
+AGR_TCODES_FULL = <True/False>
+USR01_FULL = <True/False>
+USR02_FULL = <True/False>
+USR02_INCREMENTAL = <True/False>
+AGR_1251_FULL = <True/False>
+AGR_USERS_FULL = <True/False>
+AGR_USERS_INCREMENTAL = <True/False>
+AGR_PROF_FULL = <True/False>
+UST04_FULL = <True/False>
+USR21_FULL = <True/False>
+ADR6_FULL = <True/False>
+ADCP_FULL = <True/False>
+USR05_FULL = <True/False>
+USGRP_USER_FULL = <True/False>
+USER_ADDR_FULL = <True/False>
+DEVACCESS_FULL = <True/False>
+AGR_DEFINE_FULL = <True/False>
+AGR_DEFINE_INCREMENTAL = <True/False>
+PAHI_FULL = <True/False>
+AGR_AGRS_FULL = <True/False>
+USRSTAMP_FULL = <True/False>
+USRSTAMP_INCREMENTAL = <True/False>
+SNCSYSACL_FULL = <True/False> (Preview)
+USRACL_FULL = <True/False> (Preview)
+```
+
+## Azure credentials
+
+```ini
[Azure Credentials] loganalyticswsid=<workspace ID> # Log Analytics workspace ID. Used only when secrets setting in Secrets Source section is set to DOCKER_FIXED
publickey=<publickey>
# Log Analytics workspace primary or secondary key. Used only when secrets setting in Secrets Source section is set to DOCKER_FIXED ```
-## File Extraction ABAP section
-```systemconfig.ini
+## Connector configuration
+
+```ini
+extractuseremail = <True/False>
+apiretry = <True/False>
+auditlogforcexal = <True/False>
+auditlogforcelegacyfiles = <True/False>
+azure_resource_id = <Azure _ResourceId>
+# Used to force a specific resource group for the SAP tables in Log Analytics, useful for applying RBAC on SAP data
+# example - /subscriptions/1234568-qwer-qwer-qwer-123456789/resourcegroups/RESOURCE_GROUP_NAME/providers/microsoft.compute/virtualmachines/VIRTUAL_MACHINE_NAME
+# for more information - https://learn.microsoft.com/azure/azure-monitor/logs/log-standard-columns#_resourceid.
+
+timechunk = <value>
+# Default timechunk value is 60 (minutes). For certain tables, the data connector retrieves data from the ABAP server using timechunks (collecting all events that occurred within a certain timestamp). On busy systems this may result in large datasets, so to reduce memory and CPU utilization footprint, consider configuring to a smaller value.
+```
+
+## File extraction ABAP
+
+```ini
[File Extraction ABAP] osuser = <SAPControl username> # Username to use to authenticate to SAPControl
abaptz = <timezone>
```
-## File Extraction JAVA section
-```systemconfig.ini
+## File extraction JAVA
+
+```ini
[File Extraction JAVA] javaosuser = <username> # Username to use to authenticate to JAVA server
javatz = <timezone>
# example - For OS Timezone = NZST (New Zealand Standard Time) use abaptz = GMT+12 ```
-### Logs Activation Status section
-```systemconfig.ini
+## Logs activation status
+
+```ini
[Logs Activation Status] # The following logs are retrieved using RFC interface # Specify True or False to configure whether log should be collected using the mentioned interface
GW = <True/False>
JAVAFilesLogs = <True/False> ```
-### Connector Configuration section
-```systemconfig.ini
-extractuseremail = <True/False>
-apiretry = <True/False>
-auditlogforcexal = <True/False>
-auditlogforcelegacyfiles = <True/False>
-azure_resource_id = <Azure _ResourceId>
-# Used to force a specific resource group for the SAP tables in Log Analytics, useful for applying RBAC on SAP data
-# example - /subscriptions/1234568-qwer-qwer-qwer-123456789/resourcegroups/RESOURCE_GROUP_NAME/providers/microsoft.compute/virtualmachines/VIRTUAL_MACHINE_NAME
-# for more information - https://learn.microsoft.com/azure/azure-monitor/logs/log-standard-columns#_resourceid.
+## Secrets source
-timechunk = <value>
-# Default timechunk value is 60 (minutes). For certain tables, the data connector retrieves data from the ABAP server using timechunks (collecting all events that occurred within a certain timestamp). On busy systems this may result in large datasets, so to reduce memory and CPU utilization footprint, consider configuring to a smaller value.
-```
-
-### ABAP Table Selector section
-```systemconfig.ini
-[ABAP Table Selector]
-# Specify True or False to configure whether table should be collected from the SAP system
-AGR_TCODES_FULL = <True/False>
-USR01_FULL = <True/False>
-USR02_FULL = <True/False>
-USR02_INCREMENTAL = <True/False>
-AGR_1251_FULL = <True/False>
-AGR_USERS_FULL = <True/False>
-AGR_USERS_INCREMENTAL = <True/False>
-AGR_PROF_FULL = <True/False>
-UST04_FULL = <True/False>
-USR21_FULL = <True/False>
-ADR6_FULL = <True/False>
-ADCP_FULL = <True/False>
-USR05_FULL = <True/False>
-USGRP_USER_FULL = <True/False>
-USER_ADDR_FULL = <True/False>
-DEVACCESS_FULL = <True/False>
-AGR_DEFINE_FULL = <True/False>
-AGR_DEFINE_INCREMENTAL = <True/False>
-PAHI_FULL = <True/False>
-AGR_AGRS_FULL = <True/False>
-USRSTAMP_FULL = <True/False>
-USRSTAMP_INCREMENTAL = <True/False>
-SNCSYSACL_FULL = <True/False> (Preview)
-USRACL_FULL = <True/False> (Preview)
-```
-## Next steps
-
-Learn more about the Microsoft Sentinel solution for SAP® applications:
--- [Deploy Microsoft Sentinel solution for SAP® applications](deployment-overview.md)-- [Prerequisites for deploying Microsoft Sentinel solution for SAP® applications](prerequisites-for-deploying-sap-continuous-threat-monitoring.md)-- [Deploy SAP Change Requests (CRs) and configure authorization](preparing-sap.md)-- [Deploy the solution content from the content hub](deploy-sap-security-content.md)-- [Deploy and configure the container hosting the SAP data connector agent](deploy-data-connector-agent-container.md)-- [Deploy the Microsoft Sentinel for SAP data connector with SNC](configure-snc.md)-- [Monitor the health of your SAP system](../monitor-sap-system-health.md)-- [Enable and configure SAP auditing](configure-audit.md)-- [Collect SAP HANA audit logs](collect-sap-hana-audit-logs.md)
+```ini
+secrets=AZURE_KEY_VAULT|DOCKER_FIXED
+# Storage location of SAP credentials and Log Analytics workspace ID and key
+# AZURE_KEY_VAULT - store in an Azure Key Vault. Requires keyvault option and intprefix option
+# DOCKER_FIXED - store in systemconfig.ini file. Requires user, passwd, loganalyticswsid and publickey options
-Troubleshooting:
+keyvault=<vaultname>
+# Azure Keyvault name, in case secrets = AZURE_KEY_VAULT
-- [Troubleshoot your Microsoft Sentinel solution for SAP® applications solution deployment](sap-deploy-troubleshoot.md)
+intprefix=<prefix>
+# intprefix - Prefix for variables created in Azure Key Vault
+```
-Reference files:
+## Related content
-- [Microsoft Sentinel solution for SAP® applications data reference](sap-solution-log-reference.md)-- [Microsoft Sentinel solution for SAP® applications: security content reference](sap-solution-security-content.md)-- [Kickstart script reference](reference-kickstart.md)-- [Update script reference](reference-update.md)
+For more information, see:
-For more information, see [Microsoft Sentinel solutions](../sentinel-solutions.md).
+- [Deploy and configure the container hosting the SAP data connector agent](deploy-data-connector-agent-container.md)
+- [Troubleshoot your Microsoft Sentinel solution for SAP applications solution deployment](sap-deploy-troubleshoot.md)
+- [Systemconfig.json file reference](reference-systemconfig-json.md)
sentinel Reference Update https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/sentinel/sap/reference-update.md
Title: Microsoft Sentinel solution for SAP® applications container update script reference | Microsoft Docs
+ Title: Microsoft Sentinel solution for SAP applications data connector agent update file reference
description: Description of command line options available with update deployment script Previously updated : 05/24/2023- Last updated : 07/03/2024
+appliesto:
+ - Microsoft Sentinel in the Azure portal
+ - Microsoft Sentinel in the Microsoft Defender portal
+ #Customer intent: As an advanced SAP BASIS team member, I want to customize the SAP data collector agent container update script so that I can streamline the update process and ensure compatibility with my SAP system.
-# Update script reference
+# Microsoft Sentinel solution for SAP applications data connector agent update file reference
-The SAP data collector agent container uses an update script (available at [Microsoft Sentinel solution for SAP® applications GitHub](https://github.com/Azure/Azure-Sentinel/tree/master/Solutions/SAP)) to simplify the update process.
+The Microsoft Sentinel SAP data connector agent container users an [update script](https://github.com/Azure/Azure-Sentinel/tree/master/Solutions/SAP) to simplify the update process.
-This article shows how the script's behavior can be customized by configuring its parameters.
+This article describes the configurable parameters available in the update script. For more information, see [Update the Microsoft Sentinel for SAP applications data connector agent](update-sap-data-connector.md).
-## Script overview
+Content in this article is intended for your **SAP BASIS** teams.
-During the update process, the script identifies any containers running the SAP data collector agent, downloads an updated container image from the Azure Container registry, copies mounted directory settings, copies environment variables, renames the existing container with an `-OLD` suffix, and finally creates a container using the updated image. The script then starts the container with an additional `--sapconinstanceupdate` switch that verifies that the updated container can start and connect to the SAP system properly. When the container reports a successful start, the script removes the old container. It then recreates the new container to run without the `--sapconinstanceupdate` switch in order to start in normal operation mode and continue to collect data from the SAP system.
+## Script process overview
-## Parameter reference
+During a Microsoft Sentinel solution for SAP applications data connector agent update process, the update script takes the following actions:
-#### Confirm all prompts
-**Parameter name:** `--confirm-all-prompts`
+1. Identifies any containers running the SAP data collector agent.
+1. Downloads an updated container image from the Azure Container registry.
+1. Copies mounted directory settings and environment variables.
+1. Renames the existing container with an `-OLD` suffix.
+1. Creates a container using the updated image.
+1. Starts the container with an extra `--sapconinstanceupdate` switch that verifies that the updated container can start and connect to the SAP system properly.
-**Parameter values:** None
+When the container reports a successful start, the script removes the old container. It then recreates the new container to run without the `--sapconinstanceupdate` switch in order to start in normal operation mode and continue to collect data from the SAP system.
-**Required:** No
+## Confirm all prompts
-**Explanation:** If `--confirm-all-prompts` switch is specified, script will not pause for any user confirmations. Use `--confirm-all-prompts` switch to achieve a zero-touch deployment
-
-#### Use preview build of the container
-**Parameter name:** `--preview`
+**Parameter name:** `--confirm-all-prompts`
**Parameter values:** None **Required:** No
-**Explanation:** By default, the container update script deploys the container with `:latest` tag. Public preview features are published to `:latest-preview` tag. To ensure container update script uses public preview version of the container, specify the `--preview` switch.
+**Explanation:** If the `--confirm-all-prompts` switch is specified, the script doesn't pause for any user confirmations. Use the `--confirm-all-prompts` switch for a zero-touch deployment.
++
+## Don't perform a container connectivity test
-#### Do not perform a container connectivity test
**Parameter name:** `--no-testrun` **Parameter values:** None **Required:** No
-**Explanation:** By default, the container update script performs a "test run" of the updated container to verify it can successfully connect to SAP system. To skip this test, specify a `--no-testrun` parameter. In such case, the script will re-create the containers using a new image without validating that containers can successfully start and connect to SAP. Use this switch with caution.
+**Explanation:** By default, the container update script performs a test run of the updated container to verify that it can successfully connect to the SAP system. To skip this test, specify a `--no-testrun` parameter. In such cases, the script recreates the containers using a new image, without validating that the containers can successfully start and connect to SAP.
-#### Specify a custom SDK location
-**Parameter name:** `--sdk`
+Use this switch with caution.
-**Parameter values:** `<SDK file full path>`
-**Required:** No
-
-**Explanation:** By default, the update script extracts SDK zip file from an existing container and copies it to the newly created container. If there is a need to update the version of the NetWeaver SDK used together with container update, specify the `--sdk` switch, specifying full path of the SDK.
+## Force container update, even if version is the same
-#### Force container update, even if version is the same
**Parameter name:** `--force` **Parameter values:** None **Required:** No
-**Explanation:** Update the container, even if the image version used for existing container is the same as image available from Microsoft.
+**Explanation:** Update the container, even if the image version used for the existing container is the same as the image available from Microsoft.
+
+## Perform a selective update
-#### Do container selective update
**Parameter name:** `--containername` **Parameter values:** `Container name` **Required:** No
-**Explanation:** By default, the update script updates all containers running Microsoft Sentinel solution for SAP® applications. To update a single, or multiple containers, specify `--containername <containername>` switch. Switch can be specified multiple times, e.e. `--containername sapcon-A4H --containername sapcon-QQ1 --containername sapcon-QAT`. In such case, only specified containers will be updated. If container name specified does not exist, it will be skipped by the script.
+**Explanation:** By default, the update script updates all containers running Microsoft Sentinel solution for SAP applications.
-## Next steps
+To update a single, or multiple containers, specify `--containername <containername>` switch. The switch can be specified multiple times, such as: `--containername sapcon-A4H --containername sapcon-QQ1 --containername sapcon-QAT`. In such cases, only the specified containers are updated. If the specified container name doesn't exist, it's skipped by the script.
-Learn more about the Microsoft Sentinel solution for SAP® applications:
+## Specify a custom SDK location
-- [Deploy Microsoft Sentinel solution for SAP® applications](deployment-overview.md)-- [Prerequisites for deploying Microsoft Sentinel solution for SAP® applications](prerequisites-for-deploying-sap-continuous-threat-monitoring.md)-- [Deploy SAP Change Requests (CRs) and configure authorization](preparing-sap.md)-- [Deploy the solution content from the content hub](deploy-sap-security-content.md)-- [Deploy and configure the container hosting the SAP data connector agent](deploy-data-connector-agent-container.md)-- [Deploy the Microsoft Sentinel for SAP data connector with SNC](configure-snc.md)-- [Monitor the health of your SAP system](../monitor-sap-system-health.md)-- [Enable and configure SAP auditing](configure-audit.md)-- [Collect SAP HANA audit logs](collect-sap-hana-audit-logs.md)
+**Parameter name:** `--sdk`
+
+**Parameter values:** `<SDK file full path>`
+
+**Required:** No
+
+**Explanation:** By default, the update script extracts SDK zip file from an existing container and copies it to the newly created container. If there's a need to update the version of the NetWeaver SDK used together with container update, specify the `--sdk` switch, specifying full path of the SDK.
-Troubleshooting:
+## Use the container's preview build
-- [Troubleshoot your Microsoft Sentinel solution for SAP® applications deployment](sap-deploy-troubleshoot.md)
+**Parameter name:** `--preview`
+
+**Parameter values:** None
-Reference files:
+**Required:** No
-- [Microsoft Sentinel solution for SAP® applications data reference](sap-solution-log-reference.md)-- [Microsoft Sentinel solution for SAP® applications: security content reference](sap-solution-security-content.md)-- [Kickstart script reference](reference-kickstart.md)-- [Systemconfig.ini file reference](reference-systemconfig.md)
+**Explanation:** By default, the container update script deploys the container with `:latest` tag. Public preview features are published to `:latest-preview` tag. To have the container update script use the public preview version of the container, specify the `--preview` switch instead.
-For more information, see [Microsoft Sentinel solutions](../sentinel-solutions.md).
+## Related content
+
+For more information, see:
+
+- [Deploy and configure the container hosting the SAP data connector agent](deploy-data-connector-agent-container.md)
+- [Troubleshoot your Microsoft Sentinel solution for SAP applications solution deployment](sap-deploy-troubleshoot.md)
+- [Systemconfig.json file reference](reference-systemconfig-json.md)
sentinel Required Abap Authorizations https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/sentinel/sap/required-abap-authorizations.md
+
+ Title: Required ABAP authorizations for the Microsoft Sentinel solution for SAP applications
+description: Understand the ABAP authorizations required if you want to manually define roles based on the SAP logs you want to ingest to Microsoft Sentinel and the activities you want to run.
+++ Last updated : 09/16/2024
+appliesto:
+ - Microsoft Sentinel in the Azure portal
+ - Microsoft Sentinel in the Microsoft Defender portal
+
+#Customer intent: As an SAP BASIS team member, I want to manually configure SAP authorizations based on the specific log files that I want to ingest to Microsoft Sentinel.
+++
+# Required ABAP authorizations
+
+This article lists the ABAP authorizations required to ensure that the SAP user account used by Microsoft Sentinel's SAP data connector can correctly retrieve logs from the SAP systems and [run attack disruption response actions](/defender-xdr/automatic-attack-disruption).
+
+The required authorizations are listed here by their purpose. You only need the authorizations that are listed for the kinds of logs you want to bring into Microsoft Sentinel and the attack disruption response actions you want to apply.
+
+> [!TIP]
+> To create a role with all the required authorizations, load the role authorizations from the [**/MSFTSEN/SENTINEL_RESPONDER**](https://aka.ms/SAP_Sentinel_Responder_Role) file.
+>
+> Alternately, to enable only log retrieval, without attack disruption response actions, deploy the SAP *NPLK900271* CR on the SAP system to create the **/MSFTSEN/SENTINEL_CONNECTOR** role, or load the role authorizations from the [**/MSFTSEN/SENTINEL_CONNECTOR**](https://aka.ms/SAP_Sentinel_Connector_Role) file.
+
+If needed, you can [remove the user role and any optional CR installed on your ABAP system](stop-collection.md#remove-the-user-role-and-any-optional-cr-installed-on-your-abap-system).
+
+## ABAP application log
+
+| Authorization object | Field | Value |
+| -- | -- | -- |
+| S_RFC | RFC_NAME | BAPI_XBP_APPL_LOG_CONTENT_GET |
+| S_RFC | RFC_NAME | BAPI_XMI_LOGOFF |
+| S_RFC | RFC_NAME | BAPI_XMI_LOGON |
+| S_RFC | RFC_NAME | BAPI_XMI_SET_AUDITLEVEL |
+| S_TABU_NAM | TABLE | BALHDR |
+| S_XMI_PROD | EXTCOMPANY | Microsoft |
+| S_XMI_PROD | EXTPRODUCT | Azure Sentinel |
+| S_XMI_PROD | INTERFACE | XBP |
+| S_APPL_LOG | ALG_OBJECT | * |
+| S_APPL_LOG | ALG_SUBOBJ | * |
+| S_APPL_LOG | ACTVT | Display |
+
+## ABAP change documents log
+
+| Authorization object | Field | Value |
+| -- | -- | -- |
+| S_TABU_NAM | TABLE | CDHDR |
+| S_TABU_NAM | TABLE | CDPOS |
+
+## ABAP CR log
+
+| Authorization object | Field | Value |
+| -- | -- | -- |
+| S_RFC | RFC_NAME | CTS_API_READ_CHANGE_REQUEST |
+| S_TABU_NAM | TABLE | E070 |
+| S_TRANSPRT | TTYPE | * |
+| S_TRANSPRT | ACTVT | Display |
+
+## ABAP DB table data log
+
+| Authorization object | Field | Value |
+| -- | -- | -- |
+| S_TABU_NAM | TABLE | DBTABLOG |
+| S_TABU_NAM | TABLE | SACF_ALERT |
+| S_TABU_NAM | TABLE | SOUD |
+| S_TABU_NAM | TABLE | USR41 |
+| S_TABU_NAM | TABLE | TMSQAFILTER |
+
+## ABAP job log
+
+| Authorization object | Field | Value |
+| -- | -- | -- |
+| S_RFC | RFC_NAME | BAPI_XBP_JOB_JOBLOG_READ |
+| S_RFC | RFC_NAME | BAPI_XMI_LOGOFF |
+| S_RFC | RFC_NAME | BAPI_XMI_LOGON |
+| S_RFC | RFC_NAME | BAPI_XMI_SET_AUDITLEVEL |
+| S_TABU_NAM | TABLE | TBTCO |
+| S_XMI_PROD | EXTCOMPANY | Microsoft |
+| S_XMI_PROD | EXTPRODUCT | Azure Sentinel |
+| S_XMI_PROD | INTERFACE | XBP |
+
+## ABAP security audit log
+
+| Authorization object | Field | Value |
+| -- | -- | -- |
+| S_RFC | RFC_NAME | BAPI_USER_GET_DETAIL |
+| S_RFC | RFC_NAME | BAPI_XMI_LOGOFF |
+| S_RFC | RFC_NAME | BAPI_XMI_LOGON |
+| S_RFC | RFC_NAME | BAPI_XMI_SET_AUDITLEVEL |
+| S_RFC | RFC_NAME | BAPI_SYSTEM_MTE_GETMLHIS |
+| S_RFC | RFC_NAME | BAPI_SYSTEM_MTE_GETTREE |
+| S_RFC | RFC_NAME | BAPI_SYSTEM_MTE_GETTIDBYNAME |
+| S_RFC | RFC_NAME | BAPI_SYSTEM_MS_GETLIST |
+| S_RFC | RFC_NAME | BAPI_SYSTEM_MON_GETLIST |
+| S_RFC | RFC_NAME | BAPI_SYSTEM_MON_GETTREE |
+| S_RFC | RFC_NAME | BAPI_SYSTEM_MTE_GETPERFCURVAL |
+| S_RFC | RFC_NAME | BAPI_SYSTEM_MT_GETALERTDATA |
+| S_RFC | RFC_NAME | BAPI_SYSTEM_ALERT_ACKNOWLEDGE |
+| S_ADMI_FCD | S_ADMI_FCD | AUDD (Basis audit display auth.) |
+| S_SAL | SAL_ACTVT | SHOW_LOG (Evaluate the file-based log) |
+| S_USER_GRP | CLASS | SUPER |
+| S_USER_GRP | ACTVT | Display |
+| S_USER_GRP | CLASS | SUPER |
+| S_USER_GRP | ACTVT | Lock |
+| S_XMI_PROD | EXTCOMPANY | Microsoft |
+| S_XMI_PROD | EXTPRODUCT | Azure Sentinel |
+| S_XMI_PROD | INTERFACE | XAL |
+
+## ABAP spool logs
+
+| Authorization object | Field | Value |
+| -- | -- | -- |
+| S_TABU_NAM | TABLE | TSP01 |
+| S_ADMI_FCD | S_ADMI_FCD | SPOS (Use of Transaction SP01 (all systems)) |
+
+## ABAP workflow log
+
+| Authorization object | Field | Value |
+| -- | -- | -- |
+| S_TABU_NAM | TABLE | SWWLOGHIST |
+| S_TABU_NAM | TABLE | SWWWIHEAD |
+
+## All logs
+
+| Authorization object | Field | Value |
+| -- | -- | -- |
+| S_RFC | RFC_TYPE | Function Module |
+| S_RFC | RFC_NAME | /OSP/SYSTEM_TIMEZONE |
+| S_RFC | RFC_NAME | DDIF_FIELDINFO_GET |
+| S_RFC | RFC_NAME | RFCPING |
+| S_RFC | RFC_NAME | RFC_GET_FUNCTION_INTERFACE |
+| S_RFC | RFC_NAME | RFC_READ_TABLE |
+| S_RFC | RFC_NAME | RFC_SYSTEM_INFO |
+| S_RFC | RFC_NAME | SUSR_USER_AUTH_FOR_OBJ_GET |
+| S_RFC | RFC_NAME | TH_SERVER_LIST |
+| S_RFC | ACTVT | Execute |
+| S_TCODE | TCD | SM51 |
+| S_TABU_NAM | ACTVT | Display |
+| S_TABU_NAM | TABLE | T000 |
+
+## Attack disruption response actions
+
+<a name=attack-disrupt></a>
+
+| Authorization object | Field | Value |
+| -- | -- | -- |
+|S_RFC |RFC_TYPE |Function Module |
+|S_RFC |RFC_NAME |BAPI_USER_LOCK |
+|S_RFC |RFC_NAME |BAPI_USER_UNLOCK |
+|S_RFC |RFC_NAME |TH_DELETE_USER <br>In contrast to its name, this function doesn't delete users, but ends the active user session. |
+|S_USER_GRP |CLASS |* <br>We recommend replacing S_USER_GRP CLASS with the relevant classes in your organization that represent dialog users. |
+|S_USER_GRP |ACTVT |03 |
+|S_USER_GRP |ACTVT |05 |
+
+## Configuration history
+
+| Authorization object | Field | Value |
+| -- | -- | -- |
+| S_TABU_NAM | TABLE | PAHI |
+
+## Optional logs, if the Microsoft Sentinel solution CR is implemented
+
+| Authorization object | Field | Value |
+| -- | -- | -- |
+| S_RFC | RFC_NAME | /MSFTSEN/* |
+
+## SNC data
+
+| Authorization object | Field | Value |
+| -- | -- | -- |
+| S_TABU_NAM | TABLE | SNCSYSACL |
+| S_TABU_NAM | TABLE | USRACL |
+
+## User data
+
+| Authorization object | Field | Value |
+| -- | -- | -- |
+| S_TABU_NAM | TABLE | ADCP |
+| S_TABU_NAM | TABLE | ADR6 |
+| S_TABU_NAM | TABLE | AGR_1251 |
+| S_TABU_NAM | TABLE | AGR_AGRS |
+| S_TABU_NAM | TABLE | AGR_DEFINE |
+| S_TABU_NAM | TABLE | AGR_FLAGS |
+| S_TABU_NAM | TABLE | AGR_PROF |
+| S_TABU_NAM | TABLE | AGR_TCODES |
+| S_TABU_NAM | TABLE | AGR_USERS |
+| S_TABU_NAM | TABLE | DEVACCESS |
+| S_TABU_NAM | TABLE | USER_ADDR |
+| S_TABU_NAM | TABLE | USGRP_USER |
+| S_TABU_NAM | TABLE | USR01 |
+| S_TABU_NAM | TABLE | USR02 |
+| S_TABU_NAM | TABLE | USR05 |
+| S_TABU_NAM | TABLE | USR21 |
+| S_TABU_NAM | TABLE | USRSTAMP |
+| S_TABU_NAM | TABLE | UST04 |
++
+## Related content
+
+For more information, see [Configure your SAP system for the Microsoft Sentinel solution](preparing-sap.md).
sentinel Sap Audit Controls Workbook https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/sentinel/sap/sap-audit-controls-workbook.md
Title: Microsoft Sentinel solution for SAP® applications - SAP Audit Controls workbook overview
+ Title: Check compliance for your SAP security controls with Microsoft Sentinel
description: Learn about the SAP - Security Audit Controls workbook, used to monitor and track security control framework compliance across your SAP systems. - Previously updated : 07/18/2023-+ Last updated : 07/04/2024
+appliesto:
+ - Microsoft Sentinel in the Azure portal
+ - Microsoft Sentinel in the Microsoft Defender portal
+ #Customer intent: As a security compliance officer, I want to use the SAP Audit Controls workbook to monitor and report on my SAP environment's compliance with various control frameworks, so that I can ensure adherence to regulatory requirements and improve security posture.
-# Microsoft Sentinel solution for SAP® applications - SAP Audit Controls workbook (Preview)
+# Check compliance for your SAP security controls with the SAP - Security Audit Controls workbook
-This article describes the SAP Audit Controls workbook, which is provided to you as part of the [Microsoft Sentinel solution for SAP® applications](solution-overview.md).
+This article describes how you can use the *SAP - Security Audit Controls* workbook to monitor and track security control framework compliance across your SAP systems, including the following functionality:
-> [!IMPORTANT]
-> The Microsoft Sentinel SAP Audit Controls workbook is currently in PREVIEW. The [Azure Preview Supplemental Terms](https://azure.microsoft.com/support/legal/preview-supplemental-terms/) include additional legal terms that apply to Azure features that are in beta, preview, or otherwise not yet released into general availability.
+- See recommendations on which analytics rules to enable, and enable them in-place with proper preset configuration.
+- Associate your analytics rules to the SOX or NIST control framework, or apply your own custom control framework.
+- Review incidents and alerts summarized by control, according to the selected control framework.
+- Export relevant incidents for further analysis, for auditing and reporting purposes.
-This workbook helps you check your SAP® environment's security controls for compliance with your chosen control framework, be it [SOX](https://www.bing.com/search?q=sox+compliance+IT+security&qs=n&form=QBRE&sp=-1&lq=0&pq=sox+compliance+it+security&sc=8-26&sk=&cvid=3ACE338C88CE43368A223D4DB7FC35E6&ghsh=0&ghacc=0&ghpl=), [NIST](https://www.nist.gov/cyberframework/framework), or a custom framework of your choice.
+For example:
-The workbook provides tools for you to assign analytics rules in your environment to specific security controls and control families, monitor and categorize the incidents generated by the SAP solution-based analytics rules, and report on your compliance.
-The workbook provides the following capabilities for your compliance program:
+Content in this article is intended for your **security** team.
-- See recommendations on which analytics rules to enable, and enable them in-place with proper pre-set configuration.-- Associate your analytics rules to the SOX or NIST control framework, or apply your own custom control framework.-- Review incidents and alerts summarized by control, according to the selected control framework.-- Export relevant incidents for further analysis, for auditing and reporting purposes.
+## Prerequisites
+
+Before you can start using the **SAP - Security Audit log and Initial Access** workbook, you must have:
-## Start using the workbook
+- The Microsoft Sentinel solution for SAP applications solution installed and a data connector agent deployed. For more information, see [Deploy Microsoft Sentinel solution for SAP applications](deployment-overview.md).
-1. From the Microsoft Sentinel portal, select **Workbooks** from the **Threat management** menu.
+- The **SAP Audit Controls** workbook installed in your Log Analytics workspace enabled for Microsoft Sentinel. For more information, see and [Visualize and monitor your data by using workbooks in Microsoft Sentinel](../monitor-your-data.md).
-1. In the **Workbooks** gallery, go to **Templates** and enter *SAP* in the search bar, and select **SAP Audit Controls** from among the results.
+- At least one incident in your workspace, with at least one entry available in the `SecurityIncident` table. This doesn't need to be an SAP incident, and you can generate a demo incident using a basic analytics rule if you don't have another one.
-1. Select **View template** to use the workbook as is, or select **Save** to create an editable copy of the workbook. When the copy is created, select **View saved workbook**.
+## View a demo
- :::image type="content" source="media/sap-audit-controls-workbook/workbook-overview.png" alt-text="Screenshot of the top of the SAP Audit Controls workbook.":::
+View a demonstration of this workbook:
+<br>
+> [!VIDEO https://www.youtube.com/embed/8_2ji5afBqc?si=BfXfeYaJFEuJHZPC]
+For more information, see the [Microsoft Security Community YouTube channel](https://www.youtube.com/@MicrosoftSecurityCommunity):
-1. Select the following fields to filter the data according to your needs:
+## Supported filters
- - **Subscription** and **Workspace**. Select the workspace whose SAP systems' compliance you wish to audit. This can be a different workspace than where Microsoft Sentinel is deployed.
- - **Incident creation time**. Select a range from the last four hours to the last 30 days, or a custom range that you determine.
- - Other incident attributes&mdash;**Status**, **Severity**, **Tactics**, **Owner**. For each of these, select from the available choices, which correspond to the values represented in the incidents in the selected time range.
- - **System roles**. The SAP system roles, for example: Production.
- - **System usage**. For example: SAP ERP.
- - **Systems**. You can select all SAP system IDs, a specific system ID, or multiple system IDs.
- - **Control framework**, **Control families**, **Control IDs**. Select these according to the control framework by which you want to evaluate your coverage, and the specific controls by which you want to filter the workbook data.
+The **SAP Audit Controls** workbook supports the following filters to help you focus on the data you need:
- The dashboards in this workbook allow for an aggregated view of incidents and alerts based on the *SecurityAlert* and *SecurityIncident* tables, which by default retain 30 days of data. Consider extending the retention period for these tables to match your organization's compliance requirements. Regardless of the choice you make for the retention policy of these tables, the incident data itself is never deleted, though it might not show here. Alert data is kept according to the table's retention policy.
- - The actual retention policy of these two tables may well be defined as something other than the default 30 days. See the notice on the blue-shaded background in the workbook (shown in the screenshot above), showing the actual time range of data in the tables according to their current retention policy.
+|Filter option |Description |
+|||
+|**Subscription** and **Workspace** | Select the workspace whose SAP systems' compliance you wish to audit. This can be a different workspace than where Microsoft Sentinel is deployed. |
+|**Incident creation time** | Select a range from the last four hours to the last 30 days, or a custom range that you determine. |
+|Other incident attributes, including **Status**, **Severity**, **Tactics**, **Owner** | For each of these, select from the available choices, which correspond to the values represented in the incidents in the selected time range. |
+|**System roles** | The SAP system roles, such as *Production*. |
+|**System usage** | The SAP system usage, such as *SAP ERP*. |
+|**Systems** |Select all SAP system IDs, a specific system ID, or multiple system IDs. |
+|**Control framework**, **Control families**, **Control IDs** | Select the control framework by which you want to evaluate your coverage, and the specific controls by which you want to filter the workbook data. |
- - See [Configure a data retention policy for a table in a Log Analytics workspace](../configure-data-retention.md) for more information.
+## Data retention recommendations
-## Workbook overview
+The **SAP Audit Controls** dashboards provide an aggregated view of incidents and alerts based on the *SecurityAlert* and *SecurityIncident* tables, which, by default, retain 30 days of data.
-The workbook is separated into three tabs:
+Consider extending the retention period for these tables to match your organization's compliance requirements. Regardless of the choice you make for the retention policy of these tables, the incident data is never deleted, though it might not show here. Alert data is kept according to the table's retention policy.
-- **Configure**-- **Monitor**-- **Report**
+The actual retention policy of the *SecurityAlert* and *SecurityIncident* tables might well be defined as something other than the default 30 days. See the notice on the blue-shaded background in the workbook, showing the actual time range of data in the tables according to their current retention policy.
-## Configure tab
+For more information, see [Configure a data retention policy for a table in a Log Analytics workspace](../configure-data-retention.md).
-### Create analytics rules from yet-unused templates
+## Configure tab - create analytics rules from yet-unused templates
-The **Templates ready to be used** table shows the [analytics rule templates](../detect-threats-built-in.md), from the Microsoft Sentinel solution for SAP® applications, that have not yet been implemented as active rules. You may need to create these rules to achieve compliance.
+The **Templates ready to be used** table on the **Configure** tab shows the [analytics rule templates](../detect-threats-built-in.md) from the Microsoft Sentinel solution for SAP applications that haven't yet been implemented as active rules. You might need to create these rules to achieve compliance. For example:
:::image type="content" source="media/sap-audit-controls-workbook/configure-templates.png" alt-text="Screenshot of table of analytics rule templates from which to create rules."::: -- The **Solution templates to configure** control shows the installed solutions whose analytics rules you can evaluate here for compliance with your chosen control framework. By default, only the **SAP** solution is selected, but you can select any or all others from this drop-down.
+By default, this table is filtered for **SAP**, with **SAP** selected in the **Solution templates to configure** dropdown. Select any or all other solutions from this dropdown to populate the **Templates ready to be used** table further.
-- Select the **View** link in the **Properties** column of a particular rule template's line in the table to see the template's entire configuration in the pop-up **Details** pane. (This view is read-only.)
+For each row in the table, select **View** for more read-only details about rule configuration.
-- The **Recommended configuration** column shows the purpose of the rule: is it meant to create [incidents](../incident-investigation.md) for investigation? Or only to create alerts to be held aside and added to other incidents to be used as evidence in their investigations?
+The **Recommended configuration** column shows the purpose of the rule: is it meant to create [incidents](../incident-investigation.md) for investigation? Or only to create alerts to be held aside and added to other incidents to be used as evidence in their investigations?
-- Select **Activate rule** (in the description pane) to create an analytics rule from the template, with the recommended configuration already built in. This functionality saves you the trouble of having to guess at the right configuration and [define it manually](../detect-threats-custom.md).
+Select **Activate rule** in the side pane to create an analytics rule from the template, with the recommended configuration already built in. This functionality saves you the trouble of having to guess at the right configuration and [define it manually](../detect-threats-custom.md).
-### View or change security control assignments of your analytics rules
+## Configure tab - View or change security control assignments of your analytics rules
-In the **Select a rule to configure** table, you'll see the list of activated analytics rules relevant to SAP.
+The **Select a rule to configure** table on the **Configure** tab shows a list of activated analytics rules relevant to SAP. For example:
:::image type="content" source="media/sap-audit-controls-workbook/configure-rule.png" alt-text="Screenshot of selecting a rule to configure." lightbox="media/sap-audit-controls-workbook/configure-rule-zoom.png"::: -- The counts and graph lines of **Incidents** and **Alerts** generated by each rule are displayed. (Identical counts suggest that [alert grouping is disabled](../detect-threats-custom.md#alert-grouping).)
+In the table, check:
+
+- The count and graph lines generated by each rule in the **Incidents** and **Alerts** columns. Identical counts suggest that [alert grouping is disabled](../detect-threats-custom.md#alert-grouping).
-- Also shown are columns indicating that the rule's [incident creation setting is enabled](../detect-threats-custom.md#configure-the-incident-creation-settings) (the **Incidents** column), and what the source of the rule is (the **Source** column)&mdash;*Gallery*, *Content hub*, or *Custom*.
+- The **Incidents** and **Source** column values to understand whether the rule is [set to create incidents](../detect-threats-custom.md#configure-the-incident-creation-settings) .
-- If the **Recommended configuration** for that rule is "As alert only," then you should consider [disabling the incident creation setting](../detect-threats-custom.md#configure-the-incident-creation-settings) in the rule (see below).
+- Whether the **Recommended configuration** for a rule is *As alert only*. If so, consider [turning off the incident creation setting](../detect-threats-custom.md#configure-the-incident-creation-settings) in the rule.
-- When you select a rule, a details panel appears with information about the rule.
+Select a rule to view a details pane with more information. For example:
- :::image type="content" source="media/sap-audit-controls-workbook/rule-configuration.png" alt-text="Screenshot of rule configuration side panel.":::
- - The upper part of this side panel has recommendations regarding enabling or disabling incident creation in the analytics rule configuration, as mentioned above.
+- The upper part of this side panel has recommendations regarding enabling or disabling incident creation in the analytics rule configuration.
- - The next section shows which security controls and control families the rule is identified with, for each of the available frameworks. For the SOX and NIST frameworks, you can customize the control assignment by choosing a different control or control family from the relevant drop-downs. For custom frameworks, write in controls and control families of your choosing in the **MyOrg** text boxes. If you make any changes, select **Save changes**.
+- The next section of the side pane shows which security controls and control families the rule is identified with, for each of the available frameworks.
- If a particular analytics rule hasn't been assigned a security control or control family for a given framework, a recommendation to set the controls will appear. After you select the controls, select **Save changes**.
+ - For the SOX and NIST frameworks, customize the control assignment by choosing a different control or control family from the relevant drop-downs.
+ - For custom frameworks, enter in controls and control families of your choosing in the **MyOrg** text boxes. If you make any changes, select **Save changes**.
- - To see the rest of the details of the selected rule as currently defined, select **Rule overview**. This will open the same **Details** pane described earlier in this document.
+ If a particular analytics rule hasn't been assigned a security control or control family for a given framework, you're prompted to set the controls manually. After you select the controls, select **Save changes**.
+
+ To see the rest of the details of the selected rule as currently defined, select **Rule overview**.
## Monitor tab
-This tab contains several graphical representations of various groupings of the incidents in your environment that match the filters at the top of the workbook.
+The **Monitor** tab contains several graphical representations of various groupings of the incidents in your environment that match the filters at the top of the workbook:
-- A trend line graph, labeled **Incidents trend**, shows the numbers of incidents over time. These incidents are grouped (represented by different colored lines and shadings) by default according to the control family represented by the rule that generated them. You can select alternate groupings for these incidents from the **Detail incidents by** drop-down.
+- A trend line graph, labeled **Incidents trend**, shows the numbers of incidents over time. These incidents are grouped, and represented by different colored lines and shadings, by default according to the control family represented by the rule that generated them. Select alternate groupings for these incidents from the **Detail incidents by** drop-down. For example:
:::image type="content" source="media/sap-audit-controls-workbook/incident-trend-graph.png" alt-text="Screenshot of trendline of numbers of incidents, grouped by rule."::: -- The **Incidents hive** graph shows numbers of incidents grouped in two ways. The defaults (for the SOX framework) are first by **SOX Control family** (the "honeycomb" array of cells) and then by **System ID** (each cell in the "honeycomb"). You can select different criteria by which to display the groupings, using the **Drill by** and **And then by** selectors.
+- The **Incidents hive** graph shows numbers of incidents grouped in two ways. The defaults for the SOX framework are first by **SOX Control family**, which is the *honeycomb* array of cells, and then by **System ID**, which is each cell in the honeycomb. Select different criteria by which to display the groupings, using the **Drill by** and **And then by** selectors.
- Zoom in to the hive graph to make the text big enough to read clearly, and zoom out to see all the groupings together. Drag the whole graph to see different parts of it.
+Zoom in to the hive graph to make the text large enough to read clearly, and zoom out to see all the groupings together. Drag the whole graph to see different parts of it. For example:
- :::image type="content" source="media/sap-audit-controls-workbook/incident-hive-graph.png" alt-text="Screenshot of hive graphs of numbers of incidents, grouped by control family and system ID.":::
## Report tab
-Finally, the **Report** tab contains a list of all the incidents in your environment that match the filters at the top of the workbook.
+The **Report** tab contains a list of all the incidents in your environment that match the filters at the top of the workbook.
- The incidents are grouped by control family and control ID.
Finally, the **Report** tab contains a list of all the incidents in your environ
:::image type="content" source="media/sap-audit-controls-workbook/export-report.png" alt-text="Screenshot of the export to excel option.":::
-## Next steps
-
-For more information, see:
--- [Deploying Microsoft Sentinel solution for SAP® applications](deployment-overview.md)-- [Microsoft Sentinel solution for SAP® applications logs reference](sap-solution-log-reference.md)-- [Monitor the health of your SAP system](../monitor-sap-system-health.md)-- [Prerequisites for deploying the Microsoft Sentinel solution for SAP® applications](prerequisites-for-deploying-sap-continuous-threat-monitoring.md)-- [Troubleshooting your Microsoft Sentinel solution for SAP® applications deployment](sap-deploy-troubleshoot.md)
+## Related content
-See this [YouTube video](https://youtu.be/8_2ji5afBqc), on the [Microsoft Security Community YouTube channel](https://www.youtube.com/@MicrosoftSecurityCommunity), for a demonstration of this workbook.
+For more information, see [Deploy the Microsoft Sentinel solution for SAP applications from the content hub](deploy-sap-security-content.md) and [Microsoft Sentinel solution for SAP applications: security content reference](sap-solution-security-content.md).
sentinel Sap Audit Log Workbook https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/sentinel/sap/sap-audit-log-workbook.md
Title: Microsoft Sentinel solution for SAP® applications - SAP -Security Audit log and Initial Access workbook overview
-description: Learn about the SAP -Security Audit log and Initial Access workbook, used to monitor and track data across your SAP systems.
+ Title: Microsoft Sentinel solution for SAP applications - SAP -Security Audit log and Initial Access workbook
+description: Learn about the SAP - Security Audit log and Initial Access workbook, used to monitor and track data across your SAP systems.
Previously updated : 01/23/2023- Last updated : 09/15/2024
+appliesto:
+ - Microsoft Sentinel in the Azure portal
+ - Microsoft Sentinel in the Microsoft Defender portal
+ #Customer intent: As a security analyst, I want to use the SAP Security Audit log and Initial Access workbook so that I can monitor and investigate user audit activity across SAP systems for enhanced security and quick detection of suspicious actions.
-# Microsoft Sentinel solution for SAP® applications - SAP -Security Audit log and Initial Access workbook
+# Monitor and track user audit activity across SAP systems
+
+This article describes the **SAP - Security Audit log and Initial Access** workbook, used for monitoring and tracking user audit activity across your SAP systems. Use the workbook to get a bird's eye view of user audit activity, better secure your SAP systems, and gain quick visibility into suspicious actions. Drill down into suspicious events as needed.
+
+Use the workbook either for ongoing monitoring of your SAP systems, or to review the systems following a security incident or other suspicious activity.
+
+For example:
++
+Content in this article is intended for your **security** team.
-This article describes the SAP -Security Audit log and Initial Access workbook, used for monitoring and tracking user audit activity across your SAP systems. You can use the workbook to get a bird's eye view of user audit activity, to better secure your SAP systems and gain quick visibility into suspicious actions. You can drill down into suspicious events as needed.
+## Prerequisites
-You can use the workbook either for ongoing monitoring of your SAP systems, or to review the systems following a security incident or other suspicious activity.
+Before you can start using the **SAP - Security Audit log and Initial Access** workbook, you must have:
-## Start using the workbook
+- The Microsoft Sentinel solution for SAP applications solution installed and a data connector agent deployed. For more information, see [Deploy Microsoft Sentinel solution for SAP applications](deployment-overview.md).
-1. From the Microsoft Sentinel portal, select **Workbooks** from the **Threat management** menu.
+- The **SAP - Security Audit log and Initial Access** workbook installed in your Log Analytics workspace enabled for Microsoft Sentinel. For more information, see [Visualize and monitor your data by using workbooks in Microsoft Sentinel](../monitor-your-data.md).
-1. In the **Workbooks** gallery, go to **Templates** and enter *SAP* in the search bar, and select **SAP -Security Audit log and Initial Access** from among the results.
+ > [!IMPORTANT]
+ > The **SAP - Security Audit log and Initial Access** workbook is hosted by the workspace where the Microsoft Sentinel solution for SAP applications were installed. By default, both the SAP and the SOC data is assumed to be on the workspace that hosts the workbook.
+ >
+ > If the SOC data is on a different workspace than the workspace hosting the workbook, make sure to include the subscription for that workspace, and select the SOC workspace from **Azure audit and activity workspace**.
-1. Select **View template** to use the workbook as is, or select **Save** to create an editable copy of the workbook. When the copy is created, select **View saved workbook**.
+- At least one incident in your Microsoft Sentinel workspace, with at least one entry available in the `SecurityIncident` table. This doesn't need to be an SAP incident, and you can generate a demo incident using a basic analytics rule if you don't have another one.
- :::image type="content" source="media/sap-audit-log-workbook/workbook-overview.png" alt-text="Screenshot of the top of the SAP -Security Audit log and Initial Access workbook." lightbox="media/sap-audit-log-workbook/workbook-overview.png":::
+- If your Microsoft Entra data is in a different Log Analytics workspace, make sure you select the relevant subscriptions and workspaces at the top of the workbook, under **Azure audit and activities**.
- > [!IMPORTANT]
- >
- > The SAP -Security Audit log and Initial Access workbook is hosted by the workspace where the Microsoft Sentinel solution for SAP® applications were installed. By default, both the SAP and the SOC data is assumed to be on the workspace that hosts the workbook.
- >
- > If the SOC data is on a different workspace than the workspace hosting the workbook, make sure to include the subscription for that workspace, and select the SOC workspace from **Azure audit and activity workspace**.
+## Supported filters
-1. Select the following fields to filter the data according to your needs:
+The **SAP - Security Audit log and Initial Access** workbook supports the following filters to help you focus on the data you need:
- - **Time Range**. From four hours to 90 days.
- - **System Roles**. The SAP system roles, for example: Development.
- - **System Usage**. For example: SAP GTS.
- - **SAP systems**. You can select all systems, a specific system, or select multiple systems.
+- **Time Range**. From four hours to 90 days.
+- **System Roles**. The SAP system roles, for example: Development.
+- **System Usage**. For example: SAP GTS.
+- **SAP systems**. You can select all systems, a specific system, or select multiple systems.
- If you select systems that aren't configured in the ["SAP systems" watchlist](sap-solution-security-content.md#available-watchlists), the workbook shows an error, specifying the systems with issues. In this case, [configure the watchlist](deployment-solution-configuration.md#configure-watchlists) to correctly include these systems.
+If you select systems that aren't configured in the [*SAP systems* watchlist](sap-solution-security-content.md#available-watchlists), the workbook shows an error, specifying the systems with issues. In this case, [configure the watchlist](deployment-solution-configuration.md#configure-watchlists) to correctly include these systems.
-## Workbook overview
+## Logon analysis report data
-The workbook is separated into two tabs:
+The **Logon analysis report** tab on the **SAP - Security Audit log and Initial Access** workbook shows data about sign-in failures, such as anomalous data, Microsoft Entra data, and more.
-- [**Logon analysis report**](#logon-analysis-report-tab). Shows different types of data regarding sign-in failures. Data includes anomalous data, Microsoft Entra data, and more. The data is based on the ["SAP systems" watchlist](sap-solution-security-content.md#available-watchlists).-- [**Audit log alerts report**](#audit-log-alerts-report-tab). Shows different types of data regarding the SAP Audit log events that the Microsoft Sentinel solution for SAP® applications watches. The data is based on the ["SAP_Dynamic_Audit_Log_Monitor_Configuration" watchlist](sap-solution-security-content.md#available-watchlists).
+The data is based on the [*SAP systems* watchlist](sap-solution-security-content.md#available-watchlists).
-## Logon analysis report tab
+The **Logon analysis report** tab includes the following areas:
-Includes the [Logon Analysis](#logon-analysis) and [Logon failures](#logon-failuresanomaly-detection) areas.
+- [Logon analysis](#logon-analysis)
+- [Logon failures - anomaly detection](#logon-failuresanomaly-detection)
+- [Logon failures - trends](#logon-failurestrends)
-### Logon Analysis
+### Logon analysis
-Shows different types of data regarding user sign-ins.
+The **Logon analysis** area shows regarding user sign-ins. For example:
:::image type="content" source="media/sap-audit-log-workbook/logon-analysis.png" alt-text="Screenshot of the Logon Analysis area of the SAP Audit workbook." lightbox="media/sap-audit-log-workbook/logon-analysis.png":::
-|Area |Description |Options |
+The following table describes each metric in the **Logon analysis** area:
+
+|Area |Description |
|||
-|**Unique user logons per system** |Shows the number of unique sign ins for each SAP system, and a graph with the sign-in trends over the selected time for each system. For example: the 012 system has 1.4-K unique logon attempts in the last 14 days, and in these 14 days the graph shows a relatively rising sign-in trend. |
-|**Logon types trend** |Shows a trend of the number of sign ins according to type, for example, login via dialog. |You can hover over the graph to show the number of logons for different dates. |
-|**Logon failures Vs. success by unique users - trend** |Shows a trend of successful and failed sign ins in the selected period. |You can hover over the graph to show the amount of successful and failed sign ins for different dates. |
+|**Unique user logons per system** |Shows the number of unique signins for each SAP system, and a graph with the sign-in trends over the selected time for each system. <br><br>For example: the 012 system has 1.4-K unique logon attempts in the last 14 days, and in these 14 days the graph shows a relatively rising sign-in trend. |
+|**Logon types trend** |Shows a trend of the number of sign ins according to type, for example, login via dialog. <br><br>Hover over the graph to show the number of logons for different dates.|
+|**Logon failures Vs. success by unique users - trend** |Shows a trend of successful and failed sign ins in the selected period. <br><br>Hover over the graph to show the amount of successful and failed sign ins for different dates.|
### Logon failures - anomaly detection
-The areas under **Anomaly detection - filtering out noisy failed login attempts** show login failure data for SAP systems and users. To see only data flagged by [anomaly detection](configure-audit-log-rules.md#anomaly-detection), select **Anomalous only** next to **Failed logons** on the right.
+The areas under **Anomaly detection - filtering out noisy failed login attempts** show login failure data for SAP systems and users. To see only data flagged by, select **Anomalous only** next to **Failed logons** on the right.
+
+For more information, see [Monitor the SAP audit log](sap-solution-security-content.md#monitor-the-sap-audit-log).
+
+For example:
:::image type="content" source="media/sap-audit-log-workbook/logon-failures.png" alt-text="Screenshot of the sections in the Logon failures area of the SAP Audit workbook that you can filter by anomalous data." lightbox="media/sap-audit-log-workbook/logon-failures.png":::
-|Area |Description |Specific data |Options/notes |
-|||||
-| **Logon failure rate** > **Logon failure anomalies** > **Unique User failed logons per SAP system** | Shows the number of unique failed sign ins for each SAP system. | | |
-|**SAP and Active Directory are better together** | The **Anomalous login failures** table shows a combination of Microsoft Sentinel and Microsoft Entra data. The workbook displays the users according to risk: Users that indicate the most risk are at the top of the list, and the users with less security risk are at the bottom. |For each user, shows:<br>ΓÇó A timeline of failed sign-in attempts<br>ΓÇó A timeline showing at which point an anomalous failed attempt occurred<br>ΓÇó The type of anomaly<br>ΓÇó The user's email address<br>ΓÇó The Microsoft Entra risk indicator<br>ΓÇó The number of incidents and alerts in Microsoft Sentinel |ΓÇó When you select a row, you can see a list of alerts and incidents for that user under **Incidents/alerts overview for user**. Below this list, you can also see of Microsoft Entra risk events under **Azure audit and signin risks for user**.<br>ΓÇó If your Microsoft Entra data is in a different Log Analytics workspace, make sure you select the relevant subscriptions and workspaces at the top of the workbook, under **Azure audit and activities**. |
-|**Logon failure rate per system** |Visually represents the selected SAP systems. |ΓÇó For each system, shows the number of failures in the selected period<br>ΓÇó Systems are grouped by type.<br>ΓÇó The color of the system indicates the number of failed attempts: Green indicates a few suspicious logon attempts, where red indicates more suspicious logon attempts. |You can select a system to see a list of failed sign ins with details about the failures. |
+The following table describes each metric in the **Anomaly detection** area:
-In this screenshot, you can see the data shown when the first line is selected in the **Anomalous login failures** table. The specific alerts and incident URLs are shown in the **Incidents/alerts overview for user** table.
+|Area |Description |
+|||
+| **Logon failure rate** > **Logon failure anomalies** > **Unique User failed logons per SAP system** | Shows the number of unique failed sign ins for each SAP system. |
+|**SAP and Active Directory are better together** | The **Anomalous login failures** table shows a combination of Microsoft Sentinel and Microsoft Entra data, listing users according to risk, with the most risky users at the top. <br><br>For each user, the table shows: <br>- A timeline of failed sign-in attempts<br>- A timeline showing at which point an anomalous failed attempt occurred<br>- The type of anomaly<br>- The user's email address<br>- The Microsoft Entra risk indicator<br>- The number of incidents and alerts in Microsoft Sentinel <br><br> Select a user's row to see a list of related alerts and incidents. Microsoft Entra risk events are listed under **Azure audit and signin risks for user**. |
+|**Logon failure rate per system** | Shows the selected SAP systems, grouped by type, with the number of failures in the selected period. <br><br>The system's color indicates the number of failed attempts: Green for a few suspicious sign-in attempts, and red for more.<br><br>Select a system to see a list of failed sign-ins, with details about the failures. |
+
+In the following screenshot, note the data shown when the first line is selected in the **Anomalous login failures** table. The specific alerts and incident URLs are shown in the **Incidents/alerts overview for user** table.
:::image type="content" source="media/sap-audit-log-workbook/anomalous-logon-failures-table.png" alt-text="Screenshot of data shown when a line is selected in the Anomalous login failures table." lightbox="media/sap-audit-log-workbook/anomalous-logon-failures-table.png":::
-In this screenshot, the **Azure audit and signin risks for user** table shows data for the sign-in risk related to this user.
+In the following screenshot, the **Azure audit and signin risks for user** table shows data for the sign-in risk related to this user.
:::image type="content" source="media/sap-audit-log-workbook/azure-audit-signin-risks.png" alt-text="Screenshot of audit and sign-in risk data shown when a line is selected in the Anomalous login failures table." lightbox="media/sap-audit-log-workbook/azure-audit-signin-risks.png":::
-In this screenshot, you can see the **Login failure rate per system** area, where the **84e** system under the **Test** group is selected. The **Failed logons for system** area on the right shows failure events for this system.
+In the following screenshot, note the **Login failure rate per system** area, where the **84e** system under the **Test** group is selected. The **Failed logons for system** area on the right shows failure events for this system.
:::image type="content" source="media/sap-audit-log-workbook/logon-failure-rate.png" alt-text="Screenshot of the Login failure rate per system area of the SAP Audit workbook." lightbox="media/sap-audit-log-workbook/logon-failure-rate.png"::: ### Logon failures - trends
-The **Logon failures trends** area shows the trends and number of failed sign-ins, grouped by different types of data.
+The **Logon failures trends** area shows the trends and number of failed sign-ins, grouped by different types of data. For example:
:::image type="content" source="media/sap-audit-log-workbook/logon-failure-trends.png" alt-text="Screenshot of the Logon failures trends area of the SAP Audit workbook." lightbox="media/sap-audit-log-workbook/logon-failure-trends.png":::
+The following table describes each metric in the **Logon failures trends** area:
+ |Area |Description | |||
-|**Login failure by cause** | Shows a trend of the number of sign-in failures according to the cause of failure, for example: incorrect sign-in data. |
-|**Login failure by type** | Shows a trend of the number of sign-in failures according to type, for example: the sign-in triggered a background job, or the sign-in was via HTTP. |
-|**Login failure by method** | Shows a trend of the number of sign-in failures according to method, for example: SNC or a sign-in ticket. |
+|**Login failure by cause** | Shows the trend of the number of sign-in failures according to failure cause, such as incorrect sign-in data. |
+|**Login failure by type** | Shows the trend of the number of sign-in failures according to type, such as *the sign-in triggered a background job*, or the *sign-in was via HTTP*. |
+|**Login failure by method** | Shows the trend of the number of sign-in failures according to method, such as *SNC* or a *sign-in ticket*. |
## Audit log alerts report tab
-This tab shows severity and audit trends for each SAP system and user. All areas in this tab show data flagged by [anomaly detection](configure-audit-log-rules.md#anomaly-detection) only. For all events, select **All** next to **Failed logons** on the right.
+The **Audit log alerts** tab shows data about the SAP Audit log events that the Microsoft Sentinel solution for SAP applications watches. The data is based on the [*SAP_Dynamic_Audit_Log_Monitor_Configuration* watchlist](sap-solution-security-content.md#available-watchlists).
+
+The **Audit log alerts** tab shows the severity and audit trends for each SAP system and user. All areas in this tab show data flagged by anomaly detection only. For all events, select **All** next to **Failed logons** on the right.
+
+For more information, see [Monitor the SAP audit log](sap-solution-security-content.md#monitor-the-sap-audit-log).
+
+For example:
:::image type="content" source="media/sap-audit-log-workbook/audit-log-alerts.png" alt-text="Screenshot of the Audit Log Alerts area of the SAP Audit workbook." lightbox="media/sap-audit-log-workbook/audit-log-alerts.png":::
-|Area |Description |Specific data |Options/notes |
-|||||
-|**Alert severity trends per System ID** |Shows a list of systems, with a graph of medium and high severity event trends per system. For example, the 012 system had many high severity events over the entire period, and a few medium severity events with a spike that shows more medium severity events in the middle of the period. | | |
-|**Audit trend per user** |Shows a combination of Microsoft Sentinel and Microsoft Entra data. The workbook displays the users according to risk: Users that indicate the most risk are at the top of the list, and users with less security risk are at the bottom. |For each user, shows:<br>ΓÇó A timeline of high and medium severity events<br>ΓÇó The user's email address<br>ΓÇó The Microsoft Entra risk indicator<br>ΓÇó The number of incidents and alerts in Microsoft Sentinel |When you select a row, you can see a list of alerts and incidents for that user under **Incidents/alerts overview for user**. Below this list, you can also see of Microsoft Entra risk events under **Azure audit and signin risks for user**. |
-|**Risk score per system** | Visually represents each system in a cell shape. |ΓÇó Shows the risk score for each system.<br>ΓÇó Systems are grouped by type.<br>ΓÇó The color of the system indicates the risk: Green indicates a system with a lower risk score, where red indicates a higher risk score. |You can select a system to see a list of SAP events per system. |
-|**Events by MITRE ATT&CK® tactics** |Shows a list of SAP events grouped by MITRE ATT&CK® tactics, like Initial Access or Defense Evasion. | |You can hover over the graph to show the number of sign-ins for different dates. |
-|**Events by category** |Shows a list of SAP event trends grouped by category, like RFC Start or Logon. | |You can hover over the graph to show the sign-in number for different dates. |
-|**Events by authorization group** |Shows a list of SAP event trends grouped by the SAP authorization group, like USER or SUPER. | |You can hover over the graph to show the number of sign-ins for different dates. |
-|**Events by user type** |Shows a list of SAP event trends grouped by the SAP user type, like Dialog or system. | |You can hover over the graph to show the number of sign-ins for different dates. |
+The following table describes each metric on the **Audit log alerts** tab:
-In this screenshot, you can see the data shown when the first line is selected in the **Audit trends per user** table. The specific alerts and incident URLs are shown in the **Incidents/alerts overview for user** table.
+|Area |Description |
+|||
+|**Alert severity trends per system ID** |Shows a list of systems, with a graph of *Medium* and *High* severity event trends per system. <br><br>For example, the *012* system had many *High* severity events over the entire period, and a few *Medium* severity events, with a spike that shows more *Medium* severity events in the middle of the period. |
+|**Audit trend per user** |Shows a combination of Microsoft Sentinel and Microsoft Entra data, listing users according to risk, with the most risky users at the top. <br><br>For each user the workbook shows the following data: <br>- A timeline of *High* and *Medium* severity events<br>- The user's email address<br>- The Microsoft Entra risk indicator<br>- The number of incidents and alerts in Microsoft Sentinel <br><br> Select a row to see a list of alerts and incidents for that user under **Incidents/alerts overview for user**. <br><br>View Microsoft Entra risk events under **Azure audit and signin risks for user**. |
+|**Risk score per system** | Visually represents each system in a cell shape, showing the risk score for each system and grouping systems by type. <br><br>The system's color indicates the system's risk score: Green for a lower risk score and red for a higher risk score. <br><br>Select a system to see a list of SAP events per system.|
+|**Events by MITRE ATT&CK tactics** |Shows a list of SAP events grouped by MITRE ATT&CK tactics, like *Initial Access* or *Defense Evasion*. <br><br>Hover over the graph to show the number of sign-ins for different dates. |
+|**Events by category** |Shows a list of SAP event trends grouped by category, like *RFC Start* or *Logon*. <br><br>Hover over the graph to show the sign-in number for different dates. |
+|**Events by authorization group** |Shows a list of SAP event trends grouped by the SAP authorization group, like *USER* or *SUPER*.<br><br>Hover over the graph to show the number of sign-ins for different dates. |
+|**Events by user type** |Shows a list of SAP event trends grouped by the SAP user type, like *Dialog* or *System*. <br><br>Hover over the graph to show the number of sign-ins for different dates. |
+
+In the following screenshot, note the data shown when the first line is selected in the **Audit trends per user** table. The specific alerts and incident URLs are shown in the **Incidents/alerts overview for user** table.
:::image type="content" source="media/sap-audit-log-workbook/audit-trend-per-user.png" alt-text="Screenshot of data shown when a line is selected in the Audit trends per user table." lightbox="media/sap-audit-log-workbook/audit-trend-per-user.png":::
-In this screenshot, you can see the **Risk score per system** area, where the **cb7** system under the **UAT** group is selected. The **SAP events for system** area below the system visualization shows the SAP event for this system.
+In the following screenshot, note the **Risk score per system** area, where the **cb7** system under the **UAT** group is selected. The **SAP events for system** area below the system visualization shows the SAP event for this system.
:::image type="content" source="media/sap-audit-log-workbook/risk-score-per-system.png" alt-text="Screenshot of the Risk score per system area of the SAP Audit workbook." lightbox="media/sap-audit-log-workbook/risk-score-per-system.png":::
-In this screenshot, you can see areas with events and event trends grouped by different types of data: MITRE ATT&CK® tactics, SAP authorization group, and user type.
+In the following screenshot, note areas with events and event trends grouped by different types of data: MITRE ATT&CK tactics, SAP authorization group, and user type.
:::image type="content" source="media/sap-audit-log-workbook/event-data-categories.png" alt-text="Screenshot of the different event data in the SAP Audit workbook." lightbox="media/sap-audit-log-workbook/event-data-categories.png":::
-## Next steps
-
-For more information, see:
+## Related content
-- [Deploying Microsoft Sentinel solution for SAP® applications](deployment-overview.md)-- [Microsoft Sentinel solution for SAP® applications logs reference](sap-solution-log-reference.md)-- [Monitor the health of your SAP system](../monitor-sap-system-health.md)-- [Deploy the Microsoft Sentinel solution for SAP® applications data connector with SNC](configure-snc.md)-- [Configuration file reference](configuration-file-reference.md)-- [Prerequisites for deploying the Microsoft Sentinel solution for SAP® applications](prerequisites-for-deploying-sap-continuous-threat-monitoring.md)-- [Troubleshooting your Microsoft Sentinel solution for SAP® applications deployment](sap-deploy-troubleshoot.md)
+For more information, see [Deploy the Microsoft Sentinel solution for SAP applications from the content hub](deploy-sap-security-content.md) and [Microsoft Sentinel solution for SAP applications: security content reference](sap-solution-security-content.md).
sentinel Sap Deploy Troubleshoot https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/sentinel/sap/sap-deploy-troubleshoot.md
Title: Microsoft Sentinel solution for SAP® applications deployment troubleshooting
-description: Learn how to troubleshoot specific issues that may occur in your Microsoft Sentinel solution for SAP® applications deployment.
+ Title: Microsoft Sentinel solution for SAP applications deployment troubleshooting
+description: Learn how to troubleshoot specific issues that might occur in your Microsoft Sentinel solution for SAP applications deployment.
Last updated 01/09/2023-
+appliesto:
+ - Microsoft Sentinel in the Azure portal
+ - Microsoft Sentinel in the Microsoft Defender portal
+ #Customer intent: As an SAP BASIS team member, I want to troubleshoot issues with my Microsoft Sentinel for SAP applications data connector so that I can ensure accurate and timely data ingestion and monitoring.
-# Troubleshooting your Microsoft Sentinel solution for SAP® applications deployment
+# Troubleshooting your Microsoft Sentinel solution for SAP applications deployment
+
+This article includes troubleshooting steps to help you ensure accurate and timely data ingestion and monitoring for your SAP environment with Microsoft Sentinel.
+
+In this article, we refer to the [**systemconfig.json**](reference-systemconfig-json.md) file, which is used for agent versions released on or after June 22, 2023. If you're using an earlier version of the agent, refer to the [**systemconfig.ini**](reference-systemconfig.md) file instead.
## Useful Docker commands
-When troubleshooting your Microsoft Sentinel for SAP data connector, you may find the following commands useful:
+When troubleshooting your Microsoft Sentinel for SAP data connector, you might find the following commands useful:
| Function | Command | | | -- |
docker logs -f sapcon-[SID]
## Enable/disable debug mode printing
-**Enable debug mode printing**:
+1. On your data collector agent container virtual machine, edit the [**/opt/sapcon/[SID]/systemconfig.json**](reference-systemconfig-json.md) file.
-1. On your VM, edit the **/opt/sapcon/[SID]/systemconfig.ini** file.
-
-1. Define the **General** section if it wasn't previously defined. In this section, define `logging_debug = True`.
+1. Define the **General** section if it wasn't previously defined. In this section, define `logging_debug = True` to enable debug mode printing, or `logging_debug = False` to disable it.
For example:
- ```Python
+ ```json
[General] logging_debug = True ``` 1. Save the file.
-The change takes effect two minutes after you save the file. You don't need to restart the Docker container.
-
-**Disable debug mode printing**:
-
-1. On your VM, edit the **/opt/sapcon/[SID]/systemconfig.ini** file.
-
-1. In the **General** section, define `logging_debug = False`.
-
- For example:
-
- ```Python
- [General]
- logging_debug = False
- ```
-
-1. Save the file.
-
-The change takes effect two minutes after you save the file. You don't need to restart the Docker container.
+The change takes effect approximately two minutes after you save the file. You don't need to restart the Docker container.
## View all container execution logs
-Connector execution logs for your Microsoft Sentinel solution for SAP® applications data connector deployment are stored on your VM in **/opt/sapcon/[SID]/log/**. Log filename is **OmniLog.log**. A history of logfiles is kept, suffixed with *.[number]* such as **OmniLog.log.1**, **OmniLog.log.2** etc
+Connector execution logs for your Microsoft Sentinel solution for SAP applications data connector deployment are stored on your VM in **/opt/sapcon/[SID]/log/**. Log filename is **OmniLog.log**. A history of logfiles is kept, suffixed with *.[number]* such as **OmniLog.log.1**, **OmniLog.log.2**, and so on.
-## Review and update the Microsoft Sentinel for SAP data connector configuration
+## Review and update the Microsoft Sentinel for SAP agent connector configuration file
-If you want to check the Microsoft Sentinel for SAP data connector configuration file and make manual updates, perform the following steps:
+If you [deployed your agent via the portal](deploy-data-connector-agent-container.md#deploy-the-data-connector-agent-from-the-portal-preview), you can continue to maintain and change configuration settings via the portal.
-1. On your VM, open the configuration file:
+If you deployed via the command line, or want to make manual updates directly to the configuration file, perform the following steps:
- - **sapcon/[SID]/systemconfig.json** for agent versions released on or after June 22, 2023.
- - **sapcon/[SID]/systemconfig.ini** for agent versions released before June 22, 2023.
+1. On your VM, open the configuration file: **sapcon/[SID]/systemconfig.json**
-1. Update the configuration if needed, and save the file.
+1. Update the configuration if needed, and save the file. For more information, see the [Microsoft Sentinel solution for SAP applications `systemconfig.json` file reference](reference-systemconfig-json.md).
-The change takes effect two minutes after you save the file. You don't need to restart the Docker container.
+The change takes effect approximately two minutes after you save the file. You don't need to restart the Docker container.
## Reset the Microsoft Sentinel for SAP data connector
The following steps reset the connector and reingest SAP logs from the last 30 m
Make sure to [Review system logs](#review-system-logs) when you're done.
-### Missing IP address or transaction code fields in the SAP audit log
-
-This solution allows SAP systems with versions for SAP BASIS 7.5 SP12 and above to reflect additional fields in the `ABAPAuditLog_CL` and `SAPAuditLog` tables.
-
-If you're using SAP BASIS versions higher than 7.5 SP12 and missing IP address or transaction code fields in the SAP audit log, verify that the SAP system from which you're extracting the data contains the relevant change requests (transports). To learn more, review the [Retrieve additional information from SAP](prerequisites-for-deploying-sap-continuous-threat-monitoring.md#retrieve-additional-information-from-sap-optional) section in the prerequisites.
-
-### No data is showing in the SAP table data log
-
-This solution allows SAP systems with versions for SAP BASIS 7.5 SP12 and above to reflect table data log changes in the `ABAPTableDataLog_CL` table.
-
-If no data is showing in the `ABAPTableDataLog_CL` table, verify that the SAP system from which you're extracting the data contains the relevant change requests (transports). To learn more, review the [Retrieve additional information from SAP](prerequisites-for-deploying-sap-continuous-threat-monitoring.md#retrieve-additional-information-from-sap-optional) section in the prerequisites.
- ## Common issues
-After having deployed both the Microsoft Sentinel for SAP data connector and security content, you may experience the following errors or issues:
+After having deployed both the Microsoft Sentinel for SAP data connector and security content, you might experience the following errors or issues:
### Corrupt or missing SAP SDK file
-This error may occur when the connector fails to boot with PyRfc, or zip-related error messages are shown.
+This error might occur when the connector fails to boot with PyRfc, or zip-related error messages are shown.
1. Reinstall the SAP SDK.
-1. Verify that you're the correct Linux 64-bit version. As of the current date, the release filename is: **nwrfc750P_8-70002752.zip**.
+1. Verify that you're the correct Linux 64-bit version, such as **nwrfc750P_8-70002752.zip**.
If you'd installed the data connector manually, make sure that you'd copied the SDK file into the Docker container. Run: ```bash
-Docker cp SDK by running docker cp nwrfc750P_8-70002752.zip /sapcon-app/inst/
+docker cp nwrfc750P_8-70002752.zip /sapcon-app/inst/
``` ### ABAP runtime errors appear on a large system If ABAP runtime errors appear on large systems, try setting a smaller chunk size:
-1. Edit the **/opt/sapcon/[SID]/systemconfig.ini** file and in the **Connector Configuration** section define `timechunk = 5`.
+1. Edit the [**/opt/sapcon/[SID]/systemconfig.json**](reference-systemconfig-json.md) file and in the **Connector Configuration** section define `timechunk = 5`.
For example:
- ```Python
+ ```json
[Connector Configuration] timechunk = 5 ```
-1. save the file.
+1. Save the file.
-The change takes effect two minutes after you save the file. You don't need to restart the Docker container.
+The change takes effect approximately two minutes after you save the file. You don't need to restart the Docker container.
> [!NOTE] > The **timechunk** size is defined in minutes.
The change takes effect two minutes after you save the file. You don't need to r
1. Verify whether messages arrive and exist in the SAP **SM20** or **RSAU_READ_LOG**, without any special errors appearing on the connector log.
-### Incorrect Microsoft Sentinel workspace ID or key
+### Incorrect workspace ID or key in key vault
-If you realize that you've entered an incorrect workspace ID or key in your deployment script, update the credentials stored in Azure key vault.
+If you realize that you entered an incorrect workspace ID or key in your deployment script, update the credentials stored in Azure key vault.
After verifying your credentials in Azure KeyVault, restart the container:
After verifying your credentials in Azure KeyVault, restart the container:
docker restart sapcon-[SID] ```
-### Incorrect SAP ABAP user credentials in a fixed configuration
-
-A fixed configuration is when the password is stored directly in the **systemconfig.ini** configuration file.
-
-If your credentials there are incorrect, verify your credentials.
-
-Use base64 encryption to encrypt the user and password. You can use online encryption tools to do encrypt your credentials, such as https://www.base64encode.org/.
- ### Incorrect SAP ABAP user credentials in key vault Check your credentials and fix them as needed, applying the correct values to the **ABAPUSER** and **ABAPPASS** values in Azure Key Vault.
Then, restart the container:
docker restart sapcon-[SID] ```
+### Incorrect SAP ABAP user credentials in a fixed configuration
+
+A fixed configuration is when the password is stored directly in the [**systemconfig.json**](reference-systemconfig-json.md) configuration file.
+
+If your credentials there are incorrect, verify your credentials.
+
+Use base64 encryption to encrypt the user and password. You can use online encryption tools to do encrypt your credentials, such as https://www.base64encode.org/.
+ ### Missing ABAP (SAP user) permissions
If you get an error message similar to: **..Missing Backend RFC Authorization..*
### Missing data in your workbooks or alerts
-If you find that you're missing data in your Microsoft Sentinel workbooks or alerts, ensure that the **Auditlog** policy is properly enabled on the SAP side, with no errors in the log file.
+If you find that you're missing data in your Microsoft Sentinel workbooks or alerts, ensure that the **Auditlog** policy is properly enabled on the SAP side, with no errors in the container log file.
Use the **RSAU_CONFIG_LOG** transaction for this step.
+For more information, see the [SAP documentation](https://community.sap.com/t5/application-development-blog-posts/analysis-and-recommended-settings-of-the-security-audit-log-sm19-rsau/ba-p/13297094) and [Collect SAP HANA audit logs in Microsoft Sentinel](collect-sap-hana-audit-logs.md).
+
+### Missing IP address or transaction code fields in the SAP audit log
+
+In SAP systems with versions for SAP BASIS 7.5 SP12 and above, Microsoft Sentinel can reflect extra fields in the `ABAPAuditLog_CL` and `SAPAuditLog` tables.
+
+If you're using SAP BASIS versions higher than 7.5 SP12 and are missing IP address or transaction code fields in the SAP audit log, verify that the SAP system from which you're extracting the data contains the relevant change requests (transports). For more information, see [Configure support for extra data retrieval (recommended)](preparing-sap.md#configure-support-for-extra-data-retrieval-recommended).
+ ### Missing SAP change request
-If you see errors that you're missing a required SAP change request, make sure you've imported the correct SAP change request for your system.
+If you see errors that you're missing a required SAP change request, make sure you've imported the correct SAP change request for your system. For more information, see [SAP prerequisites](prerequisites-for-deploying-sap-continuous-threat-monitoring.md#sap-prerequisites) and [Configure your SAP system for the Microsoft Sentinel solution](preparing-sap.md).
-For more information, see [ValidateSAP environment validation steps](prerequisites-for-deploying-sap-continuous-threat-monitoring.md#sap-environment-validation-steps).
+
+### No data is showing in the SAP table data log
+
+In SAP systems with versions for SAP BASIS 7.5 SP12 and above, Microsoft Sentinel can reflect table data log changes in the `ABAPTableDataLog_CL` table.
+
+If no data is showing in the `ABAPTableDataLog_CL` table, verify that the SAP system from which you're extracting the data contains the relevant change requests (transports). For more information, see [Configure support for extra data retrieval (recommended)](preparing-sap.md#configure-support-for-extra-data-retrieval-recommended).
### No records / late records
-The agent relies on time zone information to be correct. If you see that there are no records in the SAP audit and change logs, or if records are constantly a few hours behind, check if SAP report TZCUSTHELP presents any errors. Follow [SAP note 481835](<https://me.sap.com/notes/481835/E>) for more details.
-Additionally, there can be issues with the clock on the VM where the Microsoft Sentinel solution for SAP® applications agent is hosted. Any deviation of the VM's clock from UTC will impact data collection. More importantly, the SAP VM's clock and the Sentinel agent's VM's clock should match.
+The data collector agent relies on time zone information to be correct. If you see that there are no records in the SAP audit and change logs, or if records are constantly a few hours behind, check whether the SAP *TZCUSTHELP* report presents any errors. For more information, see [SAP note 481835](<https://me.sap.com/notes/481835/E>).
+There might also be issues with the clock on the virtual machine where the data collector agent container is hosted, and any deviation from the clock on the VM from UTC impacts data collection. Even more importantly, the clocks on both the SAP system machines and the data collector agent machines must match.
### Network connectivity issues
If you're having network connectivity issues to the SAP environment or to Micros
Common issues include: -- Firewalls between the docker container and the SAP hosts may be blocking traffic. The SAP host receives communication via the following TCP ports, which must be open: **32xx**, **5xx13**, and **33xx**, where **xx** is the SAP instance number.
+- Firewalls between the docker container and the SAP hosts might be blocking traffic. The SAP host receives communication via the following TCP ports, which must be open: **32xx**, **5xx13**, and **33xx**, where **xx** is the SAP instance number.
-- Outbound communication from your SAP host to Microsoft Container Registry or Azure requires proxy configuration. This typically impacts the installation and requires you to configure the `HTTP_PROXY` and `HTTPS_PROXY` environmental variables. You can also ingest environment variables into the docker container when you create the container, by adding the `-e` flag to the docker `create` / `run` command.-
-### Other unexpected issues
-
-If you have unexpected issues not listed in this article, try the following steps:
--- [Reset the connector and reload your logs](#reset-the-microsoft-sentinel-for-sap-data-connector)-- [Upgrade the connector](update-sap-data-connector.md) to the latest version.-
-> [!TIP]
-> Resetting your connector and ensuring that you have the latest upgrades are also recommended after any major configuration changes.
+- Outbound communication from your SAP agent host to Microsoft Container Registry or Azure requires proxy configuration. This typically impacts the installation and requires you to configure the `HTTP_PROXY` and `HTTPS_PROXY` environmental variables. You can also ingest environment variables into the docker container when you create the container, by adding the `-e` flag to the docker `create` / `run` command.
### Retrieving an audit log fails with warnings
-If you attempt to retrieve an audit log, without the [required change request](prerequisites-for-deploying-sap-continuous-threat-monitoring.md#sap-environment-validation-steps) deployed or on an older / unpatched version, and the process fails with warnings, verify that the SAP Auditlog can be retrieved using one of the following methods:
+If you attempt to retrieve an audit log without the [required configurations](preparing-sap.md#configure-sap-auditing) and the process fails with warnings, verify that the SAP Auditlog can be retrieved using one of the following methods:
- Using a compatibility mode called *XAL* on older versions - Using a version not recently patched-- Without the required change request installed
+- Without any changes made for connecting to the Microsoft Sentinel data connector agent. For more information, see [Configure your SAP system for the Microsoft Sentinel solution](preparing-sap.md).
-While your system should automatically switch to compatibility mode if needed, you may need to switch it manually. To switch to compatibility mode manually:
+While your system should automatically switch to compatibility mode if needed, you might need to switch it manually. To switch to compatibility mode manually:
-1. Edit the **/opt/sapcon/[SID]/systemconfig.ini** file
+1. Edit the [**/opt/sapcon/[SID]/systemconfig.json**](reference-systemconfig-json.md) file.
1. In the **Connector Configuration** section defineefine: `auditlogforcexal = True` For example:
- ```Python
+ ```json
[Connector Configuration] auditlogforcexal = True ```
-1. save the file.
+1. Save the file.
-The change takes effect two minutes after you save the file. You don't need to restart the Docker container.
+The change takes effect approximately two minutes after you save the file. You don't need to restart the Docker container.
### SAPCONTROL or JAVA subsystems unable to connect
If your SAPCONTROL or JAVA subsystem fails with a timezone-related error message
For example, use `javatz = GMT+12` or `abaptz = GMT-3**`. -
-### Unable to import the change request transports to SAP
-
-If you're not able to import the [required SAP log change requests](prerequisites-for-deploying-sap-continuous-threat-monitoring.md#sap-environment-validation-steps) and are getting an error about an invalid component version, add `ignore invalid component version` when you import the change request.
- ### Audit log data not ingested past initial load
-If the SAP audit log data, visible in either the **RSAU_READ_LOAD** or **SM200** transactions, isn't ingested into Microsoft Sentinel past the initial load, you may have a misconfiguration of the SAP system and the SAP host operating system.
+If the SAP audit log data, visible in either the **RSAU_READ_LOAD** or **SM200** transactions, isn't ingested into Microsoft Sentinel past the initial load, you might have a misconfiguration of the SAP system and the SAP host operating system.
- Initial loads are ingested after a fresh installation of the Microsoft Sentinel for SAP data connector, or after the **metadata.db** file is deleted. - A sample misconfiguration might be when your SAP system timezone is set to **CET** in the **STZAC** transaction, but the SAP host operating system time zone is set to **UTC**.
To check for misconfigurations, run the **RSDBTIME** report in transaction **SE3
rm /opt/sapcon/[SID]/metadata.db ```
-1. Update the SAP system and the SAP host operating system to have matching settings, such as the same time zone. For more information, see the [SAP Community Wiki](https://wiki.scn.sap.com/wiki/display/Basis/Time+zone+settings%2C+SAP+vs.+OS+level).
+1. Update the SAP system and the SAP host operating system so that they have matching settings, such as the same time zone. For more information, see the [SAP Community Wiki](https://wiki.scn.sap.com/wiki/display/Basis/Time+zone+settings%2C+SAP+vs.+OS+level).
1. Start the container again. Run:
To check for misconfigurations, run the **RSDBTIME** report in transaction **SE3
docker start sapcon-[SID] ```
-### Missing IP address or transaction code fields in the SAP audit log
+## Other unexpected issues
-This solution allows SAP systems with versions for SAP BASIS 7.5 SP12 and above to reflect additional fields in the ABAPAuditLog_CL and SAPAuditLog tables. If you are using SAP BASIS versions higher than 7.5 SP12 and missing IP address or transaction code fields in the SAP audit log, verify that the SAP system from which you are extracting the data contains the relevant change requests (transports). See [Retrieve additional information from SAP (optional)](prerequisites-for-deploying-sap-continuous-threat-monitoring.md#retrieve-additional-information-from-sap-optional) for more details.
+If you have unexpected issues not listed in this article, try the following steps:
-### No data is showing in the SAP table data log
+- [Reset the connector and reload your logs](#reset-the-microsoft-sentinel-for-sap-data-connector)
+- [Upgrade the connector](update-sap-data-connector.md) to the latest version.
-This solution allows SAP systems with versions for SAP BASIS 7.5 SP12 and above to reflect table data log changes in the ABAPTableDataLog_CL table. If no data is showing in the ABAPTableDataLog_CL, verify that the SAP system from which you are extracting the data contains the relevant change requests (transports). See [Retrieve additional information from SAP (optional)](prerequisites-for-deploying-sap-continuous-threat-monitoring.md#retrieve-additional-information-from-sap-optional) for more details.
+> [!TIP]
+> Resetting your connector and ensuring that you have the latest upgrades are also recommended after any major configuration changes.
-## Next steps
+## Related content
-Learn more about the Microsoft Sentinel solution for SAP® applications:
+Learn more about the Microsoft Sentinel solution for SAP applications:
-- [Deploy Microsoft Sentinel solution for SAP® applications](deployment-overview.md)-- [Prerequisites for deploying Microsoft Sentinel solution for SAP® applications](prerequisites-for-deploying-sap-continuous-threat-monitoring.md)-- [Deploy SAP Change Requests (CRs) and configure authorization](preparing-sap.md)
+- [Deploy Microsoft Sentinel solution for SAP applications](deployment-overview.md)
+- [Prerequisites for deploying Microsoft Sentinel solution for SAP applications](prerequisites-for-deploying-sap-continuous-threat-monitoring.md)
+- [Configure your SAP system for the Microsoft Sentinel solution](preparing-sap.md)
- [Deploy the solution content from the content hub](deploy-sap-security-content.md)-- [Deploy and configure the container hosting the SAP data connector agent](deploy-data-connector-agent-container.md)-- [Deploy the Microsoft Sentinel for SAP data connector with SNC](configure-snc.md)-- [Enable and configure SAP auditing](configure-audit.md)
+- [Connect your SAP system by deploying your data connector agent container](deploy-data-connector-agent-container.md)
- [Collect SAP HANA audit logs](collect-sap-hana-audit-logs.md) Reference files: -- [Microsoft Sentinel solution for SAP® applications solution data reference](sap-solution-log-reference.md)-- [Microsoft Sentinel solution for SAP® applications solution: security content reference](sap-solution-security-content.md)
+- [Microsoft Sentinel solution for SAP applications solution data reference](sap-solution-log-reference.md)
+- [Microsoft Sentinel solution for SAP applications solution: security content reference](sap-solution-security-content.md)
- [Kickstart script reference](reference-kickstart.md) - [Update script reference](reference-update.md)-- [Systemconfig.ini file reference](reference-systemconfig.md)
+- [Microsoft Sentinel solution for SAP applications `systemconfig.json` file reference](reference-systemconfig-json.md)
For more information, see [Microsoft Sentinel solutions](../sentinel-solutions.md).
sentinel Sap Incident Response Playbooks https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/sentinel/sap/sap-incident-response-playbooks.md
- Title: Microsoft Sentinel incident response playbooks for SAP
-description: This article introduces Microsoft Sentinel playbooks built to respond to incidents in your SAP environment.
--- Previously updated : 06/28/2023--
-#Customer intent: As a security analyst, I want to automate incident response for SAP systems using Microsoft Sentinel so that I can improve the efficiency and effectiveness of our security operations.
---
-# Microsoft Sentinel incident response playbooks for SAP
-
-This article describes how to take advantage of Microsoft Sentinel's security orchestration, automation, and response (SOAR) capabilities in conjunction with SAP. The article introduces purpose-built playbooks included in the [Microsoft Sentinel solution for SAP® applications](solution-overview.md). You can use these playbooks to respond automatically to suspicious user activity in SAP systems, automating remedial actions in SAP RISE, SAP ERP, SAP Business Technology Platform (BTP) as well as in Microsoft Entra ID.
-
-The Microsoft Sentinel SAP solution empowers your organization to secure its SAP environment. For a complete, detailed overview of the Sentinel SAP solution, see the following articles:
-- [Microsoft Sentinel solution for SAP® applications overview](solution-overview.md)-- [Deploy Microsoft Sentinel solution for SAP® applications](deployment-overview.md)-- [Microsoft Sentinel solution for SAP® applications: security content reference](sap-solution-security-content.md)-
-With the addition of these playbooks to the solution, you can not only monitor and analyze security events in real-time, you can also automate SAP incident response workflows to improve the efficiency and effectiveness of security operations.
-
-The Microsoft Sentinel solution for SAP® applications includes the following playbooks:
-- SAP Incident Response - Lock user from Teams - Basic-- SAP Incident Response - Lock user from Teams - Advanced-- SAP Incident Response - Reenable audit logging once deactivated-
-## Use cases
-
-You're tasked with defending your organization's SAP environment. You've implemented Microsoft Sentinel solution for SAP® applications. You've enabled the solution's analytics rule "SAP - Execution of a Sensitive Transaction Code," and you've possibly customized the solution's "Sensitive Transactions" watchlist to include particular transaction codes you wish to screen for. An incident warns you of suspicious activity in one of the SAP systems. A user is trying to execute one of these highly sensitive transactions. You must [investigate and respond to this incident](../investigate-incidents.md).
-
-During the triage phase, you decide to take action against this user, kicking it out of your SAP ERP or BTP systems or even from Microsoft Entra ID.
-
-### Lock out a user from a single system
-
-As an example of how to bring orchestration and automation to this process, let's build an [automation rule](../automate-incident-handling-with-automation-rules.md) to invoke the **Lock user from Teams - Basic** playbook whenever a sensitive transaction execution by an unauthorized user is detected. This playbook uses Teams' adaptive cards feature to request approval before unilaterally blocking the user.
-
-For more information on configuring this playbook, see [this SAP blog post](https://blogs.sap.com/2023/05/22/from-zero-to-hero-security-coverage-with-microsoft-sentinel-for-your-critical-sap-security-signals-youre-gonna-hear-me-soar-part-1/).
-
-### Lock out a user from multiple systems
-
-The **Lock user from Teams - Advanced** playbook accomplishes the same objective, but is designed for more complex scenarios, allowing a single playbook to be used for multiple SAP systems, each with its own SAP SID. The playbook seamlessly manages the connections to all of these systems, and their credentials, using the optional dynamic parameter *InterfaceAttributes* in the *SAP - Systems* watchlist (included with the Microsoft Sentinel solution for SAP® applications) and Azure Key Vault. The playbook also allows you to communicate to the parties in the approval process using [Outlook actionable messages](/outlook/actionable-messages/get-started) in addition to&mdash;and synchronized with&mdash;Teams, using the *TeamsChannelID* and *DestinationEmail* parameters in the *SAP_Dynamic_Audit_Log_Monitor_Configuration* watchlist.
-
-For more information on configuring this playbook, and in particular on how to use dynamic parameters in watchlists to manage connections to all your SAP systems, see [this SAP blog post](https://blogs.sap.com/2023/05/23/from-zero-to-hero-security-coverage-with-microsoft-sentinel-for-your-critical-sap-security-signals-part-2/).
-
-### Prevent deactivation of audit logging
-
-With your mission being to ensure that security coverage of your SAP environment remains comprehensive and uninterrupted, you might be concerned about the SAP audit log&mdash;one of the sources of your security information&mdash;being deactivated. You want to build an automation rule based on the **SAP - Deactivation of Security Audit Log** analytics rule, that will invoke the **Reenable audit logging once deactivated** playbook to make sure that doesn't happen. This playbook also uses Teams, but only to inform security personnel after the fact, since, given the severity of the offense and the urgency of its mitigation, immediate action can be taken with no approval required. Since this playbook also uses Azure Key Vault to manage credentials, the playbook's configuration is similar to that of the previous one. For more information on this playbook and its configuration, see [this SAP blog post](https://blogs.sap.com/2023/05/23/from-zero-to-hero-security-coverage-with-microsoft-sentinel-for-your-critical-sap-security-signals-part-3/).
-
-## Standard vs. Consumption playbooks
-
-Microsoft Sentinel lets you create instances of these playbooks directly from templates if you're using playbooks based on Azure Logic Apps' **Consumption** plan. If you have specific requirements for virtual networking (VNET) injection support, you must either use **Azure API management** [as described here](https://blogs.sap.com/2023/05/17/generate-soap-services-for-your-legacy-rfcs-to-simplify-integration-out-of-the-box/) in conjunction with your Consumption logic app, or use **Standard**-plan logic apps.
-
-See the [full explanation of the different types of playbooks](../automate-responses-with-playbooks.md#logic-app-types). Also, see [this SAP blog post](https://blogs.sap.com/2023/05/22/from-zero-to-hero-security-coverage-with-microsoft-sentinel-for-your-critical-sap-security-signals-youre-gonna-hear-me-soar-part-1/), in the table under the heading "Creating line of sight to your SAP system for the SOAP request," for the ramifications of choosing each type of logic app.
-
-The process for deploying Standard logic apps generally is more complex than it is for Consumption logic apps, but we've made available a series of shortcuts which allows you to deploy them quickly from the Microsoft Sentinel GitHub repository. Follow the [procedure outlined there](https://github.com/Azure/Azure-Sentinel/blob/master/Solutions/SAP/Playbooks/INSTALLATION.md) to deploy the playbooks.
-
-Currently available Standard playbooks in GitHub:
-- [**Lock SAP User from Teams - Basic** Standard playbook](https://github.com/Azure/Azure-Sentinel/tree/master/Solutions/SAP/Playbooks/Basic-SAPLockUser-STD)-
-Keep tabs on the [SAP playbooks folder](https://github.com/Azure/Azure-Sentinel/tree/master/Solutions/SAP/Playbooks) in the GitHub repository for more playbooks as they become available. There's also a [short introductory video (external link)](https://www.youtube.com/watch?v=b-AZnR-nQpg) there to help you get started.
-
-## Next steps
-
-In this article, you learned about the playbooks available in the Microsoft Sentinel solution for SAP® applications.
--- Learn more about the [Microsoft Sentinel solution for SAP® applications](solution-overview.md).-- Learn how to [deploy the Microsoft Sentinel solution for SAP® applications](deployment-overview.md).-- Learn about the [security content available in the Microsoft Sentinel solution for SAP® applications](sap-solution-security-content.md).-- Learn about [automation rules](../automate-incident-handling-with-automation-rules.md) and [playbooks](../automate-responses-with-playbooks.md).
sentinel Sap Solution Deploy Alternate https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/sentinel/sap/sap-solution-deploy-alternate.md
Title: Microsoft Sentinel for SAP data connector expert configuration options, on-premises deployment, and SAPControl log sources | Microsoft Docs
-description: Learn how to deploy Microsoft Sentinel for SAP data connector environments using expert configuration options and an on-premises machine. Also learn more about SAPControl log sources.
+ Title: Deploy the Microsoft Sentinel for SAP data connector agent container using expert configuration options | Microsoft Docs
+description: Learn how to deploy the Microsoft Sentinel for SAP data connector environments using expert configuration options, such as and on-premises machine and custom, manual configurations.
Previously updated : 06/19/2023-- Last updated : 09/15/2024
+appliesto:
+ - Microsoft Sentinel in the Azure portal
+ - Microsoft Sentinel in the Microsoft Defender portal
+ #Customer intent: As an SAP BASIS team member, I want to deploy and configure a custom Microsoft Sentinel for SAP applications data connector so that I can securely integrate SAP logs into my cloud-based SIEM for enhanced monitoring and analysis.
-# Expert configuration options, on-premises deployment, and SAPControl log sources
+# Deploy the Microsoft Sentinel for SAP data connector agent container with expert options
-This article describes how to deploy the Microsoft Sentinel for SAP data connector in an expert or custom process, such as using an on-premises machine and an Azure Key Vault to store your credentials.
+This article provides procedures for deploying and configuring the Microsoft Sentinel for SAP data connector agent container using expert, custom, or manual configuration options. For typical deployments we recommend that you use the [portal](deploy-data-connector-agent-container.md#deploy-the-data-connector-agent-from-the-portal-preview) instead.
-> [!NOTE]
-> The default, and most recommended process for deploying the Microsoft Sentinel for SAP data connector is by [using an Azure VM](deploy-data-connector-agent-container.md). This article is intended for advanced users.
+Content in this article is intended for your **SAP BASIS** teams. For more information, see [Deploy a SAP data connector agent from the command line](deploy-command-line.md).
## Prerequisites
-The basic prerequisites for deploying your Microsoft Sentinel for SAP data connector are the same regardless of your deployment method.
-
-Make sure that your system complies with the prerequisites documented in the main [SAP data connector prerequisites document](prerequisites-for-deploying-sap-continuous-threat-monitoring.md) before you start.
-
-## Create your Azure key vault
-
-Create an Azure key vault that you can dedicate to your Microsoft Sentinel solution for SAP® applications data connector.
-
-Run the following command to create your Azure key vault and grant access to an Azure service principal:
+- Make sure that your system complies with the prerequisites documented in the main [SAP data connector prerequisites document](prerequisites-for-deploying-sap-continuous-threat-monitoring.md) before you start.
-``` azurecli
-kvgp=<KVResourceGroup>
+## Manually add SAP data connector agent Azure Key Vault secrets
-kvname=<keyvaultname>
-
-spname=<sp-name>
-
-kvname=<keyvaultname>
-# Optional when Azure MI not enabled - Create sp user for AZ cli connection, save details for env.list file
-az ad sp create-for-rbac ΓÇôname $spname --role Contributor --scopes /subscriptions/<subscription_id>
-
-SpID=$(az ad sp list ΓÇôdisplay-name $spname ΓÇôquery ΓÇ£[].appIdΓÇ¥ --output tsv
-
-#Create key vault
-az keyvault create \
- --name $kvname \
- --resource-group $kvgp
-
-# Add access to SP
-az keyvault set-policy --name $kvname --resource-group $kvgp --object-id $spID --secret-permissions get list set
-```
-
-For more information, see [Quickstart: Create a key vault using the Azure CLI](/azure/key-vault/general/quick-create-cli).
-
-## Add Azure Key Vault secrets
-
-To add Azure Key Vault secrets, run the following script, with your own system ID and the credentials you want to add:
+Use the following script to manually add SAP system secrets to your key vault. Make sure to replace the placeholders with your own system ID and the credentials you want to add:
```azurecli #Add Abap username
az keyvault secret set \
--description SECRET_AZURE_LOG_WS_PUBLIC_KEY --vault-name $kvname ```
-For more information, see the [az keyvault secret](/cli/azure/keyvault/secret) CLI documentation.
+For more information, see the [Quickstart: Create a key vault using the Azure CLI](/azure/key-vault/general/quick-create-cli) and the [az keyvault secret](/cli/azure/keyvault/secret) CLI documentation.
## Perform an expert / custom installation This procedure describes how to deploy the Microsoft Sentinel for SAP data connector using an expert or custom installation, such as when installing on-premises.
-We recommend that you perform this procedure after you have a key vault ready with your SAP credentials.
+**Prerequisites:** Azure Key Vault is the recommended method to store your authentication credentials and configuration data. We recommend that you perform this procedure only after you have a key vault ready with your SAP credentials.
**To deploy the Microsoft Sentinel for SAP data connector**:
-1. On your on-premises machine, download the latest SAP NW RFC SDK from the [SAP Launchpad site](https://support.sap.com) > **SAP NW RFC SDK** > **SAP NW RFC SDK 7.50** > **nwrfc750X_X-xxxxxxx.zip**.
+1. Download the latest SAP NW RFC SDK from the [SAP Launchpad site](https://support.sap.com) > **SAP NW RFC SDK** > **SAP NW RFC SDK 7.50** > **nwrfc750X_X-xxxxxxx.zip**, and save it to your data connector agent machine.
> [!NOTE] > You'll need your SAP user sign-in information in order to access the SDK, and you must download the SDK that matches your operating system. > > Make sure to select the **LINUX ON X86_64** option.
-1. On your on-premises machine, create a new folder with a meaningful name, and copy the SDK zip file into your new folder.
+1. On your same machine, create a new folder with a meaningful name, and copy the SDK zip file into your new folder.
-1. Clone the Microsoft Sentinel solution GitHub repository onto your on-premises machine, and copy Microsoft Sentinel solution for SAP® applications solution **systemconfig.ini** file into your new folder.
+1. Clone the Microsoft Sentinel solution GitHub repository onto your on-premises machine, and copy Microsoft Sentinel solution for SAP applications solution **systemconfig.json** file into your new folder.
For example: ```bash mkdir /home/$(pwd)/sapcon/<sap-sid>/ cd /home/$(pwd)/sapcon/<sap-sid>/
- wget https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Solutions/SAP/template/systemconfig.ini
+ wget https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Solutions/SAP/template/systemconfig.json
cp <**nwrfc750X_X-xxxxxxx.zip**> /home/$(pwd)/sapcon/<sap-sid>/ ```
-1. Edit the **systemconfig.ini** file as needed, using the embedded comments as a guide. For more information, see [Manually configure the Microsoft Sentinel for SAP data connector](#manually-configure-the-microsoft-sentinel-for-sap-data-connector).
-
- To test your configuration, you may want to add the user and password directly to the **systemconfig.ini** configuration file. While we recommend that you use [Azure Key vault](#add-azure-key-vault-secrets) to store your credentials, you can also use an **env.list** file, [Docker secrets](#manually-configure-the-microsoft-sentinel-for-sap-data-connector), or you can add your credentials directly to the **systemconfig.ini** file.
-
-1. Define the logs that you want to ingest into Microsoft Sentinel using the instructions in the **systemconfig.ini** file. For example, see [Define the SAP logs that are sent to Microsoft Sentinel](#define-the-sap-logs-that-are-sent-to-microsoft-sentinel).
+1. Edit the **systemconfig.json** file as needed, using the embedded comments as a guide.
-1. Define the following configurations using the instructions in the **systemconfig.ini** file:
+ Define the following configurations using the instructions in the **systemconfig.json** file:
+ - The logs that you want to ingest into Microsoft Sentinel using the instructions in the **systemconfig.json** file.
- Whether to include user email addresses in audit logs - Whether to retry failed API calls - Whether to include cexal audit logs - Whether to wait an interval of time between data extractions, especially for large extractions
+ For more information, see [Manually configure the Microsoft Sentinel for SAP data connector](#manually-configure-the-microsoft-sentinel-for-sap-data-connector) and [Define the SAP logs that are sent to Microsoft Sentinel](#define-the-sap-logs-that-are-sent-to-microsoft-sentinel).
+
+ To test your configuration, you might want to add the user and password directly to the **systemconfig.json** configuration file. While we recommend that you use Azure Key vault to store your credentials, you can also use an **env.list** file, [Docker secrets](#manually-configure-the-microsoft-sentinel-for-sap-data-connector), or you can add your credentials directly to the **systemconfig.json** file.
+ For more information, see [SAL logs connector configurations](#sal-logs-connector-settings).
-1. Save your updated **systemconfig.ini** file in the **sapcon** directory on your machine.
+1. Save your updated **systemconfig.json** file in the **sapcon** directory on your machine.
1. If you have chosen to use an **env.list** file for your credentials, create a temporary **env.list** file with the required credentials. Once your Docker container is running correctly, make sure to delete this file.
We recommend that you perform this procedure after you have a key vault ready wi
# env.list template for Credentials SAPADMUSER=<SET_SAPCONTROL_USER> SAPADMPASSWORD=<SET_SAPCONTROL_PASS>
- LOGWSID=<SET SENTINEL WORKSPACE id>
- LOGWSPUBLICKEY=<SET SENTINEL WORKSPACE KEY>
+ LOGWSID=<SET MICROSOFT SENTINEL WORKSPACE ID>
+ LOGWSPUBLICKEY=<SET MICROSOFT SENTINEL WORKSPACE KEY>
ABAPUSER=SET_ABAP_USER> ABAPPASS=<SET_ABAP_PASS> JAVAUSER=<SET_JAVA_OS_USER>
We recommend that you perform this procedure after you have a key vault ready wi
############################################################## ```
-1. Download and run the pre-defined Docker image with the SAP data connector installed. Run:
+1. Download and run the predefined Docker image with the SAP data connector installed. Run:
```bash docker pull mcr.microsoft.com/azure-sentinel/solutions/sapcon:latest-preview
We recommend that you perform this procedure after you have a key vault ready wi
docker logs ΓÇôf sapcon-[SID] ```
-1. Continue with deploying **Microsoft Sentinel solution for SAP® applications**.
+1. Continue with deploying **Microsoft Sentinel solution for SAP applications**.
Deploying the solution enables the SAP data connector to display in Microsoft Sentinel and deploys the SAP workbook and analytics rules. When you're done, manually add and customize your SAP watchlists.
- For more information, see [Deploy the Microsoft Sentinel solution for SAP applications® from the content hub](deploy-sap-security-content.md).
+ For more information, see [Deploy the Microsoft Sentinel solution for SAP applications from the content hub](deploy-sap-security-content.md).
## Manually configure the Microsoft Sentinel for SAP data connector
-The Microsoft Sentinel for SAP data connector is configured in the **systemconfig.ini** file, which you cloned to your SAP data connector machine as part of the [deployment procedure](#perform-an-expert--custom-installation).
+The Microsoft Sentinel for SAP data connector is configured in the **systemconfig.json** file, which you cloned to your SAP data connector machine as part of the [deployment procedure](#perform-an-expert--custom-installation). Use the content in this section to manually configure data connector settings.
-The following code shows a sample **systemconfig.ini** file:
+For more information, see [Systemconfig.json file reference](reference-systemconfig-json.md), or [Systemconfig.ini file reference](reference-systemconfig.md) for legacy systems.
-```python
-[Secrets Source]
-secrets = '<DOCKER_RUNTIME/AZURE_KEY_VAULT/DOCKER_SECRETS/DOCKER_FIXED>'
-keyvault = '<SET_YOUR_AZURE_KEYVAULT>'
-intprefix = '<SET_YOUR_PREFIX>'
-
-[ABAP Central Instance]
-##############################################################
-# Define the following values according to your server configuration.
-ashost = <SET_YOUR_APPLICATION_SERVER_HOST>
-mshost = <SET_YOUR_MESSAGE_SERVER_HOST> - #In case different then App
-##############################################################
-group = <SET_YOUR_LOGON_GROUP>
-msserv = <SET_YOUR_MS_SERVICE> - #Required only if the message server service is not defined as sapms<SYSID> in /etc/services
-sysnr = <SET_YOUR_SYS_NUMBER>
-user = <SET_YOUR_USER>
-##############################################################
-# Enter your password OR your X509 SNC parameters
-passwd = <SET_YOUR_PASSWORD>
-snc_partnername = <SET_YOUR_SNC_PARTNER_NAME>
-snc_lib = <SET_YOUR_SNC_LIBRARY_PATH>
-x509cert = <SET_YOUR_X509_CERTIFICATE>
-##############################################################
-sysid = <SET_YOUR_SYSTEM_ID>
-client = <SET_YOUR_CLIENT>
+### Define the SAP logs that are sent to Microsoft Sentinel
-[Azure Credentials]
-loganalyticswsid = <SET_YOUR_LOG_ANALYTICS_WORKSPACE_ID>
-publickey = <SET_YOUR_PUBLIC_KEY>
+The default **systemconfig** file is configured to cover built-in analytics, the SAP user authorization master data tables, with users and privilege information, and the ability to track changes and activities on the SAP landscape. The default configuration provides more logging information to allow for post-breach investigations and extended hunting abilities.
-[File Extraction ABAP]
-osuser = <SET_YOUR_SAPADM_LIKE_USER>
-##############################################################
-# Enter your password OR your X509 SNC parameters
-ospasswd = <SET_YOUR_SAPADM_PASS>
-x509pkicert = <SET_YOUR_X509_PKI_CERTIFICATE>
-##############################################################
-appserver = <SET_YOUR_SAPCTRL_SERVER IP OR FQDN>
-instance = <SET_YOUR_SAP_INSTANCE NUMBER, example 10>
-abapseverity = <SET_ABAP_SEVERITY 0 = All logs ; 1 = Warning ; 2 = Error>
-abaptz = <SET_ABAP_TZ --Use ONLY GMT FORMAT-- example - For OS Timezone = NZST use abaptz = GMT+12>
+However you might want to customize your configuration over time, especially as business processes tend to be seasonal.
-[File Extraction JAVA]
-javaosuser = <SET_YOUR_JAVAADM_LIKE_USER>
-##############################################################
-# Enter your password OR your X509 SNC parameters
-javaospasswd = <SET_YOUR_JAVAADM_PASS>
-javax509pkicert = <SET_YOUR_X509_PKI_CERTIFICATE>
-##############################################################
-javaappserver = <SET_YOUR_JAVA_SAPCTRL_SERVER IP ADDRESS OR FQDN>
-javainstance = <SET_YOUR_JAVA_SAP_INSTANCE for example 10>
-javaseverity = <SET_JAVA_SEVERITY 0 = All logs ; 1 = Warning ; 2 = Error>
-javatz = <SET_JAVA_TZ --Use ONLY GMT FORMAT-- example - For OS Timezone = NZST use javatz = GMT+12>
-```
+Use the following sets of code to configure the **systemconfig.json** file to define the logs that are sent to Microsoft Sentinel.
-### Define the SAP logs that are sent to Microsoft Sentinel
+For more information, see [Microsoft Sentinel solution for SAP applications solution logs reference (public preview)](sap-solution-log-reference.md).
-Add the following code to the Microsoft Sentinel solution for SAP® applications **systemconfig.ini** file to define the logs that are sent to Microsoft Sentinel.
+#### Configure a default profile
-For more information, see [Microsoft Sentinel solution for SAP® applications solution logs reference (public preview)](sap-solution-log-reference.md).
+The following code configures a default configuration:
```python ##############################################################
JAVAFilesLogs = False
############################################################## ```
+#### Configure a detection-focused profile
+
+Use the following code to configure a detection-focused profile, which includes the core security logs of the SAP landscape required for the most of the analytics rules to perform well. Post-breach investigations and hunting capabilities are limited.
+
+```python
+##############################################################
+[Logs Activation Status]
+# ABAP RFC Logs - Retrieved by using RFC interface
+ABAPAuditLog = True
+ABAPJobLog = False
+ABAPSpoolLog = False
+ABAPSpoolOutputLog = False
+ABAPChangeDocsLog = True
+ABAPAppLog = False
+ABAPWorkflowLog = False
+ABAPCRLog = True
+ABAPTableDataLog = False
+# ABAP SAP Control Logs - Retrieved by using SAP Conntrol interface and OS Login
+ABAPFilesLogs = False
+SysLog = False
+ICM = False
+WP = False
+GW = False
+# Java SAP Control Logs - Retrieved by using SAP Conntrol interface and OS Login
+JAVAFilesLogs = False
+[ABAP Table Selector]
+AGR_TCODES_FULL = True
+USR01_FULL = True
+USR02_FULL = True
+USR02_INCREMENTAL = True
+AGR_1251_FULL = True
+AGR_USERS_FULL = True
+AGR_USERS_INCREMENTAL = True
+AGR_PROF_FULL = True
+UST04_FULL = True
+USR21_FULL = True
+ADR6_FULL = True
+ADCP_FULL = True
+USR05_FULL = True
+USGRP_USER_FULL = True
+USER_ADDR_FULL = True
+DEVACCESS_FULL = True
+AGR_DEFINE_FULL = True
+AGR_DEFINE_INCREMENTAL = True
+PAHI_FULL = False
+AGR_AGRS_FULL = True
+USRSTAMP_FULL = True
+USRSTAMP_INCREMENTAL = True
+AGR_FLAGS_FULL = True
+AGR_FLAGS_INCREMENTAL = True
+SNCSYSACL_FULL = False
+USRACL_FULL = False
+```
+
+Use the following code to configure a minimal profile, which includes the SAP Security Audit Log, which is the most important source of data that the Microsoft Sentinel solution for SAP applications uses to analyze activities on the SAP landscape. Enabling this log is the minimal requirement to provide any security coverage.
+
+```python
+[Logs Activation Status]
+# ABAP RFC Logs - Retrieved by using RFC interface
+ABAPAuditLog = True
+ABAPJobLog = False
+ABAPSpoolLog = False
+ABAPSpoolOutputLog = False
+ABAPChangeDocsLog = False
+ABAPAppLog = False
+ABAPWorkflowLog = False
+ABAPCRLog = False
+ABAPTableDataLog = False
+# ABAP SAP Control Logs - Retrieved by using SAP Conntrol interface and OS Login
+ABAPFilesLogs = False
+SysLog = False
+ICM = False
+WP = False
+GW = False
+# Java SAP Control Logs - Retrieved by using SAP Conntrol interface and OS Login
+JAVAFilesLogs = False
+[ABAP Table Selector]
+AGR_TCODES_FULL = False
+USR01_FULL = False
+USR02_FULL = False
+USR02_INCREMENTAL = False
+AGR_1251_FULL = False
+AGR_USERS_FULL = False
+AGR_USERS_INCREMENTAL = False
+AGR_PROF_FULL = False
+UST04_FULL = False
+USR21_FULL = False
+ADR6_FULL = False
+ADCP_FULL = False
+USR05_FULL = False
+USGRP_USER_FULL = False
+USER_ADDR_FULL = False
+DEVACCESS_FULL = False
+AGR_DEFINE_FULL = False
+AGR_DEFINE_INCREMENTAL = False
+PAHI_FULL = False
+AGR_AGRS_FULL = False
+USRSTAMP_FULL = False
+USRSTAMP_INCREMENTAL = False
+AGR_FLAGS_FULL = False
+AGR_FLAGS_INCREMENTAL = False
+SNCSYSACL_FULL = False
+USRACL_FULL = False
+```
+ ### SAL logs connector settings
-Add the following code to the Microsoft Sentinel for SAP data connector **systemconfig.ini** file to define other settings for SAP logs ingested into Microsoft Sentinel.
+Add the following code to the Microsoft Sentinel for SAP data connector **systemconfig.json** file to define other settings for SAP logs ingested into Microsoft Sentinel.
For more information, see [Perform an expert / custom SAP data connector installation](#perform-an-expert--custom-installation).
This section enables you to configure the following parameters:
|**auditlogforcelegacyfiles** | Determines whether the system forces the use of audit logs with legacy system capabilities, such as from SAP BASIS version 7.4 with lower patch levels.| |**timechunk** | Determines that the system waits a specific number of minutes as an interval between data extractions. Use this parameter if you have a large amount of data expected. <br><br>For example, during the initial data load during your first 24 hours, you might want to have the data extraction running only every 30 minutes to give each data extraction enough time. In such cases, set this value to **30**. | - ### Configuring an ABAP SAP Control instance To ingest all ABAP logs into Microsoft Sentinel, including both NW RFC and SAP Control Web Service-based logs, configure the following ABAP SAP Control details:
To ingest all ABAP logs into Microsoft Sentinel, including both NW RFC and SAP C
|**javaappserver** |Enter your SAP Control ABAP server host. <br>For example: `contoso-erp.appserver.com` | |**javainstance** |Enter your SAP Control ABAP instance number. <br>For example: `00` | |**abaptz** |Enter the time zone configured on your SAP Control ABAP server, in GMT format. <br>For example: `GMT+3` |
-|**abapseverity** |Enter the lowest, inclusive, severity level for which you want to ingest ABAP logs into Microsoft Sentinel. Values include: <br><br>- **0** = All logs <br>- **1** = Warning <br>- **2** = Error |
+|**abapseverity** |Enter the lowest, inclusive, severity level for which you want to ingest ABAP logs into Microsoft Sentinel. Values include: <br><br>- **0** = All logs <br>- **1** = Warning <br>- **2** = Error |
### Configuring a Java SAP Control instance
To ingest SAP Control Web Service logs into Microsoft Sentinel, configure the fo
|**javaappserver** |Enter your SAP Control Java server host. <br>For example: `contoso-java.server.com` | |**javainstance** |Enter your SAP Control ABAP instance number. <br>For example: `10` | |**javatz** |Enter the time zone configured on your SAP Control Java server, in GMT format. <br>For example: `GMT+3` |
-|**javaseverity** |Enter the lowest, inclusive, severity level for which you want to ingest Web Service logs into Microsoft Sentinel. Values include: <br><br>- **0** = All logs <br>- **1** = Warning <br>- **2** = Error |
-
+|**javaseverity** |Enter the lowest, inclusive, severity level for which you want to ingest Web Service logs into Microsoft Sentinel. Values include: <br><br>- **0** = All logs <br>- **1** = Warning <br>- **2** = Error |
### Configuring User Master data collection
-To ingest tables directly from your SAP system with details about your users and role authorizations, configure your **systemconfig.ini** file with a `True`/`False` statement for each table.
+To ingest tables directly from your SAP system with details about your users and role authorizations, configure your **systemconfig.json** file with a `True`/`False` statement for each table.
For example:
AGR_PROF_FULL = True
PAHI_FULL = True ```
-For more information, see [Tables retrieved directly from SAP systems](sap-solution-log-reference.md#tables-retrieved-directly-from-sap-systems).
-
-## Next steps
-
-After you have your SAP data connector installed, you can add the SAP-related security content.
+For more information, see [Reference of tables retrieved directly from SAP systems](sap-solution-log-reference.md#reference-of-tables-retrieved-directly-from-sap-systems).
-For more information, see [Deploy the SAP solution](deploy-sap-security-content.md).
+## Related content
For more information, see: -- [Deploy the Microsoft Sentinel solution for SAP® applications data connector with SNC](configure-snc.md)-- [Monitor the health of your SAP system](../monitor-sap-system-health.md)-- [Microsoft Sentinel solution for SAP® applications detailed SAP requirements](prerequisites-for-deploying-sap-continuous-threat-monitoring.md)-- [Microsoft Sentinel solution for SAP® applications logs reference](sap-solution-log-reference.md)-- [Microsoft Sentinel solution for SAP® applications: security content reference](sap-solution-security-content.md)-- [Troubleshooting your Microsoft Sentinel solution for SAP® applications deployment](sap-deploy-troubleshoot.md)
+- [Deploy and configure the container hosting the SAP data connector agent](deploy-data-connector-agent-container.md)
+- [Troubleshooting your Microsoft Sentinel solution for SAP applications deployment](sap-deploy-troubleshoot.md)
sentinel Sap Solution Function Reference https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/sentinel/sap/sap-solution-function-reference.md
+
+ Title: Microsoft Sentinel solution for SAP applications - function reference
+description: Learn about the functions available from the Microsoft Sentinel solution for SAP applications.
+++ Last updated : 09/15/2024
+appliesto:
+ - Microsoft Sentinel in the Azure portal
+ - Microsoft Sentinel in the Microsoft Defender portal
+
+#customer Intent: As a security analyst, I want to understand the functions available in the Microsoft Sentinel solution for SAP applications, so that I can use them in my Kusto queries.
++
+# Microsoft Sentinel solution for SAP applications - functions reference
+
+This article describes a selection of functions that are available in your workspace after you install the Microsoft Sentinel solution for SAP applications. Discover more functions by browsing in Microsoft Sentinel and loading the function code.
+
+Find functions as follows:
+
+- In the Azure portal, in the **General > Logs** page, on the **Functions** tab, and listed under **Workspace functions**.
+- In the Defender portal, in the **Investigation & response > Advanced hunting** page, on the **Functions** tab, and listed under **Sentinel workspace functions**.
+
+Content in this article is intended for your **security** teams.
+
+## Use functions in your queries instead of underlying logs or tables
+
+We *strongly recommend* that you use the functions listed in this article as the subjects of their analysis whenever possible, instead of the underlying [logs or tables](sap-solution-log-reference.md).
+
+These functions are intended to serve as the principal user interface to the data. They form the basis for all the built-in analytics rules and workbooks available to you out of the box. Using functions allows for changes to be made to the data infrastructure beneath the functions, without breaking user-created content.
+
+## SAPUsersAssignments
+
+The **SAPUsersAssignments** function gathers data from multiple SAP data sources and creates a user-centric view of the current user master data, including the roles and profiles currently assigned.
+
+This function summarizes the user assignments to roles and profiles, and returns the following data:
+
+| Field | Description | Data Source/Notes |
+| - | -- | -- |
+| User | SAP user ID | SAL only |
+| Email | SMTP address | USR21 (SMTP_ADDR) |
+| UserType | User type | USR02 (USTYP) |
+| Timezone | Time zone | USR02 (TZONE) |
+| LockedStatus | Lock status | USR02 (UFLAG) |
+| LastSeenDate | Last seen date | USR02 (TRDAT) |
+| LastSeenTime | Last seen time | USR02 (LTIME) |
+| UserGroupAuth | User group in user master maintenance | USR02 (CLASS) |
+| Profiles | Set of profiles (default maximum set size = 50) | `["Profile 1", "Profile 2",...,"profile 50"]` |
+| DirectRoles | Set of Directly assigned roles (default max set size = 50) | `["Role 1", "Role 2",...,"ΓÇ¥"Role 50"]` |
+| ChildRoles | Set of indirectly assigned roles (default max set size = 50) | `["Role 1", "Role 2",...,"ΓÇ¥"Role 50"]` |
+| Client | Client ID | |
+| SystemID | System ID | As defined in the connector |
+
+## SAPUsersGetPrivileged
+
+The **SAPUsersGetPrivileged** function returns a list of privileged users per client and system ID.
+
+Users are considered privileged when they match any of the following descriptions:
+
+- They're listed in the *SAP - Privileged Users* watchlist
+- They're assigned to a profile listed in *SAP - Sensitive Profiles* watchlist
+- They're added to a role listed in *SAP - Sensitive Roles* watchlist
+
+**Parameters:**
+
+|Name |Optional/Required |Default |Description |
+|||||
+| TimeAgo | Optional | Seven days | Determines that the function seeks user master data from the time defined by the `TimeAgo` value until the time defined by the `now()` value.|
+
+The **SAPUsersGetPrivileged** function returns the following data:
+
+| Field | Description |
+| -- | -- |
+| User | SAP user ID |
+| Client | Client ID |
+| SystemID | System ID |
+
+## SAPUsersAuthorizations
+
+The **SAPUsersAuthorizations** function brings together data from several tables to produce a user-centric view of the current roles and authorizations assigned. Only users with active role and authorization assignments are returned.
+
+**Parameters:**
+
+|Name |Optional/Required |Default |Description |
+|||||
+| TimeAgo | Optional | Seven days | Determines that the function seeks user master data from the time defined by the `TimeAgo` value until the time defined by the `now()` value. |
+
+The **SAPUsersAuthorizations** function returns the following data:
+
+| Field | Description | Notes |
+| -- | -- | -- |
+| User | SAP user ID | |
+| Roles | Set of roles (default max set size = 50) | `["Role 1", "Role 2",...,"Role 50"]` |
+| AuthorizationsDetails | Set of authorizations (default max set size = 100) | `{{AuthorizationsDeatils1}`,<br>`{AuthorizationsDeatils2}`, <br>...,<br>`{AuthorizationsDeatils100}}` |
+| Client | Client ID | |
+| SystemID | System ID | |
+
+## SAPConnectorHealth
+
+The **SAPConnectorHealth** function reflects the status of the agent's and the underlying SAP system's connectivity. Based on the heartbeat log *SAP_HeartBeat_CL* and other health indicators, it returns the following data:
+
+| Field | Description |
+| | -- |
+| Agent | Agent ID in agent's configuration (automatically generated) |
+| SystemID | SAP system ID |
+| Status | Overall connectivity status |
+| Details | Connectivity details |
+| ExtendedDetails | Connectivity extended details |
+| LastSeen | Timestamp of latest activity |
+| StatusCode | Code reflecting the system's status |
+
+## SAPConnectorOverview
+
+The **SAPConnectorOverview** function shows row counts of each SAP table per System ID. It returns a list of data records per system ID, and their time generated.
+
+**Parameters:**
+
+|Name |Optional/Required |Default |Description |
+|||||
+|TimeAgo | Optional | Seven days | Determines that the function seeks user master data from the time defined by the `TimeAgo` value until the time defined by the `now()` value. |
+
+The **SAPConnectorOverview** function returns the following data:
+
+| Field | Description |
+| | -- |
+| TimeGenerated | A datetime value of the timestamp of the record's generation |
+| SystemID_s | A string representing the SAP system ID |
+
+Use the following Kusto query to perform a daily trend analysis:
+
+```kusto
+SAPConnectorOverview(7d)
+| summarize count() by bin(TimeGenerated, 1d), SystemID_s
+```
+
+## SAPUsersEmail
+
+The **SAPUsersEmail** function allows for a performance oriented lookup of an SAP user's email address per SAP system and client, normally used to associate it with an active directory account.
+
+The **SAPUsersEmail** function uses data extracted from SAP tables USR21 (User Name/Address Key Assignment) and ADR6 (E-Mail Addresses) to look for an email address. In case no email address is found, the user ID is returned instead.
+
+This behavior ensures that SAP service accounts such as DDIC, which often aren't associated with an email addresses, are logged as pseudo AD accounts. This also opens up some UEBA features, aiding in the investigation of incidents and hunting activities.
+
+The **SAPUsersEmail** function returns the following data:
+
+| Field | Description |
+| | -- |
+| ClientID | The SAP client ID |
+| SystemID | The SAP system ID |
+| User | The SAP user ID |
+| Email | The email address of the SAP user |
+
+## SAPSystems
+
+The **SAPSystems** function is used to centrally present the per-system configuration made using the *SAP - Systems* watchlist.
+
+**Parameters:**
+
+|Name |Optional/Required |Default |Description |
+|||||
+| SelectedSystems | Optional | `All Systems` | Used to filter specific SAP systems |
+| SelectedSystemRoles | Optional | `All System Roles` | Determines the roles of the SAP Systems to be looked at, as defined in the *SAP - Systems* watchlist|
+
+The **SAPSystems** function returns the following data:
+
+| Field | Description | Data Source/Notes |
+| - | - | -|
+| SearchKey | Search key | Indexed field for SAP system ID |
+| SystemRole | The SAP system's role | Production, UAT |
+| SystemUsage | The main usage of the SAP system | ERP, CRM |
+| SystemID | The SAP system ID | |
+
+## SAPAuditLogConfiguration
+
+The **SAPAuditLogConfiguration** function returns the local configuration of the SAP audit log alerts to the Log Analytics workspace enabled for Microsoft Sentinel. This configuration is used for SAP audit log-related alerts.
+
+The **SAPAuditLogConfiguration** function joins the data in the *SAP Dynamic Audit Log Monitor Configuration* and *SAP - Systems* watchlists to provide a per-system configuration at a per-system-role effort.
+
+**Parameters:**
+
+|Name |Optional/Required |Default |Description |
+|||||
+|SelectedSystems |Optional | `All Systems`| Used to filter specific SAP systems to look at.|
+| SelectedSystemRoles| Optional|`All System Roles` |Determines the roles of the SAP Systems to be looked at (as defined in the *SAP - Systems* watchlist). |
+| SelectedSeverities|Optional |[`High`, `Medium`] |Used to determine events to be looked at in terms of their severities. Severities per SAP audit log message ID and system role are defined in the *SAP_Dynamic_Audit_Log_Monitor_Configuration* watchlist. |
+| SelectedRuleTypes| Optional| `All RuleTypes`|Determines which events are relevant for detecting the anomalies on. Rule types per SAP audit log message ID and system role are defined in the *SAP_Dynamic_Audit_Log_Monitor_Configuration* watchlist. |
+
+The **SAPAuditLogConfiguration** function returns the following data:
+
+| Field | Description | Data Source/Notes |
+| - | - | - |
+| CategoryName | SAP given event category | *SAP Dynamic Audit Log Monitor Configuration* watchlist |
+| DestinationEmail | Email address of the Assigned Team | *SAP Dynamic Audit Log Monitor Configuration* watchlist |
+| DetailedDescription | A markdown formatted text to be displayed on alerts | *SAP Dynamic Audit Log Monitor Configuration* watchlist |
+| MessageID | The SAP audit log message ID | *SAP Dynamic Audit Log Monitor Configuration* watchlist |
+| MessageText | A sample message text | *SAP Dynamic Audit Log Monitor Configuration* watchlist |
+| RolesTagsToExclude | an ABAP Role, Profile, or free text tag | *SAP Dynamic Audit Log Monitor Configuration* watchlist |
+| RuleType | Anomaly or deterministic | *SAP Dynamic Audit Log Monitor Configuration* watchlist |
+| Tactics | The MITRE ATTA&CK tactic | *SAP Dynamic Audit Log Monitor Configuration* watchlist |
+| TeamsChannelID | Teams Channel | *SAP Dynamic Audit Log Monitor Configuration* watchlist |
+| SystemID | The SAP system ID | *SAP - Systems* watchlist |
+| SystemRole | The SAP System's Role | *SAP - Systems* watchlist |
+| SystemUsage | The main usage of the SAP system | *SAP - Systems* watchlist |
+| IsProd | Production system flag | *SAP - Systems* watchlist |
+| Severity | The derived severity | Severity per system usage |
+| Threshold | The derived threshold | Event count per system usage |
+| BagOfDetails | Bag of Details | A dictionary detailing the event definition |
+
+For more information, see [Available watchlists](sap-solution-security-content.md#available-watchlists).
+
+## SAPAuditLogAnomalies
+
+The **SAPAuditLogAnomalies** function uses Microsoft Sentinel's underlying Kusto database's built-in machine learning capabilities to help detect anomalous events observed on the SAP audit log.
+
+The **SAPAuditLogAnomalies** function was developed for the *SAP - (Experimental) Dynamic Anomaly based Audit Log Monitor Alerts* analytics rule. While its original design is to alert on recent anomalies, it can also help to highlight historical anomalies. For more information, see [Sample uses](#sample).
+
+The **SAPAuditLogAnomalies** function learns the slice of the history defined by the different input parameters, at the following levels:
+
+- User
+- Network attributes
+- System
+- Seasonality
+- Activity levels
+
+The **SAPAuditLogAnomalies** function then judges events occurring within the last `DetectingTime` timespan according to what it learned, applying thresholds and other configurable exclusion criteria obtained from the SAP audit log configuration watchlist.
+
+Once a sliding window of user activity is deemed anomalous, a second query returns the entire user activity as evidence supporting the decision.
+
+**Parameters:**
+
+| Name | Optional/Required | Default | Description |
+| - | -- | - | -- |
+| LearningTime | Optional | 14 days | Determines the timespan used for the model learning. |
+| DetectingTime | Optional | One hour | Determines the timespan to be looked at for detecting anomalies. Calling this function with `DetectingTime = 0h` highlights anomalies across the entire `LearningTime` timespan. |
+| SelectedSystems | Optional | `All Systems` | Used to filter specific SAP systems to look at. |
+| SelectedSystemRoles | Optional | `All System Roles` | Determines the roles of the SAP Systems to be looked at, as defined in the *SAP - Systems* watchlist |
+| SelectedSeverities | Optional | [`High`, `Medium`] | Used to determine events to be looked at in terms of their severities. Severities per SAP audit log message ID and system role are defined in the *SAP_Dynamic_Audit_Log_Monitor_Configuration* watchlist. |
+| SelectedPrefixMask | Optional | 24 | Used to determine the subnet mask level used for learning and detecting. |
+| SelectedRuleTypes | Optional | `AnomaliesOnly` | Determines what events are relevant for detecting the anomalies on. Rule types per SAP audit log message ID and system role are defined in the *SAP_Dynamic_Audit_Log_Monitor_Configuration* watchlist. |
+
+The **SAPAuditLogAnomalies** function returns the following data:
+
+| Field | Description |
+| | -- |
+| **Multiple fields from SAPAuditLog** | Key fields from the SAP Audit log |
+| **Multiple fields from SAPAuditLogConfiguration** | Key fields from the Microsoft Sentinel for SAP audit log configuration |
+| DiscoveredOn | The rounded hour on which the anomaly was observed on |
+| EventCount | Number of events counted per row returned|
+| AnomalCount | Number of events observed within relevant sliding window|
+| MinTime | Time of first event observed |
+| MaxTime | Time of last event observed|
+| Score | the anomaly scores as produced by the anomaly model|
+
+**Recommendations**:
+
+As with any machine learning solution, the **SAPAuditLogAnomalies** function performs better with time, and can be adjusted as needed as time goes on.
+
+We recommend restricting the size of the learned database to be under 100 million records using the many available input parameters.
+
+<a name="sample"></a>**Sample uses include**:
+
+- To search for anomalies for events of high severity that occurred within the past hour on production systems for event types that are marked as *AnomaliesOnly* in the *SAP_Dynamic_Audit_Log_Monitor_Configuration* watchlist, run:
+
+ ```kusto
+ SAPAuditLogAnomalies(LearningTime = 14d, DetectingTime=1h, SelectedSystemRoles= dynamic(["Production"]),
+ SelectedSeverities= dynamic(["High"]), SelectedRuleTypes= dynamic(["AnomaliesOnly"]))
+ ```
+
+- To search for all anomalies in the last 14 days in the *BIP* system, run:
+
+ ```kusto
+ SAPAuditLogAnomalies(LearningTime = 14d, DetectingTime=0h, SelectedSystems= dynamic(["BIP"]))
+ ```
+
+For more information, see [Built-in SAP analytics rules for monitoring the SAP audit log](sap-solution-security-content.md#monitor-the-sap-audit-log) and [Anomaly detection on the SAP audit log using the Microsoft Sentinel for SAP solution](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/anomaly-detection-on-the-sap-audit-log-using-the-microsoft/ba-p/3418709) (blog).
+
+## SAPAuditLogConfigRecommend
+
+The **SAPAuditLogConfigRecommend** is a helper function designed to offer recommendations for the configuration of the [SAP - Dynamic Anomaly based Audit Log Monitor Alerts (PREVIEW)](sap-solution-security-content.md#monitor-the-sap-audit-log) analytics rule.
++
+For more information, see [Monitor the SAP audit log](sap-solution-security-content.md#monitor-the-sap-audit-log).
+
+## SAPUsersGetVIP
+
+The [Microsoft Sentinel solution for SAP applications](solution-overview.md) uses a concept of central user tagging and explicit exclusions, designed to help you lower false positives with minimal effort.
+
+Use the **SAPUsersGetVIP** function to exclude users from triggering alerts by specifying SAP user roles, SAP user functions, or tags that represent those users. For more information, see [Handle false positives in Microsoft Sentinel](../false-positives.md#example-manage-exceptions-for-the-microsoft-sentinel-solution-for-sap-applications).
+
+Tags specified as input for the **SAPUsersGetVIP** function exclude all users with a tag listed in the *SAP_User_Config* watchlist. The same functionality is extended to work with wildcards, allowing you to assign a single tag to a group of users with the same naming syntax.
+
+1. Tag users in the *SAP_User_Config* watchlist as follows:
+
+ - Add multiple tags to each user in the *SAP_User_Config* watchlist, as needed to cover various scenarios. Each alert rule has its own relevant tags, if any, and you can add custom tags as needed.
+
+ - Use an asterisk (*) as a wildcard to include users with a specific naming syntax template.
+
+1. Add the **SAPUsersGetVIP** function in your analytics rules to request the lists of users you've defined to be excluded from alerts. In the function call, add an array with the tags, SAP roles, and SAP profiles that you'd like to exclude.
+
+For example, use the following KQL query in your analytics rule to exclude any users configured with the *RunObsoleteProgOK* tag in the *SAP_User_Config* watchlist, or any users with the sample *SAP_BASIS_ADMIN_ROLE* role or the sample *SAP_ADMIN_PROFILE* profile.
+
+When copying this sample function call, replace *SAP_BASIS_ADMIN_ROLE* role and *SAP_ADMIN_PROFILE* profile with your own SAP roles or profiles as needed.
+
+For example:
+
+```kusto
+// Execution of Obsolete/Insecure Program
+let ObsoletePrograms = _GetWatchlist("SAP - Obsolete Programs");
+// here you can exclude system users which are OK to run obsolete/ sensitive programs
+// by adding those users in the SAP_User_Config watchlist with a tag of 'RunObsoleteProgOK'
+// can also specify SAP roles or SAP profiles that group the users you would like to exclude
+let excludeUsersTagsRolesProfiles= dynamic(["RunObsoleteProgOK","SAP_BASIS_ADMIN_ROLE", "SAP_ADMIN_PROFILE"]);
+let excludedUsers= SAPUsersGetVIP(SearchForTags= excludeUsersTagsRolesProfiles)| summarize by User2Exclude=SAPUser;
+// Query logic
+SAPAuditLog
+| where MessageID == 'AUW'
+| where ABAPProgramName in (ObsoletePrograms) // The program is obsolete
+| join kind=leftantisemi excludedUsers on $left.User == $right.User2Exclude
+```
+
+The **SAPUsersGetVIP** function is commonly used in *Deterministic and Anomalous Audit Log Monitor* alerts. Associate a tag with an SAP audit log message ID, or extend the rule template to a custom rule that matches your organization's needs.
+
+> [!TIP]
+> We recommend that contacting your SAP system admin to understand which SAP users, roles, and profiles to include in your *SAP_User_Config* watchlist.
+>
+
+**Parameters:**
+
+|Name |Optional/Required |Default |Description |
+|||||
+|**SearchForTags** | Optional | `dynamic('All Tags')` | When `SearchForTags` equals `All Tags`, all users are returned along with their tags. <br><br>Otherwise, only users bearing the tags, SAP roles, or SAP profiles specified in `SearchForTags` are returned. `TagsIntersect` shows the tags that are found, and `IntersectionSize` holds the number of tags that are found. |
+|**SpecialFocusTags** | Optional | `Do not return any in-focus users` | Returns all users bearing the tags specified in `SpecialFocusTags`, and marked those with `specialFocusTagged = true`. |
+
+The **SAPUsersGetVIP** function returns the following output:
+
+| Source | Field | Description | Notes |
+| - | - | - | - |
+| The *SAP_User_Config* watchlist | `SearchKey` | Search key | |
+| The *SAP_User_Config* watchlist | `SAPUser` | The SAP user | OSS, DDIC |
+| The *SAP_User_Config* watchlist | `Tags` | String of tags assigned to user | `RunObsoleteProgOK` |
+| The *SAP_User_Config* watchlist | User's Microsoft Entra object ID | Microsoft Entra object ID | |
+| The *SAP_User_Config* watchlist | User identifier | Azure Directory user identifier | |
+| The *SAP_User_Config* watchlist | User on-premises SID | | |
+| The *SAP_User_Config* watchlist | User principal name | | |
+| The *SAP_User_Config* watchlist | `TagsList` | A list of tags assigned to user | `ChangeUserMasterDataOK`;`RunObsoleteProgOK` |
+| Logic | TagsIntersect | A set of tags that matched `SearchForTags` | ["ChangeUserMasterDataOK","RunObsoleteProgOK"] |
+| Logic | SpecialFocusTagged | Special focus indication | `True`, `False` |
+| Logic | IntersectionSize | The number of intersected tags | |
+
+## SAPUsersHeader
+
+The **SAPUsersHeader** function is designed to provide a high-level view of the SAP user. It uses data extracted from both the SAP user master data tables and recent activity on the SAP audit log to gather email and IP addresses. It then returns last known email and IP addresses along with primary email and IP addresses.
+
+**Parameters:**
+
+| Name | Optional/Required | Default | Description |
+| - | -- | - | -- |
+| SelectedSystems | Optional | `All Systems` | Used to filter specific SAP systems to look at |
+| SelectedSystemRoles | Optional | `All System Roles` | Determines the roles of the SAP Systems to be looked at, as defined in the *SAP - Systems* watchlist. |
+| SelectedUsers | Optional | `All Users` | Can input lists of users. |
+| SelectedUser | Optional | `All Users` | Accepts a single user only. |
+
+For example:
+
+```kusto
+SelectedSystemRoles:dynamic = dynamic(["All System Roles"]) SelectedSystems:dynamic = dynamic(["All Systems"]) SelectedUsers:dynamic = dynamic(["All Users"]) SelectedUser:string = "All Users"
+```
+
+> [!TIP]
+> For performance considerations, only a few days of audit activity are considered.
+> For a full history of user activity, run a custom KQL query against the *SAPAuditLog* function.
+>
+
+The **SAPUsersHeader** function returns the following output:
+
+| Source | Field | Description | Notes |
+| - | - | - | - |
+| | User | The SAP user | |
+| SAP tables ADR6 and USR21 | Email | Taken from user's master data | OSS, DDIC |
+| SAP table USR02 | UserType | String of tags assigned to user | `RunObsoleteProgOK` |
+| SAP table USR02 | Timezone | Microsoft Entra object ID | |
+| SAP table USR02 | LockedStatus | Azure Directory user identifier | |
+| SAP audit log | LastSeen | A timestamp | Last audit event observed for the user |
+| SAP audit log | LastSeenDaysAgo | Days passed since `LastSeen` | |
+| SAP audit log | PrimaryIP | Most frequently used IP address | `ChangeUserMasterDataOK`;`RunObsoleteProgOK` |
+| SAP audit log | LastKnownIP | Most recently used IP address | ["ChangeUserMasterDataOK","RunObsoleteProgOK"] |
+| SAP audit log | PrimaryEmail | Most frequently used email address | `True`, `False` |
+| SAP audit log | KnownIPs | List of known IP addresses | Sorted by most frequent first |
+| SAP audit log | KnownEmails | List of known email addresses | Sorted by most frequent first |
+| | Client | The SAP client ID | |
+| | SystemID | The SAP system ID | |
+| | SystemRole | The SAP system's role | Production, UAT |
+| | SystemUsage | The main usage of the SAP system | ERP, CRM |
+
+## Related content
+
+For more information, see:
+
+- [Functions in Azure Monitor log queries](/azure/azure-monitor/logs/functions)
+- [Log and table reference for the Microsoft Sentinel solution for SAP applications](sap-solution-log-reference.md)
sentinel Sap Solution Log Reference https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/sentinel/sap/sap-solution-log-reference.md
Title: Microsoft Sentinel solution for SAP® applications - data reference
-description: Learn about the SAP logs, tables, and functions available from the Microsoft Sentinel solution for SAP® applications.
+ Title: Log and table reference for the Microsoft Sentinel solution for SAP applications
+description: Learn about the SAP logs, tables, and functions available from the Microsoft Sentinel solution for SAP applications.
Last updated 01/15/2024--
+appliesto:
+ - Microsoft Sentinel in the Azure portal
+ - Microsoft Sentinel in the Microsoft Defender portal
+ #Customer intent: As a security analyst, I want to understand the functions, logs, and tables available in the Microsoft Sentinel solution for SAP applications so that I can effectively monitor and analyze SAP system security and performance.
-# Microsoft Sentinel solution for SAP® applications data reference
-
-> [!IMPORTANT]
-> Some components of the Microsoft Sentinel Threat Monitoring for SAP solution are currently in PREVIEW. The [Azure Preview Supplemental Terms](https://azure.microsoft.com/support/legal/preview-supplemental-terms/) include additional legal terms that apply to Azure features that are in beta, preview, or otherwise not yet released into general availability.
->
-> Some logs, noted below, are not sent to Microsoft Sentinel by default, but you can manually add them as needed. For more information, see [Define the SAP logs that are sent to Microsoft Sentinel](sap-solution-deploy-alternate.md#define-the-sap-logs-that-are-sent-to-microsoft-sentinel).
-
-This article describes the functions, logs, and tables available as part of the Microsoft Sentinel solution for SAP® applications and its data connector. It is intended for advanced SAP users.
-
-## Functions available from the SAP solution
-
-This section describes the [functions](/azure/azure-monitor/logs/functions) that are available in your workspace after you've deployed the Microsoft Sentinel solution for SAP® applications. Find these functions in the Microsoft Sentinel **Logs** page to use in your KQL queries, listed under **Workspace functions**.
+# Log and table reference for the Microsoft Sentinel solution for SAP applications
-Users are *strongly encouraged* to use the functions as the subjects of their analysis whenever possible, instead of the underlying logs or tables. These functions are intended to serve as the principal user interface to the data. They form the basis for all the built-in analytics rules and workbooks available to you out of the box. This allows for changes to be made to the data infrastructure beneath the functions, without breaking user-created content.
+This article describes the logs and tables available as part of the Microsoft Sentinel solution for SAP applications and its data connector.
-- [SAPUsersAssignments](#sapusersassignments)-- [SAPUsersGetPrivileged](#sapusersgetprivileged)-- [SAPUsersAuthorizations](#sapusersauthorizations)-- [SAPConnectorHealth](#sapconnectorhealth)-- [SAPConnectorOverview](#sapconnectoroverview)-- [SAPUsersEmail](#sapusersemail)-- [SAPAuditLogConfiguration](#sapauditlogconfiguration)-- [SAPAuditLogAnomalies](#sapauditloganomalies)-- [SAPAuditLogConfigRecommend](#sapauditlogconfigrecommend)-- [SAPSystems](#sapsystems)-- [SAPUsersGetVIP](#sapusersgetvip)-- [SAPUsersHeader](#sapusersheader)
+Some logs, noted in this article, aren't sent to Microsoft Sentinel by default, but you can manually add them as needed. For more information, see [Define the SAP logs that are sent to Microsoft Sentinel](sap-solution-deploy-alternate.md#define-the-sap-logs-that-are-sent-to-microsoft-sentinel)
+Content in this article is intended for your **SAP BASIS** teams.
-### SAPUsersAssignments
-
-The **SAPUsersAssignments** function gathers data from multiple SAP data sources and creates a user-centric view of the current user master data, including the roles and profiles currently assigned.
-
-This function summarizes the user assignments to roles and profiles, and returns the following data:
+> [!IMPORTANT]
+> Some components of the Microsoft Sentinel Threat Monitoring for SAP solution are currently in PREVIEW. The [Azure Preview Supplemental Terms](https://azure.microsoft.com/support/legal/preview-supplemental-terms/) include additional legal terms that apply to Azure features that are in beta, preview, or otherwise not yet released into general availability.
+>
+## Use functions in your queries instead of underlying logs or tables
-| Field | Description | Data Source/Notes |
-| - | -- | -- |
-| User | SAP user ID | SAL only |
-| Email | SMTP address | USR21 (SMTP_ADDR) |
-| UserType | User type | USR02 (USTYP) |
-| Timezone | Time zone | USR02 (TZONE) |
-| LockedStatus | Lock status | USR02 (UFLAG) |
-| LastSeenDate | Last seen date | USR02 (TRDAT) |
-| LastSeenTime | Last seen time | USR02 (LTIME) |
-| UserGroupAuth | User group in user master maintenance | USR02 (CLASS) |
-| Profiles | Set of profiles (default maximum set size = 50) | `["Profile 1", "Profile 2",...,"profile 50"]` |
-| DirectRoles | Set of Directly assigned roles (default max set size = 50) | `["Role 1", "Role 2",...,"ΓÇ¥"Role 50"]` |
-| ChildRoles | Set of indirectly assigned roles (default max set size = 50) | `["Role 1", "Role 2",...,"ΓÇ¥"Role 50"]` |
-| Client | Client ID | |
-| SystemID | System ID | As defined in the connector |
-||||
+We *strongly recommend* that you use available functions as the subjects of their analysis whenever possible, instead of the underlying logs or tables.
-### SAPUsersGetPrivileged
+[Functions](/azure/azure-monitor/logs/functions) provided with the Microsoft Sentinel solution for SAP applications are intended to serve as the principal user interface to the data. They form the basis for all the built-in analytics rules and workbooks available to you out of the box. Using functions allows for changes to be made to the data infrastructure beneath the functions, without breaking user-created content.
-The **SAPUsersGetPrivileged** function returns a list of privileged users per client and system ID.
+For more information, see [Microsoft Sentinel solution for SAP applications - functions reference](sap-solution-function-reference.md) and [Functions in Azure Monitor log queries](/azure/azure-monitor/logs/functions).
-Users are considered privileged when they are listed in the *SAP - Privileged Users* watchlist, have been assigned to a profile listed in *SAP - Sensitive Profiles* watchlist, or have been added to a role listed in *SAP - Sensitive Roles* watchlist.
+## Log coverage
-**Parameters:**
-- TimeAgo
- - Optional
- - Default value: Seven days
- - Determines that the function seeks User master data from the time defined by the `TimeAgo` value until the time defined by the `now()` value.
+The Microsoft Sentinel solution for SAP applications collects logs from the application, OS, and data layers, providing comprehensive protection for your SAP system:
-The **SAPUsersGetPrivileged** function returns the following data:
+- **Application layer**: Microsoft Sentinel monitors activities within the ABAP layer, which is the primary application layer in SAP systems, responsible for executing business logic and processing transactions. For example, Microsoft Sentinel collects logs that include user actions like sign-ins, password changes, and access to reports or files.
-| Field | Description |
-| -- | -- |
-| User | SAP user ID |
-| Client | Client ID |
-| SystemID | System ID |
-| | |
+ In addition to security monitoring, logs collected at the application layer can also be used for compliance and auditing purposes.
-### SAPUsersAuthorizations
+- **OS layer**: Microsoft Sentinel gathers logs from the operating system to provide insights into OS-level activities, such as from the ABAP server and the virtual machines on which the SAP applications are running.
-The **SAPUsersAuthorizations** function brings together data from several tables to produce a user-centric view of the current roles and authorizations assigned. Only users with active role and authorization assignments are returned.
+ Use the Microsoft Sentinel solution for SAP applications together with security content and data connectors for your other services for comprehensive and central monitoring, correlating information across all your systems and enhancing your overall security posture.
-**Parameters:**
-- TimeAgo
- - Optional
- - Default value: Seven days
- - Determines that the function seeks User master data from the time defined by the `TimeAgo` value until the time defined by the `now()` value.
+- **Database layer**: Ingest database logs into Microsoft Sentinel to monitor database activities, such as database administration activities and changes to table data. The Microsoft Sentinel solution for SAP applications is database-agnostic.
-The **SAPUsersAuthorizations** function returns the following data:
+All logs collected by the data connector agent are stored first on the data collector agent machine, at `/opt/sapcon/<sid>/log` folder in the container instance. The logs are then forwarded to your Log Analytics workspace, where you can view, audit, and query them from Microsoft Sentinel.
-| Field | Description | Notes |
-| -- | -- | -- |
-| User | SAP user ID | |
-| Roles | Set of roles (default max set size = 50) | `["Role 1", "Role 2",...,"Role 50"]` |
-| AuthorizationsDetails | Set of authorizations (default max set size = 100) | `{{AuthorizationsDeatils1}`,<br>`{AuthorizationsDeatils2}`, <br>...,<br>`{AuthorizationsDeatils100}}` |
-| Client | Client ID | |
-| SystemID | System ID | |
+Audit logs are collected and ingested every minute, while other logs might be ingested less frequently. Microsoft Sentinel also monitors the data connector agent heartbeat to ensure that logs are being collected and sent to the Log Analytics workspace.
+## Log reference
-### SAPConnectorHealth
-
-The **SAPConnectorHealth** function reflects the status of the agent's and the underlying SAP system's connectivity. Based on the heartbeat log *SAP_HeartBeat_CL* and other health indicators, it returns the following data:
-
-| Field | Description |
-| | -- |
-| Agent | Agent ID in agent's configuration (automatically generated) |
-| SystemID | SAP System ID |
-| Status | Overall connectivity status |
-| Details | Connectivity details |
-| ExtendedDetails | Connectivity extended details |
-| LastSeen | Timestamp of latest activity |
-| StatusCode | Code reflecting the system's status |
-
-### SAPConnectorOverview
-
-The **SAPConnectorOverview** function shows row counts of each SAP table per System ID. It returns a list of data records per system ID, and their time generated.
-
-**Parameters:**
--- TimeAgo
- - Optional
- - Default value: Seven days
- - Determines that the function seeks User master data from the time defined by the `TimeAgo` value until the time defined by the `now()` value.
-
-| Field | Description |
-| | -- |
-| TimeGenerated | A datetime value of the timestamp of the record's generation |
-| SystemID_s | A string representing the SAP System ID |
-
-Use the following Kusto query to perform a daily trend analysis:
-
-```kusto
-SAPConnectorOverview(7d)
-| summarize count() by bin(TimeGenerated, 1d), SystemID_s
-```
-
-### SAPUsersEmail
-
-The **SAPUsersEmail** function allows for a performance oriented lookup of an SAP user's email address per SAP system and client, normally used to associate it with an active directory account.
-Using data extracted from SAP tables USR21 (User Name/Address Key Assignment) and ADR6 (E-Mail Addresses), the SAPUsersEmail function looks for an Email address. In case one is not found, the user ID is returned instead of an Email address. This behavior ensures that SAP service accounts (such as DDIC), that often are not associated with an email addresses, will be logged as pseudo AD accounts, enabling some UEBA features, aiding in the investigation of incidents and hunting activities.
-
-| Field | Description |
-| | -- |
-| ClientID | The SAP Client ID |
-| SystemID | The SAP System ID |
-| User | The SAP User ID |
-| Email | The Email address of the SAP User |
-
-### SAPSystems
-
-The **SAPSystems** function is used to centrally present the per-system configuration made using the 'SAP - Systems' watchlist.
-
-**Parameters:**
--- SelectedSystems
- - Optional
- - Default value: "All Systems"
- - Used to filter specific SAP systems
-- SelectedSystemRoles
- - Optional
- - Default value: "All System Roles"
- - Determines the roles of the SAP Systems to be looked at (as defined in the "SAP - Systems" watchlist)
-
-| Field | Description | Data Source/Notes
-| - | - | -
-| SearchKey | Search Key | Indexed field for SAP System ID
-| SystemRole | The SAP System's Role | Production, UAT
-| SystemUsage | The main usage of the SAP system | ERP, CRM
-| SystemID | The SAP System ID |
--
-### SAPAuditLogConfiguration
-
-The **SAPAuditLogConfiguration** function returns the local configuration of the SAP audit log alerting of the Sentinel workspace, to be used for the different SAP audit log related alerts.
-It joins the data in the 'SAP Dynamic Audit Log Monitor Configuration' and 'SAP - Systems' watchlists to provide a per-system configuration at a per-system-role effort.
-
-**Parameters:**
--- SelectedSystems
- - Optional
- - Default value: "All Systems"
- - Used to filter specific SAP systems to look at.
-- SelectedSystemRoles
- - Optional
- - Default value: "All System Roles"
- - Determines the roles of the SAP Systems to be looked at (as defined in the "SAP - Systems" watchlist).
-- SelectedSeverities
- - Optional
- - Default value: ["High", "Medium"]
- - Used to determine events to be looked at in terms of their severities. Severities per SAP audit log message ID and system role are defined in the "SAP_Dynamic_Audit_Log_Monitor_Configuration" watchlist.
-- SelectedRuleTypes
- - Optional
- - Default value: "All RuleTypes"
- - Determines what events are relevant for detecting the anomalies on. Rule types per SAP audit log message ID and system role are defined in the "SAP_Dynamic_Audit_Log_Monitor_Configuration" watchlist.
-
-| Field | Description | Data Source/Notes
-| - | - | -
-| CategoryName | SAP given event category | 'SAP Dynamic Audit Log Monitor Configuration' watchlist
-| DestinationEmail | Email address of the Assigned Team | 'SAP Dynamic Audit Log Monitor Configuration' watchlist
-| DetailedDescription | A markdown formatted text to be displayed on alerts | 'SAP Dynamic Audit Log Monitor Configuration' watchlist
-| MessageID | The SAP audit log message ID | 'SAP Dynamic Audit Log Monitor Configuration' watchlist
-| MessageText | A sample message text | 'SAP Dynamic Audit Log Monitor Configuration' watchlist
-| RolesTagsToExclude | an ABAP Role, Profile or free text tag | 'SAP Dynamic Audit Log Monitor Configuration' watchlist
-| RuleType | Anomaly or deterministic | 'SAP Dynamic Audit Log Monitor Configuration' watchlist
-| Tactics | The MITRE ATTA&CK tactic | 'SAP Dynamic Audit Log Monitor Configuration' watchlist
-| TeamsChannelID | Teams Channel | 'SAP Dynamic Audit Log Monitor Configuration' watchlist
-| SystemID | The SAP System ID | 'SAP - Systems' watchlist
-| SystemRole | The SAP System's Role | 'SAP - Systems' watchlist
-| SystemUsage | The main usage of the SAP system | 'SAP - Systems' watchlist
-| IsProd | Production system flag | 'SAP - Systems' watchlist
-| Severity | The derived severity | Severity per system usage
-| Threshold | The derived threshold | Event count per system Usage
-| BagOfDetails | Bag of Details | A dictionary detailing the event definition
--
-### SAPAuditLogAnomalies
-
-The **SAPAuditLogAnomalies** uses Sentinel's underlying Kusto database's built-in machine learning capabilities to help detect anomalous events observed on the SAP audit log.
-Developed for the ΓÇ£SAP - (Experimental) Dynamic Anomaly based Audit Log Monitor AlertsΓÇ¥ alert rule, this function was initially designed to alert on recent anomalies but it can also help to highlight historical anomalies (see examples below).
-
-**Parameters:**
--- LearningTime
- - Optional
- - Default Value: 14 days
- - Determines the timespan used for the model learning
-- DetectingTime
- - Optional
- - Default value: One hour
- - Determines the timespan to be looked at for detecting anomalies. Calling this function with DetectingTime = 0h will highlight anomalies across the entire LearningTime timespan
-- SelectedSystems
- - Optional
- - Default value: "All Systems"
- - Used to filter specific SAP systems to look at.
-- SelectedSystemRoles
- - Optional
- - Default value: "All System Roles"
- - Determines the roles of the SAP Systems to be looked at (as defined in the "SAP - Systems" watchlist).
-- SelectedSeverities
- - Optional
- - Default value: ["High", "Medium"]
- - Used to determine events to be looked at in terms of their severities. Severities per SAP audit log message ID and system role are defined in the "SAP_Dynamic_Audit_Log_Monitor_Configuration" watchlist.
-- SelectedPrefixMask
- - Optional
- - Default value: 24
- - Used to determine the subnet mask level used for learning and detecting.
-- SelectedRuleTypes
- - Optional
- - Default value: "AnomaliesOnly"
- - Determines what events are relevant for detecting the anomalies on. Rule types per SAP audit log message ID and system role are defined in the "SAP_Dynamic_Audit_Log_Monitor_Configuration" watchlist.
-
-#### Logic
-
-The function learns the slice of the history defined by the different input parameters, at the user, network attributes, system, seasonality, and activity levels. It then judges events occurring within the last DetectingTime timespan according to what it has learned, applying thresholds and other configurable exclusion criteria obtained from the SAP audit log configuration watchlist. Once a sliding window of user activity was deemed anomalous, a second query returns the entire user activity as evidence supporting the decision.
-
-#### Additional notes
-
-As with any machine learning solution, this function performs better with time. Further adjustments can be made using local configuration.
-It is advisable to restrict the size of the learned database to be under 100 million records using the many available input parameters.
-
-Example: looking for anomalies for events of high severity that occurred within the past hour on production systems for event types which are marked as "AnomaliesOnly" in the "SAP_Dynamic_Audit_Log_Monitor_Configuration"
-
-```kusto
-SAPAuditLogAnomalies(LearningTime = 14d, DetectingTime=1h, SelectedSystemRoles= dynamic(["Production"]),
-SelectedSeverities= dynamic(["High"]), SelectedRuleTypes= dynamic(["AnomaliesOnly"]))
-```
-
-Example: Looking for all anomalies in the last 14 days in system "BIP"
-
-```kusto
-SAPAuditLogAnomalies(LearningTime = 14d, DetectingTime=0h, SelectedSystems= dynamic(["BIP"]))
-```
-
-| Field | Description |
-| | -- |
-| **Multiple fields from SAPAuditLog** | Key fields from the SAP Audit log |
-| **Multiple fields from SAPAuditLogConfiguration** | Key fields from the Sentinel for SAP audit log configuration |
-| DiscoveredOn | The rounded hour on which the anomaly was observed on |
-| EventCount | Number of events counted per row returned|
-| AnomalCount | Number of events observed within relevant sliding window|
-| MinTime | Time of first event observed |
-| MaxTime | Time of last event observed|
-| Score | the anomaly scores as produced by the anomaly model|
-
-See [Built-in SAP analytics rules for monitoring the SAP audit log](sap-solution-security-content.md#monitoring-the-sap-audit-log) for more information.
-
-### SAPAuditLogConfigRecommend
-
-The **SAPAuditLogConfigRecommend** is a helper function designed to offer recommendations for the configuration of the [SAP - Dynamic Anomaly based Audit Log Monitor Alerts (PREVIEW)](sap-solution-security-content.md#sapdynamic-anomaly-based-audit-log-monitor-alerts-preview) analytics rule. Learn how to [configure the rules](configure-audit-log-rules.md).
-
-### SAPUsersGetVIP
-
-The [Microsoft Sentinel solution for SAP® applications](solution-overview.md) uses a concept of central user tagging and explicit exclusions, designed to help you lower false positives with minimal effort. Use the *SAPUsersGetVIP* function to exclude users from triggering alerts by specifying SAP user roles, SAP user functions, or tags that represent those users. For more information, see [Handle false positives in Microsoft Sentinel](../false-positives.md#example-manage-exceptions-for-the-microsoft-sentinel-solution-for-sap-applications).
-
-Tags specified as input for the *SAPUsersGetVIP* function exclude all users with a tag listed in the *SAP_User_Config* watchlist. The same functionality is extended to work with wildcards, allowing you to assign a single tag to a group of users with the same naming syntax.
-
-1. Tag users in the *SAP_User_Config* watchlist as follows:
-
- - Add multiple tags to each user in the *SAP_User_Config* watchlist, as needed to cover various scenarios. Each alert rule has its own relevant tags, if any, and you can add custom tags as needed.
-
- - Use an asterisk (*) as a wildcard to include users with a specific naming syntax template.
-
-1. Add the **SAPUsersGetVIP** function in your analytics rules to request the lists of users you've defined to be excluded from alerts. In the function call, add an array with the tags, SAP roles, and SAP profiles that you'd like to exclude.
-
-For example, use the following KQL query in your analytics rule to exclude any users configured with the *RunObsoleteProgOK* tag in the *SAP_User_Config* watchlist, or any users with the sample *SAP_BASIS_ADMIN_ROLE* role or the sample *SAP_ADMIN_PROFILE* profile.
-
-When copying this sample function call, replace *SAP_BASIS_ADMIN_ROLE* role and *SAP_ADMIN_PROFILE* profile with your own SAP roles or profiles as needed.
-
-```kusto
-// Execution of Obsolete/Insecure Program
-let ObsoletePrograms = _GetWatchlist("SAP - Obsolete Programs");
-// here you can exclude system users which are OK to run obsolete/ sensitive programs
-// by adding those users in the SAP_User_Config watchlist with a tag of 'RunObsoleteProgOK'
-// can also specify SAP roles or SAP profiles that group the users you would like to exclude
-let excludeUsersTagsRolesProfiles= dynamic(["RunObsoleteProgOK","SAP_BASIS_ADMIN_ROLE", "SAP_ADMIN_PROFILE"]);
-let excludedUsers= SAPUsersGetVIP(SearchForTags= excludeUsersTagsRolesProfiles)| summarize by User2Exclude=SAPUser;
-// Query logic
-SAPAuditLog
-| where MessageID == 'AUW'
-| where ABAPProgramName in (ObsoletePrograms) // The program is obsolete
-| join kind=leftantisemi excludedUsers on $left.User == $right.User2Exclude
-```
-
-The **SAPUsersGetVIP** function is commonly used in *Deterministic and Anomalous Audit Log Monitor* alerts. Associate a tag with an SAP audit log message ID, or extend the rule template to a custom rule that matches your organization's needs.
-
-> [!TIP]
-> We recommend that contacting your SAP system admin to understand which SAP users, roles, and profiles to include in your *SAP_User_Config* watchlist.
->
+The following sections describe the SAP logs available from the Microsoft Sentinel solution for SAP applications data connector, including the table names in Microsoft Sentinel, the log purposes, and detailed log schemas.
-**Parameters:**
-
-|Name |Description |Default value |
-||||
-|**SearchForTags** (Optional) | When `SearchForTags` equals `All Tags`, all users are returned along with their tags. <br><br>Otherwise, only users bearing the tags, SAP roles, or SAP profiles specified in `SearchForTags` are returned. `TagsIntersect` shows the tags that are found, and `IntersectionSize` holds the number of tags that are found. | `dynamic('All Tags')` |
-|**SpecialFocusTags** (Optional) | Returns all users bearing the tags specified in `SpecialFocusTags`, and marked those with `specialFocusTagged = true`. | `Do not return any in-focus users` |
--
-| Source | Field | Description | Notes
-| - | - | - | -
-| The *SAP_User_Config* watchlist | SearchKey | Search Key |
-| The *SAP_User_Config* watchlist | SAPUser | The SAP User | OSS, DDIC
-| The *SAP_User_Config* watchlist | Tags | String of tags assigned to user | RunObsoleteProgOK |
-| The *SAP_User_Config* watchlist | User's Microsoft Entra Object ID | Microsoft Entra Object ID |
-| The *SAP_User_Config* watchlist | User Identifier | AD User Identifier |
-| The *SAP_User_Config* watchlist | User on-premises Sid | |
-| The *SAP_User_Config* watchlist | User Principal Name | |
-| The *SAP_User_Config* watchlist | TagsList | A list of tags assigned to user | ChangeUserMasterDataOK;RunObsoleteProgOK |
-| Logic | TagsIntersect | A set of tags that matched SearchForTags | ["ChangeUserMasterDataOK","RunObsoleteProgOK"] |
-| Logic | SpecialFocusTagged | Special focus indication | True, False
-| Logic | IntersectionSize | The number of intersected Tags |
-
-### SAPUsersHeader
-
-The **SAPUsersHeader** function is designed to provide a high-level view of the SAP user. It uses data extracted from both the SAP user master data tables and recent activity on the SAP audit log to gather Email and IP addresses. It then returns last known email and IP addresses along with primary email and IP addresses.
-**Parameters:**
-SelectedSystemRoles:dynamic = dynamic(["All System Roles"]) SelectedSystems:dynamic = dynamic(["All Systems"]) SelectedUsers:dynamic = dynamic(["All Users"]) SelectedUser:string = "All Users"
--- SelectedSystems
- - Optional
- - Default value: "All Systems"
- - Used to filter specific SAP systems to look at.
-- SelectedSystemRoles
- - Optional
- - Default value: "All System Roles"
- - Determines the roles of the SAP Systems to be looked at (as defined in the "SAP - Systems" watchlist).
-- SelectedUsers
- - Optional
- - Default value: "All Users"
- - Can input lists of users.
-- SelectedUser
- - Optional
- - Default value: "All Users"
- - Accepts a single user only
-
-#### Additional notes
-
-For performance considerations, only a few days of audit activity are considered.
-For a full history of user activity, run a custom KQL query against the SAPAuditLog function.
-
-| Source | Field | Description | Notes
-| - | - | - | -
-| | User | The SAP user |
-| SAP tables ADR6 and USR21 | Email | Taken from user's master data | OSS, DDIC
-| SAP table USR02 | UserType | string of tags assigned to user | RunObsoleteProgOK
-| SAP table USR02 | Timezone | Microsoft Entra Object ID |
-| SAP table USR02 | LockedStatus | AD User Identifier |
-| SAP audit log | LastSeen | A timestamp | last audit event observed for the user
-| SAP audit log | LastSeenDaysAgo | days passed since LastSeen |
-| SAP audit log | PrimaryIP | Most frequently used IP address | ChangeUserMasterDataOK;RunObsoleteProgOK
-| SAP audit log | LastKnownIP | Most recently used IP address | ["ChangeUserMasterDataOK","RunObsoleteProgOK"]
-| SAP audit log | PrimaryEmail | Most frequently used Email address | True, False
-| SAP audit log | KnownIPs | List of known IP addresses | sorted by most frequent first
-| SAP audit log | KnownEmails | List of known Email addresses | sorted by most frequent first
-| | Client | The SAP Client ID |
-| | SystemID | The SAP system ID |
-| | SystemRole | The SAP System's Role | Production, UAT
-| | SystemUsage | The main usage of the SAP system | ERP, CRM
--
-## Logs produced by the data connector agent
-
-This section describes the SAP logs available from the Microsoft Sentinel solution for SAP® applications data connector, including the table names in Microsoft Sentinel, the log purposes, and detailed log schemas. Schema field descriptions are based on the field descriptions in the relevant [SAP documentation](https://help.sap.com/).
-
-For best results, use the Microsoft Sentinel functions listed below to visualize, access, and query the data.
+Schema field descriptions are based on the field descriptions in the relevant [SAP documentation](https://help.sap.com/).
- [ABAP Application log](#abap-application-log) - [ABAP Change Documents log](#abap-change-documents-log)
For best results, use the Microsoft Sentinel functions listed below to visualize
| User | User | | UserChange | User change | --- ### ABAP Change Documents log - **Microsoft Sentinel function for querying this log**: SAPChangeDocsLog
For best results, use the Microsoft Sentinel functions listed below to visualize
#### ABAPChangeDocsLog_CL log schema - | Field | Description | | | - | | ActualChangeNum | Actual change number |
For best results, use the Microsoft Sentinel functions listed below to visualize
| ValueOld | Field content: old value | | Version | Version | - ### ABAP CR log - **Microsoft Sentinel function for querying this log**: SAPCRLog
For best results, use the Microsoft Sentinel functions listed below to visualize
> In addition to application logging, change documents, and table recording, all changes that you make to your production system using the Change & Transport System are documented in the CTS and TMS logs. > - #### ABAPCRLog_CL log schema | Field | Description |
For best results, use the Microsoft Sentinel functions listed below to visualize
| TableName | Table name | | ViewName | View name | - ### ABAP DB table data log (PREVIEW)
-To have this log sent to Microsoft Sentinel, you must [add it manually to the **systemconfig.ini** file](sap-solution-deploy-alternate.md#define-the-sap-logs-that-are-sent-to-microsoft-sentinel).
+To have this log sent to Microsoft Sentinel, you must [add it manually to the **systemconfig.json** file](sap-solution-deploy-alternate.md#define-the-sap-logs-that-are-sent-to-microsoft-sentinel).
- **Microsoft Sentinel function for querying this log**: SAPTableDataLog
To have this log sent to Microsoft Sentinel, you must [add it manually to the **
| UserName | User | | VersionNumber | Version number | - ### ABAP Gateway log (PREVIEW)
-To have this log sent to Microsoft Sentinel, you must [add it manually to the **systemconfig.ini** file](sap-solution-deploy-alternate.md#define-the-sap-logs-that-are-sent-to-microsoft-sentinel).
+To have this log sent to Microsoft Sentinel, you must [add it manually to the **systemconfig.json** file](sap-solution-deploy-alternate.md#define-the-sap-logs-that-are-sent-to-microsoft-sentinel).
- **Microsoft Sentinel function for querying this log**: SAPOS_GW - **Related SAP documentation**: [SAP Help Portal](https://help.sap.com/viewer/62b4de4187cb43668d15dac48fc00732/7.5.7/en-US/48b2a710ca1c3079e10000000a42189b.html) -- **Log purpose**: Monitors Gateway activities. Available by the SAP Control Web Service. This log is generated with data across all clients.
+- **Log purpose**: Monitors Gateway activities. Available by the SAP Control web service. This log is generated with data across all clients.
-#### ABAPOS_GW_CL log schema
+#### ABAPOS_GW_CL log schema
| Field | Description | | | - |
To have this log sent to Microsoft Sentinel, you must [add it manually to the **
| SystemID | System ID | | SystemNumber | System number | - ### ABAP ICM log (PREVIEW)
-To have this log sent to Microsoft Sentinel, you must [add it manually to the **systemconfig.ini** file](sap-solution-deploy-alternate.md#define-the-sap-logs-that-are-sent-to-microsoft-sentinel).
+
+To have this log sent to Microsoft Sentinel, you must [add it manually to the **systemconfig.json** file](sap-solution-deploy-alternate.md#define-the-sap-logs-that-are-sent-to-microsoft-sentinel).
- **Microsoft Sentinel function for querying this log**: SAPOS_ICM
To have this log sent to Microsoft Sentinel, you must [add it manually to the **
- **Log purpose**: Records inbound and outbound requests and compiles statistics of the HTTP requests.
- Available by the SAP Control Web Service. This log is generated with data across all clients.
+ Available by the SAP Control web service. This log is generated with data across all clients.
#### ABAPOS_ICM_CL log schema
To have this log sent to Microsoft Sentinel, you must [add it manually to the **
| SystemID | System ID | | SystemNumber | System number | - ### ABAP Job log - **Microsoft Sentinel function for querying this log**: SAPJobLog
To have this log sent to Microsoft Sentinel, you must [add it manually to the **
#### ABAPJobLog_CL log schema - | Field | Description | | - | -- | | ABAPProgram | ABAP program |
To have this log sent to Microsoft Sentinel, you must [add it manually to the **
| WorkProcessID | Work process ID | | WorkProcessNumber | Work process Number | - ### ABAP Security Audit log - **Microsoft Sentinel function for querying this log**: SAPAuditLog
To have this log sent to Microsoft Sentinel, you must [add it manually to the **
| Variable3 | Message variable 3 | | Variable4 | Message variable 4 | - ### ABAP Spool log - **Microsoft Sentinel function for querying this log**: SAPSpoolLog - **Related SAP documentation**: [SAP Help Portal](https://help.sap.com/viewer/290ce8983cbc4848a9d7b6f5e77491b9/7.52.1/en-US/4eae791c40f72045e10000000a421937.html) -- **Log purpose**: Serves as the main log for SAP Printing with the history of spool requests. (SP01).
+- **Log purpose**: Serves as the main log for SAP printing with the history of spool requests. (SP01).
Available by using RFC based on standard SAP table. This log is generated with data across all clients.
To have this log sent to Microsoft Sentinel, you must [add it manually to the **
| User | User | | ValueAuthCheck | Value auth check | - ### APAB Spool Output log - **Microsoft Sentinel function for querying this log**: SAPSpoolOutputLog
To have this log sent to Microsoft Sentinel, you must [add it manually to the **
| Title | Title | | User | User | -- ### ABAP Syslog
-To have this log sent to Microsoft Sentinel, you must [add it manually to the **systemconfig.ini** file](sap-solution-deploy-alternate.md#define-the-sap-logs-that-are-sent-to-microsoft-sentinel).
+To have this log sent to Microsoft Sentinel, you must [add it manually to the **systemconfig.json** file](sap-solution-deploy-alternate.md#define-the-sap-logs-that-are-sent-to-microsoft-sentinel).
- **Microsoft Sentinel function for querying this log**: SAPOS_Syslog
To have this log sent to Microsoft Sentinel, you must [add it manually to the **
- **Log purpose**: Records all SAP NetWeaver Application Server (SAP NetWeaver AS) ABAP system errors, warnings, user locks because of failed sign-in attempts from known users, and process messages.
- Available by the SAP Control Web Service. This log is generated with data across all clients.
+ Available by the SAP Control web service. This log is generated with data across all clients.
#### ABAPOS_Syslog_CL log schema - | Field | Description | | - | - | | ClientID | ABAP client ID (MANDT) |
To have this log sent to Microsoft Sentinel, you must [add it manually to the **
| Type | SAP process type | | User | User | -- ### ABAP Workflow log - **Microsoft Sentinel function for querying this log**: SAPWorkflowLog
To have this log sent to Microsoft Sentinel, you must [add it manually to the **
- **Log purpose**: The SAP Business Workflow (WebFlow Engine) enables you to define business processes that aren't yet mapped in the SAP system.
- For example, unmapped business processes may be simple release or approval procedures, or more complex business processes such as creating base material and then coordinating the associated departments.
+ For example, unmapped business processes might be simple release or approval procedures, or more complex business processes such as creating base material and then coordinating the associated departments.
Available by using RFC based on standard SAP tables. This log is generated per client. #### ABAPWorkflowLog_CL log schema - | Field | Description | | - | -- | | ActualAgent | Actual agent |
To have this log sent to Microsoft Sentinel, you must [add it manually to the **
| MessageType | Message type | | MethodUser | Method user | | Priority | Priority |
-| SimpleContainer | Simple container, packed as a list of Key-Value entities for the work item |
+| SimpleContainer | Simple container, packed as a list of key-value entities for the work item |
| Status | Status | | SuperWI | Super WI | | SystemID | System ID |
To have this log sent to Microsoft Sentinel, you must [add it manually to the **
| WorkflowAction | Workflow action | | WorkItemID | Work item ID | - ### ABAP WorkProcess log
-To have this log sent to Microsoft Sentinel, you must [add it manually to the **systemconfig.ini** file](sap-solution-deploy-alternate.md#define-the-sap-logs-that-are-sent-to-microsoft-sentinel).
+To have this log sent to Microsoft Sentinel, you must [add it manually to the **systemconfig.json** file](sap-solution-deploy-alternate.md#define-the-sap-logs-that-are-sent-to-microsoft-sentinel).
- **Microsoft Sentinel function for querying this log**: SAPOS_WP
To have this log sent to Microsoft Sentinel, you must [add it manually to the **
- **Log purpose**: Combines all work process logs. (default: `dev_*`).
- Available by the SAP Control Web Service. This log is generated with data across all clients.
+ Available by the SAP Control web service. This log is generated with data across all clients.
#### ABAPOS_WP_CL log schema - | Field | Description | | | - | | Host | Host |
To have this log sent to Microsoft Sentinel, you must [add it manually to the **
| SystemNumber | System number | | WPNumber | Work process number | -- ### HANA DB Audit Trail
-To have this log sent to Microsoft Sentinel, you must [deploy a Microsoft Management Agent](../connect-syslog.md) to gather Syslog data from the machine running HANA DB.
-
+Collecting the HANA DB Audit Trail log is an example of how Microsoft Sentinel collects database layer activities. To have this log sent to Microsoft Sentinel, you must [deploy Azure Monitor Agent](../connect-cef-syslog-ama.md) to gather Syslog data from the machine running HANA DB.
- **Microsoft Sentinel function for querying this log**: SAPSyslog
To have this log sent to Microsoft Sentinel, you must [deploy a Microsoft Manage
- **Log purpose**: Records user actions, or attempted actions in the SAP HANA database. For example, enables you to log and monitor read access to sensitive data.
- Available by the Sentinel Linux Agent for Syslog. This log is generated with data across all clients.
+ Available by the Microsoft Sentinel Linux Agent for Syslog. This log is generated with data across all clients.
#### Syslog log schema
To have this log sent to Microsoft Sentinel, you must [deploy a Microsoft Manage
| SourceSystem | Source system OS, `Linux` | | SyslogMessage | Message, an unparsed audit trail message | - ### JAVA files
-To have this log sent to Microsoft Sentinel, you must [add it manually to the **systemconfig.ini** file](sap-solution-deploy-alternate.md#define-the-sap-logs-that-are-sent-to-microsoft-sentinel).
-
+To have this log sent to Microsoft Sentinel, you must [add it manually to the **systemconfig.json** file](sap-solution-deploy-alternate.md#define-the-sap-logs-that-are-sent-to-microsoft-sentinel).
- **Microsoft Sentinel function for querying this log**: SAPJAVAFilesLogs
To have this log sent to Microsoft Sentinel, you must [add it manually to the **
- **Log purpose**: Combines all Java files-based logs, including the Security Audit Log, and System (cluster and server process), Performance, and Gateway logs. Also includes Developer Traces and Default Trace logs.
- Available by the SAP Control Web Service. This log is generated with data across all clients.
+ Available by the SAP Control web service. This log is generated with data across all clients.
#### JavaFilesLogsCL log schema - | Field | Description | | - | -- | | Application | Java application |
To have this log sent to Microsoft Sentinel, you must [add it manually to the **
| Host | Host | | Instance | Java instance, in the following syntax: `<HOST>_<SYSID>_<SYSNR>` | | Location | Java class |
-| LogName | Java logName, such as: `Available`, `defaulttrace`, `dev*`, `security`, and so on
+| LogName | Java logName, such as: `Available`, `defaulttrace`, `dev*`, `security`, and so on |
| MessageText | Message text | | MNo | Message number | | Pid | Process ID |
To have this log sent to Microsoft Sentinel, you must [add it manually to the **
| TimeZone | Timezone | | User | User | -- ### SAP Heartbeat Log - **Microsoft Sentinel function for querying this log**: SAPConnectorHealth
To have this log sent to Microsoft Sentinel, you must [add it manually to the **
| agent_id_s | Agent ID in agent's configuration (automatically generated) | | agent_ver_s | Agent version | | host_s | The agent's host name |
-| system_id_s | Netweaver ABAP System ID /<br>Netweaver SAPControl Host (preview) /<br>Java SAPControl host (preview)
+| system_id_s | Netweaver ABAP System ID /<br>Netweaver SAPControl Host (preview) /<br>Java SAPControl host (preview) |
| push_timestamp_d | Timestamp of the extraction, according to the agent's time zone | | agent_timezone_s | Agent's time zone |
-## Tables retrieved directly from SAP systems
+## Reference of tables retrieved directly from SAP systems
-This section lists the data tables that are retrieved directly from the SAP system and ingested into Microsoft Sentinel exactly as they are.
+This section lists the data tables that are retrieved directly from the SAP system and ingested into Microsoft Sentinel exactly as they are.
-To have the data from these tables ingested into Microsoft Sentinel, configure the relevant settings in the **systemconfig.ini** file. For more information, see [Configuring User Master data collection](sap-solution-deploy-alternate.md#configuring-user-master-data-collection).
+To have the data from these tables ingested into Microsoft Sentinel, configure the relevant settings in the **systemconfig.json** file. For more information, see [Configuring user master data collection](sap-solution-deploy-alternate.md#configuring-user-master-data-collection).
The data retrieved from these tables provides a clear view of the authorization structure, group membership, and user profiles. It also allows you to track the process of authorization grants and revokes, and identify and govern the risks associated with those processes. The tables listed below are required to enable functions that identify privileged users, map users to roles, groups, and authorizations.
-For best results, refer to these tables using the name in the **Sentinel function name** column below:
+For best results, refer to these tables using the name in the **Microsoft Sentinel function name** column in the following table:
-| Table name | Table description | Sentinel function name |
+| Table name | Table description | Microsoft Sentinel function name |
| --| - | - | | USR01 | User master record (runtime data) | SAP_USR01 |
-| USR02 | Logon data (kernel-side use) | SAP_USR02 |
+| USR02 | Sign-in data (kernel-side use) | SAP_USR02 |
| UST04 | User masters<br>Maps users to profiles | SAP_UST04 | | AGR_USERS | Assignment of roles to users | SAP_AGR_USERS | | AGR_1251 | Authorization data for the activity group | SAP_AGR_1251 | | USGRP_USER | Assignment of users to user groups | SAP_USGRP_USER |
-| USR21 | User name/Address key assignment | SAP_USR21 |
+| USR21 | User name / Address key assignment | SAP_USR21 |
| ADR6 | Email addresses (business address services) | SAP_ADR6 | | USRSTAMP | Time stamp for all changes to the user | SAP_USRSTAMP |
-| ADCP | Person/Address assignment (business address services) | SAP_ADCP |
+| ADCP | Person / Address assignment (business address services) | SAP_ADCP |
| USR05 | User master parameter ID | SAP_USR05 | | AGR_PROF | Profile name for role | SAP_AGR_PROF | | AGR_FLAGS | Role attributes | SAP_AGR_FLAGS |
For best results, refer to these tables using the name in the **Sentinel functio
| SNCSYSACL (PREVIEW)| SNC Access Control List (ACL): Systems | SAP_SNCSYSACL | | USRACL (PREVIEW)| SNC Access Control List (ACL): User | SAP_USRACL | -
-## Next steps
+## Related content
For more information, see: -- [Deploy the Microsoft Sentinel solution for SAP® applications](deployment-overview.md)-- [Microsoft Sentinel solution for SAP® applications detailed SAP requirements](prerequisites-for-deploying-sap-continuous-threat-monitoring.md)-- [Deploy the Microsoft Sentinel for SAP data connector with SNC](configure-snc.md)-- [Expert configuration options, on-premises deployment, and SAPControl log sources](sap-solution-deploy-alternate.md)-- [Microsoft Sentinel solution for SAP® applications: built-in security content](sap-solution-security-content.md)-- [Monitor the health of your SAP system](../monitor-sap-system-health.md)-- [Troubleshooting your Microsoft Sentinel solution for SAP® applications deployment](sap-deploy-troubleshoot.md)
+- [Deploy the Microsoft Sentinel solution for SAP applications](deployment-overview.md)
+- [Microsoft Sentinel solution for SAP applications: built-in security content](sap-solution-security-content.md)
+- [Troubleshooting your Microsoft Sentinel solution for SAP applications deployment](sap-deploy-troubleshoot.md)
sentinel Sap Solution Security Content https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/sentinel/sap/sap-solution-security-content.md
Title: Microsoft Sentinel solution for SAP® applications - security content reference
-description: Learn about the built-in security content provided by the Microsoft Sentinel solution for SAP® applications.
+ Title: Microsoft Sentinel solution for SAP applications - security content reference
+description: Learn about the built-in security content provided by the Microsoft Sentinel solution for SAP applications.
Last updated 03/26/2023--
+appliesto:
+ - Microsoft Sentinel in the Azure portal
+ - Microsoft Sentinel in the Microsoft Defender portal
+ #Customer intent: As a security analyst, I want to use built-in workbooks and analytics rules for SAP applications so that I can monitor, detect, and respond to security incidents effectively.
-# Microsoft Sentinel solution for SAP® applications: security content reference
+# Microsoft Sentinel solution for SAP applications: security content reference
This article details the security content available for the Microsoft Sentinel Solution for SAP. > [!IMPORTANT]
-> While the Microsoft Sentinel solution for SAP® applications is in GA, some specific components remain in PREVIEW. This article indicates the components that are in preview in the relevant sections below. The [Azure Preview Supplemental Terms](https://azure.microsoft.com/support/legal/preview-supplemental-terms/) include additional legal terms that apply to Azure features that are in beta, preview, or otherwise not yet released into general availability.
+> While the Microsoft Sentinel solution for SAP applications is in GA, some specific components remain in PREVIEW. This article indicates the components that are in preview in the relevant sections below. The [Azure Preview Supplemental Terms](https://azure.microsoft.com/support/legal/preview-supplemental-terms/) include additional legal terms that apply to Azure features that are in beta, preview, or otherwise not yet released into general availability.
> Available security content includes built-in workbooks and analytics rules. You can also add SAP-related [watchlists](../watchlists.md) to use in your search, detection rules, threat hunting, and response playbooks.
+Content in this article is intended for your **security** team.
+ ## Built-in workbooks
-Use the following built-in workbooks to visualize and monitor data ingested via the SAP data connector. After you deploy the SAP solution, you can find SAP workbooks in the **My workbooks** tab.
+Use the following built-in workbooks to visualize and monitor data ingested via the SAP data connector. After you deploy the SAP solution, you can find SAP workbooks in the **Templates** tab.
| Workbook name | Description | Logs | | | | |
-| <a name="sapsystem-applications-and-products-workbook"></a>**SAP - Audit Log Browser** | Displays data such as: <br><br>- General system health, including user sign-ins over time, events ingested by the system, message classes and IDs, and ABAP programs run <br>-Severities of events occurring in your system <br>- Authentication and authorization events occurring in your system |Uses data from the following log: <br><br>[ABAPAuditLog_CL](sap-solution-log-reference.md#abap-security-audit-log) |
+| <a name="sapsystem-applications-and-products-workbook"></a>**[SAP - Audit Log Browser](sap-audit-log-workbook.md)** | Displays data such as: <br><br>- General system health, including user sign-ins over time, events ingested by the system, message classes and IDs, and ABAP programs run <br>-Severities of events occurring in your system <br>- Authentication and authorization events occurring in your system |Uses data from the following log: <br><br>[ABAPAuditLog_CL](sap-solution-log-reference.md#abap-security-audit-log) |
| [**SAP Audit Controls**](sap-audit-controls-workbook.md) | Helps you check your SAP environment's security controls for compliance with your chosen control framework, using tools for you to do the following: <br><br>- Assign analytics rules in your environment to specific security controls and control families<br>- Monitor and categorize the incidents generated by the SAP solution-based analytics rules<br>- Report on your compliance | Uses data from the following tables: <br><br>- `SecurityAlert`<br>- `SecurityIncident`|
-For more information, see [Tutorial: Visualize and monitor your data](../monitor-your-data.md) and [Deploy Microsoft Sentinel solution for SAP® applications](deployment-overview.md).
+For more information, see [Tutorial: Visualize and monitor your data](../monitor-your-data.md) and [Deploy Microsoft Sentinel solution for SAP applications](deployment-overview.md).
## Built-in analytics rules
-### Monitoring the configuration of static SAP security parameters (Preview)
+This section describes a selection of [built-in analytics rules](deploy-sap-security-content.md) provided together with the Microsoft Sentinel solution for SAP applications. For the most recent updates, check the Microsoft Sentinel content hub for new and updated rules.
+
+### Monitor the configuration of static SAP security parameters (Preview)
-To secure the SAP system, SAP has identified security-related parameters that need to be monitored for changes. With the "SAP - (Preview) Sensitive Static Parameter has Changed" rule, the Microsoft Sentinel solution for SAP® applications tracks [over 52 static security-related parameters](sap-suspicious-configuration-security-parameters.md) in the SAP system, which are built into Microsoft Sentinel.
+To secure the SAP system, SAP has identified security-related parameters that need to be monitored for changes. With the "SAP - (Preview) Sensitive Static Parameter has Changed" rule, the Microsoft Sentinel solution for SAP applications tracks [over 52 static security-related parameters](sap-suspicious-configuration-security-parameters.md) in the SAP system, which are built into Microsoft Sentinel.
> [!NOTE]
-> For the Microsoft Sentinel solution for SAP® applications to successfully monitor the SAP security parameters, the solution needs to successfully monitor the SAP PAHI table at regular intervals. [Verify that the solution can successfully monitor the PAHI table](preparing-sap.md#verify-that-the-pahi-table-history-of-system-database-and-sap-parameters-is-updated-at-regular-intervals).
+> For the Microsoft Sentinel solution for SAP applications to successfully monitor the SAP security parameters, the solution needs to successfully monitor the SAP PAHI table at regular intervals. For more information, see [Verify that the PAHI table is updated at regular intervals](preparing-sap.md#verify-that-the-pahi-table-is-updated-at-regular-intervals).
-To understand parameter changes in the system, the Microsoft Sentinel solution for SAP® applications uses the parameter history table, which records changes made to system parameters every hour.
+To understand parameter changes in the system, the Microsoft Sentinel solution for SAP applications uses the parameter history table, which records changes made to system parameters every hour.
-The parameters are also reflected in the [SAPSystemParameters watchlist](#systemparameters). This watchlist allows users to add new parameters, disable existing parameters, and modify the values and severities per parameter and system role in production or non-production environments.
+The parameters are also reflected in the [SAPSystemParameters watchlist](#systemparameters). This watchlist allows users to add new parameters, disable existing parameters, and modify the values and severities per parameter and system role in production or nonproduction environments.
When a change is made to one of these parameters, Microsoft Sentinel checks to see if the change is security-related and if the value is set according to the recommended values. If the change is suspected as outside the safe zone, Microsoft Sentinel creates an incident detailing the change, and identifies who made the change.
-Review the [list of parameters](sap-suspicious-configuration-security-parameters.md) that this rule monitors.
+Review the [list of parameters](sap-suspicious-configuration-security-parameters.md) that this rule monitors.
-### Monitoring the SAP audit log
+### Monitor the SAP audit log
-The SAP Audit log data is used across many of the analytics rules of the Microsoft Sentinel solution for SAP® applications. Some analytics rules look for specific events on the log, while others correlate indications from several logs to produce high fidelity alerts and incidents.
+Many of the analytics rules in the Microsoft Sentinel solution for SAP applications use SAP audit log data. Some analytics rules look for specific events in the log, while others correlate indications from several logs to create high-fidelity alerts and incidents.
-In addition, there are two analytics rules which are designed to accommodate the entire set of standard SAP audit log events (183 different events), and any other custom events you may choose to log using the SAP audit log.
+Use the following analytics rules to either monitor all audit log events on your SAP system or trigger alerts only when anomalies are detected:
-Both SAP audit log monitoring analytics rules share the same data sources and the same configuration but differ in one critical aspect. While the "SAP - Dynamic Deterministic Audit Log Monitor" rule requires deterministic alert thresholds and user exclusion rules, the "SAP - Dynamic Anomaly-based Audit Log Monitor Alerts (PREVIEW)" rule applies additional machine learning algorithms to filter out background noise in an unsupervised manner. For this reason, by default, most event types (or SAP message IDs) of the SAP audit log are being sent to the "Anomaly based" analytics rule, while the easier to define event types are sent to the deterministic analytics rule. This setting, along with other related settings, can be further configured to suit any system conditions.
+|Rule name |Description |
+|||
+|**SAP - Missing configuration in the Dynamic Security Audit Log Monitor** | By default, runs daily to provide configuration recommendations for the SAP audit log module. Use the rule template to create and customize a rule for your workspace. |
+|**SAP - Dynamic Deterministic Audit Log Monitor (PREVIEW)** | By default, runs every 10 minutes and focuses on the SAP audit log events marked as **Deterministic**. Use the rule template to create and customize a rule for your workspace, such as for a lower false positive rate. <br><br>This rule requires deterministic alert thresholds and user exclusion rules. |
+|**SAP - Dynamic Anomaly based Audit Log Monitor Alerts (PREVIEW)** | By default, runs hourly and focuses on SAP events marked as **AnomaliesOnly**, alerting on SAP audit log events when anomalies are detected. <br><br>This rule applies extra machine learning algorithms to filter out background noise in an unsupervised manner. |
-#### SAP - Dynamic Deterministic Audit Log Monitor
+By default, most event types or SAP message IDs in the SAP audit log are sent to the anomaly based *Dynamic Anomaly based Audit Log Monitor Alerts (PREVIEW)* analytics rule, while the easier to define event types are sent to the deterministic *Dynamic Deterministic Audit Log Monitor (PREVIEW)* analytics rule. This setting, along with other related settings, can be further configured to suit any system conditions.
-A dynamic analytics rule that is intended for covering the entire set of SAP audit log event types which have a deterministic definition in terms of user population, event thresholds.
+The SAP audit log monitoring rules are delivered as part of the [Microsoft Sentinel for SAP solution security content](sap-solution-security-content.md#monitor-the-sap-audit-log), and allow for further fine tuning using the *SAP_Dynamic_Audit_Log_Monitor_Configuration* and *SAP_User_Config watchlists*.
-- [Configure the rule with the SAP_Dynamic_Audit_Log_Monitor_Configuration watchlist](#available-watchlists) -- Learn more about how to [configure the rule](configure-audit-log-rules.md#set-up-the-sapdynamic-anomaly-based-audit-log-monitor-alerts-preview-rule-for-anomaly-detection) (full procedure)
+For example, the following table lists several examples of how you can use the *SAP_Dynamic_Audit_Log_Monitor_Configuration* watchlist to configure the types of events that produce incidents, reducing the number of incidents generated.
-#### SAP - Dynamic Anomaly based Audit Log Monitor Alerts (PREVIEW)
+|Option |Description |
+|||
+|**Set severities and disable unwanted events** |By default, both the deterministic rules and the rules based on anomalies create alerts for events marked with medium and high severities. <br><br>You might want to configure severities separately production and nonproduction environments. For example, you might set a debugging activity event as *high* severity in production systems, and turn off the same events entirely in nonproduction systems. |
+|**Exclude users by their SAP roles or SAP profiles** |Microsoft Sentinel for SAP ingests the SAP userΓÇÖs authorization profile, including direct and indirect role assignments, groups, and profiles, so that you can speak the SAP language in your SIEM.<br><br>You might want to configure an SAP event to exclude users based on their SAP roles and profiles. In the watchlist, add the roles or profiles that group your RFC interface users in the **RolesTagsToExclude** column, next to the **Generic table access by RFC** event. This configuration triggers alerts only for users that are missing these roles. |
+|**Exclude users by their SOC tags** |Use tags to create your own grouping, without relying on complicated SAP definitions or even without SAP authorization. This method is useful for SOC teams that want to create their own grouping for SAP users.<br><br>For example, if you don't want specific service accounts to be alerted for **Generic table access by RFC** events, but canΓÇÖt find an SAP role or an SAP profile that groups these users, use tags as follows: <br>1. Add the **GenTableRFCReadOK** tag next to the relevant event in the watchlist. <br>2. Go to the **SAP_User_Config** watchlist and assign the interface users the same tag. |
+|**Specify a frequency threshold per event type and system role** |Works like a speed limit. For example, you might configure **User Master Record Change** events to only trigger alerts if more than 12 activities are observed in an hour, by the same user in a production system. If a user exceeds the 12 per hour limitΓÇöfor example, 2 events in a 10-minute windowΓÇöan incident is triggered. |
+|**Determinism or anomalies** |If you know the eventΓÇÖs characteristics, use the deterministic capabilities. If you aren't sure how to correctly configure the event, allow the machine learning capabilities to decide to start, and then make subsequent updates as needed. |
+|**SOAR capabilities** |Use Microsoft Sentinel to further orchestrate, automate, and respond to incidents created by SAP audit log dynamic alerts. For more information, see [Automation in Microsoft Sentinel: Security orchestration, automation, and response (SOAR)](../automation/automation.md). |
-A dynamic analytics rule designed to learn normal system behavior, and alert on activities observed on the SAP audit log that are considered anomalous. Apply this rule on the SAP audit log event types which are harder to define in terms of user population, network attributes and thresholds.
+For more information, see [Available watchlists](sap-solution-security-content.md#available-watchlists) and [Microsoft Sentinel for SAP News - Dynamic SAP Security Audit Log Monitor feature available now! (blog)](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/microsoft-sentinel-for-sap-news-dynamic-sap-security-audit-log/ba-p/3326842#feedback-success).
-Learn more:
--- [Configure the rule with the SAP_Dynamic_Audit_Log_Monitor_Configuration and SAP_User_Config watchlists](#available-watchlists) -- Learn more about how to [configure the rule](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/microsoft-sentinel-for-sap-news-dynamic-sap-security-audit-log/ba-p/3326842#feedback-success) (full procedure)-
-The following tables list the built-in [analytics rules](deploy-sap-security-content.md) that are included in the Microsoft Sentinel solution for SAP® applications, deployed from the Microsoft Sentinel Solutions marketplace.
### Initial access | Rule name | Description | Source action | Tactics | | | | | |
-| **SAP - Login from unexpected network** | Identifies a sign-in from an unexpected network. <br><br>Maintain networks in the [SAP - Networks](#networks) watchlist. | Sign in to the backend system from an IP address that is not assigned to one of the networks. <br><br>**Data sources**: SAPcon - Audit Log | Initial Access |
+| **SAP - Login from unexpected network** | Identifies a sign-in from an unexpected network. <br><br>Maintain networks in the [SAP - Networks](#networks) watchlist. | Sign in to the backend system from an IP address that isn't assigned to one of the networks. <br><br>**Data sources**: SAPcon - Audit Log | Initial Access |
| **SAP - SPNego Attack** | Identifies SPNego Replay Attack. | **Data sources**: SAPcon - Audit Log | Impact, Lateral Movement |
-| **SAP - Dialog logon attempt from a privileged user** | Identifies dialog sign-in attempts, with the **AUM** type, by privileged users in an SAP system. For more information, see the [SAPUsersGetPrivileged](sap-solution-log-reference.md#sapusersgetprivileged). | Attempt to sign in from the same IP to several systems or clients within the scheduled time interval<br><br>**Data sources**: SAPcon - Audit Log | Impact, Lateral Movement |
-| **SAP - Brute force attacks** | Identifies brute force attacks on the SAP system using RFC logons | Attempt to log in from the same IP to several systems/clients within the scheduled time interval using RFC<br><br>**Data sources**: SAPcon - Audit Log | Credential Access |
+| **SAP - Dialog logon attempt from a privileged user** | Identifies dialog sign-in attempts, with the **AUM** type, by privileged users in an SAP system. For more information, see the [SAPUsersGetPrivileged](sap-solution-function-reference.md#sapusersgetprivileged). | Attempt to sign in from the same IP to several systems or clients within the scheduled time interval<br><br>**Data sources**: SAPcon - Audit Log | Impact, Lateral Movement |
+| **SAP - Brute force attacks** | Identifies brute force attacks on the SAP system using RFC logons | Attempt to sign in from the same IP to several systems/clients within the scheduled time interval using RFC<br><br>**Data sources**: SAPcon - Audit Log | Credential Access |
| **SAP - Multiple Logons from the same IP** | Identifies the sign-in of several users from same IP address within a scheduled time interval. <br><br>**Sub-use case**: [Persistency](#persistency) | Sign in using several users through the same IP address. <br><br>**Data sources**: SAPcon - Audit Log | Initial Access |
-| **SAP - Multiple Logons by User** | Identifies sign-ins of the same user from several terminals within scheduled time interval. <br><br>Available only via the Audit SAL method, for SAP versions 7.5 and higher. | Sign in using the same user, using different IP addresses. <br><br>**Data sources**: SAPcon - Audit Log | PreAttack, Credential Access, Initial Access, Collection <br><br>**Sub-use case**: [Persistency](#persistency) |
+| **SAP - Multiple Logons by User** | Identifies sign-ins of the same user from several terminals within scheduled time interval. <br><br>Available only via the Audit SAL method, for SAP versions 7.5 and higher. | Sign in using the same user, using different IP addresses. <br><br>**Data sources**: SAPcon - Audit Log | Pre-Attack, Credential Access, Initial Access, Collection <br><br>**Sub-use case**: [Persistency](#persistency) |
| **SAP - Informational - Lifecycle - SAP Notes were implemented in system** | Identifies SAP Note implementation in the system. | Implement an SAP Note using SNOTE/TCI. <br><br>**Data sources**: SAPcon - Change Requests | - | | **SAP - (Preview) AS JAVA - Sensitive Privileged User Signed In** | Identifies a sign-in from an unexpected network. <br><br>Maintain privileged users in the [SAP - Privileged Users](#users) watchlist. | Sign in to the backend system using privileged users. <br><br>**Data sources**: SAPJAVAFilesLog | Initial Access | | **SAP - (Preview) AS JAVA - Sign-In from Unexpected Network** | Identifies sign-ins from an unexpected network. <br><br>Maintain privileged users in the [SAP - Networks](#networks) watchlist. | Sign in to the backend system from an IP address that isn't assigned to one of the networks in the SAP - Networks watchlist <br><br>**Data sources**: SAPJAVAFilesLog | Initial Access, Defense Evasion |
The following tables list the built-in [analytics rules](deploy-sap-security-con
| Rule name | Description | Source action | Tactics | | | | | |
-| **SAP - FTP for non authorized servers** |Identifies an FTP connection for a non-authorized server. | Create a new FTP connection, such as by using the FTP_CONNECT Function Module. <br><br>**Data sources**: SAPcon - Audit Log | Discovery, Initial Access, Command and Control |
-| **SAP - Insecure FTP servers configuration** |Identifies insecure FTP server configurations, such as when an FTP allowlist is empty or contains placeholders. | Do not maintain or maintain values that contain placeholders in the `SAPFTP_SERVERS` table, using the `SAPFTP_SERVERS_V` maintenance view. (SM30) <br><br>**Data sources**: SAPcon - Audit Log | Initial Access, Command and Control |
+| **SAP - FTP for non authorized servers** |Identifies an FTP connection for a nonauthorized server. | Create a new FTP connection, such as by using the FTP_CONNECT Function Module. <br><br>**Data sources**: SAPcon - Audit Log | Discovery, Initial Access, Command and Control |
+| **SAP - Insecure FTP servers configuration** |Identifies insecure FTP server configurations, such as when an FTP allowlist is empty or contains placeholders. | Don't maintain or maintain values that contain placeholders in the `SAPFTP_SERVERS` table, using the `SAPFTP_SERVERS_V` maintenance view. (SM30) <br><br>**Data sources**: SAPcon - Audit Log | Initial Access, Command and Control |
| **SAP - Multiple Files Download** |Identifies multiple file downloads for a user within a specific time-range. | Download multiple files using the SAPGui for Excel, lists, and so on. <br><br>**Data sources**: SAPcon - Audit Log | Collection, Exfiltration, Credential Access | | **SAP - Multiple Spool Executions** |Identifies multiple spools for a user within a specific time-range. | Create and run multiple spool jobs of any type by a user. (SP01) <br><br>**Data sources**: SAPcon - Spool Log, SAPcon - Audit Log | Collection, Exfiltration, Credential Access | | **SAP - Multiple Spool Output Executions** |Identifies multiple spools for a user within a specific time-range. | Create and run multiple spool jobs of any type by a user. (SP01) <br><br>**Data sources**: SAPcon - Spool Output Log, SAPcon - Audit Log | Collection, Exfiltration, Credential Access |
-| **SAP - Sensitive Tables Direct Access By RFC Logon** |Identifies a generic table access by RFC sign in. <br><br> Maintain tables in the [SAP - Sensitive Tables](#tables) watchlist.<br><br> **Note**: Relevant for production systems only. | Open the table contents using SE11/SE16/SE16N.<br><br>**Data sources**: SAPcon - Audit Log | Collection, Exfiltration, Credential Access |
+| **SAP - Sensitive Tables Direct Access By RFC Logon** |Identifies a generic table access by RFC sign in. <br><br> Maintain tables in the [SAP - Sensitive Tables](#tables) watchlist.<br><br>Relevant for production systems only. | Open the table contents using SE11/SE16/SE16N.<br><br>**Data sources**: SAPcon - Audit Log | Collection, Exfiltration, Credential Access |
| **SAP - Spool Takeover** |Identifies a user printing a spool request that was created by someone else. | Create a spool request using one user, and then output it in using a different user. <br><br>**Data sources**: SAPcon - Spool Log, SAPcon - Spool Output Log, SAPcon - Audit Log | Collection, Exfiltration, Command and Control | | **SAP - Dynamic RFC Destination** | Identifies the execution of RFC using dynamic destinations. <br><br>**Sub-use case**: [Attempts to bypass SAP security mechanisms](#attempts-to-bypass-sap-security-mechanisms)| Execute an ABAP report that uses dynamic destinations (cl_dynamic_destination). For example, DEMO_RFC_DYNAMIC_DEST. <br><br>**Data sources**: SAPcon - Audit Log | Collection, Exfiltration | | **SAP - Sensitive Tables Direct Access By Dialog Logon** | Identifies generic table access via dialog sign-in. | Open table contents using `SE11`/`SE16`/`SE16N`. <br><br>**Data sources**: SAPcon - Audit Log | Discovery |
The following tables list the built-in [analytics rules](deploy-sap-security-con
| **SAP - (Preview) Printing of Potentially Sensitive data** | Identifies a request or actual printing of potentially sensitive data. Data is considered sensitive if the user obtains the data as part of a sensitive transaction, execution of a sensitive program, or direct access to a sensitive table. | Print or request to print sensitive data. <br><br>**Data sources**: SAP Security Audit Log, SAP Spool logs, [SAP - Sensitive Tables](#tables), [SAP - Sensitive Programs](#programs) | Exfiltration | | **SAP - (Preview) High Volume of Potentially Sensitive Data Exported** | Identifies export of a high volume of data via files in proximity to an execution of a sensitive transaction, a sensitive program, or direct access to sensitive table. | Export high volume of data via files. <br><br>**Data sources**: SAP Security Audit Log, [SAP - Sensitive Tables](#tables), [SAP - Sensitive Transactions](#transactions), [SAP - Sensitive Programs](#programs) | Exfiltration | - ### Persistency | Rule name | Description | Source action | Tactics |
The following tables list the built-in [analytics rules](deploy-sap-security-con
| **SAP - (PREVIEW) HANA DB -User Admin actions** | Identifies user administration actions. | Create, update, or delete a database user. <br><br>**Data Sources**: Linux Agent - Syslog* |Privilege Escalation | | **SAP - New ICF Service Handlers** | Identifies creation of ICF Handlers. | Assign a new handler to a service using SICF.<br><br>**Data sources**: SAPcon - Audit Log | Command and Control, Lateral Movement, Persistence | | **SAP - New ICF Services** | Identifies creation of ICF Services. | Create a service using SICF.<br><br>**Data sources**: SAPcon - Table Data Log | Command and Control, Lateral Movement, Persistence |
-| **SAP - Execution of Obsolete or Insecure Function Module** |Identifies the execution of an obsolete or insecure ABAP function module. <br><br>Maintain obsolete functions in the [SAP - Obsolete Function Modules](#modules) watchlist. Make sure to activate table logging changes for the `EUFUNC` table in the backend. (SE13)<br><br> **Note**: Relevant for production systems only. | Run an obsolete or insecure function module directly using SE37. <br><br>**Data sources**: SAPcon - Table Data Log | Discovery, Command and Control |
-| **SAP - Execution of Obsolete/Insecure Program** |Identifies the execution of an obsolete or insecure ABAP program. <br><br> Maintain obsolete programs in the [SAP - Obsolete Programs](#programs) watchlist.<br><br> **Note**: Relevant for production systems only. | Run a program directly using SE38/SA38/SE80, or by using a background job. <br><br>**Data sources**: SAPcon - Audit Log | Discovery, Command and Control |
+| **SAP - Execution of Obsolete or Insecure Function Module** |Identifies the execution of an obsolete or insecure ABAP function module. <br><br>Maintain obsolete functions in the [SAP - Obsolete Function Modules](#modules) watchlist. Make sure to activate table logging changes for the `EUFUNC` table in the backend. (SE13)<br><br>Relevant for production systems only. | Run an obsolete or insecure function module directly using SE37. <br><br>**Data sources**: SAPcon - Table Data Log | Discovery, Command and Control |
+| **SAP - Execution of Obsolete/Insecure Program** |Identifies the execution of an obsolete or insecure ABAP program. <br><br> Maintain obsolete programs in the [SAP - Obsolete Programs](#programs) watchlist.<br><br>Relevant for production systems only. | Run a program directly using SE38/SA38/SE80, or by using a background job. <br><br>**Data sources**: SAPcon - Audit Log | Discovery, Command and Control |
| **SAP - Multiple Password Changes by User** | Identifies multiple password changes by user. | Change user password <br><br>**Data sources**: SAPcon - Audit Log | Credential Access | | **SAP - (Preview) AS JAVA - User Creates and Uses New User** | Identifies the creation or manipulation of users by admins within the SAP AS Java environment. | Sign in to the backend system using users that you have created or manipulated.<br><br>**Data sources**: SAPJAVAFilesLog | Persistence |
The following tables list the built-in [analytics rules](deploy-sap-security-con
| **SAP - Deactivation of Security Audit Log** | Identifies deactivation of the Security Audit Log, | Disable security Audit Log using `SM19/RSAU_CONFIG`. <br><br>**Data sources**: SAPcon - Audit Log | Exfiltration, Defense Evasion, Persistence | | **SAP - Execution of a Sensitive ABAP Program** |Identifies the direct execution of a sensitive ABAP program. <br><br>Maintain ABAP Programs in the [SAP - Sensitive ABAP Programs](#programs) watchlist. | Run a program directly using `SE38`/`SA38`/`SE80`. <br> <br>**Data sources**: SAPcon - Audit Log | Exfiltration, Lateral Movement, Execution | | **SAP - Execution of a Sensitive Transaction Code** | Identifies the execution of a sensitive Transaction Code. <br><br>Maintain transaction codes in the [SAP - Sensitive Transaction Codes](#transactions) watchlist. | Run a sensitive transaction code. <br><br>**Data sources**: SAPcon - Audit Log | Discovery, Execution |
-| **SAP - Execution of Sensitive Function Module** | Identifies the execution of a sensitive ABAP function module. <br><br>**Sub-use case**: [Persistency](#persistency)<br><br>**Note**: Relevant for production systems only. <br><br>Maintain sensitive functions in the [SAP - Sensitive Function Modules](#modules) watchlist, and make sure to activate table logging changes in the backend for the EUFUNC table. (SE13) | Run a sensitive function module directly using SE37. <br><br>**Data sources**: SAPcon - Table Data Log | Discovery, Command and Control
+| **SAP - Execution of Sensitive Function Module** | Identifies the execution of a sensitive ABAP function module. <br><br>**Sub-use case**: [Persistency](#persistency)<br><br>Relevant for production systems only. <br><br>Maintain sensitive functions in the [SAP - Sensitive Function Modules](#modules) watchlist, and make sure to activate table logging changes in the backend for the EUFUNC table. (SE13) | Run a sensitive function module directly using SE37. <br><br>**Data sources**: SAPcon - Table Data Log | Discovery, Command and Control |
| **SAP - (PREVIEW) HANA DB -Audit Trail Policy Changes** | Identifies changes for HANA DB audit trail policies. | Create or update the existing audit policy in security definitions. <br> <br>**Data sources**: Linux Agent - Syslog | Lateral Movement, Defense Evasion, Persistence | | **SAP - (PREVIEW) HANA DB -Deactivation of Audit Trail** | Identifies the deactivation of the HANA DB audit log. | Deactivate the audit log in the HANA DB security definition. <br><br>**Data sources**: Linux Agent - Syslog | Persistence, Lateral Movement, Defense Evasion | | **SAP - Unauthorized Remote Execution of a Sensitive Function Module** | Detects unauthorized executions of sensitive FMs by comparing the activity with the user's authorization profile while disregarding recently changed authorizations. <br><br>Maintain function modules in the [SAP - Sensitive Function Modules](#module) watchlist. | Run a function module using RFC. <br><br>**Data sources**: SAPcon - Audit Log | Execution, Lateral Movement, Discovery |
The following tables list the built-in [analytics rules](deploy-sap-security-con
| **SAP - Transaction is unlocked** |Identifies unlocking of a transaction. | Unlock a transaction code using `SM01`/`SM01_DEV`/`SM01_CUS`. <br><br>**Data sources**: SAPcon - Audit Log | Persistence, Execution | | **SAP - Dynamic ABAP Program** | Identifies the execution of dynamic ABAP programming. For example, when ABAP code was dynamically created, changed, or deleted. <br><br> Maintain excluded transaction codes in the [SAP - Transactions for ABAP Generations](#transactions) watchlist. | Create an ABAP Report that uses ABAP program generation commands, such as INSERT REPORT, and then run the report. <br><br>**Data sources**: SAPcon - Audit Log | Discovery, Command and Control, Impact | - ### Suspicious privileges operations | Rule name | Description | Source action | Tactics |
The following tables list the built-in [analytics rules](deploy-sap-security-con
| **SAP - Sensitive privileged user logged in** | Identifies the Dialog sign-in of a sensitive privileged user. <br><br>Maintain privileged users in the [SAP - Privileged Users](#users) watchlist. | Sign in to the backend system using `SAP*` or another privileged user. <br><br>**Data sources**: SAPcon - Audit Log | Initial Access, Credential Access | | **SAP - Sensitive privileged user makes a change in other user** | Identifies changes of sensitive, privileged users in other users. | Change user details / authorizations using SU01. <br><br>**Data Sources**: SAPcon - Audit Log | Privilege Escalation, Credential Access | | **SAP - Sensitive Users Password Change and Login** | Identifies password changes for privileged users. | Change the password for a privileged user and sign into the system. <br>Maintain privileged users in the [SAP - Privileged Users](#users) watchlist.<br><br>**Data sources**: SAPcon - Audit Log | Impact, Command and Control, Privilege Escalation |
-| **SAP - User Creates and uses new user** | Identifies a user creating and using other users. <br><br>**Sub-use case**: [Persistency](#persistency) | Create a user using SU01, and then sign in, using the newly created user and the same IP address.<br><br>**Data sources**: SAPcon - Audit Log | Discovery, PreAttack, Initial Access |
-| **SAP - User Unlocks and uses other users** | Identifies a user being unlocked and used by other users. <br><br>**Sub-use case**: [Persistency](#persistency) | Unlock a user using SU01, and then sign in using the unlocked user and the same IP address.<br><br>**Data sources**: SAPcon - Audit Log, SAPcon - Change Documents Log | Discovery, PreAttack, Initial Access, Lateral Movement |
+| **SAP - User Creates and uses new user** | Identifies a user creating and using other users. <br><br>**Sub-use case**: [Persistency](#persistency) | Create a user using SU01, and then sign in, using the newly created user and the same IP address.<br><br>**Data sources**: SAPcon - Audit Log | Discovery, Pre-Attack, Initial Access |
+| **SAP - User Unlocks and uses other users** | Identifies a user being unlocked and used by other users. <br><br>**Sub-use case**: [Persistency](#persistency) | Unlock a user using SU01, and then sign in using the unlocked user and the same IP address.<br><br>**Data sources**: SAPcon - Audit Log, SAPcon - Change Documents Log | Discovery, Pre-Attack, Initial Access, Lateral Movement |
| **SAP - Assignment of a sensitive profile** | Identifies new assignments of a sensitive profile to a user. <br><br>Maintain sensitive profiles in the [SAP - Sensitive Profiles](#profiles) watchlist. | Assign a profile to a user using `SU01`. <br><br>**Data sources**: SAPcon - Change Documents Log | Privilege Escalation | | **SAP - Assignment of a sensitive role** | Identifies new assignments for a sensitive role to a user. <br><br>Maintain sensitive roles in the [SAP - Sensitive Roles](#roles) watchlist.| Assign a role to a user using `SU01` / `PFCG`. <br><br>**Data sources**: SAPcon - Change Documents Log, Audit Log | Privilege Escalation | | **SAP - (PREVIEW) Critical authorizations assignment - New Authorization Value** | Identifies the assignment of a critical authorization object value to a new user. <br><br>Maintain critical authorization objects in the [SAP - Critical Authorization Objects](#objects) watchlist. | Assign a new authorization object or update an existing one in a role, using `PFCG`. <br><br>**Data sources**: SAPcon - Change Documents Log | Privilege Escalation | | **SAP - Critical authorizations assignment - New User Assignment** | Identifies the assignment of a critical authorization object value to a new user. <br><br>Maintain critical authorization objects in the [SAP - Critical Authorization Objects](#objects) watchlist. | Assign a new user to a role that holds critical authorization values, using `SU01`/`PFCG`. <br><br>**Data sources**: SAPcon - Change Documents Log | Privilege Escalation | | **SAP - Sensitive Roles Changes** |Identifies changes in sensitive roles. <br><br> Maintain sensitive roles in the [SAP - Sensitive Roles](#roles) watchlist. | Change a role using PFCG. <br><br>**Data sources**: SAPcon - Change Documents Log, SAPcon ΓÇô Audit Log | Impact, Privilege Escalation, Persistence | - ## Available watchlists
-The following table lists the [watchlists](deploy-sap-security-content.md) available for the Microsoft Sentinel solution for SAP® applications, and the fields in each watchlist.
+The following table lists the [watchlists](deploy-sap-security-content.md) available for the Microsoft Sentinel solution for SAP applications, and the fields in each watchlist.
-These watchlists provide the configuration for the Microsoft Sentinel solution for SAP® applications. The [SAP watchlists](https://github.com/Azure/Azure-Sentinel/tree/master/Solutions/SAP/Analytics/Watchlists) are available in the Microsoft Sentinel GitHub repository.
+These watchlists provide the configuration for the Microsoft Sentinel solution for SAP applications. The [SAP watchlists](https://github.com/Azure/Azure-Sentinel/tree/master/Solutions/SAP/Analytics/Watchlists) are available in the Microsoft Sentinel GitHub repository.
| Watchlist name | Description and fields | | | |
-| <a name="objects"></a>**SAP - Critical Authorization Objects** | Critical Authorizations object, where assignments should be governed. <br><br>- **AuthorizationObject**: An SAP authorization object, such as `S_DEVELOP`, `S_TCODE`, or `Table TOBJ` <br>- **AuthorizationField**: An SAP authorization field, such as `OBJTYP` or `TCD` <br>- **AuthorizationValue**: An SAP authorization field value, such as `DEBUG` <br>- **ActivityField** : SAP activity field. For most cases, this value will be `ACTVT`. For Authorizations objects without an **Activity**, or with only an **Activity** field, filled with `NOT_IN_USE`. <br>- **Activity**: SAP activity, according to the authorization object, such as: `01`: Create; `02`: Change; `03`: Display, and so on. <br>- **Description**: A meaningful Critical Authorization Object description. |
+| <a name="objects"></a>**SAP - Critical Authorization Objects** | Critical Authorizations object, where assignments should be governed. <br><br>- **AuthorizationObject**: An SAP authorization object, such as `S_DEVELOP`, `S_TCODE`, or `Table TOBJ` <br>- **AuthorizationField**: An SAP authorization field, such as `OBJTYP` or `TCD` <br>- **AuthorizationValue**: An SAP authorization field value, such as `DEBUG` <br>- **ActivityField** : SAP activity field. For most cases, this value is `ACTVT`. For Authorizations objects without an **Activity**, or with only an **Activity** field, filled with `NOT_IN_USE`. <br>- **Activity**: SAP activity, according to the authorization object, such as: `01`: Create; `02`: Change; `03`: Display, and so on. <br>- **Description**: A meaningful Critical Authorization Object description. |
| **SAP - Excluded Networks** | For internal maintenance of excluded networks, such as to ignore web dispatchers, terminal servers, and so on. <br><br>-**Network**: A network IP address or range, such as `111.68.128.0/17`. <br>-**Description**: A meaningful network description.| | **SAP Excluded Users** |System users who are signed in to the system and must be ignored. For example, alerts for multiple sign-ins by the same user. <br><br>- **User**: SAP User <br>-**Description**: A meaningful user description. | | <a name="networks"></a>**SAP - Networks** | Internal and maintenance networks for identification of unauthorized logins. <br><br>- **Network**: Network IP address or range, such as `111.68.128.0/17` <br>- **Description**: A meaningful network description.|
These watchlists provide the configuration for the Microsoft Sentinel solution f
| <a name="tables"></a>**SAP - Sensitive Tables** | Sensitive tables, where access should be governed. <br><br>- **Table**: ABAP Dictionary Table, such as `USR02` or `PA008` <br>- **Description**: A meaningful table description. | | <a name="roles"></a>**SAP - Sensitive Roles** | Sensitive roles, where assignment should be governed. <br><br>- **Role**: SAP authorization role, such as `SAP_BC_BASIS_ADMIN` <br>- **Description**: A meaningful role description. | | <a name="transactions"></a>**SAP - Sensitive Transactions** | Sensitive transactions where execution should be governed. <br><br>- **TransactionCode**: SAP transaction code, such as `RZ11` <br>- **Description**: A meaningful code description. |
-| <a name="systems"></a>**SAP - Systems** | Describes the landscape of SAP systems according to role, usage, and configuration.<br><br>- **SystemID**: the SAP system ID (SYSID) <br>- **SystemRole**: the SAP system role, one of the following values: `Sandbox`, `Development`, `Quality Assurance`, `Training`, `Production` <br>- **SystemUsage**: The SAP system usage, one of the following values: `ERP`, `BW`, `Solman`, `Gateway`, `Enterprise Portal` <br>- **InterfaceAttributes**: an optional dynamic parameter [for use in playbooks](sap-incident-response-playbooks.md). |
-| <a name="systemparameters"></a>**SAPSystemParameters** | Parameters to watch for [suspicious configuration changes](#monitoring-the-configuration-of-static-sap-security-parameters-preview). This watchlist is prefilled with recommended values (according to SAP best practice), and you can extend the watchlist to include more parameters. If you don't want to receive alerts for a parameter, set `EnableAlerts` to `false`.<br><br>- **ParameterName**: The name of the parameter.<br>- **Comment**: The SAP standard parameter description.<br>- **EnableAlerts**: Defines whether to enable alerts for this parameter. Values are `true` and `false`.<br>- **Option**: Defines in which case to trigger an alert: If the parameter value is greater or equal (`GE`), less or equal (`LE`), or equal (`EQ`).<br> For example, if the `login/fails_to_user_lock` SAP parameter is set to `LE` (less or equal), and a value of `5`, once Microsoft Sentinel detects a change to this specific parameter, it compares the newly reported value and the expected value. If the new value is `4`, Microsoft Sentinel doesn't trigger an alert. If the new value is `6`, Microsoft Sentinel triggers an alert.<br>- **ProductionSeverity**: The incident severity for production systems.<br>- **ProductionValues**: Permitted values for production systems.<br>- **NonProdSeverity**: The incident severity for non-production systems.<br>- **NonProdValues**: Permitted values for non-production systems. |
+| <a name="systems"></a>**SAP - Systems** | Describes the landscape of SAP systems according to role, usage, and configuration.<br><br>- **SystemID**: the SAP system ID (SYSID) <br>- **SystemRole**: the SAP system role, one of the following values: `Sandbox`, `Development`, `Quality Assurance`, `Training`, `Production` <br>- **SystemUsage**: The SAP system usage, one of the following values: `ERP`, `BW`, `Solman`, `Gateway`, `Enterprise Portal` <br>- **InterfaceAttributes**: an optional dynamic parameter for use in [playbooks](sap-solution-security-content.md#available-playbooks). |
+| <a name="systemparameters"></a>**SAPSystemParameters** | Parameters to watch for [suspicious configuration changes](#monitor-the-configuration-of-static-sap-security-parameters-preview). This watchlist is prefilled with recommended values (according to SAP best practice), and you can extend the watchlist to include more parameters. If you don't want to receive alerts for a parameter, set `EnableAlerts` to `false`.<br><br>- **ParameterName**: The name of the parameter.<br>- **Comment**: The SAP standard parameter description.<br>- **EnableAlerts**: Defines whether to enable alerts for this parameter. Values are `true` and `false`.<br>- **Option**: Defines in which case to trigger an alert: If the parameter value is greater or equal (`GE`), less or equal (`LE`), or equal (`EQ`)<br> For example, if the `login/fails_to_user_lock` SAP parameter is set to `LE` (less or equal), and a value of `5`, once Microsoft Sentinel detects a change to this specific parameter, it compares the newly reported value and the expected value. If the new value is `4`, Microsoft Sentinel doesn't trigger an alert. If the new value is `6`, Microsoft Sentinel triggers an alert.<br>- **ProductionSeverity**: The incident severity for production systems.<br>- **ProductionValues**: Permitted values for production systems.<br>- **NonProdSeverity**: The incident severity for nonproduction systems.<br>- **NonProdValues**: Permitted values for nonproduction systems. |
| <a name="users"></a>**SAP - Excluded Users** | System users that are logged in and need to be ignored, such as for the Multiple logons by user alert. <br><br>- **User**: SAP User <br>- **Description**: A meaningful user description | | <a name="networks"></a>**SAP - Excluded Networks** | Maintain internal, excluded networks for ignoring web dispatchers, terminal servers, and so on. <br><br>- **Network**: Network IP address or range, such as `111.68.128.0/17` <br>- **Description**: A meaningful network description | | <a name="modules"></a>**SAP - Obsolete Function Modules** | Obsolete function modules, whose execution should be governed. <br><br>- **FunctionModule**: ABAP Function Module, such as TH_SAPREL <br>- **Description**: A meaningful function module description | | <a name="programs"></a>**SAP - Obsolete Programs** | Obsolete ABAP programs (reports), whose execution should be governed. <br><br>- **ABAPProgram**:ABAP Program, such as TH_ RSPFLDOC <br>- **Description**: A meaningful ABAP program description |
-| <a name="transactions"></a>**SAP - Transactions for ABAP Generations** | Transactions for ABAP generations whose execution should be governed. <br><br>- **TransactionCode**:Transaction Code, such as SE11. <br>- **Description**: A meaningful Transaction Code description |
-| <a name="servers"></a>**SAP - FTP Servers** | FTP Servers for identification of unauthorized connections. <br><br>- **Client**:such as 100. <br>- **FTP_Server_Name**: FTP server name, such as `http://contoso.com/` <br>-**FTP_Server_Port**:FTP server port, such as 22. <br>- **Description**A meaningful FTP Server description |
-| <a name="objects"></a>**SAP_Dynamic_Audit_Log_Monitor_Configuration** | Configure the SAP audit log alerts by assigning each message ID a severity level as required by you, per system role (production, non-production). This watchlist details all available SAP standard audit log message IDs. The watchlist can be extended to contain additional message IDs you might create on your own using ABAP enhancements on their SAP NetWeaver systems. This watchlist also allows for configuring a designated team to handle each of the event types, and excluding users by SAP roles, SAP profiles or by tags from the **SAP_User_Config** watchlist. This watchlist is one of the core components used for [configuring](configure-audit-log-rules.md) the [built-in SAP analytics rules for monitoring the SAP audit log](#monitoring-the-sap-audit-log). <br><br>- **MessageID**: The SAP Message ID, or event type, such as `AUD` (User master record changes), or `AUB` (authorization changes). <br>- **DetailedDescription**: A markdown enabled description to be shown on the incident pane. <br>- **ProductionSeverity**: The desired severity for the incident to be created with for production systems `High`, `Medium`. Can be set as `Disabled`. <br>- **NonProdSeverity**: The desired severity for the incident to be created with for non-production systems `High`, `Medium`. Can be set as `Disabled`. <br>- **ProductionThreshold** The "Per hour" count of events to be considered as suspicious for production systems `60`. <br>- **NonProdThreshold** The "Per hour" count of events to be considered as suspicious for non-production systems `10`. <br>- **RolesTagsToExclude**: This field accepts SAP role name, SAP profile names or tags from the SAP_User_Config watchlist. These are then used to exclude the associated users from specific event types. See options for role tags at the end of this list. <br>- **RuleType**: Use `Deterministic` for the event type to be sent off to the [SAP - Dynamic Deterministic Audit Log Monitor](#sapdynamic-deterministic-audit-log-monitor), or `AnomaliesOnly` to have this event covered by the [SAP - Dynamic Anomaly based Audit Log Monitor Alerts (PREVIEW)](#sapdynamic-anomaly-based-audit-log-monitor-alerts-preview).<br>- **TeamsChannelID**: an optional dynamic parameter [for use in playbooks](sap-incident-response-playbooks.md).<br>- **DestinationEmail**: an optional dynamic parameter [for use in playbooks](sap-incident-response-playbooks.md).<br><br>For the **RolesTagsToExclude** field:<br>- If you list SAP roles or [SAP profiles](sap-solution-deploy-alternate.md#configuring-user-master-data-collection), this excludes any user with the listed roles or profiles from these event types for the same SAP system. For example, if you define the `BASIC_BO_USERS` ABAP role for the RFC related event types, Business Objects users won't trigger incidents when making massive RFC calls.<br>- Tagging an event type is similar to specifying SAP roles or profiles, but tags can be created in the workspace, so SOC teams can exclude users by activity without depending on the SAP team. For example, the audit message IDs AUB (authorization changes) and AUD (user master record changes) are assigned the `MassiveAuthChanges` tag. Users assigned this tag are excluded from the checks for these activities. Running the workspace `SAPAuditLogConfigRecommend` function produces a list of recommended tags to be assigned to users, such as `Add the tags ["GenericTablebyRFCOK"] to user SENTINEL_SRV using the SAP_User_Config watchlist`.
-| <a name="objects"></a>**SAP_User_Config** | Allows for fine tuning alerts by excluding /including users in specific contexts and is also used for [configuring](configure-audit-log-rules.md) the [built-in SAP analytics rules for monitoring the SAP audit log](#monitoring-the-sap-audit-log). <br><br> - **SAPUser**: The SAP user <br> - **Tags**: Tags are used to identify users against certain activity. For example Adding the tags ["GenericTablebyRFCOK"] to user SENTINEL_SRV will prevent RFC related incidents to be created for this specific user <br>**Other active directory user identifiers** <br>- AD User Identifier <br>- User On-Premises Sid <br>- User Principal Name |
+| <a name="transactions"></a>**SAP - Transactions for ABAP Generations** | Transactions for ABAP generations whose execution should be governed. <br><br>- **TransactionCode**: Transaction Code, such as SE11. <br>- **Description**: A meaningful Transaction Code description |
+| <a name="servers"></a>**SAP - FTP Servers** | FTP Servers for identification of unauthorized connections. <br><br>- **Client**: such as 100. <br>- **FTP_Server_Name**: FTP server name, such as `http://contoso.com/` <br>-**FTP_Server_Port**:FTP server port, such as 22. <br>- **Description**A meaningful FTP Server description |
+| <a name="objects"></a>**SAP_Dynamic_Audit_Log_Monitor_Configuration** | Configure the SAP audit log alerts by assigning each message ID a severity level as required by you, per system role (production, nonproduction). This watchlist details all available SAP standard audit log message IDs. The watchlist can be extended to contain extra message IDs you might create on your own using ABAP enhancements on their SAP NetWeaver systems. This watchlist also allows for configuring a designated team to handle each of the event types, and excluding users by SAP roles, SAP profiles or by tags from the **SAP_User_Config** watchlist. This watchlist is one of the core components used for configuring the [built-in SAP analytics rules for monitoring the SAP audit log](#monitor-the-sap-audit-log). For more information, see [Monitor the SAP audit log](#monitor-the-sap-audit-log). <br><br>- **MessageID**: The SAP Message ID, or event type, such as `AUD` (User master record changes), or `AUB` (authorization changes). <br>- **DetailedDescription**: A markdown enabled description to be shown on the incident pane. <br>- **ProductionSeverity**: The desired severity for the incident to be created with for production systems `High`, `Medium`. Can be set as `Disabled`. <br>- **NonProdSeverity**: The desired severity for the incident to be created with for nonproduction systems `High`, `Medium`. Can be set as `Disabled`. <br>- **ProductionThreshold** The "Per hour" count of events to be considered as suspicious for production systems `60`. <br>- **NonProdThreshold** The "Per hour" count of events to be considered as suspicious for nonproduction systems `10`. <br>- **RolesTagsToExclude**: This field accepts SAP role name, SAP profile names or tags from the SAP_User_Config watchlist. These are then used to exclude the associated users from specific event types. See options for role tags at the end of this list. <br>- **RuleType**: Use `Deterministic` for the event type to be sent off to the *SAP - Dynamic Deterministic Audit Log Monitor* rule, or `AnomaliesOnly` to have this event covered by the SAP - Dynamic Anomaly based Audit Log Monitor Alerts (PREVIEW) rule. For more information, see [Monitor the SAP audit log](#monitor-the-sap-audit-log). <br>- **TeamsChannelID**: an optional dynamic parameter [for use in playbooks](sap-solution-security-content.md#available-playbooks).<br>- **DestinationEmail**: an optional dynamic parameter [for use in playbooks](sap-solution-security-content.md#available-playbooks).<br><br>For the **RolesTagsToExclude** field:<br>- If you list SAP roles or [SAP profiles](sap-solution-deploy-alternate.md#configuring-user-master-data-collection), this excludes any user with the listed roles or profiles from these event types for the same SAP system. For example, if you define the `BASIC_BO_USERS` ABAP role for the RFC related event types, Business Objects users won't trigger incidents when making massive RFC calls.<br>- Tagging an event type is similar to specifying SAP roles or profiles, but tags can be created in the workspace, so SOC teams can exclude users by activity without depending on the SAP BASIS team. For example, the audit message IDs AUB (authorization changes) and AUD (user master record changes) are assigned the `MassiveAuthChanges` tag. Users assigned this tag are excluded from the checks for these activities. Running the workspace `SAPAuditLogConfigRecommend` function produces a list of recommended tags to be assigned to users, such as `Add the tags ["GenericTablebyRFCOK"] to user SENTINEL_SRV using the SAP_User_Config watchlist`. |
+| <a name="objects"></a>**SAP_User_Config** | Allows for fine tuning alerts by excluding /including users in specific contexts and is also used for configuring the [built-in SAP analytics rules for monitoring the SAP audit log](#monitor-the-sap-audit-log). For more information, see [Monitor the SAP audit log](#monitor-the-sap-audit-log).<br><br> - **SAPUser**: The SAP user <br> - **Tags**: Tags are used to identify users against certain activity. For example Adding the tags ["GenericTablebyRFCOK"] to user SENTINEL_SRV will prevent RFC related incidents to be created for this specific user <br>**Other active directory user identifiers** <br>- AD User Identifier <br>- User On-Premises Sid <br>- User Principal Name |
## Available playbooks
+Playbooks provided by Microsoft Sentinel solution for SAP applications help you automate SAP incident response workloads, improving the efficiency and effectiveness of security operations.
+
+This section describes [built-in analytics playbooks](deploy-sap-security-content.md) provided together with the Microsoft Sentinel solution for SAP applications.
+ | Playbook name | Parameters | Connections | | - | - | -- | | **SAP Incident Response - Lock user from Teams - Basic** | - SAP-SOAP-User-Password<br>- SAP-SOAP-Username<br>- SOAPApiBasePath<br>- DefaultEmail<br>- TeamsChannel | - Microsoft Sentinel<br>- Microsoft Teams | | **SAP Incident Response - Lock user from Teams - Advanced** | - SAP-SOAP-KeyVault-Credential-Name<br>- DefaultAdminEmail<br>- TeamsChannel | - Microsoft Sentinel<br>- Azure Monitor Logs<br>- Office 365 Outlook<br>- Microsoft Entra ID<br>- Azure Key Vault<br>- Microsoft Teams | | **SAP Incident Response - Reenable audit logging once deactivated** | - SAP-SOAP-KeyVault-Credential-Name<br>- DefaultAdminEmail<br>- TeamsChannel | - Microsoft Sentinel<br>- Azure Key Vault<br>- Azure Monitor Logs<br>- Microsoft Teams |
+The following sections describe sample uses cases for each of the provided playbooks, in a scenario where an incident warned you of suspicious activity in one of the SAP systems, where a user is trying to execute one of these highly sensitive transactions.
+
+During the incident triage phase, you decide to take action against this user, kicking it out of your SAP ERP or BTP systems or even from Microsoft Entra ID.
+
+For more information, see [Automate threat response with playbooks in Microsoft Sentinel](../automation/automate-responses-with-playbooks.md)
+
+The process for deploying Standard logic apps generally is more complex than it is for Consumption logic apps. We've created a series of shortcuts to help you deploy them quickly from the Microsoft Sentinel GitHub repository. For more information, see [Step-by-Step Installation Guide](https://github.com/Azure/Azure-Sentinel/blob/master/Solutions/SAP/Playbooks/INSTALLATION.md).
+
+> [!TIP]
+> Watch the [SAP playbooks folder](https://github.com/Azure/Azure-Sentinel/tree/master/Solutions/SAP/Playbooks) in the GitHub repository for more playbooks as they become available. There's also a [short introductory video (external link)](https://www.youtube.com/watch?v=b-AZnR-nQpg) there to help you get started.
+
+### Lock out a user from a single system
+
+Build an [automation rule](../automate-incident-handling-with-automation-rules.md) to invoke the **Lock user from Teams - Basic** playbook whenever a sensitive transaction execution by an unauthorized user is detected. This playbook uses Teams' adaptive cards feature to request approval before unilaterally blocking the user.
+
+For more information, see [From zero to hero security coverage with Microsoft Sentinel for your critical SAP security signals - YouΓÇÖre gonna hear me SOAR! Part 1](https://blogs.sap.com/2023/05/22/from-zero-to-hero-security-coverage-with-microsoft-sentinel-for-your-critical-sap-security-signals-youre-gonna-hear-me-soar-part-1/) (SAP blog post).
+
+The **Lock user from Teams - Basic** playbook is a Standard playbook, and Standard playbooks are generally more complex to deploy than Consumption playbooks.
+
+We've created a series of shortcuts to help you deploy them quickly from the Microsoft Sentinel GitHub repository. For more information, see [Step-by-Step Installation Guide](https://github.com/Azure/Azure-Sentinel/blob/master/Solutions/SAP/Playbooks/INSTALLATION.md) and [Supported logic app types](../automation/logic-apps-playbooks.md#supported-logic-app-types).
+
+### Lock out a user from multiple systems
+
+The **Lock user from Teams - Advanced** playbook accomplishes the same objective, but is designed for more complex scenarios, allowing a single playbook to be used for multiple SAP systems, each with its own SAP SID.
+
+The **Lock user from Teams - Advanced** playbook seamlessly manages the connections to all of these systems, and their credentials, using the *InterfaceAttributes* optional dynamic parameter in the *SAP - Systems* watchlist and Azure Key Vault.
+
+The **Lock user from Teams - Advanced** playbook also allows you to communicate to the parties in the approval process using [Outlook actionable messages](/outlook/actionable-messages/get-started) together with Teams, using the *TeamsChannelID* and *DestinationEmail* parameters in the *SAP_Dynamic_Audit_Log_Monitor_Configuration* watchlist.
+
+For more information, see [From zero to hero security coverage with Microsoft Sentinel for your critical SAP security signals ΓÇô Part 2](https://blogs.sap.com/2023/05/23/from-zero-to-hero-security-coverage-with-microsoft-sentinel-for-your-critical-sap-security-signals-part-2/) (SAP blog post).
+
+### Prevent deactivation of audit logging
+
+You might also be concerned about the SAP audit log, which is one of your security data sources, being deactivated. We recommend that you build an automation rule based on the **SAP - Deactivation of Security Audit Log** analytics rule to invoke the **Reenable audit logging once deactivated** playbook to make sure the SAP audit log isn't deactivated.
+
+The **SAP - Deactivation of Security Audit Log** playbook also uses Teams, informing security personnel after the fact. The severity of the offense and the urgency of its mitigation indicate that immediate action can be taken with no approval required.
-## Next steps
+Since the **SAP - Deactivation of Security Audit Log** playbook also uses Azure Key Vault to manage credentials, the playbook's configuration is similar to that of the **Lock user from Teams - Advanced** playbook. For more information, see [From zero to hero security coverage with Microsoft Sentinel for your critical SAP security signals ΓÇô Part 3](https://blogs.sap.com/2023/05/23/from-zero-to-hero-security-coverage-with-microsoft-sentinel-for-your-critical-sap-security-signals-part-3/) (SAP blog post).
-For more information, see:
+## Related content
-- [Deploying Microsoft Sentinel solution for SAP® applications](deployment-overview.md)-- [Microsoft Sentinel solution for SAP® applications logs reference](sap-solution-log-reference.md)-- [Monitor the health of your SAP system](../monitor-sap-system-health.md)-- [Deploy the Microsoft Sentinel solution for SAP® applications data connector with SNC](configure-snc.md)-- [Configuration file reference](configuration-file-reference.md)-- [Prerequisites for deploying the Microsoft Sentinel solution for SAP® applications](prerequisites-for-deploying-sap-continuous-threat-monitoring.md)-- [Troubleshooting your Microsoft Sentinel solution for SAP® applications deployment](sap-deploy-troubleshoot.md)
+For more information, see [Deploying Microsoft Sentinel solution for SAP applications](deployment-overview.md).
sentinel Sap Suspicious Configuration Security Parameters https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/sentinel/sap/sap-suspicious-configuration-security-parameters.md
Title: SAP security parameters monitored by the Microsoft Sentinel solution for SAP® to detect suspicious configuration changes
-description: Learn about the security parameters in the SAP system that the Microsoft Sentinel solution for SAP® applications monitors for suspicious configuration changes.
+ Title: SAP security parameters monitored by the Microsoft Sentinel solution for SAP to detect suspicious configuration changes
+description: Learn about the security parameters in the SAP system that the Microsoft Sentinel solution for SAP applications monitors for suspicious configuration changes.
Previously updated : 03/26/2023-- Last updated : 09/15/2024
+appliesto:
+ - Microsoft Sentinel in the Azure portal
+ - Microsoft Sentinel in the Microsoft Defender portal
+ #Customer intent: As a security administrator, I want to monitor SAP security parameters so that I can detect and respond to suspicious configuration changes effectively. # Monitored SAP security parameters for detecting suspicious configuration changes
-This article details the security parameters in the SAP system that the Microsoft Sentinel solution for SAP® applications monitors as part of the ["SAP - (Preview) Sensitive Static Parameter has Changed" analytics rule](sap-solution-security-content.md#monitoring-the-configuration-of-static-sap-security-parameters-preview).
-
-The Microsoft Sentinel solution for SAP® applications will provide updates for this content according to SAP best practice changes. You can also add parameters to watch for, change values according to your organization's needs, and disable specific parameters in the [SAPSystemParameters watchlist](sap-solution-security-content.md#systemparameters).
-
-> [!NOTE]
-> For the Microsoft Sentinel solution for SAP® applications to successfully monitor the SAP security parameters, the solution needs to successfully monitor the SAP PAHI table at regular intervals. [Verify that the solution can successfully monitor the PAHI table](preparing-sap.md#verify-that-the-pahi-table-history-of-system-database-and-sap-parameters-is-updated-at-regular-intervals).
-
-## Monitored static SAP security parameters
-
-This list includes the static SAP security parameters that the Microsoft Sentinel solution for SAP® applications monitors to protect your SAP system. The list isn't a recommendation for configuring these parameters. For configuration considerations, consult your SAP admins.
-
-|Parameter |Description |Security value/considerations |
-||||
-|gw/accept_remote_trace_level |Controls whether or not the Central Process Integration (CPI) and Remote Function Call (RFC) subsystems adopt the remote trace level. When this parameter is set to `1`, the CPI and RFC subsystems accept and adopt the remote trace levels. When set to `0`, remote trace levels aren't accepted and the local trace level is used instead.<br><br>The trace level is a setting that determines the level of detail recorded in the system log for a specific program or process. When the subsystems adopt the trace levels, you can set the trace level for a program or process from a remote system and not only from the local system. This setting can be useful in situations where remote debugging or troubleshooting is required. |The parameter can be configured to restrict the trace level accepted from external systems. Setting a lower trace level may reduce the amount of information that external systems can obtain about the internal workings of the SAP system. |
-|login/password_change_for_SSO |Controls how password changes are enforced in single sign-on situations. |High, because enforcing password changes can help prevent unauthorized access to the system by attackers who may have obtained valid credentials through phishing or other means. |
-|icm/accept_remote_trace_level |Determines whether the Internet Communication Manager (ICM) accepts remote trace level changes from external systems. |Medium, because allowing remote trace level changes can provide valuable diagnostic information to attackers and potentially compromise system security. |
-|rdisp/gui_auto_logout |Specifies the maximum idle time for SAP GUI connections before automatically logging out the user. | High, because automatically logging out inactive users can help prevent unauthorized access to the system by attackers who may have gained access to a user's workstation. |
-|rsau/enable |Controls whether the Security Audit log is enabled. |High, because the Security Audit log can provide valuable information for detecting and investigating security incidents. |
-|login/min_password_diff |Specifies the minimum number of characters that must differ between the old and new password when users change their passwords. |High, because requiring a minimum number of character differences can help prevent users from choosing weak passwords that can easily be guessed. |
-|login/min_password_digits |Sets the minimum number of digits required in a password for a user. |High, because the parameter increases the complexity of passwords and makes them harder to guess or crack. |
-|login/ticket_only_by_https |This parameter controls whether authentication tickets are only sent via HTTPS or can be sent via HTTP as well. |High, because using HTTPS for ticket transmission encrypts the data in transit, making it more secure. |
-|auth/rfc_authority_check |Controls whether authority checks are performed for RFCs. |High, because enabling this parameter helps prevent unauthorized access to sensitive data and functions via RFCs. |
-|gw/acl_mode |Sets the mode for the access control list (ACL) file used by the SAP gateway. |High, because the parameter controls access to the gateway and helps prevent unauthorized access to the SAP system. |
-|gw/logging |Controls the logging settings for the SAP gateway. |High, because this parameter can be used to monitor and detect suspicious activity or potential security breaches. |
-|login/fails_to_session_end |Sets the number of invalid login attempts allowed before the user's session is terminated. |High, because the parameter helps prevent brute-force attacks on user accounts. |
-|wdisp/ssl_encrypt |Sets the mode for SSL re-encryption of HTTP requests. |High, because this parameter ensures that data transmitted over HTTP is encrypted, which helps prevent eavesdropping and data tampering. |
-|login/no_automatic_user_sapstar |Controls the automatic login of the SAP* user. |High, because this parameter helps prevent unauthorized access to the SAP system via the default SAP* account. |
-|rsau/max_diskspace/local |Defines the maximum amount of disk space that can be used for local storage of audit logs. This security parameter helps to prevent the filling up of disk space and ensures that audit logs are available for investigation. |Setting an appropriate value for this parameter helps prevent the local audit logs from consuming too much disk space, which could lead to system performance issues or even denial of service attacks. On the other hand, setting a value that's too low may result in the loss of audit log data, which may be required for compliance and auditing. |
-|snc/extid_login_diag |Enables or disables the logging of external ID in Secure Network Communication (SNC) logon errors. This security parameter can help identify attempts of unauthorized access to the system. |Enabling this parameter can be helpful for troubleshooting SNC-related issues, because it provides additional diagnostic information. However, the parameter may also expose sensitive information about the external security products used by the system, which could be a potential security risk if that information falls into the wrong hands. |
-|login/password_change_waittime |Defines the number of days a user must wait before changing their password again. This security parameter helps enforce password policies and ensure that users change their passwords periodically. |Setting an appropriate value for this parameter can help ensure that users change their passwords regularly enough to maintain the security of the SAP system. At the same time, setting the wait time too short can be counterproductive because users may be more likely to reuse passwords or choose weak passwords that are easier to remember. |
-|snc/accept_insecure_cpic |Determines whether or not the system accepts insecure SNC connections using the CPIC protocol. This security parameter controls the level of security for SNC connections. |Enabling this parameter can increase the risk of data interception or manipulation, because it accepts SNC-protected connections that don't meet the minimum security standards. Therefore, the recommended security value for this parameter is to set it to `0`, which means that only SNC connections that meet the minimum security requirements are accepted. |
-|snc/accept_insecure_r3int_rfc |Determines whether or not the system accepts insecure SNC connections for R/3 and RFC protocols. This security parameter controls the level of security for SNC connections. |Enabling this parameter can increase the risk of data interception or manipulation, because it accepts SNC-protected connections that don't meet the minimum security standards. Therefore, the recommended security value for this parameter is to set it to `0`, which means that only SNC connections that meet the minimum security requirements are accepted. |
-|snc/accept_insecure_rfc |Determines whether or not the system accepts insecure SNC connections using RFC protocols. This security parameter controls the level of security for SNC connections. |Enabling this parameter can increase the risk of data interception or manipulation, because it accepts SNC-protected connections that don't meet the minimum security standards. Therefore, the recommended security value for this parameter is to set it to `0`, which means that only SNC connections that meet the minimum security requirements are accepted. |
-|snc/data_protection/max |Defines the maximum level of data protection for SNC connections. This security parameter controls the level of encryption used for SNC connections. |Setting a high value for this parameter can increase the level of data protection and reduce the risk of data interception or manipulation. The recommended security value for this parameter depends on the organization's specific security requirements and risk management strategy. |
-|rspo/auth/pagelimit |Defines the maximum number of spool requests that a user can display or delete at once. This security parameter helps to prevent denial-of-service attacks on the spool system. |This parameter doesn't directly affect the security of the SAP system, but can help to prevent unauthorized access to sensitive authorization data. By limiting the number of entries displayed per page, it can reduce the risk of unauthorized individuals viewing sensitive authorization information. |
-|snc/accept_insecure_gui |Determines whether or not the system accepts insecure SNC connections using the GUI. This security parameter controls the level of security for SNC connections. |Setting the value of this parameter to `0` is recommended to ensure that SNC connections made through the SAP GUI are secure, and to reduce the risk of unauthorized access or interception of sensitive data. Allowing insecure SNC connections may increase the risk of unauthorized access to sensitive information or data interception, and should only be done when there is a specific need and the risks have been properly assessed. |
-|login/accept_sso2_ticket |Enables or disables the acceptance of SSO2 tickets for logon. This security parameter controls the level of security for logon to the system. |Enabling SSO2 can provide a more streamlined and convenient user experience, but also introduces additional security risks. If an attacker gains access to a valid SSO2 ticket, they may be able to impersonate a legitimate user and gain unauthorized access to sensitive data or perform malicious actions. |
-|login/multi_login_users |Defines whether or not multiple logon sessions are allowed for the same user. This security parameter controls the level of security for user sessions and helps prevent unauthorized access. |Enabling this parameter can help prevent unauthorized access to SAP systems by limiting the number of concurrent logins for a single user. When this parameter is set to `0`, only one login session is allowed per user, and additional login attempts are rejected. This can help prevent unauthorized access to SAP systems in case a user's login credentials are compromised or shared with others. |
-|login/password_expiration_time |Specifies the maximum time interval in days for which a password is valid. When this time elapses, the user is prompted to change their password. |Setting this parameter to a lower value can improve security by ensuring that passwords are changed frequently. |
-|login/password_max_idle_initial |Specifies the maximum time interval in minutes for which a user can remain logged on without performing any activity. After this time elapses, the user is automatically logged off. |Setting a lower value for this parameter can improve security by ensuring that idle sessions aren't left open for extended periods of time. |
-|login/password_history_size |Specifies the number of previous passwords that a user isn't allowed to reuse. |This parameter prevents users from repeatedly using the same passwords, which can improve security. |
-|snc/data_protection/use |Enables the use of SNC data protection. When enabled, SNC ensures that all data transmitted between SAP systems is encrypted and secure. | |
-|rsau/max_diskspace/per_day |Specifies the maximum amount of disk space in MB that can be used for audit logs per day. Setting a lower value for this parameter can help ensure that audit logs don't consume too much disk space and can be managed effectively. | |
-|snc/enable |Enables SNC for communication between SAP systems. |When enabled, SNC provides an extra layer of security by encrypting data transmitted between systems. |
-|auth/no_check_in_some_cases |Disables authorization checks in certain cases. |While this parameter may improve performance, it can also pose a security risk by allowing users to perform actions they may not have permission for. |
-|auth/object_disabling_active |Disables specific authorization objects for user accounts that have been inactive for a specified period of time. |Can help improve security by reducing the number of inactive accounts with unnecessary permissions. |
-|login/disable_multi_gui_login |Prevents a user from being logged in to multiple GUI sessions simultaneously. |This parameter can help improve security by ensuring that users are only logged in to one session at a time. |
-|login/min_password_lng |Specifies the minimum length that a password can be. |Setting a higher value for this parameter can improve security by ensuring that passwords aren't easily guessed. |
-|rfc/reject_expired_passwd |Prevents the execution of RFCs when the user's password has expired. |Enabling this parameter can be helpful when enforcing password policies and preventing unauthorized access to SAP systems. When this parameter is set to `1`, RFC connections are rejected if the user's password has expired, and the user is prompted to change their password before they can connect. This helps ensure that only authorized users with valid passwords can access the system. |
-|rsau/max_diskspace/per_file |Sets the maximum size of an audit file that SAP system auditing can create. Setting a lower value helps prevent excessive growth of audit files and thus helps ensure adequate disk space. |Setting an appropriate value helps manage the size of audit files and avoid storage issues. |
-|login/min_password_letters |Specifies the minimum number of letters that must be included in a user's password. Setting a higher value helps increase password strength and security. |Setting an appropriate value helps enforce password policies and improve password security. |
-|rsau/selection_slots |Sets the number of selection slots that can be used for audit files. Setting a higher value can help to avoid overwriting of older audit files. |Helps ensure that audit files are retained for a longer period of time, which can be useful in a security breach. |
-|gw/sim_mode |This parameter sets the gateway's simulation mode. When enabled, the gateway only simulates communication with the target system, and no actual communication takes place. |Enabling this parameter can be useful for testing purposes and can help prevent any unintended changes to the target system. |
-|login/fails_to_user_lock |Sets the number of failed login attempts after which the user account gets locked. Setting a lower value helps prevent brute force attacks. |Helps prevent unauthorized access to the system and helps protect user accounts from being compromised. |
-|login/password_compliance_to_current_policy |Enforces the compliance of new passwords with the current password policy of the system. Its value should be set to `1` to enable this feature. |High. Enabling this parameter can help ensure that users comply with the current password policy when changing passwords, which reduces the risk of unauthorized access to SAP systems. When this parameter is set to `1`, users are prompted to comply with the current password policy when changing their passwords. |
-|rfc/ext_debugging |Enables the RFC debugging mode for external RFC calls. Its value should be set to `0` to disable this feature. | |
-|gw/monitor |Enables monitoring of gateway connections. Its value should be set to `1` to enable this feature. | |
-|login/create_sso2_ticket |Enables the creation of SSO2 tickets for users. Its value should be set to `1` to enable this feature. | |
-|login/failed_user_auto_unlock |Enables automatic unlocking of user accounts after a failed login attempt. Its value should be set to `1` to enable this feature. | |
-|login/min_password_uppercase |Sets the minimum number of uppercase letters required in new passwords. Its value should be set to a positive integer. | |
-|login/min_password_specials |Sets the minimum number of special characters required in new passwords. Its value should be set to a positive integer. | |
-|snc/extid_login_rfc |Enables the use of SNC for external RFC calls. Its value should be set to `1` to enable this feature. | |
-|login/min_password_lowercase |Sets the minimum number of lowercase letters required in new passwords. Its value should be set to a positive integer.
-|login/password_downwards_compatibility |Allows passwords to be set using old hashing algorithms for backwards compatibility with older systems. Its value should be set to `0` to disable this feature. | |
-|snc/data_protection/min |Sets the minimum level of data protection that must be used for SNC-protected connections. Its value should be set to a positive integer. |Setting an appropriate value for this parameter helps ensure that SNC-protected connections provide a minimum level of data protection. This setting helps prevent sensitive information from being intercepted or manipulated by attackers. The value of this parameter should be set based on the security requirements of the SAP system and the sensitivity of the data transmitted over SNC-protected connections. |
-
-## Next steps
+This article lists the static security parameters in the SAP system that the Microsoft Sentinel solution for SAP applications monitors as part of the [*SAP - (Preview) Sensitive Static Parameter has Changed* analytics rule](sap-solution-security-content.md#monitor-the-configuration-of-static-sap-security-parameters-preview).
+
+The Microsoft Sentinel solution for SAP applications provides updates for this content according to SAP best practice changes. Add parameters to watch for by changing values according to your organization's needs, and turn off specific parameters in the [*SAPSystemParameters* watchlist](sap-solution-security-content.md#systemparameters).
+
+This article doesn't describe the parameters, and isn't a recommendation to configuring the parameters. For configuration considerations, consult your SAP admins. For parameter descriptions, see the SAP documentation.
+
+Content in this article is intended for your **SAP BASIS** teams.
+
+## Prerequisites
+
+For the Microsoft Sentinel solution for SAP applications to successfully monitor the SAP security parameters, the solution needs to successfully monitor the SAP PAHI table at regular intervals. For more information, see [Verify that the PAHI table is updated at regular intervals](preparing-sap.md#verify-that-the-pahi-table-is-updated-at-regular-intervals).
+
+### Authentication parameters
+
+| Parameter | Security value/considerations |
+| | |
+| auth/no_check_in_some_cases | While this parameter might improve performance, it can also pose a security risk by allowing users to perform actions they might not have permission for. |
+| auth/object_disabling_active | Can help improve security by reducing the number of inactive accounts with unnecessary permissions. |
+| auth/rfc_authority_check | High. Enabling this parameter helps prevent unauthorized access to sensitive data and functions via RFCs. |
+
+### Gateway parameters
+
+| Parameter | Security value/considerations |
+| | |
+| gw/accept_remote_trace_level | The parameter can be configured to restrict the trace level accepted from external systems. Setting a lower trace level might reduce the amount of information that external systems can obtain about the internal workings of the SAP system. |
+| gw/acl_mode | High. This parameter controls access to the gateway and helps prevent unauthorized access to the SAP system. |
+| gw/logging | High. This parameter can be used to monitor and detect suspicious activity or potential security breaches. |
+| gw/monitor | |
+| gw/sim_mode | Enabling this parameter can be useful for testing purposes and can help prevent any unintended changes to the target system. |
+
+### Internet Communication Manager (ICM) parameters
+
+| Parameter | Security value/considerations |
+| | |
+| icm/accept_remote_trace_level | Medium <br><br>Allowing remote trace level changes can provide valuable diagnostic information to attackers and potentially compromise system security. |
+
+### Sign-in parameters
+
+| Parameter | Security value/considerations |
+| | |
+| login/accept_sso2_ticket | Enabling SSO2 can provide a more streamlined and convenient user experience, but also introduces extra security risks. If an attacker gains access to a valid SSO2 ticket, they might be able to impersonate a legitimate user and gain unauthorized access to sensitive data or perform malicious actions. |
+| login/create_sso2_ticket | |
+| login/disable_multi_gui_login | This parameter can help improve security by ensuring that users are only logged in to one session at a time. |
+| login/failed_user_auto_unlock | |
+| login/fails_to_session_end | High. This parameter helps prevent brute-force attacks on user accounts. |
+| login/fails_to_user_lock | Helps prevent unauthorized access to the system and helps protect user accounts from being compromised. |
+| login/min_password_diff | High. Requiring a minimum number of character differences can help prevent users from choosing weak passwords that can easily be guessed. |
+| login/min_password_digits | High. This parameter increases the complexity of passwords and makes them harder to guess or crack. |
+| login/min_password_letters | Specifies the minimum number of letters that must be included in a user's password. Setting a higher value helps increase password strength and security. |
+| login/min_password_lng | Specifies the minimum length that a password can be. Setting a higher value for this parameter can improve security by ensuring that passwords aren't easily guessed. |
+| login/min_password_lowercase | |
+| login/min_password_specials | |
+| login/min_password_uppercase | |
+| login/multi_login_users | Enabling this parameter can help prevent unauthorized access to SAP systems by limiting the number of concurrent logins for a single user. When this parameter is set to `0`, only one login session is allowed per user, and other login attempts are rejected. This can help prevent unauthorized access to SAP systems in case a user's login credentials are compromised or shared with others. |
+| login/no_automatic_user_sapstar | High. This parameter helps prevent unauthorized access to the SAP system via the default SAP* account. |
+| login/password_change_for_SSO | High. Enforcing password changes can help prevent unauthorized access to the system by attackers who might have obtained valid credentials through phishing or other means. |
+| login/password_change_waittime | Setting an appropriate value for this parameter can help ensure that users change their passwords regularly enough to maintain the security of the SAP system. At the same time, setting the wait time too short can be counterproductive because users might be more likely to reuse passwords or choose weak passwords that are easier to remember. |
+| login/password_compliance_to_current_policy | High. Enabling this parameter can help ensure that users comply with the current password policy when changing passwords, which reduces the risk of unauthorized access to SAP systems. When this parameter is set to `1`, users are prompted to comply with the current password policy when changing their passwords. |
+| login/password_downwards_compatibility | |
+| login/password_expiration_time | Setting this parameter to a lower value can improve security by ensuring that passwords are changed frequently. |
+| login/password_history_size | This parameter prevents users from repeatedly using the same passwords, which can improve security. |
+| login/password_max_idle_initial | Setting a lower value for this parameter can improve security by ensuring that idle sessions aren't left open for extended periods of time. |
+| login/ticket_only_by_https | High. Using HTTPS for ticket transmission encrypts the data in transit, making it more secure. |
+
+### Remote dispatcher parameters
+
+| Parameter | Security value/considerations |
+| | |
+| rdisp/gui_auto_logout | High. automatically logging out inactive users can help prevent unauthorized access to the system by attackers who might have access to a user's workstation. |
+| rfc/ext_debugging | |
+| rfc/reject_expired_passwd | Enabling this parameter can be helpful when enforcing password policies and preventing unauthorized access to SAP systems. When this parameter is set to `1`, RFC connections are rejected if the user's password expired, and the user is prompted to change their password before they can connect. This helps ensure that only authorized users with valid passwords can access the system. |
+| rsau/enable | High. This Security Audit log can provide valuable information for detecting and investigating security incidents. |
+| rsau/max_diskspace/local | Setting an appropriate value for this parameter helps prevent the local audit logs from consuming too much disk space, which could lead to system performance issues or even denial of service attacks. On the other hand, setting a value that's too low might result in the loss of audit log data, which might be required for compliance and auditing. |
+| rsau/max_diskspace/per_day | |
+| rsau/max_diskspace/per_file | Setting an appropriate value helps manage the size of audit files and avoid storage issues. |
+| rsau/selection_slots | Helps ensure that audit files are retained for a longer period of time, which can be useful in a security breach. |
+| rspo/auth/pagelimit | This parameter doesn't directly affect the security of the SAP system, but can help to prevent unauthorized access to sensitive authorization data. By limiting the number of entries displayed per page, it can reduce the risk of unauthorized individuals viewing sensitive authorization information. |
+
+### Secure network communications (SNC) parameters
+
+| Parameter | Security value/considerations |
+| | |
+| snc/accept_insecure_cpic | Enabling this parameter can increase the risk of data interception or manipulation, because it accepts SNC-protected connections that don't meet the minimum security standards. Therefore, the recommended security value for this parameter is to set it to `0`, which means that only SNC connections that meet the minimum security requirements are accepted. |
+| snc/accept_insecure_gui | Setting the value of this parameter to `0` is recommended to ensure that SNC connections made through the SAP GUI are secure, and to reduce the risk of unauthorized access or interception of sensitive data. Allowing insecure SNC connections might increase the risk of unauthorized access to sensitive information or data interception, and should only be done when there's a specific need and the risks are properly assessed. |
+| snc/accept_insecure_r3int_rfc | Enabling this parameter can increase the risk of data interception or manipulation, because it accepts SNC-protected connections that don't meet the minimum security standards. Therefore, the recommended security value for this parameter is to set it to `0`, which means that only SNC connections that meet the minimum security requirements are accepted. |
+| snc/accept_insecure_rfc | Enabling this parameter can increase the risk of data interception or manipulation, because it accepts SNC-protected connections that don't meet the minimum security standards. Therefore, the recommended security value for this parameter is to set it to `0`, which means that only SNC connections that meet the minimum security requirements are accepted. |
+| snc/data_protection/max | Setting a high value for this parameter can increase the level of data protection and reduce the risk of data interception or manipulation. The recommended security value for this parameter depends on the organization's specific security requirements and risk management strategy. |
+| snc/data_protection/min | Setting an appropriate value for this parameter helps ensure that SNC-protected connections provide a minimum level of data protection. This setting helps prevent sensitive information from being intercepted or manipulated by attackers. The value of this parameter should be set based on the security requirements of the SAP system and the sensitivity of the data transmitted over SNC-protected connections. |
+| snc/data_protection/use | |
+| snc/enable | When enabled, SNC provides an extra layer of security by encrypting data transmitted between systems. |
+| snc/extid_login_diag | Enabling this parameter can be helpful for troubleshooting SNC-related issues, because it provides extra diagnostic information. However, the parameter might also expose sensitive information about the external security products used by the system, which could be a potential security risk if that information falls into the wrong hands. |
+| snc/extid_login_rfc | |
+
+### Web dispatcher parameters
+
+| Parameter | Security value/considerations |
+| | |
+| wdisp/ssl_encrypt | High. This parameter ensures that data transmitted over HTTP is encrypted, which helps prevent eavesdropping and data tampering. |
+
+## Related content
For more information, see: -- [Deploying Microsoft Sentinel solution for SAP® applications](deployment-overview.md)-- [SAP solution security content](sap-solution-security-content.md)-- [Microsoft Sentinel solution for SAP® applications logs reference](sap-solution-log-reference.md)-- [Monitor the health of your SAP system](../monitor-sap-system-health.md)-- [Deploy the Microsoft Sentinel solution for SAP® applications data connector with SNC](configure-snc.md)-- [Configuration file reference](configuration-file-reference.md)-- [Prerequisites for deploying the Microsoft Sentinel solution for SAP® applications](prerequisites-for-deploying-sap-continuous-threat-monitoring.md)-- [Troubleshooting your Microsoft Sentinel solution for SAP® applications deployment](sap-deploy-troubleshoot.md)
+- [Deploy and configure the container hosting the SAP data connector agent](deploy-data-connector-agent-container.md)
+- [Troubleshoot your Microsoft Sentinel solution for SAP applications solution deployment](sap-deploy-troubleshoot.md)
+- [Systemconfig.json file reference](reference-systemconfig-json.md)
sentinel Select Ingestion Profiles https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/sentinel/sap/select-ingestion-profiles.md
- Title: Select the SAP ingestion profile for your Microsoft Sentinel for SAP solution
-description: This article shows you how to select the profile for your Microsoft Sentinel for SAP solution.
---- Previously updated : 01/03/2023--
-#Customer intent: As an SAP administrator, I want to select the appropriate log ingestion profile for my SAP solution so that I can balance security coverage and budget requirements effectively.
---
-# Select SAP ingestion profile
-
-This article explains how to select the profile for your SAP solution. We recommend that you select an ingestion profile that maximizes your security coverage while meeting your budget requirements.
-
-Because SAP is a business application, and business processes tend to be seasonal, it may be difficult to predict the overall volume of logs over time. To address this issue, we recommend that you keep all logs on for two weeks, and learn from the observed activity. This learning can later be revised during business activity peaks, or major landscape transformations.
-
-The following sections show typical customer configuration profiles for SAP log ingestion.
-
-### Default profile (recommended)
-
-This profile includes complete coverage for:
--- Built-in analytics-- The SAP user authorization master data tables, with users and privilege information-- The ability to track changes and activities on the SAP landscape. This profile provides more logging information to allow for post-breach investigations and extended hunting abilities.-
-### systemconfig.ini file
-
-```
-[Logs Activation Status]
-# ABAP RFC Logs - Retrieved by using RFC interface
-ABAPAuditLog = True
-ABAPJobLog = True
-ABAPSpoolLog = True
-ABAPSpoolOutputLog = True
-ABAPChangeDocsLog = True
-ABAPAppLog = True
-ABAPWorkflowLog = True
-ABAPCRLog = True
-ABAPTableDataLog = False
-# ABAP SAP Control Logs - Retrieved by using SAP Conntrol interface and OS Login
-ABAPFilesLogs = False
-SysLog = False
-ICM = False
-WP = False
-GW = False
-# Java SAP Control Logs - Retrieved by using SAP Conntrol interface and OS Login
-JAVAFilesLogs = False
-[ABAP Table Selector]
-AGR_TCODES_FULL = True
-USR01_FULL = True
-USR02_FULL = True
-USR02_INCREMENTAL = True
-AGR_1251_FULL = True
-AGR_USERS_FULL = True
-AGR_USERS_INCREMENTAL = True
-AGR_PROF_FULL = True
-UST04_FULL = True
-USR21_FULL = True
-ADR6_FULL = True
-ADCP_FULL = True
-USR05_FULL = True
-USGRP_USER_FULL = True
-USER_ADDR_FULL = True
-DEVACCESS_FULL = True
-AGR_DEFINE_FULL = True
-AGR_DEFINE_INCREMENTAL = True
-PAHI_FULL = True
-AGR_AGRS_FULL = True
-USRSTAMP_FULL = True
-USRSTAMP_INCREMENTAL = True
-AGR_FLAGS_FULL = True
-AGR_FLAGS_INCREMENTAL = True
-SNCSYSACL_FULL = False
-USRACL_FULL = False
-```
-
-## Detection focused profile
-
-This profile includes the core security logs of the SAP landscape required for the most of the analytics rules to perform well. Post-breach investigations and hunting capabilities are limited.
-
-### systemconfig.ini file
-
-```
-[Logs Activation Status]
-# ABAP RFC Logs - Retrieved by using RFC interface
-ABAPAuditLog = True
-ABAPJobLog = False
-ABAPSpoolLog = False
-ABAPSpoolOutputLog = False
-ABAPChangeDocsLog = True
-ABAPAppLog = False
-ABAPWorkflowLog = False
-ABAPCRLog = True
-ABAPTableDataLog = False
-# ABAP SAP Control Logs - Retrieved by using SAP Conntrol interface and OS Login
-ABAPFilesLogs = False
-SysLog = False
-ICM = False
-WP = False
-GW = False
-# Java SAP Control Logs - Retrieved by using SAP Conntrol interface and OS Login
-JAVAFilesLogs = False
-[ABAP Table Selector]
-AGR_TCODES_FULL = True
-USR01_FULL = True
-USR02_FULL = True
-USR02_INCREMENTAL = True
-AGR_1251_FULL = True
-AGR_USERS_FULL = True
-AGR_USERS_INCREMENTAL = True
-AGR_PROF_FULL = True
-UST04_FULL = True
-USR21_FULL = True
-ADR6_FULL = True
-ADCP_FULL = True
-USR05_FULL = True
-USGRP_USER_FULL = True
-USER_ADDR_FULL = True
-DEVACCESS_FULL = True
-AGR_DEFINE_FULL = True
-AGR_DEFINE_INCREMENTAL = True
-PAHI_FULL = False
-AGR_AGRS_FULL = True
-USRSTAMP_FULL = True
-USRSTAMP_INCREMENTAL = True
-AGR_FLAGS_FULL = True
-AGR_FLAGS_INCREMENTAL = True
-SNCSYSACL_FULL = False
-USRACL_FULL = False
-```
-## Minimal profile
-
-The SAP Security Audit Log is the most important source of data the Microsoft Sentinel solution for SAP® applications uses to analyze activities on the SAP landscape. Enabling this log is the minimal requirement to provide any security coverage.
-
-### systemconfig.ini file
-
-```
-[Logs Activation Status]
-# ABAP RFC Logs - Retrieved by using RFC interface
-ABAPAuditLog = True
-ABAPJobLog = False
-ABAPSpoolLog = False
-ABAPSpoolOutputLog = False
-ABAPChangeDocsLog = False
-ABAPAppLog = False
-ABAPWorkflowLog = False
-ABAPCRLog = False
-ABAPTableDataLog = False
-# ABAP SAP Control Logs - Retrieved by using SAP Conntrol interface and OS Login
-ABAPFilesLogs = False
-SysLog = False
-ICM = False
-WP = False
-GW = False
-# Java SAP Control Logs - Retrieved by using SAP Conntrol interface and OS Login
-JAVAFilesLogs = False
-[ABAP Table Selector]
-AGR_TCODES_FULL = False
-USR01_FULL = False
-USR02_FULL = False
-USR02_INCREMENTAL = False
-AGR_1251_FULL = False
-AGR_USERS_FULL = False
-AGR_USERS_INCREMENTAL = False
-AGR_PROF_FULL = False
-UST04_FULL = False
-USR21_FULL = False
-ADR6_FULL = False
-ADCP_FULL = False
-USR05_FULL = False
-USGRP_USER_FULL = False
-USER_ADDR_FULL = False
-DEVACCESS_FULL = False
-AGR_DEFINE_FULL = False
-AGR_DEFINE_INCREMENTAL = False
-PAHI_FULL = False
-AGR_AGRS_FULL = False
-USRSTAMP_FULL = False
-USRSTAMP_INCREMENTAL = False
-AGR_FLAGS_FULL = False
-AGR_FLAGS_INCREMENTAL = False
-SNCSYSACL_FULL = False
-USRACL_FULL = False
-```
-## Next steps
-
-Learn more about the Microsoft Sentinel solution for SAP® applications:
--- [Deploy Microsoft Sentinel solution for SAP® applications](deployment-overview.md)-- [Prerequisites for deploying Microsoft Sentinel solution for SAP® applications](prerequisites-for-deploying-sap-continuous-threat-monitoring.md)-- [Deploy SAP Change Requests (CRs) and configure authorization](preparing-sap.md)-- [Deploy the solution content from the content hub](deploy-sap-security-content.md)-- [Deploy and configure the container hosting the SAP data connector agent](deploy-data-connector-agent-container.md)-- [Deploy the Microsoft Sentinel for SAP data connector with SNC](configure-snc.md)-- [Enable and configure SAP auditing](configure-audit.md)-- [Monitor the health of your SAP system](../monitor-sap-system-health.md)-- [Collect SAP HANA audit logs](collect-sap-hana-audit-logs.md)-
-Troubleshooting:
--- [Troubleshoot your Microsoft Sentinel solution for SAP® applications solution deployment](sap-deploy-troubleshoot.md)-
-Reference files:
--- [Microsoft Sentinel solution for SAP® applications data reference](sap-solution-log-reference.md)-- [Microsoft Sentinel solution for SAP® applications: security content reference](sap-solution-security-content.md)-- [Update script reference](reference-update.md)-- [Systemconfig.ini file reference](reference-systemconfig.md)-
-For more information, see [Microsoft Sentinel solutions](../sentinel-solutions.md).
sentinel Solution Overview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/sentinel/sap/solution-overview.md
Title: Microsoft Sentinel solution for SAP® applications overview
-description: This article introduces Microsoft Sentinel solution for SAP® applications
+ Title: Microsoft Sentinel solution for SAP applications overview
+description: This article provides an overview of the Microsoft Sentinel solution for SAP applications and available support.
Previously updated : 03/22/2023 Last updated : 09/15/2024
+appliesto:
+ - Microsoft Sentinel in the Azure portal
+ - Microsoft Sentinel in the Microsoft Defender portal
+ -
-#Customer intent: As a security operations team member, I want to monitor and protect SAP systems using a comprehensive solution so that I can detect, analyze, and respond to threats effectively across all layers of the SAP environment.
+#Customer intent: As a security operations team member, I want to monitor and protect SAP systems using Microsoft Sentinel so that I can detect, analyze, and respond to threats effectively across all layers of the SAP environment.
-# Microsoft Sentinel solution for SAP® applications overview
-
-SAP systems pose a unique security challenge. SAP systems handle extremely sensitive information and are prime targets for attackers.
+# Microsoft Sentinel solutions for SAP applications
-Security operations teams have traditionally had very little visibility into SAP systems. An SAP system breach could result in stolen files, exposed data, or disrupted supply chain. Once an attacker is in the system, there are few controls to detect exfiltration or other bad acts. SAP activity needs to be correlated with other data across the organization for effective threat detection.
+SAP systems pose a unique security challenge, as they handle sensitive information, are a prime target for attackers, and traditionally provide little visibility for security operations teams.
-To help close this gap, Microsoft Sentinel offers the Microsoft Sentinel solution for SAP® applications. This comprehensive solution uses components at every level of Microsoft Sentinel to offer end-to-end detection, analysis, investigation, and response to threats in your SAP environment.
+An SAP system breach could result in stolen files, exposed data, or a disrupted supply chain. Once an attacker is in the system, there are few controls to detect exfiltration or other bad acts. SAP activity needs to be correlated with other data across the organization for effective threat detection.
-## What the Microsoft Sentinel solution for SAP® applications does
+To help close this gap, Microsoft Sentinel offers Microsoft Sentinel solutions for SAP applications, which use components at every level of Microsoft Sentinel to offer end-to-end detection, analysis, investigation, and response to threats in your SAP environment.
-The Microsoft Sentinel solution for SAP® applications continuously monitors SAP systems for threats at all layers - business logic, application, database, and OS. It allows you to:
+## SIEM and SOAR features and sample architecture
-- Correlate SAP monitoring with other signals across your organization, and to use detections provided by the solution&mdash;or build your own detections&mdash;to monitor sensitive transactions and other business risks such as privilege escalation, unapproved changes, and unauthorized access.
+The Microsoft Sentinel solution for SAP applications continuously monitor SAP systems for threats at all layers - business logic, application, database, and OS. It allows you to:
-- Build automated response processes to interact with your SAP systems to stop active security threats.
+- **Security information and event management (SIEM)**: Correlate SAP monitoring with other signals across your organization. Use out-of-the-box and custom detections to monitor sensitive transactions and other business risks, such as privilege escalation, unapproved changes, and unauthorized access.
-The Microsoft Sentinel solution for SAP® applications also offers threat monitoring and detection for SAP Business Technology Platform.
+- **Security orchestration, automation and response (SOAR)**: Build automated response processes that interact with your SAP systems to stop active security threats.
-For example, the following image shows a multi-SID SAP landscape with a split between productive and non-productive systems, including the SAP Business Technology Platform. All of the systems in this image are onboarded to Microsoft Sentinel for the SAP solution.
+For example, the following image shows a sample environment where the Microsoft Sentinel solution for SAP applications is deployed. This sample architecture uses a multi-SID SAP landscape with a split between productive and nonproductive systems. All of the systems in this image are onboarded to Microsoft Sentinel for the SAP solution.
:::image type="content" source="media/deployment-overview/sap-sentinel-multi-sid-overview.png" alt-text="Diagram of a multi-SID SAP landscape with Microsoft Sentinel." lightbox="media/deployment-overview/sap-sentinel-multi-sid-overview.png" border="false":::
-## Solution details
-
-### Log sources
-
-The solution's data connector retrieves a wide variety of SAP Log Sources:
-- ABAP Security Audit Log -- ABAP Change Documents Log -- ABAP Spool Log -- ABAP Spool Output Log -- ABAP Job Log -- ABAP Workflow Log -- ABAP DB Table Data-- SAP User Master Data-- ABAP CR Log-- ICM Logs-- JAVA Webdispacher Logs -- Syslog-
-### Threat detection coverage
--- Suspicious privileges operations 
- ΓÇô Privileged user creation
- - Usage of break-glass users
- - Unlocking a user and logging into to it from the same IP
- - Assignment of sensitive roles and admin privileges
- - User Unlocks and uses other users
- - Critical Authorization Assignment 
- 
-- Attempts to bypass SAP security mechanisms –
- - Disabling audit logging (HANA and SAP)
- - Execution of sensitive function modules
- - Unlocking blocked transactions
- - Debugging production systems
- - Sensitive Tables Direct access by RFC
- - RFC Execution of Sanative Function
- - System Configuration Change,  Dynamic ABAP Program.
--- Backdoor creation  (persistency) 
- - Creation of new internet facing interfaces (ICF)
- - Directly accessing sensitive tables by remote-function-call
- - Assigning new service handlers to ICF
- - Execution of obsolete programs
- - User Unlocks and uses other users.
- 
-- Data exfiltration 
- - Multiple files downloads
- - Spool takeovers
- - Allowing access to insecure FTP servers & connections from unauthorized hosts
- - Dynamic RFC Destination
- - HANA DB - User Admin Actions from DB level.
- 
-- Initial Access
- – Brute force
- - Multiple logons from the same IP
- - Privileged user logons from unexpected networks
- - SPNego Replay Attack
+Microsoft Sentinel also provides the [Microsoft Sentinel solution for SAP BTP](sap-btp-solution-overview.md), which offers threat monitoring and detection for SAP Business Technology Platform (BTP).
+
+## Threat detection coverage
+
+The Microsoft Sentinel solution for SAP applications supports threat detections such as the following, and more:
+
+- **Suspicious privileges operations**, such as privileged user creation or usage of break-glass users
+- **Attempts to bypass SAP security mechanisms**, such as disabling audit logging, or execution of sensitive function modules
+- **Backdoor creation (persistency)**, such as creation of new internet facing interfaces (ICF) or directly accessing sensitive tables by remote-function-call
+- **Data exfiltration**, such as multiple file downloads or spool takeovers
+- **Initial Access**, such as brute force or multiple sign-ins from the same IP
+
+For more information, see [Built-in analytics rules](sap-solution-security-content.md#built-in-analytics-rules).
+
+## Investigation support
+
+Investigate SAP incidents just as you would any other incidents in Microsoft Sentinel and Microsoft Defender. For more information, see:
+
+- [Navigate and investigate incidents in Microsoft Sentinel](../investigate-incidents.md)
+- [Investigate and respond with Microsoft Defender XDR](/defender-xdr/incident-response-overview)
## Certification
-Microsoft Sentinel solution for SAP® applications is certified for SAP S/4HANA® Cloud, Private Edition RISE with SAP and SAP S/4 on-premises.
+Microsoft Sentinel solution for SAP applications is certified for SAP S/4HANA Cloud, Private Edition RISE with SAP, and SAP S/4 on-premises.
-- The integration scenarios include S/4-BC-XAL 1.0/S/4 EXTERNAL ALERT AND MONITORING 1.0 (for S/4). -- Our certification includes S/4 and SAP Rise S/4 HANA® Cloud Private Edition running in any cloud and on-premises. -- We support hybrid deployments that can cover the entire customer estate.
+- The integration scenarios include S/4-BC-XAL 1.0/S/4 EXTERNAL ALERT AND MONITORING 1.0 (for S/4).
+- Our certification includes S/4 and SAP Rise S/4 HANA Cloud Private Edition running in any cloud and on-premises.
+- We support hybrid deployments that can cover the entire customer estate.
-See the certification on the [SAP Certified Solutions Directory](https://www.sap.com/dmc/exp/2013_09_adpd/enEN/#/solutions?id=s:33db1376-91ae-4f36-a435-aafa892a88d8).
+For more information, see the certification on the [SAP Certified Solutions Directory](https://www.sap.com/dmc/exp/2013_09_adpd/enEN/#/solutions?id=s:33db1376-91ae-4f36-a435-aafa892a88d8).
-## Trademark attribution
+## Solution pricing
-SAP S/4HANA and SAP are trademarks or registered trademarks of SAP SE or its affiliates in Germany and in other countries/regions. 
-
-## Next steps
+While the Microsoft Sentinel for SAP solutions are free to install, there's an extra hourly charge for activating and using the solution on production systems.
-Learn more about the Microsoft Sentinel solution for SAP® applications:
+- The extra hourly charge applies to connected, active production systems only. Inactive systems aren't subject to charges. If a system's status is unknown to Microsoft Sentinel, such as because of permission issues, it's counted as a production system.
+- Microsoft Sentinel identifies a production system by looking at the configuration on the SAP system.
-- [Deploy Microsoft Sentinel solution for SAP® applications](deployment-overview.md)-- [Prerequisites for deploying Microsoft Sentinel solution for SAP® applications](prerequisites-for-deploying-sap-continuous-threat-monitoring.md)-- [Deploy SAP Change Requests (CRs) and configure authorization](preparing-sap.md)-- [Deploy the solution content from the content hub](deploy-sap-security-content.md)-- [Deploy and configure the container hosting the SAP data connector agent](deploy-data-connector-agent-container.md)-- [Monitor the health of your SAP system](../monitor-sap-system-health.md)-- [Deploy the Microsoft Sentinel for SAP data connector with SNC](configure-snc.md)-- [Enable and configure SAP auditing](configure-audit.md)-- [Collect SAP HANA audit logs](collect-sap-hana-audit-logs.md)-- [Deploy Microsoft Sentinel Solution for SAP® BTP](deploy-sap-btp-solution.md)
+Microsoft Sentinel ingestion costs might vary and are influenced by the volume of SAP logs ingested. For more information, see:
-Troubleshooting:
+- [Plan costs and understand Microsoft Sentinel pricing and billing](../billing.md)
+- [Reduce costs for Microsoft Sentinel](../billing-reduce-costs.md)
+- [Manage and monitor costs for Microsoft Sentinel](../billing-monitor-costs.md)
+- [Microsoft Sentinel solution for SAP applications](https://azure.microsoft.com/pricing/offers/microsoft-sentinel-sap-promo/).
-- [Troubleshoot your Microsoft Sentinel solution for SAP® applications deployment](sap-deploy-troubleshoot.md)
+## Related content
-Reference files:
+For more information, see:
-- [Microsoft Sentinel solution for SAP® applications data reference](sap-solution-log-reference.md)-- [Microsoft Sentinel solution for SAP® applications: security content reference](sap-solution-security-content.md)-- [Kickstart script reference](reference-kickstart.md)-- [Update script reference](reference-update.md)-- [Systemconfig.ini file reference](reference-systemconfig.md)
+- [Deploy Microsoft Sentinel solution for SAP applications](deployment-overview.md)
+- [Enable SAP detections and threat protection](deployment-solution-configuration.md)
+- [Microsoft Sentinel solution for SAP applications: security content reference](sap-solution-security-content.md)
sentinel Stop Collection https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/sentinel/sap/stop-collection.md
+
+ Title: Stop SAP data collection
+
+description: Learn about how to stop Microsoft Sentinel from collecting data from your SAP applications.
+++ Last updated : 10/08/2024
+ai-usage: ai-assisted
+appliesto:
+ - Microsoft Sentinel in the Azure portal
+ - Microsoft Sentinel in the Microsoft Defender portal
+
+#customerIntent: As an SAP admin, I want to stop Microsoft Sentinel from collecting data from our SAP applications.
++
+# Stop SAP data collection
+
+There might be instances where you need to halt the data collection from your SAP applications by Microsoft Sentinel, whether for maintenance, troubleshooting, or other administrative reasons.
+
+This article provides step-by-step instructions on how to stop the ingestion of SAP logs into Microsoft Sentinel and disable the data connector.
+
+## Prerequisites
+
+Before you stop the data collection from your SAP applications, ensure you have administrative access to:
+
+- The Log Analytics workspace that's enabled for Microsoft Sentinel. For more information, see [Roles and permissions in Microsoft Sentinel](../roles.md).
+- The SAP data connector agent machine or container.
+
+## Stop log ingestion and disable the connector
+
+To stop ingesting SAP logs into Microsoft and to stop the data stream from the Docker container, sign into your data connector agent machine and run:
+
+```bash
+docker stop sapcon-[SID/agent-name]
+```
+
+The Docker container stops and doesn't send any more SAP logs to Microsoft Sentinel. This stops both the ingestion and billing for the SAP system related to the connector.
+
+If you need to reenable the Docker container, sign into the data connector agent machine and run:
+
+```bash
+docker start sapcon-[SID]
+```
+
+To stop ingesting a specific SID for a multi-SID container, make sure that you also delete the SID from the connector page UI in Microsoft Sentinel. This option is relevant only if you [deployed the agent via the portal](deploy-data-connector-agent-container.md#deploy-the-data-connector-agent-from-the-portal-preview).
+
+1. In Microsoft Sentinel, select **Configuration > Data connectors** and search for **Microsoft Sentinel for SAP**.
+1. Select the data connector row and then select **Open connector page** in the side pane.
+1. In the **Configuration** area on the **Microsoft Sentinel for SAP** data connector page, locate the SID agent you want to remove and select **Delete**.
+
+## Remove the user role and any optional CR installed on your ABAP system
+
+If you're turning off the SAP data connector agent and stopping log ingestion from your SAP system, you might want to also remove the user role and optional CRs installed on your ABAP system.
+
+To do so, import the deletion CR *NPLK900259* into your ABAP system. For more information, see the [SAP documentation](https://help.sap.com/docs/ABAP_PLATFORM_NEW/4a368c163b08418890a406d413933ba7/e15d9acae75c11d2b451006094b9ea64.html?locale=en-US&version=LATEST).
+
+## Related content
+
+For more information, see:
+
+- [Configure your SAP system for the Microsoft Sentinel solution](preparing-sap.md)
+- [Connect your SAP system by deploying your data connector agent container](deploy-data-connector-agent-container.md)
sentinel Update Sap Data Connector https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/sentinel/sap/update-sap-data-connector.md
Title: Update Microsoft Sentinel's SAP data connector agent
+ Title: Update the Microsoft Sentinel for SAP applications data connector agent
description: This article shows you how to update an already existing SAP data connector to its latest version. Previously updated : 03/27/2024 Last updated : 06/26/2024 appliesto: - Microsoft Sentinel in the Azure portal - Microsoft Sentinel in the Microsoft Defender portal--+ #Customer intent: As a security operations engineer, I want to update the Microsoft Sentinel for SAP applications data connector agent so that I can ensure my SAP data integration is using the latest features and security updates.
-# Update Microsoft Sentinel's SAP data connector agent
+# Update the Microsoft Sentinel for SAP applications data connector agent
-This article shows you how to update an already existing Microsoft Sentinel for SAP data connector to its latest version.
+This article shows you how to update an already existing Microsoft Sentinel for SAP data connector to its latest version so that you can use the latest features and improvements.
-To get the latest features, you can [enable automatic updates](#automatically-update-the-sap-data-connector-agent-preview) for the SAP data connector agent, or [manually update the agent](#manually-update-sap-data-connector-agent).
+During the data connector agent update process, there might be a brief downtime of approximately 10 seconds. To ensure data integrity, a database entry stores the timestamp of the last fetched log. After the update is complete, the data fetching process resumes from the last log fetched, preventing duplicates and ensuring a seamless data flow.
-The automatic or manual updates described in this article are relevant to the SAP connector agent only, and not to the Microsoft Sentinel solution for SAP. To successfully update the solution, your agent needs to be up to date. The solution is updated separately.
+The automatic or manual updates described in this article are relevant to the SAP connector agent only, and not to the Microsoft Sentinel solution for SAP applications. To successfully update the solution, your agent needs to be up to date. The solution is updated separately, as you would any other [Microsoft Sentinel solution](../sentinel-solutions-deploy.md#install-or-update-content).
+Content in this article is relevant for your **security**, **infrastructure**, and **SAP BASIS** teams.
## Prerequisites
-Before you start, make sure that you have all the prerequisites for deploying Microsoft Sentinel solution for SAP applications.
+Before you start:
+
+- Make sure that you have all the prerequisites for deploying Microsoft Sentinel solution for SAP applications. For more information, see [Prerequisites for deploying Microsoft Sentinel solution for SAP applications](prerequisites-for-deploying-sap-continuous-threat-monitoring.md).
-For more information, see [Prerequisites for deploying Microsoft Sentinel solution for SAP® applications](prerequisites-for-deploying-sap-continuous-threat-monitoring.md).
+- Make sure that you understand your SAP and Microsoft Sentinel environments and architecture, including the machines where your connector agents and collectors are [installed](deploy-data-connector-agent-container.md).
-## Automatically update the SAP data connector agent (Preview)
+## Configure automatic updates for the SAP data connector agent (Preview)
-You can choose to enable automatic updates for the connector agent on [all existing containers](#enable-automatic-updates-on-all-existing-containers) or a [specific container](#enable-automatic-updates-on-a-specific-container).
+Configure automatic updates for the connector agent, either for [all existing containers](#configure-automatic-updates-for-all-existing-containers) or a [specific container](#configure-automatic-updates-on-a-specific-container).
+
+The commands described in this section create a cron job that runs daily, checks for updates, and updates the agent to the latest GA version. Containers running a preview version of the agent that's newer than the latest GA version aren't updated. Log files for automatic updates are located on the collector machine, at */var/log/sapcon-sentinel-register-autoupdate.log*.
+
+After you configure automatic updates for an agent once, it's always configured for automatic updates.
> [!IMPORTANT] > Automatically updating the SAP data connector agent is currently in PREVIEW. The [Azure Preview Supplemental Terms](https://azure.microsoft.com/support/legal/preview-supplemental-terms/) include additional legal terms that apply to Azure features that are in beta, preview, or otherwise not yet released into general availability.
-### Enable automatic updates on all existing containers
+### Configure automatic updates for all existing containers
-To enable automatic updates on all existing containers (all containers with a connected SAP agent), run the following command on the collector machine:
+To turn on automatic updates for all existing containers with a connected SAP agent, run the following command on the collector machine:
-```
+```bash
wget -O sapcon-sentinel-auto-update.sh https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Solutions/SAP/sapcon-sentinel-auto-update.sh && bash ./sapcon-sentinel-auto-update.sh ```
-
-The command creates a cron job that runs daily and checks for updates. If the job detects a new version of the agent, it updates the agent on all containers that exist when you run the command above. If a container is running a Preview version that is newer than the latest version (the version that the job installs), the job doesn't update that container.
-If you add containers after you run the cron job, the new containers aren't updated automatically. To update these containers, in the */opt/sapcon/[SID or Agent GUID]/settings.json* file, define the `auto_update` parameter for each of the containers as `true`.
+If you're working with multiple containers, the cron job updates the agent on all containers that existed at the time when you ran the original command. If you add containers after you create the initial cron job, the new containers aren't updated automatically. To update these containers, [run an extra command to add them](#configure-automatic-updates-on-a-specific-container).
-The logs for this update are under *var/log/sapcon-sentinel-register-autoupdate.log/*.
+### Configure automatic updates on a specific container
-### Enable automatic updates on a specific container
+To configure automatic updates for a specific container or containers, such as if you added containers after running the [original automation command](#configure-automatic-updates-for-all-existing-containers), run the following command on the collector machine:
-To enable automatic updates on a specific container or containers, run the following command:
-
-```
+```bash
wget -O sapcon-sentinel-auto-update.sh https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Solutions/SAP/sapcon-sentinel-auto-update.sh && bash ./sapcon-sentinel-auto-update.sh --containername <containername> [--containername <containername>]... ```
-The logs for this update are under */var/log/sapcon-sentinel-register-autoupdate.log*.
+Alternately, in the */opt/sapcon/[SID or Agent GUID]/settings.json* file, define the `auto_update` parameter for each of the containers as `true`.
-### Disable automatic updates
+### Turn off automatic updates
-To disable automatic updates for a container or containers, define the `auto_update` parameter for each of the containers as `false`.
+To turn off automatic updates for a container or containers, open the */opt/sapcon/[SID or Agent GUID]/settings.json* file for editing and define the `auto_update` parameter for each of the containers as `false`.
## Manually update SAP data connector agent
-To manually update the connector agent, make sure that you have the most recent versions of the relevant deployment scripts from the Microsoft Sentinel GitHub repository.
+To manually update the connector agent, make sure that you have the most recent versions of the relevant deployment scripts from the [Microsoft Sentinel GitHub repository](https://github.com/Azure/Azure-Sentinel/tree/master/Solutions/SAP).
-Run:
+For more information, see [Microsoft Sentinel solution for SAP applications data connector agent update file reference](reference-update.md).
-```
+**On the data connector agent machine, run**:
+
+```bash
wget -O sapcon-instance-update.sh https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Solutions/SAP/sapcon-instance-update.sh && bash ./sapcon-instance-update.sh ```
-The SAP data connector Docker container on your machine is updated.
-
-Be sure to check for any other available updates, such as:
+The SAP data connector Docker container on your machine is updated.
-- Relevant SAP change requests, in the [Microsoft Sentinel GitHub repository](https://github.com/Azure/Azure-Sentinel/tree/master/Solutions/SAP/CR).-- Microsoft Sentinel solution for SAP® applications security content, in the **Microsoft Sentinel solution for SAP® applications** solution.-- Relevant watchlists, in the [Microsoft Sentinel GitHub repository](https://github.com/Azure/Azure-Sentinel/tree/master/Solutions/SAP/Analytics/Watchlists).
+Be sure to check for any other available updates, such as SAP change requests.
## Update your system for attack disruption
Automatic attack disruption for SAP is supported with the unified security opera
- A workspace [onboarded to the unified security operations platform](../microsoft-sentinel-defender-portal.md). -- A Microsoft Sentinel SAP data connector agent, version 90847355 or higher. [Check your current agent version](#verify-your-current-data-connector-agent-version) and update it if you need to.
+- A Microsoft Sentinel SAP data connector agent, version 90847355 or higher. [Check your current agent version](#verify-your-current-data-connector-agent-version) and update it if you need to.
-- The identity of your data connector agent VM assigned to the **Microsoft Sentinel Business Applications Agent Operator** Azure role. If this role isn't assigned, make sure to [assign these roles manually](#assign-required-azure-roles-manually).
+- The following roles in Azure and SAP:
-- The **/MSFTSEN/SENTINEL_RESPONDER** SAP role [applied to your SAP system and assigned to the SAP user account](#apply-and-assign-the-sentinel_responder-sap-role-to-your-sap-system) used by Microsoft Sentinel's SAP data connector agent.
+ - **Azure role requirement**: The identity of your data connector agent VM must be assigned to the **Microsoft Sentinel Business Applications Agent Operator** Azure role. Verify this assignment and [assign this role manually](#assign-required-azure-roles-manually) if you need to.
+
+ - **SAP role requirement**: The **/MSFTSEN/SENTINEL_RESPONDER** SAP role must be applied to your SAP system and assigned to the SAP user account used by the data connector agent. Verify this assignment and [apply and assign the role](#apply-and-assign-the-sentinel_responder-sap-role-to-your-sap-system) if you need to.
+
+The following procedures describe how to fulfill these requirements if they aren't already met.
### Verify your current data connector agent version
To verify your current agent version, run the following query from the Microsoft
Connected_SAP_Systems_Ids = set_system_id_s, Current_Agent_Version = agent_ver_s ```+ ### Check for required Azure roles
-Attack disruption for SAP requires that you grant your agent's VM identity with specific permissions to the Microsoft Sentinel workspace, using the **Microsoft Sentinel Business Applications Agent Operator** and **Reader** roles.
+Attack disruption for SAP requires that you grant your agent's VM identity with specific permissions to the Log Analytics workspace enabled for Microsoft Sentinel, using the **Microsoft Sentinel Business Applications Agent Operator** and **Reader** roles.
First check to see if your roles are already assigned:
First check to see if your roles are already assigned:
If the **Microsoft Sentinel Business Applications Agent Operator** and **Reader** roles aren't yet assigned to your agent's VM identity, use the following steps to assign them manually. Select the tab for the Azure portal or the command line, depending on how your agent is deployed. Agents deployed from the command line aren't shown in the Azure portal, and you must use the command line to assign the roles.
-To perform this procedure, you must be a resource group owner on your Microsoft Sentinel workspace.
+To perform this procedure, you must be a resource group owner on your Log Analytics workspace enabled for Microsoft Sentinel.
-#### [Azure portal](#tab/azure)
+#### [Portal](#tab/portal)
1. In Microsoft Sentinel, on the **Configuration > Data connectors** page, go to your **Microsoft Sentinel for SAP** data connector and select **Open the connector page**. 1. In the **Configuration** area, under step **1. Add an API based collector agent**, locate the agent that you're updating and select the **Show commands** button. 1. Copy the **Role assignment commands** displayed. Run them on your agent VM, replacing the `Object_ID` placeholders with your VM identity object ID.
-
+ These commands assign the **Microsoft Sentinel Business Applications Agent Operator** and **Reader** Azure roles to your VM's managed identity, including only the scope of the specified agent's data in the workspace. > [!IMPORTANT] > Assigning the **Microsoft Sentinel Business Applications Agent Operator** and **Reader** roles via the CLI assigns the roles only on the scope of the specified agent's data in the workspace. This is the most secure, and therefore recommended option. >
-> If you must assign the roles [via the Azure portal](/azure/role-based-access-control/role-assignments-portal?tabs=delegate-condition), we recommend assigning the roles on a small scope, such as only on the Microsoft Sentinel workspace.
+> If you must assign the roles [via the Azure portal](/azure/role-based-access-control/role-assignments-portal?tabs=delegate-condition), we recommend assigning the roles on a small scope, such as only on the Log Analytics workspace enabled for Microsoft Sentinel.
#### [Command line](#tab/cli)
To perform this procedure, you must be a resource group owner on your Microsoft
For example, an agent ID returned might be `234fba02-3b34-4c55-8c0e-e6423ceb405b`. - 1. Assign the **Microsoft Sentinel Business Applications Agent Operator** and **Reader** roles by running the following commands: ```bash
To perform this procedure, you must be a resource group owner on your Microsoft
|Placeholder |Value | ||| |`<OBJ_ID>` | Your VM identity object ID. |
- |`<SUB_ID>` | Your Microsoft Sentinel workspace subscription ID |
- |`<RESOURCE_GROUP_NAME>` | Your Microsoft Sentinel workspace resource group name |
- |`<WS_NAME>` | Your Microsoft Sentinel workspace name |
+ |`<SUB_ID>` | The subscription ID for your Log Analytics workspace enabled for Microsoft Sentinel |
+ |`<RESOURCE_GROUP_NAME>` | The resource group name for your Log Analytics workspace enabled for Microsoft Sentinel |
+ |`<WS_NAME>` | The name of your Log Analytics workspace enabled for Microsoft Sentinel |
|`<AGENT_IDENTIFIER>` | The agent ID displayed after running the command in the [previous step](#step1). | ### Apply and assign the SENTINEL_RESPONDER SAP role to your SAP system
-Apply **/MSFTSEN/SENTINEL_RESPONDER** SAP role to your SAP system and assign it to the SAP user account used by Microsoft Sentinel's SAP data connector agent.
+Apply **/MSFTSEN/SENTINEL_RESPONDER** SAP role to your SAP system and assign it to the SAP user account used by Microsoft Sentinel's SAP data connector agent.
To apply and assign the **/MSFTSEN/SENTINEL_RESPONDER** SAP role: 1. Upload role definitions from the [/MSFTSEN/SENTINEL_RESPONDER](https://aka.ms/SAP_Sentinel_Responder_Role) file in GitHub.
-1. Assign the **/MSFTSEN/SENTINEL_RESPONDER** role to the SAP user account used by Microsoft Sentinel's SAP data connector agent. For more information, see [Deploy SAP Change Requests and configure authorization](preparing-sap.md).
+1. Assign the **/MSFTSEN/SENTINEL_RESPONDER** role to the SAP user account used by Microsoft Sentinel's SAP data connector agent. For more information, see [Configure your SAP system for the Microsoft Sentinel solution](preparing-sap.md).
- Alternately, manually assign the following authorizations to the current role already assigned to the SAP user account used by Microsoft Sentinel's SAP data connector. These authorizations are included in the **/MSFTSEN/SENTINEL_RESPONDER** SAP role specifically for attack disruption response actions.
+ Alternately, manually assign the following authorizations to the current role already assigned to the SAP user account used by Microsoft Sentinel's SAP data connector. These authorizations are included in the **/MSFTSEN/SENTINEL_RESPONDER** SAP role specifically for attack disruption response actions.
- | Authorization object | Field | Value |
- | -- | -- | -- |
- |S_RFC |RFC_TYPE |Function Module |
- |S_RFC |RFC_NAME |BAPI_USER_LOCK |
- |S_RFC |RFC_NAME |BAPI_USER_UNLOCK |
- |S_RFC |RFC_NAME |TH_DELETE_USER <br>In contrast to its name, this function doesn't delete users, but ends the active user session. |
- |S_USER_GRP |CLASS |* <br>We recommend replacing S_USER_GRP CLASS with the relevant classes in your organization that represent dialog users. |
- |S_USER_GRP |ACTVT |03 |
- |S_USER_GRP |ACTVT |05 |
+ | Authorization object | Field | Value |
+ | -- | -- | -- |
+ |S_RFC |RFC_TYPE |Function Module |
+ |S_RFC |RFC_NAME |BAPI_USER_LOCK |
+ |S_RFC |RFC_NAME |BAPI_USER_UNLOCK |
+ |S_RFC |RFC_NAME |TH_DELETE_USER <br>In contrast to its name, this function doesn't delete users, but ends the active user session. |
+ |S_USER_GRP |CLASS |* <br>We recommend replacing S_USER_GRP CLASS with the relevant classes in your organization that represent dialog users. |
+ |S_USER_GRP |ACTVT |03 |
+ |S_USER_GRP |ACTVT |05 |
- For more information, see [Required ABAP authorizations](preparing-sap.md#required-abap-authorizations).
+ For more information, see [Required ABAP authorizations](required-abap-authorizations.md).
-## Next steps
+## Related content
-Learn more about the Microsoft Sentinel solution for SAP® applications:
+For more information, see:
-- [Deploy Microsoft Sentinel solution for SAP® applications](deployment-overview.md)-- [Prerequisites for deploying Microsoft Sentinel solution for SAP® applications](prerequisites-for-deploying-sap-continuous-threat-monitoring.md)-- [Deploy SAP Change Requests (CRs) and configure authorization](preparing-sap.md)-- [Deploy the solution content from the content hub](deploy-sap-security-content.md)-- [Deploy and configure the container hosting the SAP data connector agent](deploy-data-connector-agent-container.md)
+- [Deploy Microsoft Sentinel solution for SAP applications](deployment-overview.md)
- [Monitor the health of your SAP system](../monitor-sap-system-health.md)-- [Deploy the Microsoft Sentinel for SAP data connector with SNC](configure-snc.md)-- [Enable and configure SAP auditing](configure-audit.md)-- [Collect SAP HANA audit logs](collect-sap-hana-audit-logs.md)-
-Troubleshooting:
--- [Troubleshoot your Microsoft Sentinel solution for SAP® applications deployment](sap-deploy-troubleshoot.md)-
-Reference files:
--- [Microsoft Sentinel solution for SAP® applications data reference](sap-solution-log-reference.md)-- [Microsoft Sentinel solution for SAP® applications: security content reference](sap-solution-security-content.md)-- [Kickstart script reference](reference-kickstart.md)-- [Update script reference](reference-update.md)-- [Systemconfig.ini file reference](reference-systemconfig.md)-
-For more information, see [Microsoft Sentinel solutions](../sentinel-solutions.md).
+- [Troubleshoot your Microsoft Sentinel solution for SAP applications deployment](sap-deploy-troubleshoot.md)
sentinel Unified Connector Syslog Device https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/sentinel/unified-connector-syslog-device.md
This data connector was developed using Cisco Stealthwatch version 7.3.2
> > Update the parser and specify the hostname of the source machines transmitting the logs in the parser's first line. >
-> To access the function code within Log Analytics, navigate to the Log Analytics/Microsoft Sentinel Logs section, select Functions, and search for the alias **CiscoUCS**. Alternatively, directly load the [function code](https://github.com/Azure/Azure-Sentinel/blob/master/Solutions/Cisco%20UCS/Parsers/CiscoUCS.txt). It might take about 15-minutes post-installation to update.
+> To access the function code within Log Analytics, navigate to the Log Analytics/Microsoft Sentinel Logs section, select Functions, and search for the alias **CiscoUCS**. Alternatively, directly load the [function code](https://github.com/Azure/Azure-Sentinel/blob/master/Solutions/Cisco%20UCS/Parsers/CiscoUCS.yaml). It might take about 15-minutes post-installation to update.
## Cisco Web Security Appliance (WSA)
Configure Citrix ADC (former NetScaler) to forward logs via Syslog.
5. For more information, see the [Citrix ADC (former NetScaler) documentation](https://docs.netscaler.com/). > [!NOTE]
-> The functionality of this data connector is reliant on a Kusto Function-based parser, which is integral to its operation. This parser is deployed as part of the solution installation. To access the function code within Log Analytics, navigate to the Log Analytics/Microsoft Sentinel Logs section, select Functions, and search for the alias **CitrixADCEvent**. Alternatively, you can directly load the [function code](https://github.com/Azure/Azure-Sentinel/blob/master/Solutions/Citrix%20ADC/Parsers/CitrixADCEvent.txt). It might take about 15 minutes post-installation to update.
+> The functionality of this data connector is reliant on a Kusto Function-based parser, which is integral to its operation. This parser is deployed as part of the solution installation. To access the function code within Log Analytics, navigate to the Log Analytics/Microsoft Sentinel Logs section, select Functions, and search for the alias **CitrixADCEvent**. Alternatively, you can directly load the [function code](https://github.com/Azure/Azure-Sentinel/blob/master/Solutions/Citrix%20ADC/Parsers/CitrixADCEvent.yaml). It might take about 15 minutes post-installation to update.
> > This parser requires a watchlist named `Sources_by_SourceType`. >
This data connector was developed using Forescout Syslog Plugin version: v3.6
> [!NOTE] > The functionality of this data connector is reliant on a Kusto Function-based parser, which is integral to its operation. This parser is deployed as part of the solution installation. >
-> To access the function code within Log Analytics, navigate to the Log Analytics/Microsoft Sentinel Logs section, select Functions, and search for the alias **Infoblox**. Alternatively, you can directly load the [function code](https://github.com/Azure/Azure-Sentinel/blob/master/Solutions/Infoblox%20NIOS/Parser/Infoblox.txt). It might take about 15 minutes post-installation to update.
+> To access the function code within Log Analytics, navigate to the Log Analytics/Microsoft Sentinel Logs section, select Functions, and search for the alias **Infoblox**. Alternatively, you can directly load the [function code](https://github.com/Azure/Azure-Sentinel/blob/master/Solutions/Infoblox%20NIOS/Parsers/Infoblox.yaml). It might take about 15 minutes post-installation to update.
> > This parser requires a watchlist named **`Sources_by_SourceType`**. >
This data connector was developed using RSA SecurID Authentication Manager versi
> > Update the parser and specify the hostname of the source machines transmitting the logs in the parser's first line. >
-> To access the function code within Log Analytics, navigate to the Log Analytics/Microsoft Sentinel Logs section, select Functions, and search for the alias **SymantecVIP**. Alternatively, directly load the [function code](https://github.com/Azure/Azure-Sentinel/blob/master/Solutions/Symantec%20VIP/Parsers/SymantecVIP.txt). It might take about 15 minutes post-installation to update.
+> To access the function code within Log Analytics, navigate to the Log Analytics/Microsoft Sentinel Logs section, select Functions, and search for the alias **SymantecVIP**. Alternatively, directly load the [function code](https://github.com/Azure/Azure-Sentinel/blob/master/Solutions/Symantec%20VIP/Parsers/SymantecVIP.yaml). It might take about 15 minutes post-installation to update.
## VMware ESXi
service-bus-messaging Monitor Service Bus Reference https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/service-bus-messaging/monitor-service-bus-reference.md
Resource specific table entry:
[!INCLUDE [service-bus-amqp-support-retirement](../../includes/service-bus-amqp-support-retirement.md)]
-Azure Service Bus uses Kusto tables from Azure Monitor Logs. You can query these tables with Log Analytics. For a list of Kusto tables the service uses, see [Azure Monitor Logs table reference](/azure/azure-monitor/reference/tables/tables-resourcetype#service-bus).
+Azure Service Bus uses Kusto tables from Azure Monitor Logs. You can query these tables with Log Analytics.
### Service Bus Microsoft.ServiceBus/namespaces
service-bus-messaging Service Bus Ip Filtering https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/service-bus-messaging/service-bus-ip-filtering.md
From API version **2021-06-01-preview onwards**, the default value of the `defau
The API version **2021-06-01-preview onwards** also introduces a new property named `publicNetworkAccess`. If it's set to `Disabled`, operations are restricted to private links only. If it's set to `Enabled`, operations are allowed over the public internet.
-For more information about these properties, see [Create or Update Network Rule Set](/rest/api/servicebus/controlplane-preview/namespaces-network-rule-set/create-or-update-network-rule-set) and [Create or Update Private Endpoint Connections](/rest/api/servicebus/controlplane-preview/private-endpoint-connections/create-or-update).
+For more information about these properties, [Create or Update Private Endpoint Connections](/rest/api/servicebus/controlplane-preview/private-endpoint-connections/create-or-update).
> [!NOTE] > None of the above settings bypass validation of claims via SAS or Microsoft Entra authentication. The authentication check always runs after the service validates the network checks that are configured by `defaultAction`, `publicNetworkAccess`, `privateEndpointConnections` settings.
service-bus-messaging Service Bus Service Endpoints https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/service-bus-messaging/service-bus-service-endpoints.md
From API version **2021-06-01-preview onwards**, the default value of the `defau
The API version **2021-06-01-preview onwards** also introduces a new property named `publicNetworkAccess`. If it's set to `Disabled`, operations are restricted to private links only. If it's set to `Enabled`, operations are allowed over the public internet.
-For more information about these properties, see [Create or Update Network Rule Set](/rest/api/servicebus/controlplane-preview/namespaces-network-rule-set/create-or-update-network-rule-set) and [Create or Update Private Endpoint Connections](/rest/api/servicebus/controlplane-preview/private-endpoint-connections/create-or-update).
+For more information about these properties, see [Create or Update Private Endpoint Connections](/rest/api/servicebus/controlplane-preview/private-endpoint-connections/create-or-update).
> [!NOTE] > None of the above settings bypass validation of claims via SAS or Microsoft Entra authentication. The authentication check always runs after the service validates the network checks that are configured by `defaultAction`, `publicNetworkAccess`, `privateEndpointConnections` settings.
service-bus-messaging Transport Layer Security Configure Minimum Version https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/service-bus-messaging/transport-layer-security-configure-minimum-version.md
description: Configure an Azure Service Bus namespace to use a minimum version o
Previously updated : 06/24/2024 Last updated : 10/28/2024
Azure Service Bus namespaces permit clients to send and receive data with TLS 1.
You can configure the minimum TLS version using the Azure portal or Azure Resource Manager (ARM) template. > [!WARNING]
-> As of 31 October 2024, TLS 1.0 and TLS 1.1 will no longer be supported on Azure. [TLS 1.0 and TLS 1.1 end of support announcement](https://azure.microsoft.com/updates/azure-support-tls-will-end-by-31-october-2024-2/) The minimum TLS version will be 1.2 for all Service Bus deployments.
+> As of 28 February 2025, TLS 1.0 and TLS 1.1 will no longer be supported on Azure Service Bus. The minimum TLS version will be 1.2 for all Service Bus deployments.
> [!IMPORTANT] > On 31 October 2024, TLS 1.3 will be enabled for AMQP traffic. TLS 1.3 is already enabled for HTTPS traffic. Java clients may have a problem with TLS 1.3 due to a dependency on an older version of Proton-J. For more details, read [Java client changes to support TLS 1.3 with Azure Service Bus and Azure Event Hubs](https://techcommunity.microsoft.com/t5/messaging-on-azure-blog/java-client-changes-to-support-tls-1-3-with-azure-service-bus/ba-p/4089355)
site-recovery Site Recovery Deployment Planner History https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/site-recovery/site-recovery-deployment-planner-history.md
Title: Azure Site Recovery Deployment Planner Version History description: Known different Site Recovery Deployment Planner Versions fixes and known limitations along with their release dates.- Previously updated : 08/07/2024 Last updated : 10/28/2024 # Azure Site Recovery Deployment Planner Version History
This article provides history of all versions of Azure Site Recovery Deployment
**Fixes:** -- Added support for V2A RCM. Latest version won't support legacy CS, and supports only V2A RCM.
+- Added support for V2A Modernized. Latest version won't support V2A Classic, and supports only V2A Modernized.
- Added support for the following: - Windows 2016/2019/2022 - RHEL 9, Oracle Linux 9, Debian 10 and Debian 11 Linux distros
spring-apps How To Enterprise Deploy Polyglot Apps https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/spring-apps/enterprise/how-to-enterprise-deploy-polyglot-apps.md
The following table lists the features supported in Azure Spring Apps:
| Feature description | Comment | Environment variable | Usage | ||--|--|--|
-| Configure the .NET Core runtime version. | Supports *Net6.0*, *Net7.0*, and *Net8.0*. <br> You can configure through a *runtimeconfig.json* or MSBuild Project file. <br> The default runtime is *6.0.\**. | N/A | N/A |
+| Configure the .NET Core runtime version. | Supports *Net6.0*, and *Net8.0*. <br> You can configure through a *runtimeconfig.json* or MSBuild Project file. <br> The default runtime is *6.0.\**. | N/A | N/A |
| Add CA certificates to the system trust store at build and runtime. | See the [Configure CA certificates for app builds and deployments](./how-to-enterprise-configure-apm-integration-and-ca-certificates.md#configure-ca-certificates-for-app-builds-and-deployments) section of [How to configure APM integration and CA certificates](./how-to-enterprise-configure-apm-integration-and-ca-certificates.md). | N/A | N/A | | Integrate with the Dynatrace and New Relic APM agents. | See [How to configure APM integration and CA certificates](./how-to-enterprise-configure-apm-integration-and-ca-certificates.md). | N/A | N/A | | Enable configuration of labels on the created image. | Configures both OCI-specified labels with short environment variable names and arbitrary labels using a space-delimited syntax in a single environment variable. | `BP_IMAGE_LABELS` <br> `BP_OCI_AUTHORS` <br> See more environment variables [here](https://github.com/paketo-buildpacks/image-labels). | `--build-env BP_OCI_AUTHORS=<value>` |
The following table lists the features supported in Azure Spring Apps:
| Feature description | Comment | Environment variable | Usage | ||--|-|-|
-| Specify the PHP version. | Configures the PHP version. Currently supported: PHP *8.1.\**, *8.2.\**, and *8.3.\**. The default value is *8.1.\** | `BP_PHP_VERSION` | `--build-env BP_PHP_VERSION=8.0.*` |
+| Specify the PHP version. | Configures the PHP version. Currently supported: PHP *8.1.\**, *8.2.\**, and *8.3.\**. The default value is *8.1.\** | `BP_PHP_VERSION` | `--build-env BP_PHP_VERSION=8.1.*` |
| Add CA certificates to the system trust store at build and runtime. | See the [Configure CA certificates for app builds and deployments](./how-to-enterprise-configure-apm-integration-and-ca-certificates.md#configure-ca-certificates-for-app-builds-and-deployments) section of [How to configure APM integration and CA certificates](./how-to-enterprise-configure-apm-integration-and-ca-certificates.md). | N/A | N/A | | Integrate with Dynatrace, New Relic, App Dynamic APM agent. | See [How to configure APM integration and CA certificates](./how-to-enterprise-configure-apm-integration-and-ca-certificates.md). | N/A | N/A | | Select a Web Server. | The setting options are *php-server*, *httpd*, and *nginx*. The default value is *php-server*. | `BP_PHP_SERVER` | `--build-env BP_PHP_SERVER=httpd` |
storage Partner Overview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/storage/solution-integration/validated-partners/primary-secondary-storage/partner-overview.md
This article highlights Microsoft partner companies that deliver a network attac
| Partner | Description | Website/product link | | - | -- | -- | | ![Nasuni.](./media/nasuni-logo.png) |**Nasuni**<br>Nasuni is a file storage platform that replaces enterprise NAS and file servers including the associated infrastructure for Business Continuity and Disaster Recovery and disk tiering. Virtual edge appliances keep files quickly accessible and synchronized with the cloud. The management console lets you manage multiple storage sites from one location including the ability to provision, monitor, control, and report on your file infrastructure. Continuous versioning to the cloud brings file restore times down to minutes.<br><br>Nasuni cloud file storage built on Azure eliminates traditional NAS and file servers across any number of locations and replaces it with a cloud solution. Nasuni cloud file storage provides infinite file storage, backups, disaster recovery, and multi-site file sharing. Nasuni is a software-as-a-service used for data-center-to-the-cloud initiatives, multi-location file synching, sharing and collaboration, and as a cloud storage companion for Virtual Desktop environments.|[Partner page](https://www.nasuni.com/partner/microsoft/)<br>[Azure Marketplace](https://azuremarketplace.microsoft.com/marketplace/apps/nasunicorporation.nasuni)|
-| ![Pure Storage.](./media/pure-logo.png) |**Pure Storage**<br>Pure delivers a modern data experience that empowers organizations to run their operations as a true, automated, storage as-a-service model seamlessly across multiple clouds.|[Partner page](https://www.purestorage.com/company/technology-partners/microsoft.html)<br>[Solution Video](https://azure.microsoft.com/resources/videos/pure-storage-overview)<br>[Azure Marketplace](https://azuremarketplace.microsoft.com/marketplace/apps/purestoragemarketplaceadmin.pure_storage_cloud_block_store_deployment?tab=Overview)|
+| ![Pure Storage.](./media/pure-logo.png) |**Pure Storage**<br>Pure delivers a modern data experience that empowers organizations to run their operations as a true, automated, storage as-a-service model seamlessly across multiple clouds.|[Partner page](https://www.purestorage.com/company/technology-partners/microsoft.html)<br>[Solution Video](https://azure.microsoft.com/resources/videos/pure-storage-overview)<br>[Azure Marketplace](https://azuremarketplace.microsoft.com/en-us/marketplace/apps/purestoragemarketplaceadmin.pure_cloud_block_store_product_deployment?tab=overview)|
| ![Qumulo.](./media/qumulo-logo.png)|**Qumulo**<br>Qumulo is a fast, scalable, and simple to use file system that makes it easy to store, manage, and run applications that use file data at scale on Microsoft Azure. Qumulo on Azure offers multiple petabytes (PB) of storage capacity and up to 20 GB/s of performance per file system. Windows (SMB) and Linux (NFS) are both natively supported. Patented software architecture delivers a low per-terabyte (TB) cost Media & Entertainment, Genomics, Technology, Natural Resources, and Finance companies all run their most demanding workloads on Qumulo in the cloud. With a Net Promoter Score of 89, customers use Qumulo for its scale, performance, and ease of use capabilities like real-time visual insights into how storage is used and award winning Slack based support. Sign up for a free Proof of Concept today through [Azure Marketplace](https://azuremarketplace.microsoft.com/marketplace/apps/qumulo1584033880660.qumulo-saas-mpp) or [Qumulo.com](https://qumulo.com/). | [Partner page](https://qumulo.com/azure/)<br>[Azure Marketplace](https://azuremarketplace.microsoft.com/marketplace/apps/qumulo1584033880660.qumulo-saas-mpp)<br>[Datasheet](https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RWUtF0)| | ![Weka company logo](./media/weka-logo.jpg) |**Weka**<br>The WEKA Data Platform provides a fast, scalable file storage system for AI and HPC workloads in Microsoft Azure. WEKA provides a transformational software-defined approach to data that accelerates storage performance, reduces cloud storage costs, and simplifies data operations across on-premises and cloud environments. For generative AI and enterprise AI applications, customers use WEKA to accelerate large language model tuning and training times from months to hours. In the life sciences industry, major pharmaceutical companies use WEKA to accelerate drug discovery times from weeks to hours. Content production studios rely on WEKA to build their studio in the cloud approach, enabling artists with a low frame loss, zero lag experience. Organizations across many other industries like government and defense, computer aided engineering, electronic design and automation, and financial services all use WEKA to accelerate performance intensive applications and reduce time to market. |[Partner page](https://www.weka.io/data-platform/solutions/cloud/azure/)<br>[Azure Marketplace](https://azuremarketplace.microsoft.com/marketplace/apps/weka1652213882079.weka_data_platform)<br>[Datasheet](https://www.weka.io/resources/datasheet/weka-on-azure-datasheet/)<br>[Performance Benchmark](https://www.weka.io/lp/performance-benchmark-weka-on-azure/)<br>[TCO Study](https://www.weka.io/lp/economic-benefits-of-weka-in-the-cloud/)| | ![Silk company logo.](./media/silk-logo.jpg) |**Silk**<br>The Silk Platform quickly moves mission-critical data to Azure and keeps it operating at performance standards on par with even the fastest on-premises environments. Silk works to ensure a seamless, efficient, and smooth migration process, followed by unparalleled performance speeds for all data and applications in the Azure cloud. The platform makes cloud environments run up to 10x faster and the entire application stack is more resilient to any infrastructure hiccups or malfunctions. |[Partner page](https://silk.us/solutions/azure/)<br>[Azure Marketplace](https://azuremarketplace.microsoft.com/marketplace/apps/silk.silk_cloud_data_platform?tab=overview)|
stream-analytics Stream Analytics Machine Learning Integration Tutorial https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/stream-analytics/stream-analytics-machine-learning-integration-tutorial.md
In this step, you upload a CSV file to your storage container.
Now that the sample data is in a blob, you can enable the sentiment analysis model in Cortana Intelligence Gallery.
-1. Go to the [predictive sentiment analytics model](https://gallery.cortanaintelligence.com/Experiment/Predictive-Mini-Twitter-sentiment-analysis-Experiment-1) page in the Cortana Intelligence Gallery.
+1. Go to the predictive sentiment analytics model page in the Cortana Intelligence Gallery.
2. Select **Open in Studio (classic)**.
time-series-insights Time Series Insights Authentication And Authorization https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/time-series-insights/time-series-insights-authentication-and-authorization.md
Required request headers are described below.
| Authorization | To authenticate with Azure Time Series Insights, a valid OAuth 2.0 Bearer token must be passed in the [Authorization header](/rest/api/apimanagement/current-preview/authorization-server/create-or-update). | > [!TIP]
-> Read the hosted Azure Time Series Insights [client SDK sample visualization](https://tsiclientsample.azurewebsites.net/) to learn how to authenticate with the Azure Time Series Insights APIs programmatically using the [JavaScript Client SDK](https://github.com/microsoft/tsiclient/blob/master/docs/API.md) along with charts and graphs.
+> Read the hosted Azure Time Series Insights client SDK sample visualization to learn how to authenticate with the Azure Time Series Insights APIs programmatically using the [JavaScript Client SDK](https://github.com/microsoft/tsiclient/blob/master/docs/API.md) along with charts and graphs.
Optional request headers are described below.
time-series-insights Time Series Insights Send Events https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/time-series-insights/time-series-insights-send-events.md
In Azure Time Series Insights Gen2, you can add contextual data to incoming tele
[![Copy the value for the primary key connection string](media/send-events/configure-sample-code-connection-string.png)](media/send-events/configure-sample-code-connection-string.png#lightbox)
-1. Navigate to the [TSI Sample Wind Farm Pusher](https://tsiclientsample.azurewebsites.net/windFarmGen.html). The site creates and runs simulated windmill devices.
+1. Navigate to the TSI Sample Wind Farm Pusher. The site creates and runs simulated windmill devices.
1. In the **Event Hub Connection String** box on the webpage, paste the connection string that you copied in the [windmill input field](#push-events-to-windmills-sample). [![Paste the primary key connection string in the Event Hub Connection String box](media/send-events/configure-wind-mill-sim.png)](media/send-events/configure-wind-mill-sim.png#lightbox)
time-series-insights Tutorial Create Populate Tsi Environment https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/time-series-insights/tutorial-create-populate-tsi-environment.md
In this tutorial, you learned how to:
Now that you know how to create your own Azure Time Series Insights environment, learn how to build a web application that consumes data from an Azure Time Series Insights environment: > [!div class="nextstepaction"]
-> [Read hosted client SDK visualization samples](https://tsiclientsample.azurewebsites.net/)
+> Read hosted client SDK visualization samples
update-manager Scheduled Patching https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/update-manager/scheduled-patching.md
Title: Scheduling recurring updates in Azure Update Manager description: This article details how to use Azure Update Manager to set update schedules that install recurring updates on your machines. Previously updated : 06/24/2024 Last updated : 10/28/2024
virtual-desktop App Attach Test Msix Packages https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/virtual-desktop/app-attach-test-msix-packages.md
You create a script for each phase:
## Use packages offline
-If you're using packages from the [Microsoft Store for Business](https://businessstore.microsoft.com/) or the [Microsoft Store for Education](https://educationstore.microsoft.com/) on devices that aren't connected to the internet, you need to get the package licenses from the Microsoft Store and install them on your device to successfully run the app. If your device is online and can connect to the Microsoft Store for Business, the required licenses should download automatically, but if you're offline, you need to set up the licenses manually.
+If you're using packages on devices that aren't connected to the internet, you need to make sure the package licenses are installed on your device to successfully run the app. If your device is online, the required licenses should download automatically.
To install the license files, you need to use a PowerShell script that calls the `MDM_EnterpriseModernAppManagement_StoreLicenses02_01` class in the WMI Bridge Provider.
virtual-desktop Session Host Update Configure https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/virtual-desktop/session-host-update-configure.md
Last updated 10/01/2024
-# Update session hosts in host pool with a session host configuration using session host update in Azure Virtual Desktop (preview)
+# Update session hosts using session host update in Azure Virtual Desktop (preview)
> [!IMPORTANT] > Session host update for Azure Virtual Desktop is currently in PREVIEW. This limited preview is provided as-is, with all faults and as available, and are excluded from the service-level agreements (SLAs) or any limited warranties Microsoft provides for Azure services in general availability. To register for the limited preview, complete this form: [https://forms.office.com/r/ZziQRGR1Lz](https://forms.office.com/r/ZziQRGR1Lz).
virtual-desktop Set Up Golden Image https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/virtual-desktop/set-up-golden-image.md
When you are done installing your applications to the image VM, take a final sna
Some optional things you can do before running Sysprep: - Reboot once - Clean up temp files in system storage-- Optimize drivers (defrag)
+- Optimize drives (defrag)
- Remove any user profiles - Generalize the VM by running [sysprep](/azure/virtual-machines/generalize)
virtual-desktop Whats New Sxs https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/virtual-desktop/whats-new-sxs.md
Here's information about the SxS Network Stack.
In this release, we've made the following changes: -- [HVEC preview](whats-new.md#enabling-hevc-gpu-acceleration-for-azure-virtual-desktop-is-now-in-preview) support.-- Addressed an issue in the RemoteApp scenario that could cause the text highlight color in the File ExplorerΓÇÖs address bar to appear incorrectly.
+- Support for the [preview of graphics encoding with HEVC/H.265](whats-new.md#enabling-hevc-gpu-acceleration-for-azure-virtual-desktop-is-now-in-preview).
+- Addressed an issue when using a RemoteApp that could cause the text highlight color in the File Explorer's address bar to appear incorrectly.
## Version 1.0.2404.16760
virtual-network Accelerated Networking Overview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/virtual-network/accelerated-networking-overview.md
Unmanaged=yes
EOF ``` ++ #### Network traffic uses the Accelerated Networking data path For NVIDIA drivers: Verify that the packets are flowing over the VF interface
virtual-wan About Virtual Hub Routing https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/virtual-wan/about-virtual-hub-routing.md
Previously updated : 01/09/2024 Last updated : 09/26/2024
A virtual hub route table can contain one or more routes. A route includes its n
### <a name= "hub-route"></a> Hub routing intent and policies
-Routing Intent and Routing policies allow you to configure your Virtual WAN hub to send Internet-bound and Private (Point-to-site, Site-to-site, ExpressRoute, Network Virtual Appliances inside the Virtual WAN Hub and Virtual Network) Traffic via an Azure Firewall, Next-Generation Firewall NVA or software-as-a-service solution deployed in the Virtual WAN hub. There are two types of Routing Policies: Internet Traffic and Private Traffic Routing Policies. Each Virtual WAN Hub can have, at most, one Internet Traffic Routing Policy and one Private Traffic Routing Policy, each with a Next Hop resource.
+Routing Intent and Routing policies allow you to configure your Virtual WAN hub to send Internet-bound and Private (Point-to-site, Site-to-site, ExpressRoute, Network Virtual Appliances inside the Virtual WAN Hub and virtual network) Traffic via an Azure Firewall, Next-Generation Firewall NVA or software-as-a-service solution deployed in the Virtual WAN hub. There are two types of Routing Policies: Internet Traffic and Private Traffic Routing Policies. Each Virtual WAN hub can have, at most, one Internet Traffic Routing Policy and one Private Traffic Routing Policy, each with a Next Hop resource.
+While Private Traffic includes both branch and virtual network address prefixes, Routing Policies considers them as one entity within the Routing Intent concepts.
-While Private Traffic includes both branch and Virtual Network address prefixes, Routing Policies considers them as one entity within the Routing Intent concepts.
+* **Internet Traffic Routing Policy**: When an Internet Traffic Routing Policy is configured on a Virtual WAN hub, all branch (User VPN (Point-to-site VPN), Site-to-site VPN and ExpressRoute), and virtual network connections to that Virtual WAN hub will forward Internet-bound traffic to the Azure Firewall resource or a third-party security provider specified as part of the routing policy.
-* **Internet Traffic Routing Policy**: When an Internet Traffic Routing Policy is configured on a Virtual WAN hub, all branch (User VPN (Point-to-site VPN), Site-to-site VPN and ExpressRoute) and Virtual Network connections to that Virtual WAN Hub will forward Internet-bound traffic to the Azure Firewall resource or Third-Party Security provider specified as part of the Routing Policy.
-
-* **Private Traffic Routing Policy**: When a Private Traffic Routing Policy is configured on a Virtual WAN hub, **all** branch and Virtual Network traffic in and out of the Virtual WAN Hub including inter-hub traffic will be forwarded to the Next Hop Azure Firewall resource that was specified in the Private Traffic Routing Policy.
+* **Private Traffic Routing Policy**: When a Private Traffic Routing Policy is configured on a Virtual WAN hub, **all** branch and virtual network traffic in and out of the Virtual WAN hub including inter-hub traffic will be forwarded to the Next Hop Azure Firewall resource that was specified in the Private Traffic Routing Policy.
-For more information on how to configure Routing Intent and Policies please view the following [document](how-to-routing-policies.md).
+For more information, see [How to configure Virtual WAN hub routing intent and routing policies](how-to-routing-policies.md).
### <a name="connection"></a>Connections
You can set up the routing configuration for a virtual network connection during
### <a name="association"></a>Association
-Each connection is associated to one route table. Associating a connection to a route table allows the traffic (from that connection) to be sent to the destination indicated as routes in the route table. The routing configuration of the connection shows the associated route table. Multiple connections can be associated to the same route table. All VPN, ExpressRoute, and User VPN connections are associated to the same (default) route table.
+Each connection is associated to one route table. Associating a connection to a route table allows the traffic (from that connection) to be sent to the destination indicated as routes in the route table. The routing configuration of the connection shows the associated route table. Multiple connections can be associated to the same route table. All VPN, ExpressRoute, and User VPN connections are associated to the same (default) route table.
-By default, all connections are associated to a **Default route table** in a virtual hub. Each virtual hub has its own Default route table, which can be edited to add a static route(s). Routes added statically take precedence over dynamically learned routes for the same prefixes.
+By default, all connections are associated to a **Default route table** in a virtual hub. Each virtual hub has its own Default route table, which can be edited to add a static route or routes. Routes added statically take precedence over dynamically learned routes for the same prefixes.
:::image type="content" source="./media/about-virtual-hub-routing/concepts-association.png" alt-text="Diagram shows Association." lightbox="./media/about-virtual-hub-routing/concepts-association.png":::
A **None route table** is also available for each virtual hub. Propagating to th
### <a name="labels"></a>Labels
-Labels provide a mechanism to logically group route tables. This is especially helpful during propagation of routes from connections to multiple route tables. For example, the **Default Route Table** has a built-in label called 'Default'. When users propagate connection routes to 'Default' label, it automatically applies to all the Default Route Tables across every hub in the Virtual WAN.
+Labels provide a mechanism to logically group route tables. This is especially helpful during propagation of routes from connections to multiple route tables. For example, the **Default Route Table** has a built-in label called 'Default'. When users propagate connection routes to 'Default' label, it automatically applies to all the Default Route Tables across every hub in the virtual WAN.
-If no label is specified in the list of labels that a VNet connection is propagating to, then the Vnet connection will automatically propagate to the 'Default' label.
+If no label is specified in the list of labels that a virtual network connection is propagating to, then the virtual network connection will automatically propagate to the 'Default' label.
### <a name="static"></a>Configuring static routes in a virtual network connection
-Configuring static routes provides a mechanism to steer traffic from the hub through a next hop IP, which could be of a Network Virtual Appliance (NVA) provisioned in a Spoke VNet attached to a virtual hub. The static route is composed of a route name, list of destination prefixes, and a next hop IP.
+Configuring static routes provides a mechanism to steer traffic from the hub through a next hop IP, which could be of a Network Virtual Appliance (NVA) provisioned in a Spoke virtual network attached to a virtual hub. The static route is composed of a route name, list of destination prefixes, and a next hop IP.
### <a name="delete-route"></a>Deleting static routes
To delete a static route, the route must be deleted from the route table that it
## <a name="route"></a>Route tables for pre-existing routes
-Route tables now have features for association and propagation. A pre-existing route table is a route table that doesn't have these features. If you have pre-existing routes in hub routing and would like to use the new capabilities, consider the following:
+Route tables now have features for association and propagation. A pre-existing route table is a route table that doesn't have these features. If you have pre-existing routes in hub routing and would like to use the new capabilities, consider the following items:
-* **Standard Virtual WAN Customers with pre-existing routes in virtual hub**:
+* **Standard virtual WAN with pre-existing routes in a virtual hub**:
- If you have pre-existing routes in Routing section for the hub in Azure portal, you'll need to first delete them and then attempt creating new route tables (available in the Route Tables section for the hub in Azure portal).
+ If you have pre-existing routes in Routing section for the hub in the Azure portal, you need to first delete them, and then attempt to create new route tables (available in the Route Tables section for the hub in Azure portal).
-* **Basic Virtual WAN Customers with pre-existing routes in virtual hub**:
+* **Basic virtual WAN with pre-existing routes in a virtual hub**:
- If you have pre-existing routes in Routing section for the hub in Azure portal, you'll need to first delete them, then **upgrade** your Basic Virtual WAN to Standard Virtual WAN. See [Upgrade a virtual WAN from Basic to Standard](upgrade-virtual-wan.md).
+ If you have pre-existing routes in Routing section for the hub in Azure portal, you need to first delete them, then **upgrade** your Basic virtual WAN to a Standard virtual WAN. See [Upgrade a virtual WAN from Basic to Standard](upgrade-virtual-wan.md).
## <a name="reset"></a>Hub reset
-Virtual hub **Reset** is available only in the Azure portal. Resetting provides you with a way to bring any failed resources such as route tables, hub router, or the virtual hub resource itself back to its rightful provisioning state. Consider resetting the hub prior to contacting Microsoft for support. This operation doesn't reset any of the gateways in a virtual hub.
+Virtual hub **Reset** is available only in the Azure portal. Resetting provides you with a way to bring any failed resources such as route tables, hub router, or the virtual hub resource itself back to its rightful provisioning state. Consider resetting the hub before contacting Microsoft for support. This operation doesn't reset any of the gateways in a virtual hub.
## <a name="considerations"></a>Additional considerations
-Consider the following when configuring Virtual WAN routing:
+Consider the following items when configuring Virtual WAN routing:
-* All branch connections (Point-to-site, Site-to-site, and ExpressRoute) need to be associated to the Default route table. That way, all branches will learn the same prefixes.
+* All branch connections (Point-to-site, Site-to-site, and ExpressRoute) need to be associated to the Default route table. That way, all branches learn the same prefixes.
* All branch connections need to propagate their routes to the same set of route tables. For example, if you decide that branches should propagate to the Default route table, this configuration should be consistent across all branches. As a result, all connections associated to the Default route table will be able to reach all of the branches. * When you use Azure Firewall in multiple regions, all spoke virtual networks must be associated to the same route table. For example, having a subset of the VNets going through the Azure Firewall while other VNets bypass the Azure Firewall in the same virtual hub isn't possible.
-* You can specify multiple next hop IP addresses on a single Virtual Network connection. However, Virtual Network Connection doesn't support ΓÇÿmultiple/uniqueΓÇÖ next hop IP to the ΓÇÿsameΓÇÖ network virtual appliance in a SPOKE Virtual Network 'if' one of the routes with next hop IP is indicated to be public IP address or 0.0.0.0/0 (internet)
+* You can specify multiple next hop IP addresses on a single virtual network connection. However, a virtual network connection doesn't support ΓÇÿmultiple/uniqueΓÇÖ next hop IP to the ΓÇÿsameΓÇÖ network virtual appliance in a spoke virtual network 'if' one of the routes with next hop IP is indicated to be public IP address or 0.0.0.0/0 (internet)
* All information pertaining to 0.0.0.0/0 route is confined to a local hub's route table. This route doesn't propagate across hubs. * You can only use Virtual WAN to program routes in a spoke if the prefix is shorter (less specific) than the virtual network prefix. For example, in the diagram above the spoke VNET1 has the prefix 10.1.0.0/16: in this case, Virtual WAN wouldn't be able to inject a route that matches the virtual network prefix (10.1.0.0/16) or any of the subnets (10.1.0.0/24, 10.1.1.0/24). In other words, Virtual WAN can't attract traffic between two subnets that are in the same virtual network.
-* While it's true that 2 hubs on the same virtual WAN will announce routes to each other (as long as the propagation is enabled to the same labels), this only applies to dynamic routing. Once you define a static route, this isn't the case.
+* While it's true that two hubs on the same virtual WAN announce routes to each other (as long as the propagation is enabled to the same labels), this only applies to dynamic routing. Once you define a static route, this isn't the case.
+* When configuring static routes, don't use the hub router IPs as the next hop.
## Next steps * To configure routing, see [How to configure virtual hub routing](how-to-virtual-hub-routing.md).
-* For more information about Virtual WAN, see the [FAQ](virtual-wan-faq.md).
--
+* For more information about Virtual WAN, see the [FAQ](virtual-wan-faq.md).