Skip to content

Commit a27b7ba

Browse files
authored
Merge pull request #245028 from MicrosoftDocs/main
7/14/2023 AM Publish
2 parents 6995860 + 34d4a30 commit a27b7ba

File tree

89 files changed

+625
-349
lines changed

Some content is hidden

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

89 files changed

+625
-349
lines changed

.openpublishing.redirection.active-directory.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,11 @@
115115
"redirect_url": "/azure/active-directory/saas-apps/pwc-identity-tutorial",
116116
"redirect_document_id": false
117117
},
118+
{
119+
"source_path_from_root": "/articles/active-directory/saas-apps/tanium-cloud-sso-tutorial.md",
120+
"redirect_url": "/azure/active-directory/saas-apps/tanium-sso-tutorial",
121+
"redirect_document_id": false
122+
},
118123
{
119124
"source_path_from_root": "/articles/active-directory/saas-apps/firstbird-tutorial.md",
120125
"redirect_url": "/azure/active-directory/saas-apps/radancys-employee-referrals-tutorial",

articles/active-directory/develop/access-tokens.md

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,10 +85,36 @@ If none of the above scenarios apply, there's no need to validate the token, and
8585
8686
APIs and web applications must only validate tokens that have an `aud` claim that matches the application. Other resources may have custom token validation rules. For example, you can't validate tokens for Microsoft Graph according to these rules due to their proprietary format. Validating and accepting tokens meant for another resource is an example of the [confused deputy](https://cwe.mitre.org/data/definitions/441.html) problem.
8787
88-
If the application needs to validate an ID token or an access token, it should first validate the signature of the token and the issuer against the values in the OpenID discovery document. For example, the tenant-independent version of the document is located at [https://login.microsoftonline.com/common/.well-known/openid-configuration](https://login.microsoftonline.com/common/.well-known/openid-configuration).
88+
If the application needs to validate an ID token or an access token, it should first validate the signature of the token and the issuer against the values in the OpenID discovery document.
8989
9090
The Azure AD middleware has built-in capabilities for validating access tokens, see [samples](sample-v2-code.md) to find one in the appropriate language. There are also several third-party open-source libraries available for JWT validation. For more information about Azure AD authentication libraries and code samples, see the [authentication libraries](reference-v2-libraries.md).
9191
92+
### Validate the issuer
93+
94+
[OpenID Connect Core](https://openid.net/specs/openid-connect-core-1_0.html#IDTokenValidation) says "The Issuer Identifier \[...\] MUST exactly match the value of the iss (issuer) Claim." For applications which use a tenant-specific metadata endpoint (like [https://login.microsoftonline.com/{example-tenant-id}/v2.0/.well-known/openid-configuration](https://login.microsoftonline.com/{example-tenant-id}/v2.0/.well-known/openid-configuration) or [https://login.microsoftonline.com/contoso.onmicrosoft.com/v2.0/.well-known/openid-configuration](https://login.microsoftonline.com/contoso.onmicrosoft.com/v2.0/.well-known/openid-configuration)), this is all that is needed.
95+
Azure AD makes available a tenant-independent version of the document for multi-tenant apps at [https://login.microsoftonline.com/common/v2.0/.well-known/openid-configuration](https://login.microsoftonline.com/common/v2.0/.well-known/openid-configuration). This endpoint returns an issuer value `https://login.microsoftonline.com/{tenantid}/v2.0`. Applications may use this tenant-independent endpoint to validate tokens from every tenant with the following modifications:
96+
97+
1. Instead of expecting the issuer claim in the token to exactly match the issuer value from metadata, the application should replace the `{tenantid}` value in the issuer metadata with the tenant ID that is the target of the current request, and then check the exact match.
98+
99+
1. The application should use the `issuer` property returned from the keys endpoint to restrict the scope of keys.
100+
- Keys that have an issuer value like `https://login.microsoftonline.com/{tenantid}/v2.0` may be used with any matching token issuer.
101+
- Keys that have an issuer value like `https://login.microsoftonline.com/9188040d-6c67-4c5b-b112-36a304b66dad/v2.0` should only be used with exact match.
102+
Azure AD's tenant-independent key endpoint ([https://login.microsoftonline.com/common/discovery/v2.0/keys](https://login.microsoftonline.com/common/discovery/v2.0/keys)) returns a document like:
103+
```
104+
{
105+
"keys":[
106+
{"kty":"RSA","use":"sig","kid":"jS1Xo1OWDj_52vbwGNgvQO2VzMc","x5t":"jS1Xo1OWDj_52vbwGNgvQO2VzMc","n":"spv...","e":"AQAB","x5c":["MIID..."],"issuer":"https://login.microsoftonline.com/{tenantid}/v2.0"},
107+
{"kty":"RSA","use":"sig","kid":"2ZQpJ3UpbjAYXYGaXEJl8lV0TOI","x5t":"2ZQpJ3UpbjAYXYGaXEJl8lV0TOI","n":"wEM...","e":"AQAB","x5c":["MIID..."],"issuer":"https://login.microsoftonline.com/{tenantid}/v2.0"},
108+
{"kty":"RSA","use":"sig","kid":"yreX2PsLi-qkbR8QDOmB_ySxp8Q","x5t":"yreX2PsLi-qkbR8QDOmB_ySxp8Q","n":"rv0...","e":"AQAB","x5c":["MIID..."],"issuer":"https://login.microsoftonline.com/9188040d-6c67-4c5b-b112-36a304b66dad/v2.0"}
109+
]
110+
}
111+
```
112+
113+
1. Applications that use Azure AD's tenant ID (`tid`) claim as a trust boundary instead of the standard issuer claim should ensure that the tenant-id claim is a GUID and that the issuer and tenant ID match.
114+
Using tenant-independent metadata is more efficient for applications which accept tokens from many tenants.
115+
> [!NOTE]
116+
> With Azure AD tenant-independent metadata, claims should be interpreted within the tenant, just as under standard OpenID Connect, claims are interpreted within the issuer. That is, `{"sub":"ABC123","iss":"https://login.microsoftonline.com/{example-tenant-id}/v2.0","tid":"{example-tenant-id}"}` and `{"sub":"ABC123","iss":"https://login.microsoftonline.com/{another-tenand-id}/v2.0","tid":"{another-tenant-id}"}` describe different users, even though the `sub` is the same, because claims like `sub` are interpreted within the context of the issuer/tenant.
117+
92118
### Validate the signature
93119
94120
A JWT contains three segments separated by the `.` character. The first segment is the **header**, the second is the **body**, and the third is the **signature**. Use the signature segment to evaluate the authenticity of the token.
@@ -152,7 +178,7 @@ The server possibly revokes refresh tokens due to a change in credentials, or du
152178
| Password changed by user | Revoked | Revoked | Stays alive | Stays alive | Stays alive |
153179
| User does SSPR | Revoked | Revoked | Stays alive | Stays alive | Stays alive |
154180
| Admin resets password | Revoked | Revoked | Stays alive | Stays alive | Stays alive |
155-
| User or admin revokes the refresh tokens by using [PowerShell](/powershell/module/microsoft.graph.users.actions/invoke-mginvalidateuserrefreshtoken) | Revoked | Revoked | Revoked | Revoked | Revoked |
181+
| User or admin revokes the refresh tokens by using [PowerShell](/powershell/module/microsoft.graph.beta.users.actions/invoke-mgbetainvalidateuserrefreshtoken?view=graph-powershell-beta&preserve-view=true) | Revoked | Revoked | Revoked | Revoked | Revoked |
156182
| [Single sign-out](v2-protocols-oidc.md#single-sign-out) on web | Revoked | Stays alive | Revoked | Stays alive | Stays alive |
157183

158184
#### Non-password-based

articles/active-directory/fundamentals/what-is-deprecated.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,8 @@ Use the following table to learn about changes including deprecations, retiremen
2929
3030
|Functionality, feature, or service|Change|Change date |
3131
|---|---|---:|
32-
|[System-preferred authentication methods](https://techcommunity.microsoft.com/t5/microsoft-entra-azure-ad-blog/microsoft-entra-change-announcements-march-2023-train/ba-p/2967448)|Feature change|Sometime after GA|
33-
|[Azure AD Authentication Library (ADAL)](https://techcommunity.microsoft.com/t5/microsoft-entra-azure-ad-blog/microsoft-entra-change-announcements-march-2023-train/ba-p/2967448)|Retirement|Jun 30, 2023|
32+
|[System-preferred authentication methods](../authentication/concept-system-preferred-multifactor-authentication.md)|Feature change|Sometime after GA|
3433
|[Azure AD Graph API](https://aka.ms/aadgraphupdate)|Start of phased retirement|Jul 2023|
35-
|[My Apps improvements](https://techcommunity.microsoft.com/t5/microsoft-entra-azure-ad-blog/microsoft-entra-change-announcements-march-2023-train/ba-p/2967448)|Feature change|Jun 30, 2023|
3634
|[Terms of Use experience](https://techcommunity.microsoft.com/t5/microsoft-entra-azure-ad-blog/microsoft-entra-change-announcements-march-2023-train/ba-p/2967448)|Feature change|Jul 2023|
3735
|[Azure AD PowerShell and MSOnline PowerShell](https://aka.ms/aadgraphupdate)|Deprecation|Mar 30, 2024|
3836
|[Azure AD MFA Server](https://techcommunity.microsoft.com/t5/microsoft-entra-azure-ad-blog/microsoft-entra-change-announcements-march-2023-train/ba-p/2967448)|Retirement|Sep 30, 2024|
@@ -44,6 +42,8 @@ Use the following table to learn about changes including deprecations, retiremen
4442

4543
|Functionality, feature, or service|Change|Change date |
4644
|---|---|---:|
45+
|[Azure AD Authentication Library (ADAL)](https://techcommunity.microsoft.com/t5/microsoft-entra-azure-ad-blog/microsoft-entra-change-announcements-march-2023-train/ba-p/2967448)|Retirement|Jun 30, 2023|
46+
|[My Apps improvements](https://techcommunity.microsoft.com/t5/microsoft-entra-azure-ad-blog/microsoft-entra-change-announcements-march-2023-train/ba-p/2967448)|Feature change|Jun 30, 2023|
4747
|[Microsoft Authenticator Lite for Outlook mobile](../../active-directory/authentication/how-to-mfa-authenticator-lite.md)|Feature change|Jun 9, 2023|
4848
|[My Groups experience](https://techcommunity.microsoft.com/t5/microsoft-entra-azure-ad-blog/microsoft-entra-change-announcements-march-2023-train/ba-p/2967448)|Feature change|May 2023|
4949
|[My Apps browser extension](https://techcommunity.microsoft.com/t5/microsoft-entra-azure-ad-blog/microsoft-entra-change-announcements-march-2023-train/ba-p/2967448)|Feature change|May 2023|

articles/active-directory/manage-apps/add-application-portal-configure.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ ms.workload: identity
1111
ms.date: 01/26/2023
1212
ms.author: jomondi
1313
ms.reviewer: ergreenl
14-
zone_pivot_groups: enterprise-apps-minus-aad-powershell
14+
zone_pivot_groups: enterprise-apps-minus-former-powershell
1515
ms.custom: enterprise-apps
1616

1717
#Customer intent: As an administrator of an Azure AD tenant, I want to configure the properties of an enterprise application.

articles/active-directory/manage-apps/application-list.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ ms.service: active-directory
88
ms.subservice: app-mgmt
99
ms.workload: identity
1010
ms.topic: reference
11-
ms.date: 01/07/2022
11+
ms.date: 07/14/2023
1212
ms.author: jomondi
1313
ms.reviewer: alamaral
1414
ms.custom: enterprise-apps
@@ -33,7 +33,7 @@ When filtered to **All Applications**, the **All Applications** **List** shows e
3333
- When you add a new application registration by creating a custom-developed application using the [Application Registry](../develop/quickstart-register-app.md)
3434
- When you add a new application registration by creating a custom-developed application using the [V2.0 Application Registration portal](../develop/quickstart-register-app.md)
3535
- When you add an application, you’re developing using Visual Studio’s [ASP.NET Authentication Methods](https://www.asp.net/visual-studio/overview/2013/creating-web-projects-in-visual-studio#orgauthoptions) or [Connected Services](https://devblogs.microsoft.com/visualstudio/connecting-to-cloud-services/)
36-
- When you create a service principal object using the [Azure AD PowerShell Module](/powershell/azure/active-directory/install-adv2)
36+
- When you create a service principal object using the [Microsoft Graph PowerShell](/powershell/microsoftgraph/installation) module.
3737
- When you [consent to an application](../develop/howto-convert-app-to-be-multi-tenant.md) as an administrator to use data in your tenant
3838
- When a [user consents to an application](../develop/howto-convert-app-to-be-multi-tenant.md) to use data in your tenant
3939
- When you enable certain services that store data in your tenant. One example is Password Reset, which is modeled as a service principal to store your password reset policy securely.

articles/active-directory/manage-apps/assign-app-owners.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ ms.topic: how-to
1212
ms.date: 01/26/2023
1313
ms.author: jomondi
1414
ms.reviewer: saibandaru
15-
zone_pivot_groups: enterprise-apps-minus-aad-powershell
15+
zone_pivot_groups: enterprise-apps-minus-former-powershell
1616
ms.custom: enterprise-apps
1717

1818
#Customer intent: As an Azure AD administrator, I want to assign owners to enterprise applications.

articles/active-directory/manage-apps/configure-user-consent.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ ms.date: 04/19/2023
1212
ms.author: jomondi
1313
ms.reviewer: phsignor, yuhko
1414
ms.custom: contperf-fy21q2, contperf-fy22q2, enterprise-apps
15-
zone_pivot_groups: enterprise-apps-minus-aad-powershell
15+
zone_pivot_groups: enterprise-apps-minus-former-powershell
1616

1717

1818
#customer intent: As an admin, I want to configure how end-users consent to applications.

articles/active-directory/manage-apps/disable-user-sign-in-portal.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ zone_pivot_groups: enterprise-apps-all
1919
---
2020
# Disable user sign-in for an application
2121

22-
There may be situations while configuring or managing an application where you don't want tokens to be issued for an application. Or, you may want to block an application that you don't want your employees to try to access. To block user access to an application, you can disable user sign-in for the application, which will prevent all tokens from being issued for that application.
22+
There may be situations while configuring or managing an application where you don't want tokens to be issued for an application. Or, you may want to block an application that you don't want your employees to try to access. To block user access to an application, you can disable user sign-in for the application, which prevents all tokens from being issued for that application.
2323

24-
In this article, you'll learn how to prevent users from signing in to an application in Azure Active Directory through both the Azure portal and PowerShell. If you're looking for how to block specific users from accessing an application, use [user or group assignment](./assign-user-or-group-access-portal.md).
24+
In this article, you learn how to prevent users from signing in to an application in Azure Active Directory through both the Azure portal and PowerShell. If you're looking for how to block specific users from accessing an application, use [user or group assignment](./assign-user-or-group-access-portal.md).
2525

2626
[!INCLUDE [portal updates](../includes/portal-update.md)]
2727

@@ -32,7 +32,7 @@ To disable user sign-in, you need:
3232
- An Azure account with an active subscription. [Create an account for free](https://azure.microsoft.com/free/?WT.mc_id=A261C142F).
3333
- One of the following roles: An administrator, or owner of the service principal.
3434

35-
## Disable how a user signs in
35+
## Disable user sign-in
3636

3737
:::zone pivot="portal"
3838

@@ -48,7 +48,7 @@ To disable user sign-in, you need:
4848

4949
:::zone pivot="aad-powershell"
5050

51-
You may know the AppId of an app that doesn't appear on the Enterprise apps list. For example, you may have deleted the app or the service principal hasn't yet been created due to the app being pre-authorized by Microsoft, you can manually create the service principal for the app and then disable it by using the following Azure AD PowerShell cmdlet.
51+
You may know the AppId of an app that doesn't appear on the Enterprise apps list. For example, you may have deleted the app or the service principal hasn't yet been created due to the app being preauthorized by Microsoft. You can manually create the service principal for the app and then disable it by using the following Microsoft Graph PowerShell cmdlet.
5252

5353
Ensure you've installed the AzureAD module (use the command `Install-Module -Name AzureAD`). In case you're prompted to install a NuGet module or the new Azure AD V2 PowerShell module, type Y and press ENTER.
5454

@@ -73,7 +73,7 @@ if ($servicePrincipal) {
7373

7474
:::zone pivot="ms-powershell"
7575

76-
You may know the AppId of an app that doesn't appear on the Enterprise apps list. For example, you may have deleted the app or the service principal hasn't yet been created due to the app being pre-authorized by Microsoft, you can manually create the service principal for the app and then disable it by using the following Microsoft Graph PowerShell cmdlet.
76+
You may know the AppId of an app that doesn't appear on the Enterprise apps list. For example, you may have deleted the app or the service principal hasn't yet been created due to the app being preauthorized by Microsoft. You can manually create the service principal for the app and then disable it by using the following Microsoft Graph PowerShell cmdlet.
7777

7878
Ensure you've installed the Microsoft Graph module (use the command `Install-Module Microsoft.Graph`).
7979

@@ -97,11 +97,11 @@ else { $servicePrincipal = New-MgServicePrincipal -AppId $appId –AccountEnabl
9797

9898
:::zone pivot="ms-graph"
9999

100-
You may know the AppId of an app that doesn't appear on the Enterprise apps list. For example, you may have deleted the app or the service principal hasn't yet been created due to the app being pre-authorized by Microsoft, you can manually create the service principal for the app and then disable it by using Microsoft Graph explorer.
100+
You may know the AppId of an app that doesn't appear on the Enterprise apps list. For example, you may have deleted the app or the service principal hasn't yet been created due to the app being preauthorized by Microsoft. You can manually create the service principal for the app and then disable it by using the following Microsoft Graph PowerShell cmdlet.
101101

102102
To disable sign-in to an application, sign in to [Graph Explorer](https://developer.microsoft.com/graph/graph-explorer) with one of the roles listed in the prerequisite section.
103103

104-
You'll need to consent to the `Application.ReadWrite.All` permission.
104+
You need to consent to the `Application.ReadWrite.All` permission.
105105

106106
Run the following query to disable user sign-in to an application.
107107

articles/active-directory/manage-apps/grant-admin-consent.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ ms.author: jomondi
1313
ms.reviewer: ergreenl
1414
ms.collection: M365-identity-device-management
1515
ms.custom: contperf-fy22q2, enterprise-apps
16-
zone_pivot_groups: enterprise-apps-minus-aad-powershell
16+
zone_pivot_groups: enterprise-apps-minus-former-powershell
1717

1818
#customer intent: As an admin, I want to grant tenant-wide admin consent to an application in Azure AD.
1919
---

articles/active-directory/manage-apps/manage-application-permissions.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,15 +45,15 @@ Please see [Restore permissions granted to applications](restore-permissions.md)
4545

4646
You can access the Azure portal to view the permissions granted to an app. You can revoke permissions granted by admins for your entire organization, and you can get contextual PowerShell scripts to perform other actions.
4747

48-
To revoke application permissions granted for the entire organization:
48+
To revoke an application's permissions that have been granted for the entire organization:
4949

5050
1. Sign in to the [Azure portal](https://portal.azure.com) using one of the roles listed in the prerequisites section.
5151
1. Select **Azure Active Directory**, and then select **Enterprise applications**.
5252
1. Select the application that you want to restrict access to.
5353
1. Select **Permissions**.
5454
1. The permissions listed in the **Admin consent** tab apply to your entire organization. Choose the permission you would like to remove, select the **...** control for that permission, and then choose **Revoke permission**.
5555

56-
To review application permissions:
56+
To review an application's permissions:
5757

5858
1. Sign in to the [Azure portal](https://portal.azure.com) using one of the roles listed in the prerequisites section.
5959
1. Select **Azure Active Directory**, and then select **Enterprise applications**.

0 commit comments

Comments
 (0)