Skip to content

Commit c6abc83

Browse files
authored
Merge branch 'main' into cost-optimization-bookmarks
2 parents d502a01 + e9e840e commit c6abc83

File tree

511 files changed

+6610
-2469
lines changed

Some content is hidden

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

511 files changed

+6610
-2469
lines changed

.openpublishing.publish.config.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -386,6 +386,12 @@
386386
"branch": "main",
387387
"branch_mapping": {}
388388
},
389+
{
390+
"path_to_root": "azureml-examples-mavaisma-r-azureml",
391+
"url": "https://github.com/azure/azureml-examples",
392+
"branch": "mavaisma-r-azureml",
393+
"branch_mapping": {}
394+
},
389395
{
390396
"path_to_root": "azureml-examples-v2samplesreorg",
391397
"url": "https://github.com/azure/azureml-examples",

articles/active-directory-b2c/TOC.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@
6666
- name: Authentication library
6767
href: ../active-directory/develop/msal-overview.md?bc=%2fazure%2factive-directory-b2c%2fbread%2ftoc.json&toc=%2fazure%2factive-directory-b2c%2fTOC.json
6868
displayName: MSAL, client library, Microsoft Authentication Library
69-
- name: Azure AD B2C global identitiy framework
69+
- name: Azure AD B2C global identity framework
7070
items:
7171
- name: Global identity solutions
7272
href: azure-ad-b2c-global-identity-solutions.md

articles/active-directory/develop/TOC.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -812,6 +812,8 @@
812812
href: reply-url.md
813813
- name: Validation differences by supported account types
814814
href: supported-accounts-validation.md
815+
- name: Configured permissions limits troubleshooting
816+
href: troubleshoot-required-resource-access-limits.md
815817
- name: Microsoft auth libraries by app type
816818
displayName: MSAL, auth client library, SDK, token validation
817819
href: reference-v2-libraries.md

articles/active-directory/develop/howto-create-self-signed-certificate.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ ms.custom: scenarios:getting-started, engagement-fy23
1818

1919
# Create a self-signed public certificate to authenticate your application
2020

21-
Azure Active Directory (Azure AD) supports two types of authentication for service principals: **password-based authentication** (app secret) and **certificate-based authentication**. While app secrets can easily be created in the Azure portal, they're long-lived, and not as secure as certificates. It's therefore recommended that your application uses a certificate rather than a secret.
21+
Azure Active Directory (Azure AD) supports two types of authentication for service principals: **password-based authentication** (app secret) and **certificate-based authentication**. While app secrets can easily be created in the Azure portal or using a Microsoft API like Microsoft Graph, they're long-lived, and not as secure as certificates. It's therefore recommended that your application uses a certificate rather than a secret.
2222

2323
For testing, you can use a self-signed public certificate instead of a Certificate Authority (CA)-signed certificate. In this how-to, you'll use Windows PowerShell to create and export a self-signed certificate.
2424

@@ -27,9 +27,9 @@ For testing, you can use a self-signed public certificate instead of a Certifica
2727
2828
While creating the certificate using PowerShell, you can specify parameters like cryptographic and hash algorithms, certificate validity period, and domain name. The certificate can then be exported with or without its private key depending on your application needs.
2929

30-
The application that initiates the authentication session requires the private key while the application that confirms the authentication requires the public key. So, if you're authenticating from your PowerShell desktop app to Azure AD, you only export the public key (*.cer* file) and upload it to the Azure portal. The PowerShell app uses the private key from your local certificate store to initiate authentication and obtain access tokens for Microsoft Graph.
30+
The application that initiates the authentication session requires the private key while the application that confirms the authentication requires the public key. So, if you're authenticating from your PowerShell desktop app to Azure AD, you only export the public key (*.cer* file) and upload it to the Azure portal. The PowerShell app uses the private key from your local certificate store to initiate authentication and obtain access tokens for calling Microsoft APIs like Microsoft Graph.
3131

32-
Your application may also be running from another machine, such as Azure Automation. In this scenario, you export the public and private key pair from your local certificate store, upload the public key to the Azure portal, and the private key (a *.pfx* file) to Azure Automation. Your application running in Azure Automation will use the private key to initiate authentication and obtain access tokens for Microsoft Graph.
32+
Your application may also be running from another machine, such as Azure Automation. In this scenario, you export the public and private key pair from your local certificate store, upload the public key to the Azure portal, and the private key (a *.pfx* file) to Azure Automation. Your application running in Azure Automation will use the private key to initiate authentication and obtain access tokens for calling Microsoft APIs like Microsoft Graph.
3333

3434
This article uses the `New-SelfSignedCertificate` PowerShell cmdlet to create the self-signed certificate and the `Export-Certificate` cmdlet to export it to a location that is easily accessible. These cmdlets are built-in to modern versions of Windows (Windows 8.1 and greater, and Windows Server 2012R2 and greater). The self-signed certificate will have the following configuration:
3535

@@ -54,7 +54,9 @@ $cert = New-SelfSignedCertificate -Subject "CN=$certname" -CertStoreLocation "Ce
5454
5555
```
5656

57-
The `$cert` variable in the previous command stores your certificate in the current session and allows you to export it. The command below exports the certificate in *.cer* format. You can also export it in other formats supported on the Azure portal including *.pem* and *.crt*.
57+
The `$cert` variable in the previous command stores your certificate in the current session and allows you to export it.
58+
59+
The command below exports the certificate in *.cer* format. You can also export it in other formats supported on the Azure portal including *.pem* and *.crt*.
5860

5961
```powershell
6062

articles/active-directory/develop/howto-restrict-your-app-to-a-set-of-users.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@ ms.service: active-directory
88
ms.subservice: develop
99
ms.workload: identity
1010
ms.topic: how-to
11-
ms.date: 10/18/2021
11+
ms.date: 12/19/2022
1212
ms.author: kkrishna
1313
ms.reviewer: jmprieur
14-
ms.custom: aaddev
14+
ms.custom: aaddev, engagement-fy23
1515
#Customer intent: As a tenant administrator, I want to restrict an application that I have registered in Azuren-e AD to a select set of users available in my Azure AD tenant
1616
---
1717

@@ -38,14 +38,14 @@ The option to restrict an app to a specific set of users or security groups in a
3838

3939
To update an application to require user assignment, you must be owner of the application under Enterprise apps, or be assigned one of **Global administrator**, **Application administrator**, or **Cloud application administrator** directory roles.
4040

41-
1. Sign in to the <a href="https://portal.azure.com/" target="_blank">Azure portal</a>.
41+
1. Sign in to the [Azure portal](https://portal.azure.com/)
4242
1. If you have access to multiple tenants, use the **Directories + subscriptions** filter :::image type="icon" source="./media/common/portal-directory-subscription-filter.png" border="false"::: in the top menu to switch the tenant in which you want to register an application.
4343
1. Search for and select **Azure Active Directory**.
4444
1. Under **Manage**, select **Enterprise Applications** > **All applications**.
4545
1. Select the application you want to configure to require assignment. Use the filters at the top of the window to search for a specific application.
4646
1. On the application's **Overview** page, under **Manage**, select **Properties**.
47-
1. Locate the setting **User assignment required?** and set it to **Yes**. When this option is set to **Yes**, users and services attempting to access the application or services must first be assigned for this application, or they won't be able to sign-in or obtain an access token.
48-
1. Select **Save**.
47+
1. Locate the setting **Assignment required?** and set it to **Yes**. When this option is set to **Yes**, users and services attempting to access the application or services must first be assigned for this application, or they won't be able to sign-in or obtain an access token.
48+
1. Select **Save** on the top bar.
4949

5050
When an application requires assignment, user consent for that application isn't allowed. This is true even if users consent for that app would have otherwise been allowed. Be sure to [grant tenant-wide admin consent](../manage-apps/grant-admin-consent.md) to apps that require assignment.
5151

articles/active-directory/develop/howto-v2-keychain-objc.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ ms.service: active-directory
99
ms.subservice: develop
1010
ms.workload: identity
1111
ms.topic: how-to
12-
ms.date: 08/28/2019
12+
ms.date: 12/19/2022
1313
ms.author: owenrichards
1414
ms.reviewer: oldalton
15-
ms.custom: aaddev, has-adal-ref
15+
ms.custom: aaddev, has-adal-ref, engagement-fy23
1616
---
1717

1818
# Configure keychain
@@ -25,15 +25,15 @@ This article covers how to configure app entitlements so that MSAL can write cac
2525

2626
### iOS
2727

28-
MSAL on iOS uses the `com.microsoft.adalcache` access group by default. This is the shared access group used by both MSAL and Azure AD Authentication Library (ADAL) SDKs and ensures the best single sign-on (SSO) experience between multiple apps from the same publisher.
28+
MSAL on iOS uses the `com.microsoft.adalcache` access group by default. This ensures the best SSO experience between multiple apps from the same publisher.
2929

30-
On iOS, add the `com.microsoft.adalcache` keychain group to your app's entitlement in XCode under **Project settings** > **Capabilities** > **Keychain sharing**
30+
On iOS, add the `com.microsoft.adalcache` keychain group to your app's entitlement in XCode under **Project settings** > **Capabilities** > **Keychain sharing**.
3131

3232
### macOS
3333

3434
MSAL on macOS uses `com.microsoft.identity.universalstorage` access group by default.
3535

36-
Due to macOS keychain limitations, MSAL's `access group` doesn't directly translate to the keychain access group attribute (see [kSecAttrAccessGroup](https://developer.apple.com/documentation/security/ksecattraccessgroup?language=objc)) on macOS 10.14 and earlier. However, it behaves similarly from a SSO perspective by ensuring that multiple applications distributed by the same Apple developer can have silent SSO.
36+
Due to macOS keychain limitations, MSAL's `access group` doesn't directly translate to the keychain access group attribute (see [kSecAttrAccessGroup](https://developer.apple.com/documentation/security/ksecattraccessgroup?language=objc)) on macOS 10.14 and earlier. However, it behaves similarly from an SSO perspective by ensuring that multiple applications distributed by the same Apple developer can have silent SSO.
3737

3838
On macOS 10.15 onwards (macOS Catalina), MSAL uses keychain access group attribute to achieve silent SSO, similarly to iOS.
3939

@@ -52,7 +52,7 @@ config.cacheConfig.keychainSharingGroup = @"custom-group";
5252

5353
MSALPublicClientApplication *application = [[MSALPublicClientApplication alloc] initWithConfiguration:config error:nil];
5454

55-
// Now call acquiretoken.
55+
// Now call `acquiretoken`.
5656
// Tokens will be saved into the "custom-group" access group
5757
// and only shared with other applications declaring the same access group
5858
```
@@ -101,7 +101,7 @@ Error -34018 normally means that the keychain hasn't been configured correctly.
101101

102102
## Ensure your application is properly signed
103103

104-
On macOS, applications can execute without being signed by developer. While most of MSAL's functionality will continue to work, SSO through keychain access requires application to be signed. If you're experiencing multiple keychain prompts, make sure your application's signature is valid.
104+
On macOS, applications can execute without being signed by the developer. While most of MSAL's functionality will continue to work, SSO through keychain access requires application to be signed. If you're experiencing multiple keychain prompts, make sure your application's signature is valid.
105105

106106
## Next steps
107107

articles/active-directory/develop/msal-client-applications.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ ms.service: active-directory
99
ms.subservice: develop
1010
ms.topic: conceptual
1111
ms.workload: identity
12-
ms.date: 10/26/2021
12+
ms.date: 12/19/2021
1313
ms.author: cwerner
1414
ms.reviewer: saeeda
15-
ms.custom: aaddev, has-adal-ref
15+
ms.custom: aaddev, has-adal-ref, engagement-fy23
1616
#Customer intent: As an application developer, I want to learn about the types of client apps so I can decide if this platform meets my app development requirements.
1717
---
1818

articles/active-directory/develop/msal-net-initializing-client-applications.md

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ ms.service: active-directory
99
ms.subservice: develop
1010
ms.topic: conceptual
1111
ms.workload: identity
12-
ms.date: 11/23/2019
12+
ms.date: 12/19/2022
1313
ms.author: dmwendia
1414
ms.reviewer: saeeda
1515
ms.custom: "devx-track-csharp, aaddev, engagement-fy23"
@@ -22,19 +22,17 @@ This article describes initializing public client and confidential client applic
2222

2323
With MSAL.NET 3.x, the recommended way to instantiate an application is by using the application builders: `PublicClientApplicationBuilder` and `ConfidentialClientApplicationBuilder`. They offer a powerful mechanism to configure the application from the code, a configuration file, or even by mixing both approaches.
2424

25-
[API reference documentation](/dotnet/api/microsoft.identity.client) | [Package on NuGet](https://www.nuget.org/packages/Microsoft.Identity.Client/) | [Library source code](https://github.com/AzureAD/microsoft-authentication-library-for-dotnet) | [Code samples](sample-v2-code.md)
26-
2725
## Prerequisites
2826

29-
Before initializing an application, you first need to [register it](quickstart-register-app.md) so that your app can be integrated with the Microsoft identity platform. After registration, you may need the following information (which can be found in the Azure portal):
27+
Before initializing an application, you first need to register it so that your app can be integrated with the Microsoft identity platform. Refer to the [Quickstart: Register an application with the Microsoft identity platform](quickstart-register-app.md) for more information. After registration, you may need the following information (which can be found in the Azure portal):
3028

3129
- **Application (client) ID** - This is a string representing a GUID.
3230
- **Directory (tenant) ID** - Provides identity and access management (IAM) capabilities to applications and resources used by your organization. It can specify if you're writing a line of business application solely for your organization (also named single-tenant application).
3331
- The identity provider URL (named the **instance**) and the sign-in audience for your application. These two parameters are collectively known as the authority.
34-
- **Client credentials** - which can take the form of an application secret (client secret string) or certificate (of type X509Certificate2) if it's a confidential client app.
32+
- **Client credentials** - which can take the form of an application secret (client secret string) or certificate (of type `X509Certificate2`) if it's a confidential client app.
3533
- For web apps, and sometimes for public client apps (in particular when your app needs to use a broker), you'll have also set the **Redirect URI** where the identity provider will contact back your application with the security tokens.
3634

37-
## Ways to initialize applications
35+
## Initializing applications
3836

3937
There are many different ways to instantiate client applications.
4038

@@ -122,7 +120,7 @@ app = PublicClientApplicationBuilder.Create(clientId)
122120
.Build();
123121
```
124122

125-
Where it becomes interesting is that programming for national clouds has simplified. If you want your application to be a multi-tenant application in a national cloud, you could write, for instance:
123+
Programming for national clouds has simplified, so if you want your application to be a multi-tenant application in a national cloud, you could write, for instance:
126124

127125
```csharp
128126
IPublicClientApplication app;
@@ -131,7 +129,7 @@ app = PublicClientApplicationBuilder.Create(clientId)
131129
.Build();
132130
```
133131

134-
There's also an override for ADFS (ADFS 2019 is currently not supported):
132+
There's also an override for ADFS (MSAL.NET will only support ADFS 2019 or later):
135133

136134
```csharp
137135
IPublicClientApplication app;
@@ -149,6 +147,16 @@ app = PublicClientApplicationBuilder.Create(clientId)
149147
.Build();
150148
```
151149

150+
## See also
151+
152+
[API reference documentation](/dotnet/api/microsoft.identity.client)
153+
154+
[Package on NuGet](https://www.nuget.org/packages/Microsoft.Identity.Client/)
155+
156+
[Library source code](https://github.com/AzureAD/microsoft-authentication-library-for-dotnet)
157+
158+
[Code samples](sample-v2-code.md)
159+
152160
## Next steps
153161

154162
After you've initialized the client application, your next task is to add support for user sign-in, authorized API access, or both.

0 commit comments

Comments
 (0)