WARNING: THIS SITE IS A MIRROR OF GITHUB.COM / IT CANNOT LOGIN OR REGISTER ACCOUNTS / THE CONTENTS ARE PROVIDED AS-IS / THIS SITE ASSUMES NO RESPONSIBILITY FOR ANY DISPLAYED CONTENT OR LINKS / IF YOU FOUND SOMETHING MAY NOT GOOD FOR EVERYONE, CONTACT ADMIN AT ilovescratch@foxmail.com
Skip to content

Commit d6fbbfa

Browse files
authored
Merge pull request #717 from alan-turing-institute/decovid-redeploy
Deployment fixes
2 parents ccfa08a + 53b310e commit d6fbbfa

File tree

4 files changed

+37
-2
lines changed

4 files changed

+37
-2
lines changed

deployment/safe_haven_management_environment/remote/create_dc/scripts/Active_Directory_Configuration.ps1

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,11 @@ $acl.AddAccessRule((New-Object System.DirectoryServices.ActiveDirectoryAccessRul
175175
$success = $success -and $?
176176
$acl.AddAccessRule((New-Object System.DirectoryServices.ActiveDirectoryAccessRule $adsyncSID, "WriteProperty", "Allow", $guidmap["pwdLastSet"], "Descendents", $guidmap["user"]))
177177
$success = $success -and $?
178+
# Allow the localadsync account to write the mS-DS-ConsistencyGuid extended property (used as an anchor) on all descendent user objects
179+
$acl.AddAccessRule((New-Object System.DirectoryServices.ActiveDirectoryAccessRule $adsyncSID, "WriteProperty", "Allow", $guidmap["mS-DS-ConsistencyGuid"], "Descendents", $guidmap["user"]))
180+
$success = $success -and $?
181+
$acl.AddAccessRule((New-Object System.DirectoryServices.ActiveDirectoryAccessRule $adsyncSID, "WriteProperty", "Allow", $guidmap["msDS-KeyCredentialLink"], "Descendents", $guidmap["user"]))
182+
$success = $success -and $?
178183
# Set the ACL properties
179184
Set-ACL -ACLObject $acl -Path "AD:\${domainou}"
180185
$success = $success -and $?

deployment/secure_research_environment/arm_templates/sre-vnet-gateway-template.json

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@
1717
"Subnet-Data Address Prefix": {
1818
"type": "string"
1919
},
20+
"Subnet-Databases Address Prefix": {
21+
"type": "string"
22+
},
2023
"Subnet-Identity Name": {
2124
"type": "string"
2225
},
@@ -26,6 +29,9 @@
2629
"Subnet-Data Name": {
2730
"type": "string"
2831
},
32+
"Subnet-Databases Name": {
33+
"type": "string"
34+
},
2935
"VNET_DNS_DC1": {
3036
"type": "string"
3137
},
@@ -48,7 +54,7 @@
4854
},
4955
"dhcpOptions": {
5056
"dnsServers": [
51-
"[parameters('VNET_DNS_DC1')]",
57+
"[parameters('VNET_DNS_DC1')]",
5258
"[parameters('VNET_DNS_DC2')]"
5359
]
5460
},
@@ -75,6 +81,14 @@
7581
"serviceEndpoints": [],
7682
"delegations": []
7783
}
84+
},
85+
{
86+
"name": "[parameters('Subnet-Databases Name')]",
87+
"properties": {
88+
"addressPrefix": "[parameters('Subnet-Databases Address Prefix')]",
89+
"serviceEndpoints": [],
90+
"delegations": []
91+
}
7892
}
7993
],
8094
"enableDdosProtection": false,
@@ -123,6 +137,20 @@
123137
"dependsOn": [
124138
"[resourceId('Microsoft.Network/virtualNetworks', parameters('Virtual Network Name'))]"
125139
]
140+
},
141+
{
142+
"type": "Microsoft.Network/virtualNetworks/subnets",
143+
"name": "[concat(parameters('Virtual Network Name'), '/', parameters('Subnet-Databases Name'))]",
144+
"apiVersion": "2018-10-01",
145+
"scale": null,
146+
"properties": {
147+
"addressPrefix": "[parameters('Subnet-Databases Address Prefix')]",
148+
"serviceEndpoints": [],
149+
"delegations": []
150+
},
151+
"dependsOn": [
152+
"[resourceId('Microsoft.Network/virtualNetworks', parameters('Virtual Network Name'))]"
153+
]
126154
}
127155
]
128156
}

deployment/secure_research_environment/setup/Setup_SRE_VNET_RDS.ps1

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,11 @@ $params = @{
3232
"Subnet-Identity Address Prefix" = $config.sre.network.subnets.identity.cidr
3333
"Subnet-RDS Address Prefix" = $config.sre.network.subnets.rds.cidr
3434
"Subnet-Data Address Prefix" = $config.sre.network.subnets.data.cidr
35+
"Subnet-Databases Address Prefix" = $config.sre.network.subnets.databases.cidr
3536
"Subnet-Identity Name" = $config.sre.network.subnets.identity.Name
3637
"Subnet-RDS Name" = $config.sre.network.subnets.rds.Name
3738
"Subnet-Data Name" = $config.sre.network.subnets.data.Name
39+
"Subnet-Databases Name" = $config.sre.network.subnets.databases.Name
3840
"VNET_DNS_DC1" = $config.shm.dc.ip
3941
"VNET_DNS_DC2" = $config.shm.dcb.ip
4042
}

docs/deploy_sre_instructions.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,7 @@ On your **deployment machine**.
243243
- NB. If your account is a guest in additional Azure tenants, you may need to add the `-Tenant <Tenant ID>` flag, where `<Tenant ID>` is the ID of the Azure tenant you want to deploy into.
244244
- Run the `./Update_SRE_RDS_SSL_Certificate.ps1 -sreId <SRE ID> -emailAddress <email>`, where the SRE ID is the one specified in the config and the email address is one that you would like to be notified when certificate expiry is approaching.
245245
- **NOTE:** This script should be run again whenever you want to update the certificate for this SRE.
246-
- **Troubleshooting:** Let's Encrypt will only issue **5 certificates per week** for a particular host (e.g. `rdg-sre-sandbox.testa.dsgroupdev.co.uk`). For production environments this should usually not be an issue. The signed certificates are also stored in the key vault for easy redeployment. However, if you find yourself needing to re-run this step without the key vault secret available, either to debug an error experienced in production or when redeploying a test environment frequently during development, you should run `./Update_SRE_RDS_Ssl_Certificate.ps1 -dryRun $true` to use the Let's Encrypt staging server, which will issue certificates more frequently. However, these certificates will not be trusted by your browser, so you will need to override the security warning in your browser to access the RDS web client for testing.
246+
- **Troubleshooting:** Let's Encrypt will only issue **5 certificates per week** for a particular host (e.g. `rdg-sre-sandbox.testa.dsgroupdev.co.uk`). For production environments this should usually not be an issue. The signed certificates are also stored in the key vault for easy redeployment. However, if you find yourself needing to re-run this step without the key vault secret available, either to debug an error experienced in production or when redeploying a test environment frequently during development, you should run `./Update_SRE_RDS_SSL_Certificate.ps1 -dryRun $true` to use the Let's Encrypt staging server, which will issue certificates more frequently. However, these certificates will not be trusted by your browser, so you will need to override the security warning in your browser to access the RDS web client for testing.
247247

248248
### :microscope: Test RDS deployment
249249
- Disconnect from any SRE VMs and connect to the SHM VPN

0 commit comments

Comments
 (0)