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
Copy file name to clipboardExpand all lines: articles/active-directory/conditional-access/workload-identity.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ services: active-directory
6
6
ms.service: active-directory
7
7
ms.subservice: workload-identities
8
8
ms.topic: how-to
9
-
ms.date: 01/05/2023
9
+
ms.date: 04/04/2023
10
10
11
11
ms.author: joflore
12
12
author: MicrosoftGuyJFlo
@@ -29,7 +29,7 @@ These differences make workload identities harder to manage and put them at high
29
29
30
30
> [!IMPORTANT]
31
31
> 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).
33
33
34
34
> [!NOTE]
35
35
> 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
49
49
1. Under **Assignments**, select **Users or workload identities**.
50
50
1. Under **What does this policy apply to?**, select **Workload identities**.
51
51
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.
53
53
1. Under **Conditions** > **Locations**, include **Any location** and exclude **Selected locations** where you want to allow access.
54
54
1. Under **Grant**, **Block access** is the only available option. Access is blocked when a token request is made from outside the allowed range.
55
55
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
68
68
1. Under **Assignments**, select **Users or workload identities**.
69
69
1. Under **What does this policy apply to?**, select **Workload identities**.
70
70
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.
72
72
1. Under **Conditions** > **Service principal risk**
73
73
1. Set the **Configure** toggle to **Yes**.
74
74
1. Select the levels of risk where you want this policy to trigger.
Copy file name to clipboardExpand all lines: articles/active-directory/develop/tutorial-v2-shared-device-mode.md
+9-9Lines changed: 9 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -59,7 +59,7 @@ Refer to the [configuration documentation](./msal-configuration.md) for more inf
59
59
60
60
Set `"shared_device_mode_supported"` to `true` in your MSAL configuration file.
61
61
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.
63
63
64
64
Here's an example of the auth_config.json file included in the **app**>**main**>**res**>**raw** directory of the sample app:
65
65
@@ -85,7 +85,7 @@ Here's an example of the auth_config.json file included in the **app**>**main**>
85
85
86
86
### Detect shared-device mode
87
87
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.
89
89
90
90
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.
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.
124
124
125
-
If your app supports multiple accounts as well as shared device mode, you must perform a type check and cast to the appropriate interfaceas shown below.
125
+
If your app supports multiple accounts and shared device mode, you must perform a type check and cast to the appropriate interfaceas shown below.
### Receive broadcast to detect global sign out initiated from other applications
209
209
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).
211
211
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.
213
213
214
214
The following code snippet shows how you could register a broadcast receiver.
215
215
@@ -238,14 +238,14 @@ The following steps describe setting up your application in the Azure portal and
238
238
239
239
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.
240
240
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).
242
242
243
243
> [!NOTE]
244
244
> 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 **PackageName** and **SignatureHash**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.
245
245
246
246
:::image type="content" source="media/tutorial-v2-shared-device-mode/register-app.png" alt-text="Configure your Android app page in Azure portal quickstart":::
247
247
248
-
You should select **Makethis 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 **Makethis 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.
249
249
250
250
:::image type="content" source="media/tutorial-v2-shared-device-mode/config-info.png" alt-text="Configure your project page in Azure portal quickstart":::
251
251
@@ -257,7 +257,7 @@ For testing purposes, set up the following in your tenant: at least two employee
257
257
258
258
### Download the AuthenticatorApp
259
259
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 MicrosoftAuthenticatorApp from the GooglePlay store. If you already have the app downloaded, ensure that it's the latest version.
261
261
262
262
### Authenticator app settings & registering the device in the cloud
263
263
@@ -293,7 +293,7 @@ Once you've put a device in shared-mode, it becomes known to your organization a
293
293
294
294
## Running the sample app
295
295
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.
297
297
298
298
:::image type="content" source="media/tutorial-v2-shared-device-mode/run-app-permissions-requested.png" alt-text="Application configuration info screen":::
# Clean up unmanaged Azure Active Directory accounts
18
18
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.
20
20
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.
22
25
23
26
## Remove unmanaged Azure AD accounts
24
27
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/)
26
32
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.
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.
34
40
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)
36
42
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:
38
44
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
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).
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