Skip to content

Commit a65ab79

Browse files
authored
Merge pull request #219141 from MicrosoftDocs/main
11/21 AM Publish
2 parents c5f1b1e + efa3fce commit a65ab79

File tree

277 files changed

+3144
-1738
lines changed

Some content is hidden

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

277 files changed

+3144
-1738
lines changed

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

Lines changed: 2 additions & 2 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: how-to
9-
ms.date: 03/25/2022
9+
ms.date: 11/21/2022
1010

1111
ms.author: joflore
1212
author: MicrosoftGuyJFlo
@@ -56,7 +56,7 @@ Create a location based Conditional Access policy that applies to service princi
5656

5757
### Create a risk-based Conditional Access policy
5858

59-
Create a location based Conditional Access policy that applies to service principals.
59+
Create a risk-based Conditional Access policy that applies to service principals.
6060

6161
:::image type="content" source="media/workload-identity/conditional-access-workload-identity-risk-policy.png" alt-text="Creating a Conditional Access policy with a workload identity and risk as a condition." lightbox="media/workload-identity/conditional-access-workload-identity-risk-policy.png":::
6262

articles/active-directory/develop/msal-logging-js.md

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ The loggerOptions object has the following properties:
2929
- `piiLoggingEnabled` (optional): if set to true, logs personal and organizational data. By default this is false so that your application doesn't log personal data. Personal data logs are never written to default outputs like Console, Logcat, or NSLog.
3030

3131
```javascript
32+
import msal from "@azure/msal-browser"
33+
3234
const msalConfig = {
3335
auth: {
3436
clientId: "enter_client_id_here",
@@ -47,35 +49,30 @@ const msalConfig = {
4749
},
4850
system: {
4951
loggerOptions: {
50-
loggerCallback: (level: LogLevel, message: string, containsPii: boolean): void => {
52+
logLevel: msal.LogLevel.Verbose,
53+
loggerCallback: (level, message, containsPii) => {
5154
if (containsPii) {
5255
return;
5356
}
5457
switch (level) {
55-
case LogLevel.Error:
58+
case msal.LogLevel.Error:
5659
console.error(message);
5760
return;
58-
case LogLevel.Info:
61+
case msal.LogLevel.Info:
5962
console.info(message);
6063
return;
61-
case LogLevel.Verbose:
64+
case msal.LogLevel.Verbose:
6265
console.debug(message);
6366
return;
64-
case LogLevel.Warning:
67+
case msal.LogLevel.Warning:
6568
console.warn(message);
6669
return;
6770
}
6871
},
6972
piiLoggingEnabled: false
7073
},
71-
windowHashTimeout: 60000,
72-
iframeHashTimeout: 6000,
73-
loadFrameTimeout: 0,
74-
asyncPopups: false
75-
};
76-
}
77-
78-
const msalInstance = new PublicClientApplication(msalConfig);
74+
},
75+
};
7976
```
8077

8178
## Next steps

articles/active-directory/develop/msal-migration.md

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,16 @@ If any of your applications use the Azure Active Directory Authentication Librar
2929
3030
## Why switch to MSAL?
3131

32+
To understand 'Why MSAL?', it's important to first understand the differences between Microsoft identity platform (v2.0) and Azure Active Directory (v1.0) endpoints. The v1.0 endpoint is used by Azure AD Authentication Library (ADAL) while the v2.0 endpoint is used by Microsoft Authentication Library (MSAL). If you've developed apps against the v1.0 endpoint in the past, you're likely using ADAL. Since the v2.0 endpoint has changed significantly enough, the new library (MSAL) was built for the new endpoint entirely.
33+
34+
The following diagram shows the v2.0 vs v1.0 endpoint experience at a high level, including the app registration experience, SDKs, endpoints, and supported identities.
35+
36+
![Diagram that shows the v1.0 versus the v2.0 architecture.](../azuread-dev/media/about-microsoft-identity-platform/about-microsoft-identity-platform.svg)
37+
38+
MSAL leverages all the [benefits of Microsoft identity platform (v2.0) endpoint](../azuread-dev/azure-ad-endpoint-comparison.md).
39+
40+
MSAL is designed to enable a secure solution without developers having to worry about the implementation details. it simplifies and manages acquiring, managing, caching, and refreshing tokens, and uses best practices for resilience. We recommend you use MSAL to [increase the resilience of authentication and authorization in client applications that you develop](../fundamentals/resilience-client-app.md?tabs=csharp#use-the-microsoft-authentication-library-msal).
41+
3242
MSAL provides multiple benefits over ADAL, including the following features:
3343

3444
|Features|MSAL|ADAL|
@@ -46,6 +56,13 @@ MSAL provides multiple benefits over ADAL, including the following features:
4656
| Proactive token renewal |![Proactive token renewal - MSAL provides the feature][y]|![Proactive token renewal - ADAL doesn't provide the feature][n]|
4757
| Throttling |![Throttling - MSAL provides the feature][y]|![Throttling - ADAL doesn't provide the feature][n]|
4858

59+
## Additional Capabilities of MSAL over ADAL
60+
- Auth broker support – Device-based Conditional Access policy
61+
- Proof of possession tokens
62+
- Azure AD certificate-based authentication (CBA) on mobile
63+
- System browsers on mobile devices
64+
- Where ADAL had only authentication context class, MSAL exposes the notion of a collection of client apps (public client and confidential client).
65+
4966
## AD FS support in MSAL.NET
5067

5168
You can use MSAL.NET, MSAL Java, and MSAL Python to get tokens from Active Directory Federation Services (AD FS) 2019 or later. Earlier versions of AD FS, including AD FS 2016, are unsupported by MSAL.
@@ -61,6 +78,15 @@ After identifying your apps that use ADAL, migrate them to MSAL depending on you
6178

6279
[!INCLUDE [application type](includes/adal-msal-migration.md)]
6380

81+
MSAL Supports a wide range of application types and scenarios. Please refer to [Microsoft Authentication Library support for several application types](reference-v2-libraries.md#single-page-application-spa).
82+
83+
ADAL to MSAL Migration Guide for different platforms are available in the following link.
84+
- [Migrate to MSAL iOS and MacOS](migrate-objc-adal-msal.md)
85+
- [Migrate to MSAL Java](migrate-adal-msal-java.md)
86+
- [Migrate to MSAL .Net](msal-net-migration.md)
87+
- [Migrate to MSAL Node](msal-node-migration.md)
88+
- [Migrate to MSAL Python](migrate-python-adal-msal.md)
89+
6490
## Migration help
6591

6692
If you have questions about migrating your app from ADAL to MSAL, here are some options:
@@ -82,4 +108,4 @@ For more information about MSAL, including usage information and which libraries
82108
![X indicating no.][n] | ![Green check mark.][y] | ![Green check mark.][y] | -- |
83109
-->
84110
[y]: media/common/yes.png
85-
[n]: media/common/no.png
111+
[n]: media/common/no.png

articles/active-directory/develop/tutorial-v2-javascript-spa.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ sampleApp/
165165
In the next steps, you'll create a new folder for the JavaScript SPA and set up the user interface (UI).
166166

167167
> [!TIP]
168-
> When you set up an Azure Active Directory (Azure AD) account, you create a tenant. This is a digital representation of your organization. It's primarily associated with a domain, like Microsoft.com. If you want to learn how applications can work with multiple tenants, refer to the [application model](/articles/active-directory/develop/application-model.md).
168+
> When you set up an Azure Active Directory (Azure AD) account, you create a tenant. This is a digital representation of your organization. It's primarily associated with a domain, like Microsoft.com. If you want to learn how applications can work with multiple tenants, refer to the [application model](/azure/active-directory/develop/application-model).
169169
170170
## Create the SPA UI
171171

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ private void loadAccount()
155155
}
156156
}
157157
@Override
158-
public void on AccountChanged(@Nullable IAccount priorAccount, @Nullable Iaccount currentAccount)
158+
public void onAccountChanged(@Nullable IAccount priorAccount, @Nullable Iaccount currentAccount)
159159
{
160160
if (currentAccount == null)
161161
{

articles/aks/integrations.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ Both extensions and add-ons are supported ways to add functionality to your AKS
5353

5454
## GitHub Actions
5555

56-
GitHub Actions helps you automate your software development workflows from within GitHub. For more details on using GitHub Actions with Azure, see [What is GitHub Actions for Azures][github-actions]. For an example of using GitHub Actions with an AKS cluster, see [Build, test, and deploy containers to Azure Kubernetes Service using GitHub Actions][github-actions-aks].
56+
GitHub Actions helps you automate your software development workflows from within GitHub. For more details on using GitHub Actions with Azure, see [What is GitHub Actions for Azure][github-actions]. For an example of using GitHub Actions with an AKS cluster, see [Build, test, and deploy containers to Azure Kubernetes Service using GitHub Actions][github-actions-aks].
5757

5858
## Open source and third-party integrations
5959

articles/automation/automation-hybrid-runbook-worker.md

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Azure Automation Hybrid Runbook Worker overview
33
description: Know about Hybrid Runbook Worker. How to install and run the runbooks on machines in your local datacenter or cloud provider.
44
services: automation
55
ms.subservice: process-automation
6-
ms.date: 11/11/2021
6+
ms.date: 11/09/2022
77
ms.topic: conceptual
88
ms.custom: devx-track-azurepowershell
99
---
@@ -21,21 +21,18 @@ Azure Automation provides native integration of the Hybrid Runbook Worker role t
2121

2222
:::image type="content" source="./media/automation-hybrid-runbook-worker/hybrid-worker-group-platform-inline.png" alt-text="Screenshot of hybrid worker group showing platform field." lightbox="./media/automation-hybrid-runbook-worker/hybrid-worker-group-platform-expanded.png":::
2323

24-
Here's a list of benefits available with the extension-based Hybrid Runbook Worker role:
25-
26-
| Benefit | Description |
27-
|---|---|
28-
|Seamless onboarding| Removes dependency on a Log Analytics solution for onboarding Hybrid Runbook Workers, which is a multi-step process, is time consuming, and error-prone. |
29-
|Unified onboarding experience| Installation is managed using the same supported methods for Azure and non-Azure machines. |
30-
|Ease of Manageability| Native integration with ARM identity for Hybrid Runbook Worker and provides the flexibility for governance at scale through policies and templates. |
31-
|Azure AD-based authentication| Uses VM system assigned-identities provided by Azure AD. This centralizes control and management of identities and resource credentials.|
32-
3324
For Hybrid Runbook Worker operations after installation, the process of executing runbooks on Hybrid Runbook Workers is the same. The purpose of the extension-based approach is to simplify the installation and management of the Hybrid Runbook Worker role and remove the complexity working with the agent-based version. The new extension-based installation doesn't affect the installation or management of an agent-based Hybrid Runbook Worker role. Both Hybrid Runbook Worker types can co-exist on the same machine.
3425

3526
The extension-based Hybrid Runbook Worker only supports the user Hybrid Runbook Worker type, and doesn't include the system Hybrid Runbook Worker required for the Update Management feature.
3627

37-
>[!NOTE]
38-
> PowerShell support to install the extension-based Hybrid Runbook Worker is not supported at this time.
28+
## Benefits of extension-based User Hybrid Workers
29+
The extension-based approach greatly simplifies the installation and management of the User Hybrid Runbook Worker, removing the complexity of working with the agent-based approach. Here are some key benefits:
30+
- **Seamless onboarding** – The Agent-based approach for onboarding Hybrid Runbook worker is dependent on the Log Analytics agent, which is a multi-step, time-consuming, and error-prone process. The extension-based approach is no longer dependent on the Log Analytics agent.
31+
- **Ease of Manageability** – It offers native integration with ARM identity for Hybrid Runbook Worker and provides the flexibility for governance at scale through policies and templates.
32+
- **Azure Active Directory based authentication** – It uses a VM system-assigned managed identities provided by Azure Active Directory. This centralizes control and management of identities and resource credentials.
33+
- **Unified experience** – It offers an identical experience for managing Azure and off-Azure Arc-enabled machines.
34+
- **Multiple onboarding channels** – You can choose to onboard and manage extension-based workers through the Azure portal, PowerShell cmdlets, Bicep, ARM templates, REST API and Azure CLI. You can also install the extension on an existing Azure VM or Arc-enabled server within the Azure portal experience of that machine through the Extensions blade.
35+
- **Default Automatic upgrade** – It offers Automatic upgrade of minor versions by default, significantly reducing the manageability of staying updated on the latest version. We recommend enabling Automatic upgrades to take advantage of any security or feature updates without the manual overhead. You can also opt out of automatic upgrades at any time. Any major version upgrades are currently not supported and should be managed manually.
3936

4037
## Runbook Worker types
4138

@@ -75,6 +72,15 @@ A Hybrid Runbook Worker doesn't have many of the [Azure sandbox](automation-runb
7572

7673
To control the distribution of runbooks on Hybrid Runbook Workers and when or how the jobs are triggered, you can register the hybrid worker against different Hybrid Runbook Worker groups within your Automation account. Target the jobs against the specific group or groups in order to support your execution arrangement.
7774

75+
## Common Scenarios for User Hybrid Runbook Workers
76+
77+
- To execute Azure Automation runbooks for in-guest VM management directly on an existing Azure virtual machine (VM) and off-Azure server registered as Azure Arc-enabled server or Azure Arc-enabled VMware VM (preview). Azure Arc-enabled servers can be Windows and Linux physical servers and virtual machines hosted outside of Azure, on your corporate network, or other cloud providers.
78+
- To overcome the Azure Automation sandbox limitation - the common scenarios include executing long-running operations beyond three-hour limit for cloud jobs, performing resource-intensive automation operations, interacting with local services running on-premises or in hybrid environment, run scripts that require elevated permissions.
79+
- To overcome organization restrictions to keep data in Azure for governance and security reasons - as you cannot execute Automation jobs on the cloud, you can run it on an on-premises machine that is onboarded as a User Hybrid Runbook Worker.
80+
- To automate operations on multiple —Off-Azure resources running on-premises or multicloud environments. You can onboard one of those machines as a User Hybrid Runbook Worker and target automation on the remaining machines in the local environment.
81+
- To access other services privately from the Azure Virtual Network (VNet) without opening an outbound internet connection, you can execute runbooks on a Hybrid Worker connected to the Azure VNet.
82+
83+
7884
## Hybrid Runbook Worker installation
7985

8086
The process to install a user Hybrid Runbook Worker depends on the operating system. The table below defines the deployment types.

articles/automation/automation-linux-hrw-install.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,11 @@ The Linux Hybrid Runbook Worker executes runbooks as a special user that can be
1717
After you successfully deploy a runbook worker, review [Run runbooks on a Hybrid Runbook Worker](automation-hrw-run-runbooks.md) to learn how to configure your runbooks to automate processes in your on-premises datacenter or other cloud environment.
1818

1919
> [!NOTE]
20-
> A hybrid worker can co-exist with both platforms: **Agent based (V1)** and **Extension based (V2)**. If you install Extension based (V2) on a hybrid worker already running Agent based (V1), then you would see two entries of the Hybrid Runbook Worker in the group. One with Platform Extension based (V2) and the other Agent based (V1). [**Learn more**](./extension-based-hybrid-runbook-worker-install.md#install-extension-based-v2-on-existing-agent-based-v1-hybrid-worker).
21-
20+
> A hybrid worker can co-exist with both platforms: **Agent based (V1)** and **Extension based (V2)**. If you install Extension based (V2) on a hybrid worker already running Agent based (V1), then you would see two entries of the Hybrid Runbook Worker in the group. One with Platform Extension based (V2) and the other Agent based (V1). [**Learn more**](./extension-based-hybrid-runbook-worker-install.md#migrate-an-existing-agent-based-to-extension-based-hybrid-workers).
2221
2322
## Prerequisites
2423

25-
Before you start, make sure that you have the following.
24+
Before you start, make sure that you've the following.
2625

2726
### A Log Analytics workspace
2827

@@ -162,7 +161,7 @@ To install and configure a Linux Hybrid Runbook Worker, perform the following st
162161
163162
- Using Azure Policy.
164163
165-
Using this approach, you use the Azure Policy [Deploy Log Analytics agent to Linux or Windows Azure Arc machines](../governance/policy/samples/built-in-policies.md#monitoring) built-in policy definition to audit if the Arc-enabled server has the Log Analytics agent installed. If the agent isn't installed, it automatically deploys it using a remediation task. If you plan to monitor the machines with Azure Monitor for VMs, instead use the [Enable Azure Monitor for VMs](../governance/policy/samples/built-in-initiatives.md#monitoring) initiative to install and configure the Log Analytics agent.
164+
Using this approach, you use the Azure Policy [Deploy Log Analytics agent to Linux or Microsoft Azure Arc machines](../governance/policy/samples/built-in-policies.md#monitoring) built-in policy definition to audit if the Arc-enabled server has the Log Analytics agent installed. If the agent isn't installed, it automatically deploys it using a remediation task. If you plan to monitor the machines with Azure Monitor for VMs, instead use the [Enable Azure Monitor for VMs](../governance/policy/samples/built-in-initiatives.md#monitoring) initiative to install and configure the Log Analytics agent.
166165
167166
We recommend installing the Log Analytics agent for Windows or Linux using Azure Policy.
168167

0 commit comments

Comments
 (0)