You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -43,71 +43,94 @@ Optionally, assign the following permissions to the service principal:
43
43
az role assignment create --assignee <appId> --role "User Access Administrator" --scope /subscriptions/<subscriptionID>/resourceGroups/<resourceGroupName>
44
44
```
45
45
46
-
## Prepare the web app
47
-
This step is optional. If you want a browser-based UX to help the configuration of SAP workload zones and systems, run the following commands before you deploy the control plane.
The sample deployer configuration file `MGMT-WEEU-DEP00-INFRASTRUCTURE.tfvars` is located in the `~/Azure_SAP_Automated_Deployment/samples/Terraform/WORKSPACES/DEPLOYER/MGMT-WEEU-DEP00-INFRASTRUCTURE` folder.
The sample SAP library configuration file `MGMT-WEEU-SAP_LIBRARY.tfvars` is located in the `~/Azure_SAP_Automated_Deployment/samples/Terraform/WORKSPACES/LIBRARY/MGMT-WEEU-SAP_LIBRARY` folder.
76
66
77
-
$region_code="WEEU"
67
+
You can copy the sample configuration files to start testing the deployment automation framework.
78
68
79
-
$env:TF_VAR_app_registration_app_id = (az ad app create `
80
-
--display-name $region_code-webapp-registration `
81
-
--required-resource-accesses ./manifest.json `
82
-
--query "appId").Replace('"',"")
69
+
A minimal Terraform file for the `DEPLOYER` might look like this example:
83
70
84
-
$env:TF_VAR_webapp_client_secret=(az ad app credential reset `
# deployer_enable_public_ip controls if the deployer Virtual machines will have Public IPs
91
+
deployer_enable_public_ip = false
92
+
93
+
# deployer_count defines how many deployer VMs will be deployed
94
+
deployer_count = 1
95
+
96
+
# use_service_endpoint defines that the management subnets have service endpoints enabled
97
+
use_service_endpoint = true
98
+
99
+
# use_private_endpoint defines that the storage accounts and key vaults have private endpoints enabled
100
+
use_private_endpoint = false
101
+
102
+
# enable_firewall_for_keyvaults_and_storage defines that the storage accounts and key vaults have firewall enabled
103
+
enable_firewall_for_keyvaults_and_storage = false
104
+
105
+
# public_network_access_enabled controls if storage account and key vaults have public network access enabled
106
+
public_network_access_enabled = true
91
107
92
108
```
93
109
94
-
# [Azure DevOps](#tab/devops)
110
+
Note the Terraform variable file locations for future edits during deployment.
95
111
96
-
Currently, it isn't possible to perform this action from Azure DevOps.
112
+
A minimal Terraform file for the `LIBRARY` might look like this example:
97
113
98
-
---
114
+
```terraform
115
+
# The environment value is a mandatory field, it is used for partitioning the environments, for example, PROD and NP.
116
+
environment = "MGMT"
117
+
# The location/region value is a mandatory field, it is used to control where the resources are deployed
118
+
location = "westeurope"
99
119
100
-
## Deploy the control plane
120
+
#Defines the DNS suffix for the resources
121
+
dns_label = "azure.contoso.net"
101
122
102
-
The sample deployer configuration file `MGMT-WEEU-DEP00-INFRASTRUCTURE.tfvars` is located in the `~/Azure_SAP_Automated_Deployment/samples/Terraform/WORKSPACES/DEPLOYER/MGMT-WEEU-DEP00-INFRASTRUCTURE` folder.
123
+
# use_private_endpoint defines that the storage accounts and key vaults have private endpoints enabled
124
+
use_private_endpoint = false
125
+
```
103
126
104
-
The sample SAP library configuration file `MGMT-WEEU-SAP_LIBRARY.tfvars` is located in the `~/Azure_SAP_Automated_Deployment/samples/Terraform/WORKSPACES/LIBRARY/MGMT-WEEU-SAP_LIBRARY` folder.
105
127
106
-
Run the following command to create the deployer and the SAP library. The command adds the service principal details to the deployment key vault. If you followed the web app setup in the previous step, this command also creates the infrastructure to host the application.
128
+
Note the Terraform variable file locations for future edits during deployment.
129
+
130
+
Run the following command to create the deployer and the SAP library. The command adds the service principal details to the deployment key vault.
107
131
108
132
# [Linux](#tab/linux)
109
133
110
-
You can copy the sample configuration files to start testing the deployment automation framework.
111
134
112
135
Run the following command to deploy the control plane:
@@ -163,7 +188,7 @@ You can track the progress in the Azure DevOps portal. After the deployment is f
163
188
164
189
---
165
190
166
-
### Manually configure the deployer by using Azure Bastion
191
+
### Manually configure a virtual machine as a SDAF deployer by using Azure Bastion
167
192
168
193
To connect to the deployer:
169
194
@@ -204,7 +229,7 @@ cd sap-automation/deploy/scripts
204
229
205
230
The script installs Terraform and Ansible and configures the deployer.
206
231
207
-
### Manually configure the deployer
232
+
### Manually configure a virtual machine as a SDAF deployer
208
233
209
234
Connect to the deployer VM from a computer that can reach the Azure virtual network.
210
235
@@ -251,6 +276,116 @@ cd sap-automation/deploy/scripts
251
276
252
277
The script installs Terraform and Ansible and configures the deployer.
253
278
279
+
## Securing the control plane
280
+
281
+
The control plane is the most critical part of the SAP automation framework. It's important to secure the control plane. The following steps help you secure the control plane.
282
+
If you have created your control plane using an external virtual machine or by using the cloud shell, you should secure the control plane by implementing private endpoints for the storage accounts and key vaults.
283
+
284
+
Log on to the deployer virtual machine and copy the control plane configuration `tfvars` terraform files to the deployer. Ensure that the files are located in the `~/Azure_SAP_Automated_Deployment/WORKSPACES` DEPLOYER and LIBRARY folders.
285
+
286
+
Ensure that the `use_private_endpoint` variable is set to `true` in the `DEPLOYER` and `LIBRARY` configuration files. Also ensure that `public_network_access_enabled` is set to `false` in the `DEPLOYER` configuration files.
287
+
288
+
```terraform
289
+
290
+
# use_private_endpoint defines that the storage accounts and key vaults have private endpoints enabled
291
+
use_private_endpoint = true
292
+
293
+
# public_network_access_enabled controls if storage account and key vaults have public network access enabled
294
+
public_network_access_enabled = false
295
+
296
+
```
297
+
298
+
Rerun the control plane deployment to enable private endpoints for the storage accounts and key vaults.
This step is optional. If you want a browser-based UX to help the configuration of SAP workload zones and systems, run the following commands before you deploy the control plane.
0 commit comments