Skip to content

Commit 2cad08c

Browse files
Merge pull request #314546 from Xelu86/webappconf
[Update] Configure the control plane web application
2 parents 79a6479 + 77f7b66 commit 2cad08c

1 file changed

Lines changed: 84 additions & 56 deletions

File tree

Lines changed: 84 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,39 @@
11
---
2-
title: Configure a Deployer Web Application for SAP on Azure Deployment Automation Framework
3-
description: Configure a web app as a part of the control plane to help creating and deploying SAP workload zones and systems on Azure.
2+
title: Configure the control plane web application for SAP Deployment Automation Framework
3+
description: Configure a web app as part of the control plane to help create and deploy SAP workload zones and systems on Azure.
44
author: akashdubey-ms
55
ms.author: akashdubey
66
ms.reviewer: wsheehan
7-
ms.date: 10/19/2022
8-
ms.topic: concept-article
7+
ms.date: 04/09/2026
8+
ms.topic: how-to
99
ms.service: sap-on-azure
1010
ms.subservice: sap-automation
1111
ms.custom: devx-track-azurecli
1212
# Customer intent: As a cloud architect, I want to configure a web application for the SAP automation framework, so that I can streamline the creation and deployment of SAP workload zones and systems on Azure using both the web interface and automation pipelines.
1313
---
1414

15-
# Configure the Control Plane Web Application credentials
15+
# Configure the control plane web application
1616

17-
As a part of the SAP automation framework control plane, you can optionally create an interactive web application that assists you in creating the required configuration files and deploying SAP workload zones and systems using Azure Pipelines.
17+
As part of the [SAP Deployment Automation Framework](deployment-framework.md) control plane, you can optionally create an interactive web application that assists you in creating the required configuration files. You can also deploy the SAP workload zones and systems by using Azure Pipelines.
1818

19-
:::image type="content" source="./media/deployment-framework/webapp-front-page.png" alt-text="Web app front page":::
19+
The web app provides a visual interface for generating Terraform configuration files and triggering deployments, so you don't need to work with the CLI or edit parameter files manually.
2020

21+
:::image type="content" source="./media/deployment-framework/webapp-front-page.png" alt-text="Screenshot of the front page of the SAP Deployment Automation Framework web application.":::
22+
23+
## Prerequisites
24+
25+
- An Azure subscription. If you don't have an Azure subscription, you can [create a free account](https://azure.microsoft.com/pricing/purchase-options/azure-account?cid=msft_learn).
26+
- Access to [Azure Cloud Shell](/azure/cloud-shell/overview) or a local installation of [Azure CLI](/cli/azure/install-azure-cli).
27+
- For Azure Pipelines deployment, you need an Azure DevOps organization with the SAP automation pipelines configured properly. For more information, see [Use SAP on Azure Deployment Automation Framework from Azure DevOps Services](configure-devops.md).
2128

2229
## Create an app registration
2330

24-
If you would like to use the web app, you must first create an app registration for authentication purposes. Open the Azure Cloud Shell and execute the following commands:
31+
To use the web app, you must first create an app registration for authentication purposes. Open Azure Cloud Shell and run the following commands.
2532

2633
# [Linux](#tab/linux)
27-
Replace MGMT with your environment as necessary.
34+
35+
Replace `MGMT` with your environment as necessary.
36+
2837
```bash
2938
echo '[{"resourceAppId":"00000003-0000-0000-c000-000000000000","resourceAccess":[{"id":"e1fe6dd8-ba31-4d61-89e7-88639da4683d","type":"Scope"}]}]' >> manifest.json
3039

@@ -40,12 +49,15 @@ TF_VAR_webapp_client_secret=$(az ad app credential reset \
4049
--query "password" | tr -d '"')
4150

4251
echo "App registration ID: ${TF_VAR_app_registration_app_id}"
43-
echo "App registration password: ${TF_VAR_app_registration_app_id}"
52+
echo "App registration password: ${TF_VAR_webapp_client_secret}"
4453

4554
rm manifest.json
4655
```
56+
4757
# [Windows](#tab/windows)
48-
Replace MGMT with your environment as necessary.
58+
59+
Replace `MGMT` with your environment as necessary.
60+
4961
```powershell
5062
Add-Content -Path manifest.json -Value '[{"resourceAppId":"00000003-0000-0000-c000-000000000000","resourceAccess":[{"id":"e1fe6dd8-ba31-4d61-89e7-88639da4683d","type":"Scope"}]}]'
5163
@@ -63,74 +75,90 @@ $TF_VAR_webapp_client_secret=(az ad app credential reset `
6375
Write-Host "App registration ID: $TF_VAR_app_registration_app_id"
6476
Write-Host "App registration password: $TF_VAR_webapp_client_secret"
6577
66-
rm ./manifest.json
78+
rm manifest.json
6779
```
80+
6881
---
6982

7083
Persist the values in the control plane variable group for later use.
7184

72-
73-
7485
| Variable name | Value | Note |
7586
| -------------------------------- | ------------------------------------------- | -------------- |
7687
| `APP_REGISTRATION_APP_ID` | App registration ID from last step | |
7788
| `WEB_APP_CLIENT_SECRET` | App registration password from last step | Mark as secret |
7889

90+
## Deploy by using Azure Pipelines
91+
92+
For full instructions on setting up the web app by using Azure DevOps, see [Use SAP on Azure Deployment Automation Framework from Azure DevOps Services](configure-devops.md).
7993

80-
## Deploy via Azure Pipelines
94+
### Summary of steps
8195

82-
For full instructions on setting up the web app using Azure DevOps, see [Use SAP on Azure Deployment Automation Framework from Azure DevOps Services](configure-devops.md)
96+
After deploying the control plane, complete the following steps to access the web app:
8397

84-
### Summary of steps required to access the web app after deploying the control plane:
8598
1. Update the app registration reply URLs.
86-
2. Assign the reader role with the subscription scope to the app service system assigned managed identity.
87-
3. Run the web app deployment pipeline.
88-
4. (Optionally) add another access policy to the app service.
99+
1. Assign the **Reader** role with the subscription scope to the App Service system-assigned managed identity.
100+
1. Run the web app deployment pipeline.
101+
1. (Optional) Add another access policy to the app service.
102+
103+
## Deploy by using Azure CLI (Cloud Shell)
104+
105+
For full instructions on setting up the web app by using the Azure CLI, see [Deploy the control plane](deploy-control-plane.md).
106+
107+
## Access the web app
108+
109+
By default, there's no inbound public internet access to the web app apart from the deployer virtual network. To allow other access to the web app, go to the Azure portal. In the deployer resource group, find the web app. Then under **Settings** on the left side, select **Networking**. From here, select **Access restriction**. Add any allow or deny rules you need. For more information about configuring access restrictions, see [Set up Azure App Service access restrictions](../../app-service/app-service-ip-restrictions.md).
110+
111+
You also need to grant **Reader** permissions to the App Service system-assigned managed identity:
112+
113+
1. Go to the App Service resource.
114+
1. On the left side, select **Identity**.
115+
1. In the **System assigned** tab, select **Azure role assignments** > **Add role assignment**.
116+
1. Select **Subscription** as the scope, and **Reader** as the role.
117+
1. Select **Save**.
118+
119+
Without this step, the web app dropdown functionality doesn't work.
89120

90-
## Deploy via Azure CLI (Cloud Shell)
121+
Sign in and visit the web app by following the URL from earlier or selecting **Browse** inside the App Service resource. With the web app, you can configure SAP workload zones and system infrastructure. Select **Download** to get a parameter file of the workload zone or system you specified, for use in later deployment steps.
91122

92-
For full instructions on setting up the web app using the Azure CLI, see [Deploy the control plane](deploy-control-plane.md)
123+
## Use the web app
93124

94-
## Accessing the web app
125+
The web app allows you to create SAP workload zone objects and system infrastructure objects. These objects are another representation of the Terraform configuration file.
95126

96-
By default there's no inbound public internet access to the web app apart from the deployer virtual network. To allow other access to the web app, navigate to the Azure portal. In the deployer resource group, find the web app. Then under settings on the left hand side, select networking. From here, select Access restriction. Add any allow or deny rules you would like. For more information on configuring access restrictions, see [Set up Azure App Service access restrictions](../../app-service/app-service-ip-restrictions.md).
127+
If you're deploying by using Azure Pipelines, you can deploy these workload zones and system infrastructures directly from the web app. If you're deploying by using the Azure CLI, you can download the parameter file for any landscape or system object you create and use it in your command-line deployments.
97128

98-
You'll also need to grant reader permissions to the app service system-assigned managed identity. Navigate to the app service resource. On the left hand side, select "Identity In the "system assigned" tab, select on "Azure role assignments" > "Add role assignment." Select "subscription" as the scope, and "reader" as the role. Then select save. Without this step, the web app dropdown functionality won't work.
99-
".
129+
### Create a landscape or system object from scratch
100130

101-
You can sign in and visit the web app by following the URL from earlier or selecting browse inside the app service resource. With the web app, you're able to configure SAP workload zones and system infrastructure. Select download to obtain a parameter file of the workload zone or system you specified, for use in the later deployment steps.
131+
1. Go to the **Workload zones** or **Systems** tab at the top of the website.
132+
1. Select **Create New** in the bottom-left corner.
133+
1. Fill out the required parameters in the **Basic** and **Advanced** tabs, and any other parameters you need.
134+
1. Certain parameters are dropdowns populated with existing Azure resources.
135+
- If a dropdown shows no results, you might need to specify another dropdown before you can see any options. Or, see the earlier step about the system-assigned managed identity.
136+
- Specify the `subscription` parameter to enable the other dropdown options.
137+
- Specify the `network_arm_id` parameter to enable the subnet dropdown options.
138+
1. Select **Submit** in the bottom-left corner.
102139

140+
### Create a workload zone or system object from a file
103141

104-
## Using the web app
142+
1. Go to the **File** tab at the top of the website.
143+
1. Your options are:
144+
- Create a new file from scratch in the browser.
145+
- Import an existing `tfvars` file, and optionally edit it before saving.
146+
- Use an existing template, and optionally edit it before saving.
147+
1. Make sure your file conforms to the correct naming conventions.
148+
1. Next to the file you want to convert to a workload zone or system object, select **Convert**.
149+
1. The workload zone or system object appears in its respective tab.
105150

106-
The web app allows you to create SAP workload zone objects and system infrastructure objects. These objects are essentially another representation of the Terraform configuration file.
107-
If deploying using Azure Pipelines, you have ability to deploy these workload zones and system infrastructures right from the web app.
108-
If deploying using the Azure CLI, you can download the parameter file for any landscape or system object you create, and use that in your command line deployments.
151+
### Deploy a workload zone or system object (Azure Pipelines deployment)
109152

110-
### Creating a landscape or system object from scratch
111-
1. Navigate to the "Workload zones" or "Systems" tab at the top of the website.
112-
2. Select "Create New" in the bottom left corner.
113-
3. Fill out the required parameters in the "Basic" and "Advanced" tabs, and any other parameters you desire.
114-
4. Certain parameters are dropdowns populated with existing Azure resources.
115-
* If no results are shown for a dropdown, you probably need to specify another dropdown before you can see any options. Or, see step 2 above regarding the system assigned managed identity.
116-
- The subscription parameter must be specified before any other dropdown functionality is enabled
117-
- The network_arm_id parameter must be specified before any subnet dropdown functionality is enabled
118-
5. Select submit in the bottom left hand corner
153+
1. Go to the **Workload zones** or **Systems** tab.
154+
1. Next to the workload zone or system you want to deploy, select **Deploy**.
155+
- If you want to deploy a file, first convert it to a workload zone or system object.
156+
1. Specify the necessary parameters, and confirm it's the correct object.
157+
1. Select **Deploy**.
158+
1. The web app generates a `tfvars` file from the object, updates your Azure DevOps repository, and starts the workload zone or system infrastructure pipeline. You can monitor the deployment in the Azure DevOps portal.
119159

120-
### Creating a workload zone or system object from a file
121-
1. Navigate to the "File" tab at the top of the website.
122-
2. Your options are
123-
* Create a new file from scratch there in browser.
124-
* Import an existing.tfvars file, and (optionally) edit it before saving.
125-
* Use an existing template, and (optionally) edit it before saving.
126-
3. Make sure your file conforms to the correct naming conventions.
127-
4. Next to the file you would like to convert to a workload zone or system object, select "Convert."
128-
5. The workload zone or system object appears in its respective tab.
160+
## Related content
129161

130-
### Deploying a workload zone or system object (Azure Pipelines deployment)
131-
1. Navigate to the Workload zones or Systems tab.
132-
2. Next to the workload zone or system you would like to deploy, select "Deploy."
133-
* If you would like to deploy a file, first convert it to a workload zone or system object.
134-
3. Specify the necessary parameters, and confirm it's the correct object.
135-
4. Select deploy.
136-
5. The web app generates a 'tfvars' file from the object, updates your Azure DevOps repository, and kicks off the workload zone or system (infrastructure) pipeline. You can monitor the deployment in the Azure DevOps Portal.
162+
- [SAP Deployment Automation Framework overview](deployment-framework.md)
163+
- [Deploy the control plane](deploy-control-plane.md)
164+
- [Use SAP on Azure Deployment Automation Framework from Azure DevOps Services](configure-devops.md)

0 commit comments

Comments
 (0)