Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update documents to reflect change to Microsoft Entra ID #1665

Merged
merged 49 commits into from
Feb 27, 2024
Merged
Show file tree
Hide file tree
Changes from 34 commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
45e00f8
Some initial changes to Entra ID
craddm Oct 16, 2023
41b6cdb
Change AAD to Entra ID
craddm Nov 8, 2023
d0ac8f2
Update many references to AAD
craddm Nov 8, 2023
ac64013
Update deploy sre references to AAD
craddm Nov 8, 2023
a7076a9
Update reference config doc
craddm Nov 9, 2023
5fd0d42
Update data access controls
craddm Nov 9, 2023
4caa786
update user guide
craddm Nov 9, 2023
088dec6
Update explanation of symbols
craddm Nov 9, 2023
870a4a0
Update prereq
craddm Nov 9, 2023
e64acdf
Update shm deployment docs
craddm Nov 9, 2023
44f7ea0
Update design arch index
craddm Nov 9, 2023
17b9648
update user management and shm migration docs
craddm Nov 9, 2023
792756c
update manage deployments docs
craddm Nov 9, 2023
9864407
update user account creation snippet
craddm Nov 9, 2023
50b49f7
revert to aad tags
craddm Nov 9, 2023
9013499
Merge branch 'alan-turing-institute:develop' into entra-id
craddm Nov 10, 2023
b5f4d32
Merge branch 'alan-turing-institute:develop' into entra-id
craddm Nov 15, 2023
2304e03
Merge branch 'alan-turing-institute:develop' into entra-id
craddm Nov 20, 2023
34594d3
Merge branch 'develop' into entra-id
craddm Jan 16, 2024
d163674
revert change of field name in configs
craddm Jan 17, 2024
07398a7
update section on migrating shm with Entra references
craddm Jan 17, 2024
e174517
minor typo
craddm Jan 17, 2024
4cecf4b
fix error
craddm Jan 17, 2024
74f08fe
remove trailing whitespace
craddm Jan 17, 2024
4134371
remove extra blank line
craddm Jan 17, 2024
498e772
remove extra backtick
craddm Jan 17, 2024
3944ccf
Merge branch 'alan-turing-institute:develop' into entra-id
craddm Jan 18, 2024
2c5b05f
Merge branch 'alan-turing-institute:develop' into entra-id
craddm Feb 19, 2024
4dca4cd
Merge branch 'entra-id' of https://github.com/craddm/data-safe-haven …
craddm Feb 19, 2024
e33a534
add warning about change of name from AAD to Entra
craddm Feb 19, 2024
53a083b
update image
craddm Feb 19, 2024
1e2f8bf
add note about AAD connect name
craddm Feb 19, 2024
76a3672
clarify default vm size
craddm Feb 19, 2024
cfeecbc
add empty line
craddm Feb 19, 2024
d24bec4
Update docs/source/deployment/deploy_shm.md
craddm Feb 22, 2024
a417e32
Update docs/source/deployment/deploy_shm.md
craddm Feb 22, 2024
e72e529
Update docs/source/deployment/deploy_shm.md
craddm Feb 22, 2024
2c32671
Update docs/source/deployment/deploy_shm.md
craddm Feb 22, 2024
c6f3fcd
Update docs/source/roles/system_manager/migrate_an_shm.md
craddm Feb 22, 2024
3392dea
Merge branch 'alan-turing-institute:develop' into entra-id
craddm Feb 22, 2024
42f95db
Update docs/source/deployment/deploy_sre.md
craddm Feb 23, 2024
0f74184
Update docs/source/deployment/deploy_sre.md
craddm Feb 23, 2024
77c988e
Update docs/source/deployment/deploy_shm.md
craddm Feb 23, 2024
bffb105
Update docs/source/deployment/deploy_shm.md
craddm Feb 23, 2024
10baba4
Update docs/source/deployment/deploy_shm.md
craddm Feb 23, 2024
4bf24df
add AADConnect snippet
craddm Feb 26, 2024
bb0a192
Use snippet in place of distinct notes
craddm Feb 26, 2024
cc92c3c
Merge branch 'alan-turing-institute:develop' into entra-id
craddm Feb 26, 2024
60cdd28
Update docs/source/deployment/deploy_shm.md
craddm Feb 27, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
138 changes: 71 additions & 67 deletions docs/source/deployment/deploy_shm.md

Large diffs are not rendered by default.

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
17 changes: 9 additions & 8 deletions docs/source/deployment/deploy_sre.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,13 +32,13 @@ PS> ./Deploy_SRE.ps1 -shmId <SHM ID> -sreId <SRE ID> -VMs <VM sizes>

- where `<SHM ID>` is the {ref}`management environment ID <roles_deployer_shm_id>` for this SHM
- where `<SRE ID>` is the {ref}`secure research environment ID <roles_deployer_sre_id>` for this SRE
- where `<VM sizes>` is a list of [Azure VM sizes](https://docs.microsoft.com/en-us/azure/virtual-machines/sizes) that you want to create. For example `'Standard_D2s_v3', 'default', 'Standard_NC6s_v3'`. If you are unsure of the appropriate VM sizes, run the script with a single `'default'`.
- where `<VM sizes>` is a list of [Azure VM sizes](https://docs.microsoft.com/en-us/azure/virtual-machines/sizes) that you want to create. For example `'Standard_D2s_v3', 'default', 'Standard_NC6s_v3'`. If you are unsure of the appropriate VM sizes, run the script with a single `'default'`. The default VM size is `Standard_D2s_v3`.
- VMs can be resized after deployment. See how to do so in the {ref}`System Manager instructions <resize_vm>`.

You will be prompted for credentials for:

- a user with admin rights over the Azure subscriptions you plan to deploy into
- a user with Global Administrator privileges over the SHM Azure Active Active directory
- a user with Global Administrator privileges over the SHM Microsoft Entra ID

This will perform the following actions, which can be run individually if desired:

Expand Down Expand Up @@ -251,23 +251,24 @@ For example, if you have authorised a corporate VPN, check that you have correct
```

````{error}
If you see an error like the following when attempting to log in, it is likely that the AzureAD application is not registered as an `ID token` provider.
If you see an error like the following when attempting to log in, it is likely that the Microsoft Entra application is not registered as an `ID token` provider.
JimMadge marked this conversation as resolved.
Show resolved Hide resolved

```{image} deploy_sre/guacamole_aad_idtoken_failure.png
:alt: AAD ID token failure
:align: center
```

<details><summary><b>Register AzureAD application</b></summary>
<details><summary><b>Register Microsoft Entra application</b></summary>
JimMadge marked this conversation as resolved.
Show resolved Hide resolved

![Azure AD: one minute](https://img.shields.io/static/v1?style=for-the-badge&logo=microsoft-academic&label=Azure%20AD&color=blue&message=one%20minute)
![Microsoft Entra ID: one minute](https://img.shields.io/static/v1?style=for-the-badge&logo=microsoft-academic&label=Microsoft%20Entra%2
0ID&color=blue&message=one%20minute)

- From the Azure portal, navigate to the AAD you have created.
- Navigate to `Azure Active Directory > App registrations`, and select the application called `Guacamole SRE <SRE ID>`.
- From the Azure portal, navigate to the ME-ID you have created.
craddm marked this conversation as resolved.
Show resolved Hide resolved
- Navigate to `Microsoft Entra ID > App registrations`, and select the application called `Guacamole SRE <SRE ID>`.
- Click on `Authentication` on the left-hand sidebar
- Ensure that the `ID tokens` checkbox is ticked and click on the `Save` icon if you had to make any changes
```{image} deploy_sre/guacamole_aad_app_registration_idtoken.png
:alt: AAD app registration
:alt: ME app registration
craddm marked this conversation as resolved.
Show resolved Hide resolved
:align: center
```
</details>
Expand Down
9 changes: 9 additions & 0 deletions docs/source/deployment/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,3 +32,12 @@ For instructions on removing deployed resources, refer to the guide for {ref}`Sy

[Security checklist](security_checklist.md)
: an example security checklist used at the Alan Turing Institute to help evaluate the security of our deployments.

````{warning}
Microsoft have renamed Azure Active Directory to [Microsoft Entra ID](https://learn.microsoft.com/en-us/entra/fundamentals/new-name).
We have updated these guides in the light of this change.
However, as of February 2024, Microsoft have not completed the renaming process.
Some software and documentation retains the old Azure Active Directory name.
Our documentation reflects the name that is currently in use, rather than the name that will be used once the renaming process is complete.
Where we use the name "Azure Active Directory", if the corresponding software, menu option, or documentation cannot be found, look instead for a version using the Microsoft Entra ID name.
````
JimMadge marked this conversation as resolved.
Show resolved Hide resolved
6 changes: 3 additions & 3 deletions docs/source/deployment/snippets/00_symbols.partial.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,11 +41,11 @@ If you see a warning dialog that the certificate cannot be verified as root, acc
- You will need to login to the portal using an account with privileges to make the necessary changes to the resources you are altering
```

```{admonition} Azure Active Directory operation
![Azure AD: estimate of time needed](https://img.shields.io/static/v1?style=for-the-badge&logo=microsoft-academic&label=Azure%20AD&color=blue&message=estimate%20of%20time%20needed)
```{admonition} Microsoft Entra ID operation
![Microsoft Entra ID: estimate of time needed](https://img.shields.io/static/v1?style=for-the-badge&logo=microsoft-academic&label=Microsoft%20Entra%20ID&color=blue&message=estimate%20of%20time%20needed)

- This indicates an operation which needs to be carried out in the [`Azure Portal`](https://portal.azure.com) using a web browser on your local machine.
- You will need to login to the portal using an account with administrative privileges on the `Azure Active Directory` that you are altering.
- You will need to login to the portal using an account with administrative privileges on the `Microsoft Entra ID` that you are altering.
- Note that this might be different from the account which is able to create/alter resources in the Azure subscription where you are building the Safe Haven.
```

Expand Down
6 changes: 3 additions & 3 deletions docs/source/deployment/snippets/01_prerequisites.partial.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,15 @@

```{tip}
- Ensure that the **Owner** of the subscription is an `Azure Security group` that contains all administrators and no-one else.
- We recommend using separate `Azure Active Directories` for users and administrators
- We recommend using separate `Microsoft Entra IDs` for users and administrators
```

- Access to a **global administrator** account on the SHM Azure Active Directory
- Access to a **global administrator** account on the SHM Microsoft Entra ID

### {{beginner}} Software

- `PowerShell` with support for Azure
- We recommend [installing](https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell) the [latest stable release](https://learn.microsoft.com/en-us/powershell/scripting/install/powershell-support-lifecycle?view=powershell-7.3) of Powershell. We have most recently tested deployment using version `7.3.2`.
- We recommend [installing](https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell) the [latest stable release](https://learn.microsoft.com/en-us/powershell/scripting/install/powershell-support-lifecycle?view=powershell-7.3) of Powershell. We have most recently tested deployment using version `7.3.9`.
- Install the [Azure PowerShell Module](https://docs.microsoft.com/en-us/powershell/azure/install-az-ps) using `Install-Module -Name Az -RequiredVersion 5.0.0 -Repository PSGallery`
- `Microsoft Remote Desktop`
- On macOS this can be installed from the [Apple store](https://www.apple.com/app-store/)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
These steps ensure that you have created a non-privileged user account that you can use for testing.
You must ensure that you have assigned a licence to this user in the Azure Active Directory so that MFA will work correctly.
You must ensure that you have assigned a licence to this user in the Microsoft Entra ID so that MFA will work correctly.

You should have already set up a non-privileged user account upon setting up the SHM, when {ref}`validating the active directory synchronisation <deploy_shm>`, but you may wish to set up another or verify that you have set one up already:

Expand Down Expand Up @@ -31,20 +31,20 @@ You should have already set up a non-privileged user account upon setting up the
- Enter the start of your username and click `Check names`
- Select your username and click `Ok`
- Click `Ok` again to exit the `Add users` dialogue
- Synchronise with Azure Active Directory by running following the `Powershell` command on the SHM primary domain controller
- Synchronise with Microsoft Entra ID by running following the `Powershell` command on the SHM primary domain controller

```powershell
PS> C:\Installation\Run_ADSync.ps1
```

### {{closed_lock_with_key}} Ensure that your non-privileged user account has MFA enabled

Switch to your custom Azure Active Directory in the Azure portal and make the following checks:
Switch to your custom Microsoft Entra ID in the Azure portal and make the following checks:

![Azure AD: one minute](https://img.shields.io/static/v1?style=for-the-badge&logo=microsoft-academic&label=Azure%20AD&color=blue&message=one%20minute)
![Microsoft Entra ID: one minute](https://img.shields.io/static/v1?style=for-the-badge&logo=microsoft-academic&label=Microsoft%20Entra%20ID&color=blue&message=one%20minute)

- From the Azure portal, navigate to the AAD you have created.
- The `Usage Location` must be set in Azure Active Directory (should be automatically synchronised from the local Active Directory if it was correctly set there)
- Navigate to `Azure Active Directory > Manage / Users > (user account)`, and ensure that `Settings > Usage Location` is set.
- From the Azure portal, navigate to the Microsoft Entra ID you have created.
- The `Usage Location` must be set in Microsoft Entra ID (should be automatically synchronised from the local Active Directory if it was correctly set there)
- Navigate to `Microsoft Entra ID > Manage / Users > (user account)`, and ensure that `Settings > Usage Location` is set.
- A licence must be assigned to the user.
- Navigate to `Azure Active Directory > Manage / Users > (user account) > Licenses` and verify that a license is assigned and the appropriate MFA service enabled.
- Navigate to `Microsoft Entra ID > Manage / Users > (user account) > Licenses` and verify that a license is assigned and the appropriate MFA service enabled.
2 changes: 1 addition & 1 deletion docs/source/design/architecture/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ Each deployment of the Data Safe Haven consists of two components:
```

The SHM controls the authentication process for the infrastructure.
The identity provider is Microsoft Active Directory, which is synchronised with AzureAD to provide cloud and multifactor authentication into the individual project Secure Research Environment (SRE).
The identity provider is Microsoft Active Directory, which is synchronized with Microsoft Entra ID to provide cloud and multifactor authentication into the individual project Secure Research Environment (SRE).

The SHM is connected to each SRE through virtual network peering, which allows authentication requests from the SRE servers to be resolved by the SHM Active Directory.
Although all SREs are peered with the SHM, they are not able to connect directly to one another, ensuring the isolation of each project.
Expand Down
2 changes: 1 addition & 1 deletion docs/source/design/architecture/shm_details.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ This provides a centralised management facility, ensuring consistency across all
Within the Management segment all authentication services are contained within a single virtual network (VNet).
The Windows Servers are running Active Directory and are acting as Domain Controllers.
They are configured within an Azure availability set to ensure maximum up time.
The Domain Controllers synchronise user details to the Azure Active Directory that is associated with the Management subscription to support self-service account activation and password reset.
The Domain Controllers synchronise user details to the Microsoft Entra ID that is associated with the Management subscription to support self-service account activation and password reset.

Network security is provided by Azure Network Security Groups that ensure that inbound connections from the SREs are limited to Active Directory and RADIUS traffic.

Expand Down
2 changes: 1 addition & 1 deletion docs/source/design/security/reference_configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ The set of controls applied at the Alan Turing Institute are discussed here, tog

- Users must set up MFA before accessing the secure analysis environment.
- Users cannot access the environment without MFA.
- Users are required to create passwords that meet the [Azure Active Directory policy](https://docs.microsoft.com/en-us/azure/active-directory/authentication/concept-sspr-policy) requirements.
- Users are required to create passwords that meet the [Microsoft Entra policy](https://learn.microsoft.com/en-us/entra/identity/authentication/concept-sspr-policy) requirements.
JimMadge marked this conversation as resolved.
Show resolved Hide resolved

### Implication:

Expand Down
6 changes: 3 additions & 3 deletions docs/source/processes/data_access_controls.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ However, some manual configuration steps are required and each organisation is r

## Administrative access

Access to all Data Safe Haven Azure resources is controlled via `Azure Active Directory` (Azure AD) and Role-Based Access Control (RBAC).
Access to all Data Safe Haven Azure resources is controlled via `Microsoft Entra ID` and Role-Based Access Control (RBAC).
By default, only members of a specific administrator security group have administrative access to any element of the Safe Haven.

```{important}
Expand All @@ -23,13 +23,13 @@ These comprise the software defined infrastructure of the Data Safe Haven, such
- virtual networks
- network security groups
- virtual machines
- `Azure Active Directory`
- `Microsoft Entra ID`

Access to the underlying Azure resources requires administrators to log into Azure.

```{hint}
Data Safe Haven administrator accounts should be separate from accounts used for any other purpose, including accessing the Data Safe Haven in any other role (e.g. as a {ref}`Researcher <role_researcher>`).
At the Turing, Data Safe Haven administrator accounts are configured on a separate institutional `Azure Active Directory` to the Data Safe Haven `Azure Active Directory`.
At the Turing, Data Safe Haven administrator accounts are configured on a separate institutional `Microsoft Entra ID` to the Data Safe Haven `Microsoft Entra ID`.
Other organisations may wish to follow the same model.
```

Expand Down
2 changes: 1 addition & 1 deletion docs/source/roles/researcher/user_guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -212,7 +212,7 @@ Please follow these steps carefully.
The virtual keyboard inside the SRE may not be the same as your physical keyboard and this can make it difficult to type some symbols.
```

Note that this will also ensure that it passes the [Microsoft Azure AD password requirements](https://docs.microsoft.com/en-us/azure/active-directory/authentication/concept-sspr-policy).
Note that this will also ensure that it passes the [Microsoft Entra password requirements](https://learn.microsoft.com/en-us/entra/identity/authentication/concept-sspr-policy).
JimMadge marked this conversation as resolved.
Show resolved Hide resolved

```{tip}
We recommend using a password generator [like this one](https://bitwarden.com/password-generator/) to create a password that meets these requirements.
Expand Down
6 changes: 3 additions & 3 deletions docs/source/roles/system_manager/manage_deployments.md
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@ The storage account can be found under `RG_SHM_<SHM ID>_PERSISTENT_DATA`, with a
Deleting the SRE storage account from `RG_SHM_<SHM ID>_PERSISTENT_DATA` will delete any work that was done in the SRE.
```

### {{unlock}} Disconnect from the Azure Active Directory
### {{unlock}} Disconnect from the Microsoft Entra ID

Connect to the **SHM Domain Controller (DC1)** via Remote Desktop Client over the SHM VPN connection

Expand All @@ -184,8 +184,8 @@ Connect to the **SHM Domain Controller (DC1)** via Remote Desktop Client over th
- You will need to provide login credentials (including MFA if set up) for `<admin username>@<SHM domain>`

```{attention}
Full disconnection of the Azure Active Directory can take up to 72 hours but is typically less.
If you are planning to install a new SHM connected to the same Azure Active Directory you may find the `AzureADConnect` installation step requires you to wait for the previous disconnection to complete.
Full disconnection of the Microsoft Entra ID can take up to 72 hours but is typically less.
If you are planning to install a new SHM connected to the same Microsoft Entra ID you may find the `AzureADConnect` installation step requires you to wait for the previous disconnection to complete.
```

### {{bomb}} Tear down the SHM
Expand Down
Loading
Loading