Skip to content

Commit 7e06213

Browse files
committed
Merge branch 'main' into release-msid-gtd-tutorial-web-app
2 parents 42eefad + 993dacb commit 7e06213

File tree

139 files changed

+2261
-1682
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

139 files changed

+2261
-1682
lines changed

.openpublishing.redirection.healthcare-apis.json

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -590,7 +590,11 @@
590590
"redirect_document_id": false
591591
},
592592
{ "source_path_from_root": "/articles/healthcare-apis/iot/data-flow.md",
593-
"redirect_url": "/azure/healthcare-apis/iot/understand-service",
593+
"redirect_url": "/azure/healthcare-apis/iot/overview-of-device-message-processing-stages",
594+
"redirect_document_id": false
595+
},
596+
{ "source_path_from_root": "/articles/healthcare-apis/iot/understand-service.md",
597+
"redirect_url": "/azure/healthcare-apis/iot/overview-of-device-message-processing-stages",
594598
"redirect_document_id": false
595599
},
596600
{ "source_path_from_root": "/articles/healthcare-apis/iot/how-to-use-device-mappings.md",
Loading

articles/active-directory/conditional-access/workload-identity.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ services: active-directory
66
ms.service: active-directory
77
ms.subservice: workload-identities
88
ms.topic: how-to
9-
ms.date: 01/05/2023
9+
ms.date: 04/04/2023
1010

1111
ms.author: joflore
1212
author: MicrosoftGuyJFlo
@@ -29,7 +29,7 @@ These differences make workload identities harder to manage and put them at high
2929

3030
> [!IMPORTANT]
3131
> Workload Identities Premium licenses are required to create or modify Conditional Access policies scoped to service principals.
32-
> In directories without appropriate licenses, existing Conditional Access policies for workload identities will continue to function, but can't be modified. For more information see [Microsoft Entra Workload Identities](https://www.microsoft.com/security/business/identity-access/microsoft-entra-workload-identities#office-StandaloneSKU-k3hubfz).  
32+
> In directories without appropriate licenses, existing Conditional Access policies for workload identities will continue to function, but can't be modified. For more information, see [Microsoft Entra Workload Identities](https://www.microsoft.com/security/business/identity-access/microsoft-entra-workload-identities#office-StandaloneSKU-k3hubfz).  
3333
3434
> [!NOTE]
3535
> Policy can be applied to single tenant service principals that have been registered in your tenant. Third party SaaS and multi-tenanted apps are out of scope. Managed identities are not covered by policy.
@@ -49,7 +49,7 @@ Create a location based Conditional Access policy that applies to service princi
4949
1. Under **Assignments**, select **Users or workload identities**.
5050
1. Under **What does this policy apply to?**, select **Workload identities**.
5151
1. Under **Include**, choose **Select service principals**, and select the appropriate service principals from the list.
52-
1. Under **Cloud apps or actions**, select **All cloud apps**. The policy will apply only when a service principal requests a token.
52+
1. Under **Cloud apps or actions**, select **All cloud apps**. The policy applies only when a service principal requests a token.
5353
1. Under **Conditions** > **Locations**, include **Any location** and exclude **Selected locations** where you want to allow access.
5454
1. Under **Grant**, **Block access** is the only available option. Access is blocked when a token request is made from outside the allowed range.
5555
1. Your policy can be saved in **Report-only** mode, allowing administrators to estimate the effects, or policy is enforced by turning policy **On**.
@@ -68,7 +68,7 @@ Create a risk-based Conditional Access policy that applies to service principals
6868
1. Under **Assignments**, select **Users or workload identities**.
6969
1. Under **What does this policy apply to?**, select **Workload identities**.
7070
1. Under **Include**, choose **Select service principals**, and select the appropriate service principals from the list.
71-
1. Under **Cloud apps or actions**, select **All cloud apps**. The policy will apply only when a service principal requests a token.
71+
1. Under **Cloud apps or actions**, select **All cloud apps**. The policy applies only when a service principal requests a token.
7272
1. Under **Conditions** > **Service principal risk**
7373
1. Set the **Configure** toggle to **Yes**.
7474
1. Select the levels of risk where you want this policy to trigger.

articles/active-directory/develop/tutorial-v2-android.md

Lines changed: 791 additions & 482 deletions
Large diffs are not rendered by default.

articles/active-directory/develop/tutorial-v2-shared-device-mode.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ Refer to the [configuration documentation](./msal-configuration.md) for more inf
5959

6060
Set `"shared_device_mode_supported"` to `true` in your MSAL configuration file.
6161

62-
You may not be planning to support multiple-account mode. That could be if you're not using a shared device, and the user can sign into the app with more than one account at the same time. If so, set `"account_mode"` to `"SINGLE"`. This guarantees that your app will always get `ISingleAccountPublicClientApplication`, and significantly simplifies your MSAL integration. The default value of `"account_mode"` is `"MULTIPLE"`, so it is important to change this value in the config file if you're using `"single account"` mode.
62+
You may not be planning to support multiple-account mode. That could be if you're not using a shared device, and the user can sign into the app with more than one account at the same time. If so, set `"account_mode"` to `"SINGLE"`. This guarantees that your app will always get `ISingleAccountPublicClientApplication`, and significantly simplifies your MSAL integration. The default value of `"account_mode"` is `"MULTIPLE"`, so it's important to change this value in the config file if you're using `"single account"` mode.
6363

6464
Here's an example of the auth_config.json file included in the **app**>**main**>**res**>**raw** directory of the sample app:
6565

@@ -85,7 +85,7 @@ Here's an example of the auth_config.json file included in the **app**>**main**>
8585

8686
### Detect shared-device mode
8787

88-
Shared-device mode allows you to configure Android devices to be shared by multiple employees, while providing Microsoft Identity backed management of the device. Employees can sign in to their devices and access customer information quickly. When they are finished with their shift or task, they will be able to sign-out of all apps on the shared device with a single click and the device will be immediately ready for the next employee to use.
88+
Shared-device mode allows you to configure Android devices to be shared by multiple employees, while providing Microsoft Identity backed management of the device. Employees can sign in to their devices and access customer information quickly. When they're finished with their shift or task, they'll be able to sign-out of all apps on the shared device with a single click and the device will be immediately ready for the next employee to use.
8989

9090
Use `isSharedDevice()` to determine if an app is running on a device that is in shared-device mode. Your app could use this flag to determine if it should modify UX accordingly.
9191

@@ -122,7 +122,7 @@ PublicClientApplication.create(this.getApplicationCOntext(),
122122

123123
If you're writing an app that will only be used for first-line workers on a shared device, we recommend you write your app to only support single-account mode. This includes most applications that are task focused such as medical records apps, invoice apps, and most line-of-business apps. This will simplify your development as many features of the SDK won't need to be accommodated.
124124

125-
If your app supports multiple accounts as well as shared device mode, you must perform a type check and cast to the appropriate interface as shown below.
125+
If your app supports multiple accounts and shared device mode, you must perform a type check and cast to the appropriate interface as shown below.
126126

127127
```java
128128
private IPublicClientApplication mApplication;
@@ -207,9 +207,9 @@ private void onSignOutClicked()
207207

208208
### Receive broadcast to detect global sign out initiated from other applications
209209

210-
To receive the account change broadcast, you'll need to register a broadcast receiver.  It’s recommended to register your broadcast receiver via the [Context-registered receivers](https://developer.android.com/guide/components/broadcasts#context-registered-receivers).
210+
To receive the account change broadcast, you need to register a broadcast receiver.It’s recommended to register your broadcast receiver via the [Context-registered receivers](https://developer.android.com/guide/components/broadcasts#context-registered-receivers).
211211

212-
When an account change broadcast is received, immediately [get the signed in user and determine if a user has changed on the device](#get-the-signed-in-user-and-determine-if-a-user-has-changed-on-the-device). If a change is detected, initiate data cleanup for previously signed-in account. It is recommended to properly stop any operations and do data cleanup.
212+
When an account change broadcast is received, immediately [get the signed in user and determine if a user has changed on the device](#get-the-signed-in-user-and-determine-if-a-user-has-changed-on-the-device). If a change is detected, initiate data cleanup for previously signed-in account. It's recommended to properly stop any operations and do data cleanup.
213213
214214
The following code snippet shows how you could register a broadcast receiver.
215215
@@ -238,14 +238,14 @@ The following steps describe setting up your application in the Azure portal and
238238
239239
First, register your application within your organizational tenant. Then provide these values below in auth_config.json in order for your application to run correctly.
240240
241-
For information on how to do this, refer to [Register your application](./tutorial-v2-android.md#register-your-application).
241+
For information on how to do this, refer to [Register your application](./tutorial-v2-android.md#register-your-application-with-azure-ad).
242242
243243
> [!NOTE]
244244
> When you register your app, please use the quickstart guide on the left-hand side and then select **Android**. This will lead you to a page where you'll be asked to provide the **Package Name** and **Signature Hash** for your app. These are very important to ensure your app configuration will work. You'll then receive a configuration object that you can use for your app that you'll cut and paste into your auth_config.json file.
245245

246246
:::image type="content" source="media/tutorial-v2-shared-device-mode/register-app.png" alt-text="Configure your Android app page in Azure portal quickstart":::
247247

248-
You should select **Make this change for me** and then provide the values the quickstart asks for in the Azure portal. When that's done, we will generate all the configuration files you need.
248+
You should select **Make this change for me** and then provide the values the quickstart asks for in the Azure portal. When that's done, we'll generate all the configuration files you need.
249249

250250
:::image type="content" source="media/tutorial-v2-shared-device-mode/config-info.png" alt-text="Configure your project page in Azure portal quickstart":::
251251

@@ -257,7 +257,7 @@ For testing purposes, set up the following in your tenant: at least two employee
257257

258258
### Download the Authenticator App
259259

260-
Download the Microsoft Authenticator App from the Google Play store. If you already have the app downloaded, ensure that it is the latest version.
260+
Download the Microsoft Authenticator App from the Google Play store. If you already have the app downloaded, ensure that it's the latest version.
261261
262262
### Authenticator app settings & registering the device in the cloud
263263
@@ -293,7 +293,7 @@ Once you've put a device in shared-mode, it becomes known to your organization a
293293
294294
## Running the sample app
295295
296-
The Sample Application is a simple app that will call the Graph API of your organization. On first run you'll be prompted to consent as the application is new to your employee account.
296+
The Sample Application is a simple app that will call the Graph API of your organization. On first run, you'll be prompted to consent as the application is new to your employee account.
297297

298298
:::image type="content" source="media/tutorial-v2-shared-device-mode/run-app-permissions-requested.png" alt-text="Application configuration info screen":::
299299

Lines changed: 35 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
---
2-
title: Clean up unmanaged Azure AD accounts
3-
description: Clean up unmanaged accounts using email OTP and PowerShell modules in Azure Active Directory
2+
title: Clean up unmanaged Azure Active Directory accounts
3+
description: Clean up unmanaged accounts using email one-time password and PowerShell modules in Azure AD
44
services: active-directory
55
author: gargi-sinha
66
ms.author: gasinh
77
manager: martinco
8-
ms.date: 06/28/2022
8+
ms.date: 03/28/2023
99
ms.topic: how-to
1010
ms.service: active-directory
1111
ms.subservice: enterprise-users
@@ -16,68 +16,65 @@ ms.collection: M365-identity-device-management
1616

1717
# Clean up unmanaged Azure Active Directory accounts
1818

19-
Prior to August 2022, Azure AD B2B supported Self-service sign-up for email-verified users which allowed users to create Azure AD accounts if they can verify ownership of the email. These accounts were created in unmanaged (aka “viral) tenants. This meant that the user created an account with an organization’s domain that is not under the lifecycle management of the organization’s IT and access can persist after the user leaves the organization. To learn more, see, [What is self-service sign-up for Azure Active Directory?](./directory-self-service-signup.md)
19+
Prior to August 2022, Azure Active Directory B2B (Azure AD B2B) supported self-service sign-up for email-verified users. With this feature, users create Azure AD accounts, when they verify email ownership. These accounts were created in unmanaged (or viral) tenants: users created accounts with an organization domain, not under IT team management. Access persists after users leave the organization.
2020

21-
The creation of unmanaged Azure AD accounts via Azure AD B2B is now deprecated and new B2B invitations cannot be redeemed with these accounts as of August 2022. However, invitations sent prior to August 2022 could have been redeemed with unmanaged Azure AD accounts.
21+
To learn more, see, [What is self-service sign-up for Azure AD?](./directory-self-service-signup.md)
22+
23+
> [!NOTE]
24+
> Unmanaged Azure AD accounts via Azure AD B2B were deprecated. As of August 2022, new B2B invitations can't be redeemed. However, invitations prior to August 2022 were redeemable with unmanaged Azure AD accounts.
2225
2326
## Remove unmanaged Azure AD accounts
2427

25-
Admins can use either this sample application in [Azure-samples/Remove-unmanaged-guests](https://github.com/Azure-Samples/Remove-Unmanaged-Guests) or PowerShell cmdlets in [AzureAD/MSIdentityTools](https://github.com/AzureAD/MSIdentityTools/wiki/) to remove existing unmanaged Azure AD accounts from your Azure AD tenants. These tools allow you to identify viral users in your Azure AD tenant and reset the redemption status of these users.
28+
Use the following guidance to remove unmanaged Azure AD accounts from Azure AD tenants. Tool features help identify viral users in the Azure AD tenant. You can reset the user redemption status.
29+
30+
* Use the sample application in [Azure-samples/Remove-unmanaged-guests](https://github.com/Azure-Samples/Remove-Unmanaged-Guests)
31+
* Use PowerShell cmdlets in [AzureAD/MSIdentityTools](https://github.com/AzureAD/MSIdentityTools/wiki/)
2632

27-
Once you have run one of the available tools, when users with unmanaged Azure AD accounts try to access your tenant, they will re-redeem their invitations. However, Azure AD will prevent users from redeeming with an existing unmanaged Azure AD account and they’ll redeem with another account type. Google Federation and SAML/WS-Fed are not enabled by default. So by default, these users will redeem with either an MSA or Email OTP, with MSA taking precedence. For a full explanation on the B2B redemption precedence, refer to the [redemption precedence flow chart](../external-identities/redemption-experience.md#invitation-redemption-flow).
33+
After you run a tool, users with unmanaged Azure AD accounts access the tenant, and re-redeem their invitations. However, Azure AD prevents users from redeeming with an unmanaged Azure AD account. They can redeem with another account type. Google Federation and SAML/WS-Federation aren't enabled by default. Therefore, users redeem with a Microsoft account (MSA) or email one-time password (OTP). MSA is recommended.
34+
35+
Learn more: [Invitation redemption flow](../external-identities/redemption-experience.md#invitation-redemption-flow)
2836

2937
## Overtaken tenants and domains
3038

31-
Some tenants created as unmanaged tenants can be taken over and
32-
converted to a managed tenant. See, [take over an unmanaged directory as
33-
administrator in Azure AD](./domains-admin-takeover.md).
39+
It's possible to convert some unmanaged tenants to managed tenants.
3440

35-
In some cases, overtaken domains might not be updated, for example, missing a DNS TXT record and therefore become flagged as unmanaged. Implications are:
41+
Learn more: [Take over an unmanaged directory as administrator in Azure AD](./domains-admin-takeover.md)
3642

37-
- For guest users who belong to formerly unmanaged tenants, redemption status is reset and one consent prompt appears. Redemption occurs with same account as before.
43+
Some overtaken domains might not be updated. For example, a missing DNS TXT record indicates an unmanaged state. Implications are:
3844

39-
- After unmanaged user redemption status is reset, the tool might identify unmanaged users that are false positives.
45+
* For guest users from unmanaged tenants, redemption status is reset. A consent prompt appears.
46+
* Redemption occurs with same account
47+
* The tool might identify unmanaged users as false positives after you reset unmanaged user redemption status
4048

41-
## Reset redemption using a sample application
49+
## Reset redemption with a sample application
4250

43-
Use the sample application on
44-
[Azure-Samples/Remove-Unmanaged-Guests](https://github.com/Azure-Samples/Remove-Unmanaged-Guests).
51+
Use the sample application on [Azure-Samples/Remove-Unmanaged-Guests](https://github.com/Azure-Samples/Remove-Unmanaged-Guests).
4552

4653
## Reset redemption using MSIdentityTools PowerShell Module
4754

48-
MSIdentityTools PowerShell Module is a collection of cmdlets and
49-
scripts. They are for use in the Microsoft identity platform and Azure
50-
AD; they augment capabilities in the PowerShell SDK. See, [Microsoft
51-
Graph PowerShell
52-
SDK](https://github.com/microsoftgraph/msgraph-sdk-powershell).
55+
MSIdentityTools PowerShell Module is a collection of cmdlets and scripts, which you use in the Microsoft identity platform and Azure AD. Use the cmdlets and scripts to augment PowerShell SDK capabilities. See, [microsoftgraph/msgraph-sdk-powershell](https://github.com/microsoftgraph/msgraph-sdk-powershell).
5356

5457
Run the following cmdlets:
5558

56-
- `Install-Module Microsoft.Graph -Scope CurrentUser`
57-
58-
- `Install-Module MSIdentityTools`
59-
60-
- `Import-Module msidentitytools,microsoft.graph`
59+
* `Install-Module Microsoft.Graph -Scope CurrentUser`
60+
* `Install-Module MSIdentityTools`
61+
* `Import-Module msidentitytools,microsoft.graph`
6162

6263
To identify unmanaged Azure AD accounts, run:
6364

64-
- `Connect-MgGraph -Scope User.ReadAll`
65-
66-
- `Get-MsIdUnmanagedExternalUser`
65+
* `Connect-MgGraph -Scope User.ReadAll`
66+
* `Get-MsIdUnmanagedExternalUser`
6767

6868
To reset unmanaged Azure AD account redemption status, run:
6969

70-
- `Connect-MgGraph -Scopes User.ReadWriteAll`
71-
72-
- `Get-MsIdUnmanagedExternalUser | Reset-MsIdExternalUser`
70+
* `Connect-MgGraph -Scopes User.ReadWriteAll`
71+
* `Get-MsIdUnmanagedExternalUser | Reset-MsIdExternalUser`
7372

7473
To delete unmanaged Azure AD accounts, run:
7574

76-
- `Connect-MgGraph -Scopes User.ReadWriteAll`
77-
78-
- `Get-MsIdUnmanagedExternalUser | Remove-MgUser`
75+
* `Connect-MgGraph -Scopes User.ReadWriteAll`
76+
* `Get-MsIdUnmanagedExternalUser | Remove-MgUser`
7977

80-
## Next steps
78+
## Resources
8179

82-
Examples of using
83-
[Get-MSIdUnmanagedExternalUser](https://github.com/AzureAD/MSIdentityTools/wiki/Get-MsIdUnmanagedExternalUser)
80+
See, [Get-MSIdUnmanagedExternalUser](https://github.com/AzureAD/MSIdentityTools/wiki/Get-MsIdUnmanagedExternalUser). The tool returns a list of external unmanaged users, or viral users, in the tenant.

0 commit comments

Comments
 (0)