Skip to content

Commit 8d56da9

Browse files
authored
Merge pull request #187612 from MicrosoftDocs/master
2/04 PM Publish
2 parents b004e5e + 950bdf2 commit 8d56da9

File tree

240 files changed

+6060
-4128
lines changed

Some content is hidden

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

240 files changed

+6060
-4128
lines changed

.openpublishing.redirection.active-directory.json

Lines changed: 27 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -755,14 +755,29 @@
755755
"redirect_url": "/azure/active-directory/active-directory-b2b-admin-add-users",
756756
"redirect_document_id": false
757757
},
758+
{
759+
"source_path_from_root": "/articles/active-directory/external-identities/delegate-invitations.md",
760+
"redirect_url": "/azure/active-directory/external-identities/external-collaboration-settings-configure",
761+
"redirect_document_id": true
762+
},
763+
{
764+
"source_path_from_root": "/articles/active-directory/external-identities/conditional-access.md",
765+
"redirect_url": "/azure/active-directory/external-identities/authentication-conditional-access",
766+
"redirect_document_id": true
767+
},
768+
{
769+
"source_path_from_root": "/articles/active-directory/external-identities/compare-with-b2c.md",
770+
"redirect_url": "/azure/active-directory/external-identities/external-identities-overview",
771+
"redirect_document_id": true
772+
},
758773
{
759774
"source_path_from_root": "/articles/active-directory/external-identities/add-guest-to-role.md",
760775
"redirect_url": "/azure/active-directory/external-identities/add-users-administrator",
761776
"redirect_document_id": false
762777
},
763778
{
764779
"source_path_from_root": "/articles/active-directory/active-directory-b2b-compare-external-identities.md",
765-
"redirect_url": "/azure/active-directory/active-directory-b2b-compare-b2c",
780+
"redirect_url": "/azure/active-directory/external-identities/external-identities-overview",
766781
"redirect_document_id": false
767782
},
768783
{
@@ -1827,13 +1842,13 @@
18271842
},
18281843
{
18291844
"source_path_from_root": "/articles/active-directory/active-directory-b2b-compare-b2c.md",
1830-
"redirect_url": "/azure/active-directory/b2b/compare-with-b2c",
1831-
"redirect_document_id": true
1845+
"redirect_url": "/azure/active-directory/external-identities/external-identities-overview",
1846+
"redirect_document_id": false
18321847
},
18331848
{
18341849
"source_path_from_root": "/articles/active-directory/active-directory-b2b-mfa-instructions.md",
18351850
"redirect_url": "/azure/active-directory/b2b/conditional-access",
1836-
"redirect_document_id": true
1851+
"redirect_document_id": false
18371852
},
18381853
{
18391854
"source_path_from_root": "/articles/active-directory/active-directory-b2b-configure-saas-apps.md",
@@ -1852,8 +1867,8 @@
18521867
},
18531868
{
18541869
"source_path_from_root": "/articles/active-directory/active-directory-b2b-delegate-invitations.md",
1855-
"redirect_url": "/azure/active-directory/b2b/delegate-invitations",
1856-
"redirect_document_id": true
1870+
"redirect_url": "/azure/active-directory/external-identities/external-collaboration-settings-configure",
1871+
"redirect_document_id": false
18571872
},
18581873
{
18591874
"source_path_from_root": "/articles/active-directory/active-directory-b2b-faq.md",
@@ -3822,13 +3837,13 @@
38223837
},
38233838
{
38243839
"source_path_from_root": "/articles/active-directory/b2b/compare-with-b2c.md",
3825-
"redirect_url": "/azure/active-directory/external-identities/compare-with-b2c",
3826-
"redirect_document_id": true
3840+
"redirect_url": "/azure/active-directory/external-identities/external-identities-overview",
3841+
"redirect_document_id": false
38273842
},
38283843
{
38293844
"source_path_from_root": "/articles/active-directory/b2b/conditional-access.md",
3830-
"redirect_url": "/azure/active-directory/external-identities/conditional-access",
3831-
"redirect_document_id": true
3845+
"redirect_url": "/azure/active-directory/external-identities/authentication-conditional-access",
3846+
"redirect_document_id": false
38323847
},
38333848
{
38343849
"source_path_from_root": "/articles/active-directory/b2b/configure-saas-apps.md",
@@ -3847,8 +3862,8 @@
38473862
},
38483863
{
38493864
"source_path_from_root": "/articles/active-directory/b2b/delegate-invitations.md",
3850-
"redirect_url": "/azure/active-directory/external-identities/delegate-invitations",
3851-
"redirect_document_id": true
3865+
"redirect_url": "/azure/active-directory/external-identities/external-collaboration-settings-configure",
3866+
"redirect_document_id": false
38523867
},
38533868
{
38543869
"source_path_from_root": "/articles/active-directory/b2b/direct-federation.md",

.openpublishing.redirection.azure-sql.json

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,11 @@
179179
"source_path_from_root": "/articles/azure-sql/database/job-automation-managed-instances.md",
180180
"redirect_url": "/azure/azure-sql/managed-instance/job-automation-managed-instance",
181181
"redirect_document_id": true
182-
}
182+
},
183+
{
184+
"source_path": "articles/azure-sql/database/service-tiers-general-purpose-business-critical.md",
185+
"redirect_url": "/azure/azure-sql/database/service-tiers-vcore",
186+
"redirect_document_id": false
187+
}
183188
]
184189
}

articles/active-directory-b2c/TOC.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@
5252
- name: Concepts
5353
items:
5454
- name: Compare solutions for External Identities
55-
href: ../active-directory/external-identities/compare-with-b2c.md?bc=%2fazure%2factive-directory-b2c%2fbread%2ftoc.json&toc=%2fazure%2factive-directory-b2c%2fTOC.json
55+
href: ../active-directory/external-identities/external-identities-overview.md?bc=%2fazure%2factive-directory-b2c%2fbread%2ftoc.json&toc=%2fazure%2factive-directory-b2c%2fTOC.json
5656
- name: Learn authentication basics
5757
items:
5858
- name: Authentication and authorization

articles/active-directory-b2c/faq.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ sections:
131131
- question: |
132132
Should I use Azure AD B2C or B2B to manage external identities?
133133
answer: |
134-
Read [Compare B2B collaboration and B2C in Azure AD](../active-directory/external-identities/compare-with-b2c.md) to learn more about applying the appropriate features to your external identity scenarios.
134+
Read [Compare solutions for External Identities](../active-directory/external-identities/external-identities-overview.md) to learn more about applying the appropriate features to your external identity scenarios.
135135
136136
- question: |
137137
What reporting and auditing features does Azure AD B2C provide? Are they the same as in Azure AD Premium?

articles/active-directory-b2c/index.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ landingContent:
2929
- text: What is Azure AD B2C?
3030
url: overview.md
3131
- text: Compare solutions for External Identities
32-
url: ../active-directory/external-identities/compare-with-b2c.md?bc=%2fazure%2factive-directory-b2c%2fbread%2ftoc.json&toc=%2fazure%2factive-directory-b2c%2fTOC.json
32+
url: ../active-directory/external-identities/external-identities-overview.md?bc=%2fazure%2factive-directory-b2c%2fbread%2ftoc.json&toc=%2fazure%2factive-directory-b2c%2fTOC.json
3333
- text: Get started with Azure AD B2C
3434
url: tutorial-create-tenant.md
3535
- text: Technical and feature overview

articles/active-directory/authentication/howto-sspr-deployment.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,6 @@ For more information about pricing, see [Azure Active Directory pricing](https:/
8686
| |[Azure AD password reset from the login screen for Windows 10](./howto-sspr-windows.md) |
8787
| FAQ|[Password management frequently asked questions](./active-directory-passwords-faq.yml) |
8888

89-
9089
### Solution architecture
9190

9291
The following example describes the password reset solution architecture for common hybrid environments.
@@ -109,8 +108,6 @@ You can help users register quickly by deploying SSPR alongside another popular
109108

110109
Before deploying SSPR, you may opt to determine the number and the average cost of each password reset call. You can use this data post deployment to show the value SSPR is bringing to the organization.
111110

112-
#### Enable combined registration for SSPR and MFA
113-
114111
### Combined registration for SSPR and Azure AD Multi-Factor Authentication
115112

116113
We recommend that organizations use the [combined registration experience for Azure AD Multi-Factor Authentication and self-service password reset (SSPR)](howto-registration-mfa-sspr-combined.md). SSPR allows users to reset their password in a secure way using the same methods they use for Azure AD Multi-Factor Authentication. Combined registration is a single step for end users. To make sure you understand the functionality and end-user experience, see the [Combined security information registration concepts](concept-registration-mfa-sspr-combined.md).

articles/active-directory/conditional-access/concept-conditional-access-cloud-apps.md

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ services: active-directory
66
ms.service: active-directory
77
ms.subservice: conditional-access
88
ms.topic: conceptual
9-
ms.date: 06/15/2021
9+
ms.date: 02/03/2022
1010

1111
ms.author: joflore
1212
author: MicrosoftGuyJFlo
@@ -108,12 +108,21 @@ The Microsoft Azure Management application includes multiple services.
108108
- Classic deployment model APIs
109109
- Azure PowerShell
110110
- Azure CLI
111-
- Visual Studio subscriptions administrator portal
112111
- Azure DevOps
113112
- Azure Data Factory portal
113+
- Azure Event Hubs
114+
- Azure Service Bus
115+
- [Azure SQL Database](../../azure-sql/database/conditional-access-configure.md)
116+
- SQL Managed Instance
117+
- Azure Synapse
118+
- Visual Studio subscriptions administrator portal
114119

115120
> [!NOTE]
116-
> The Microsoft Azure Management application applies to Azure PowerShell, which calls the Azure Resource Manager API. It does not apply to Azure AD PowerShell, which calls Microsoft Graph.
121+
> The Microsoft Azure Management application applies to [Azure PowerShell](/powershell/azure/what-is-azure-powershell), which calls the [Azure Resource Manager API](../../azure-resource-manager/management/overview.md). It does not apply to [Azure AD PowerShell](/powershell/azure/active-directory/overview), which calls the [Microsoft Graph API](/graph/overview).
122+
123+
For more information on how to set up a sample policy for Microsoft Azure Management, see [Conditional Access: Require MFA for Azure management](howto-conditional-access-policy-azure-management.md).
124+
125+
For Azure Government, you should target the Azure Government Cloud Management API application.
117126

118127
### Other applications
119128

articles/active-directory/conditional-access/howto-conditional-access-policy-azure-management.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ services: active-directory
66
ms.service: active-directory
77
ms.subservice: conditional-access
88
ms.topic: how-to
9-
ms.date: 11/05/2021
9+
ms.date: 02/03/2022
1010

1111
ms.author: joflore
1212
author: MicrosoftGuyJFlo
@@ -42,6 +42,9 @@ Organizations can choose to deploy this policy using the steps outlined below or
4242

4343
The following steps will help create a Conditional Access policy to require users who access the [Microsoft Azure Management](concept-conditional-access-cloud-apps.md#microsoft-azure-management) suite do multi-factor authentication.
4444

45+
> [!CAUTION]
46+
> Make sure you understand how Conditional Access works before setting up a policy to manage access to Microsoft Azure Management. Make sure you don't create conditions that could block your own access to the portal.
47+
4548
1. Sign in to the **Azure portal** as a global administrator, security administrator, or Conditional Access administrator.
4649
1. Browse to **Azure Active Directory** > **Security** > **Conditional Access**.
4750
1. Select **New policy**.

articles/active-directory/develop/TOC.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -387,6 +387,8 @@
387387
href: msal-compare-msal-js-and-adal-js.md
388388
- name: Migrate to MSAL Node
389389
href: msal-node-migration.md
390+
- name: MSAL Node extension
391+
href: msal-node-extensions.md
390392
- name: Single sign-on with MSAL.js
391393
href: msal-js-sso.md
392394
- name: Considerations - IE
Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
---
2+
title: "Learn about Microsoft Authentication Extensions for Node | Azure"
3+
titleSuffix: Microsoft identity platform
4+
description: The Microsoft Authentication Extensions for Node enables application developers to perform cross-platform token cache serialization and persistence. It gives extra support to the Microsoft Authentication Library for Node (MSAL Node).
5+
services: active-directory
6+
author: henrymbuguakiarie
7+
manager: CelesteDG
8+
9+
ms.service: active-directory
10+
ms.subservice: develop
11+
ms.topic: conceptual
12+
ms.workload: identity
13+
ms.date: 02/04/2022
14+
ms.reviewer: j-mantu, samuelkubai, Dickson-Mwendia
15+
ms.author: henrymbugua
16+
#Customer intent: As an application developer, I want to learn how to use the Microsoft Authentication Extensions for Node to perform cross-platform token cache serialization and persistence.
17+
---
18+
19+
# Microsoft Authentication Extensions for Node
20+
21+
The Microsoft Authentication Extensions for Node enables developers to perform cross-platform token cache serialization and persistence to disk. It gives extra support to the Microsoft Authentication Library (MSAL) for Node.
22+
23+
The [MSAL for Node](tutorial-v2-nodejs-webapp-msal.md) supports an in-memory cache by default and provides the ICachePlugin interface to perform cache serialization, but doesn't provide a default way of storing the token cache to disk. The Microsoft Authentication Extensions for Node is the default implementation for persisting cache to disk across different platforms.
24+
25+
The Microsoft Authentication Extensions for Node support the following platforms:
26+
27+
- Windows - Data protection API (DPAPI) is used for protection.
28+
- Mac - The Mac Keychain is used.
29+
- Linux - LibSecret is used for storing to "Secret Service".
30+
31+
## Installation
32+
33+
The `msal-node-extensions` package is available on Node Package Manager (NPM).
34+
35+
```bash
36+
npm i @azure/msal-node-extensions --save
37+
```
38+
39+
## Configure the token cache
40+
41+
Here's an example of code that uses Microsoft Authentication Extensions for Node to configure the token cache.
42+
43+
```javascript
44+
const {
45+
DataProtectionScope,
46+
Environment,
47+
PersistenceCreator,
48+
PersistenceCachePlugin,
49+
} = require("@azure/msal-node-extensions");
50+
51+
// You can use the helper functions provided through the Environment class to construct your cache path
52+
// The helper functions provide consistent implementations across Windows, Mac and Linux.
53+
const cachePath = path.join(Environment.getUserRootDirectory(), "./cache.json");
54+
55+
const persistenceConfiguration = {
56+
cachePath,
57+
dataProtectionScope: DataProtectionScope.CurrentUser,
58+
serviceName: "<SERVICE-NAME>",
59+
accountName: "<ACCOUNT-NAME>",
60+
usePlaintextFileOnLinux: false,
61+
};
62+
63+
// The PersistenceCreator obfuscates a lot of the complexity by doing the following actions for you :-
64+
// 1. Detects the environment the application is running on and initializes the right persistence instance for the environment.
65+
// 2. Performs persistence validation for you.
66+
// 3. Performs any fallbacks if necessary.
67+
PersistenceCreator.createPersistence(persistenceConfiguration).then(
68+
async (persistence) => {
69+
const publicClientConfig = {
70+
auth: {
71+
clientId: "<CLIENT-ID>",
72+
authority: "<AUTHORITY>",
73+
},
74+
75+
// This hooks up the cross-platform cache into MSAL
76+
cache: {
77+
cachePlugin: new PersistenceCachePlugin(persistence),
78+
},
79+
};
80+
81+
const pca = new msal.PublicClientApplication(publicClientConfig);
82+
83+
// Use the public client application as required...
84+
}
85+
);
86+
```
87+
88+
The following table provides an explanation for all the arguments for the persistence configuration.
89+
90+
| Field Name | Description | Required For |
91+
| ----------------------- | --------------------------------------------------------------------------------------------------- | ---------------------- |
92+
| cachePath | The path to the lock file the library uses to synchronize the reads and the writes | Windows, Mac, and Linux |
93+
| dataProtectionScope | Specifies the scope of the data protection on Windows either the current user or the local machine. | Windows |
94+
| serviceName | Specifies the service name to be used on Mac and/or Linux | Mac and Linux |
95+
| accountName | Specifies the account name to be used on Mac and/or Linux | Mac and Linux |
96+
| usePlaintextFileOnLinux | The flag to default to plain text on linux if LibSecret fails. Defaults to `false` | Linux |
97+
98+
## Next steps
99+
100+
For more information about Microsoft Authentication Extensions for Node and MSAL Node, see:
101+
102+
- [Microsoft Authentication Extensions for Node](https://github.com/AzureAD/microsoft-authentication-library-for-js/tree/dev/extensions/msal-node-extensions)
103+
- [Microsoft Authentication Library for Node](https://github.com/AzureAD/microsoft-authentication-library-for-js/tree/dev/lib/msal-node)

0 commit comments

Comments
 (0)