Skip to content

Commit 10bd8c8

Browse files
committed
Merging changes synced from https://github.com/MicrosoftDocs/azure-docs-pr (branch live)
2 parents f5d6fd6 + ed5c71c commit 10bd8c8

File tree

1,038 files changed

+20085
-8775
lines changed

Some content is hidden

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

1,038 files changed

+20085
-8775
lines changed

.openpublishing.publish.config.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -950,6 +950,7 @@
950950
"articles/iot-accelerators/.openpublishing.redirection.iot-accelerators.json",
951951
"articles/iot-develop/.openpublishing.redirection.iot-develop.json",
952952
"articles/iot-edge/.openpublishing.redirection.iot-edge.json",
953+
"articles/iot-fundamentals/.openpublishing.redirection.iot-fundamentals.json",
953954
"articles/mariadb/.openpublishing.redirection.mariadb.json",
954955
"articles/marketplace/.openpublishing.redirection.marketplace.json",
955956
"articles/mysql/.openpublishing.redirection.mysql.json",
@@ -977,6 +978,7 @@
977978
"articles/cognitive-services/.openpublishing.redirection.cognitive-services.json",
978979
".openpublishing.redirection.baremetal-infrastructure.json",
979980
"articles/iot-dps/.openpublishing.redirection.iot-dps.json",
980-
"articles/cloud-shell/.openpublishing.redirection.cloud-shell.json"
981+
"articles/cloud-shell/.openpublishing.redirection.cloud-shell.json",
982+
".openpublishing.redirection.azure-vmware.json"
981983
]
982984
}

.openpublishing.redirection.active-directory.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,11 @@
4545
"redirect_url": "/azure/active-directory/saas-apps/tutorial-list",
4646
"redirect_document_id": false
4747
},
48+
{
49+
"source_path_from_root": "/articles/active-directory/saas-apps/iauditor-tutorial.md",
50+
"redirect_url": "/azure/active-directory/saas-apps/safety-culture-tutorial",
51+
"redirect_document_id": false
52+
},
4853
{
4954
"source_path_from_root": "/articles/active-directory/saas-apps/icertisicm-tutorial.md",
5055
"redirect_url": "/azure/active-directory/saas-apps/tutorial-list",

.openpublishing.redirection.azure-monitor.json

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5541,6 +5541,46 @@
55415541
"source_path_from_root": "/articles/azure-monitor/logs/api/authentication-authorization.md",
55425542
"redirect_url": "/azure/azure-monitor/logs/api/access-api",
55435543
"redirect_document_id": false
5544+
},
5545+
{
5546+
"source_path_from_root": "/articles/azure-monitor/app/java-2x-get-started.md",
5547+
"redirect_url": "/azure/azure-monitor/app/deprecated-java-2x",
5548+
"redirect_document_id": false
5549+
},
5550+
{
5551+
"source_path_from_root": "/articles/azure-monitor/app/java-2x-trace-logs.md",
5552+
"redirect_url": "/azure/azure-monitor/app/deprecated-java-2x",
5553+
"redirect_document_id": false
5554+
},
5555+
{
5556+
"source_path_from_root": "/articles/azure-monitor/app/java-2x-agent.md",
5557+
"redirect_url": "/azure/azure-monitor/app/deprecated-java-2x",
5558+
"redirect_document_id": false
5559+
},
5560+
{
5561+
"source_path_from_root": "/articles/azure-monitor/app/java-2x-filter-telemetry.md",
5562+
"redirect_url": "/azure/azure-monitor/app/deprecated-java-2x",
5563+
"redirect_document_id": false
5564+
},
5565+
{
5566+
"source_path_from_root": "/articles/azure-monitor/app/java-2x-collectd.md",
5567+
"redirect_url": "/azure/azure-monitor/app/deprecated-java-2x",
5568+
"redirect_document_id": false
5569+
},
5570+
{
5571+
"source_path_from_root": "/articles/azure-monitor/app/java-2x-micrometer.md",
5572+
"redirect_url": "/azure/azure-monitor/app/deprecated-java-2x",
5573+
"redirect_document_id": false
5574+
},
5575+
{
5576+
"source_path_from_root": "/articles/azure-monitor/vm/tutorial-monitor-vm-alert.md",
5577+
"redirect_url": "/azure/azure-monitor/vm/tutorial-monitor-vm-alert-availability",
5578+
"redirect_document_id": false
5579+
},
5580+
{
5581+
"source_path_from_root": "/articles/azure-monitor/vm/tutorial-monitor-vm-enable.md",
5582+
"redirect_url": "/azure/azure-monitor/vm/tutorial-monitor-vm-enable-insights",
5583+
"redirect_document_id": false
55445584
}
55455585
]
55465586
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"redirections": [
3+
{
4+
"source_path_from_root": "/articles/azure-vmware/send-logs-to-log-analytics.md",
5+
"redirect_url": "/azure/azure-vmware/configure-vmware-syslogs",
6+
"redirect_document_id": false
7+
}
8+
]
9+
}

.openpublishing.redirection.defender-for-cloud.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -764,6 +764,11 @@
764764
"source_path_from_root": "/articles/defender-for-cloud/plan-multicloud-security-other-resources.md",
765765
"redirect_url": "/azure/defender-for-cloud/multicloud",
766766
"redirect_document_id": true
767+
},
768+
{
769+
"source_path_from_root": "/articles/defender-for-cloud/defender-for-servers-introduction.md",
770+
"redirect_url": "/azure/defender-for-cloud/plan-defender-for-servers",
771+
"redirect_document_id": true
767772
}
768773
]
769774
}

.openpublishing.redirection.healthcare-apis.json

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -194,8 +194,8 @@
194194
},
195195
{
196196
"source_path_from_root": "/articles/healthcare-apis/use-smart-on-fhir-proxy.md",
197-
"redirect_url": "/azure/healthcare-apis/fhir/use-smart-on-fhir-proxy",
198-
"redirect_document_id": true
197+
"redirect_url": "/azure/healthcare-apis/azure-api-for-fhir/smart-on-fhir",
198+
"redirect_document_id": false
199199
},
200200
{
201201
"source_path_from_root": "/articles/healthcare-apis/fhir/use-custom-headers.md",
@@ -357,11 +357,6 @@
357357
"redirect_url": "/azure/healthcare-apis/azure-api-for-fhir/tutorial-web-app-write-web-app",
358358
"redirect_document_id": true
359359
},
360-
{
361-
"source_path_from_root": "/articles/healthcare-apis/fhir/use-smart-on-fhir-proxy.md",
362-
"redirect_url": "/azure/healthcare-apis/azure-api-for-fhir/use-smart-on-fhir-proxy",
363-
"redirect_document_id": true
364-
},
365360
{
366361
"source_path_from_root": "/articles/healthcare-apis/data-transformation/de-identified-export.md",
367362
"redirect_url": "/azure/healthcare-apis/fhir/de-identified-export",

.openpublishing.redirection.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
{
22
"redirections": [
3+
{
4+
"source_path_from_root": "/articles/storage/queues/storage-quickstart-queues-dotnet-legacy.md",
5+
"redirect_url": "/azure/storage/queues/storage-quickstart-queues-dotnet",
6+
"redirect_document_id": false
7+
},
38
{
49
"source_path_from_root": "/articles/sentinel/iot-solution.md",
510
"redirect_url": "/azure/defender-for-iot/organizations/iot-solution",

articles/active-directory-b2c/configure-authentication-sample-web-app.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ To create the web app registration, use the following steps:
7575
1. Under **Name**, enter a name for the application (for example, *webapp1*).
7676
1. Under **Supported account types**, select **Accounts in any identity provider or organizational directory (for authenticating users with user flows)**.
7777
1. Under **Redirect URI**, select **Web** and then, in the URL box, enter `https://localhost:44316/signin-oidc`.
78+
1. Under **Implicit grant and hybrid flows**, select the **ID tokens (used for implicit and hybrid flows)** checkbox.
7879
1. Under **Permissions**, select the **Grant admin consent to openid and offline access permissions** checkbox.
7980
1. Select **Register**.
8081
1. Select **Overview**.

articles/active-directory-b2c/partner-akamai-secure-hybrid-access.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ To get started, you'll need:
4040

4141
- An application that uses headers for authentication. In this sample, we'll use an application that displays headers [docker header-demo-app](https://hub.docker.com/r/mistermik/header-demo-app).
4242

43-
- **OR** an OpenID Connect (OIDC) application. In this sample, we'll use an [ASP.NET MVC web app](https://learn.microsoft.com/azure/active-directory/develop/tutorial-v2-asp-webapp) that signs in users by using the Open Web Interface for .NET (OWIN) middleware and the Microsoft identity platform.
43+
- **OR** an OpenID Connect (OIDC) application. In this sample, we'll use an [ASP.NET MVC web app](../active-directory/develop/tutorial-v2-asp-webapp.md) that signs in users by using the Open Web Interface for .NET (OWIN) middleware and the Microsoft identity platform.
4444

4545
## Scenario description
4646

@@ -111,9 +111,9 @@ Akamai Enterprise Application Access supports SAML federation with cloud IdPs li
111111
112112
2. Create a signing certificate for Azure AD B2C to sign the SAML response sent to Akamai Enterprise Application Access:
113113
114-
a. [**Obtain a certificate**](https://learn.microsoft.com/azure/active-directory-b2c/saml-service-provider?tabs=windows&pivots=b2c-custom-policy#obtain-a-certificate). If you don't already have a certificate, you can use a self-signed certificate.
114+
a. [**Obtain a certificate**](saml-service-provider.md?tabs=windows&pivots=b2c-custom-policy#obtain-a-certificate). If you don't already have a certificate, you can use a self-signed certificate.
115115
116-
b. [**Upload the certificate**](https://learn.microsoft.com/azure/active-directory-b2c/saml-service-provider?tabs=windows&pivots=b2c-custom-policy#upload-the-certificate) in your Azure AD B2C tenant. Take note of the name as it will be needed in the `TechnicalProfile` mentioned in the next steps.
116+
b. [**Upload the certificate**](./saml-service-provider.md?tabs=windows&pivots=b2c-custom-policy#upload-the-certificate) in your Azure AD B2C tenant. Take note of the name as it will be needed in the `TechnicalProfile` mentioned in the next steps.
117117
118118
3. Enable your policy to connect with a SAML application.
119119
@@ -398,7 +398,7 @@ Once the Application is deployed in a private environment and a connector is cap
398398

399399
#### Option 2: OpenID Connect
400400

401-
In this sample, we'll use a [ASP.NET MVC web app](https://learn.microsoft.com/azure/active-directory/develop/tutorial-v2-asp-webapp) that signs in users by using the Open Web Interface for .NET (OWIN) middleware and the Microsoft identity platform.
401+
In this sample, we'll use a [ASP.NET MVC web app](../active-directory/develop/tutorial-v2-asp-webapp.md) that signs in users by using the Open Web Interface for .NET (OWIN) middleware and the Microsoft identity platform.
402402

403403
1. Configure the OIDC to SAML bridging in the **AZURE AD B2C SAML IdP** created with the previous steps.
404404

@@ -422,7 +422,7 @@ In this sample, we'll use a [ASP.NET MVC web app](https://learn.microsoft.com/az
422422

423423
[ ![Screenshot shows the akamai oidc app claim settings.](./media/partner-akamai-secure-hybrid-access/akamai-oidc-claims-settings.png)](./media/partner-akamai-secure-hybrid-access/akamai-oidc-claims-settings.png#lightbox)
424424

425-
7. Replace startup class with the following code in the [ASP.NET MVC web app](https://learn.microsoft.com/azure/active-directory/develop/tutorial-v2-asp-webapp).
425+
7. Replace startup class with the following code in the [ASP.NET MVC web app](../active-directory/develop/tutorial-v2-asp-webapp.md).
426426

427427
These few changes configure the Authorization code flow grant, the authorization code will be redeemed for tokens at the token endpoint for the application, and it introduces the Metadata Address to set the discovery endpoint for obtaining metadata from Akamai.
428428

@@ -496,7 +496,7 @@ In this sample, we'll use a [ASP.NET MVC web app](https://learn.microsoft.com/az
496496

497497
8. In the `web.config` file add the Metadata address, replace clientId, clientsecret, authority, redirectUri and PostLogoutRedirectUri with the values from the Akamai application in `appSettings`.
498498

499-
You can find these values in the previous step 5 in the OpenID tab for the HTTP Akamai Application, where you created `Discovery URL=MetadataAddress`. `redirectUri` is the local address for the Akamai connector to resolve to the local OIDC application. `Authority` is the authorization_endpoint you can find from your `.well-known/openid-configuration` [document](https://learn.microsoft.com/azure/active-directory/develop/v2-protocols-oidc).
499+
You can find these values in the previous step 5 in the OpenID tab for the HTTP Akamai Application, where you created `Discovery URL=MetadataAddress`. `redirectUri` is the local address for the Akamai connector to resolve to the local OIDC application. `Authority` is the authorization_endpoint you can find from your `.well-known/openid-configuration` [document](../active-directory/develop/v2-protocols-oidc.md).
500500

501501
Discovery URL: `https://fabrikam.login.go.akamai-access.com/.well-known/openid-configuration`
502502

@@ -532,8 +532,8 @@ In this sample, we'll use a [ASP.NET MVC web app](https://learn.microsoft.com/az
532532

533533
- [Akamai Enterprise Application Access getting started documentation](https://techdocs.akamai.com/eaa/docs/welcome-guide)
534534

535-
- [Custom policies in Azure AD B2C](https://docs.microsoft.com/azure/active-directory-b2c/custom-policy-overview)
535+
- [Custom policies in Azure AD B2C](custom-policy-overview.md)
536536

537-
- [Get started with custom policies in Azure AD B2C](https://docs.microsoft.com/azure/active-directory-b2c/custom-policy-get-started?tabs=applications)
537+
- [Get started with custom policies in Azure AD B2C](tutorial-create-user-flows.md?pivots=b2c-custom-policy)
538538

539-
- [Register a SAML application in Azure AD B2C](https://learn.microsoft.com/azure/active-directory-b2c/saml-service-provider?tabs=windows&pivots=b2c-custom-policy)
539+
- [Register a SAML application in Azure AD B2C](saml-service-provider.md?tabs=windows&pivots=b2c-custom-policy)

articles/active-directory/authentication/concept-certificate-based-authentication-technical-deep-dive.md

Lines changed: 47 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -68,10 +68,56 @@ Now we'll walk through each step:
6868
:::image type="content" border="true" source="./media/concept-certificate-based-authentication-technical-deep-dive/cert-picker.png" alt-text="Screenshot of the certificate picker." lightbox="./media/concept-certificate-based-authentication-technical-deep-dive/cert-picker.png":::
6969

7070
1. Azure AD verifies the certificate revocation list to make sure the certificate isn't revoked and is valid. Azure AD identifies the user by using the [username binding configured](how-to-certificate-based-authentication.md#step-4-configure-username-binding-policy) on the tenant to map the certificate field value to the user attribute value.
71-
1. If a unique user is found with a Conditional Access policy that requires multifactor authentication (MFA), and the [certificate authentication binding rule](how-to-certificate-based-authentication.md#step-3-configure-authentication-binding-policy) satisfies MFA, then Azure AD signs the user in immediately. If multifactor authentication is required but the certificate satisfies only a single factor, authentication will fail.
71+
1. If a unique user is found with a Conditional Access policy that requires multifactor authentication (MFA), and the [certificate authentication binding rule](how-to-certificate-based-authentication.md#step-3-configure-authentication-binding-policy) satisfies MFA, then Azure AD signs the user in immediately. If MFA is required but the certificate satisfies only a single factor, either passwordless sign-in or FIDO2 will be offered as a second factor if they are already registered.
7272
1. Azure AD completes the sign-in process by sending a primary refresh token back to indicate successful sign-in.
7373
1. If the user sign-in is successful, the user can access the application.
7474

75+
## Single-factor certificate-based authentication
76+
77+
Azure AD CBA supports second factors to meet MFA requirements with single-factor certificates. Users can use either passwordless sign-in or FIDO2 security keys as second factors when the first factor is single-factor CBA. Users need to register passwordless sign-in or FIDO2 in advance to signing in with Azure AD CBA.
78+
For passwordless sign-in to work, users should disable legacy notification through mobile app.
79+
80+
1. Sign in to the Azure portal.
81+
1. Select **Azure Active Directory** > **Security** > **Multifactor authentication** > **Additional cloud-based multifactor authentication settings**.
82+
83+
:::image type="content" border="true" source="./media/concept-certificate-based-authentication-technical-deep-dive/configure.png" alt-text="Screenshot of how to configure multifactor authentication settings.":::
84+
85+
1. Under **Verification options**, clear the **Notification through mobile app** checkbox and click **Save**.
86+
87+
:::image type="content" border="true" source="./media/concept-certificate-based-authentication-technical-deep-dive/clear-notification.png" alt-text="Screenshot of how to remove notification through mobile app.":::
88+
89+
## MFA authentication flow using single factor certificates and passwordless sign in
90+
91+
Let's look at an example of a user who has single factor certificates and has configured passwordless sign in.
92+
93+
1. Enter your User Principal Name (UPN) and click **Next**.
94+
95+
:::image type="content" border="true" source="./media/concept-certificate-based-authentication-technical-deep-dive/user-principal-name.png" alt-text="Screenshot of how to enter a user principal name.":::
96+
97+
1. Select **Sign in with a certificate**.
98+
99+
:::image type="content" border="true" source="./media/concept-certificate-based-authentication-technical-deep-dive/sign-in-cert.png" alt-text="Screenshot of how to sign in with a certificate.":::
100+
101+
If you enabled other authentication methods like Phone sign-in or FIDO2 security keys, users may see a different sign-in screen.
102+
103+
:::image type="content" border="true" source="./media/concept-certificate-based-authentication-technical-deep-dive/sign-in-alt.png" alt-text="Screenshot of alternate way to sign in with a certificate.":::
104+
105+
1. Pick the correct user certificate in the client certificate picker and click **OK**.
106+
107+
:::image type="content" border="true" source="./media/concept-certificate-based-authentication-technical-deep-dive/cert-picker.png" alt-text="Screenshot of how to select a certificate.":::
108+
109+
1. Because the certificate is configured to be single-factor authentication strength, the user needs a second factor to meet MFA requirements. The user will see available second factors, which in this case is passwordless sign-in. Select **Approve a request on my Microsoft Authenticator app**.
110+
:::image type="content" border="true" source="./media/concept-certificate-based-authentication-technical-deep-dive/second-factor-request.png" alt-text="Screenshot of second factor request.":::
111+
112+
1. You'll get a notification on your phone. Select **Approve Sign-in?**.
113+
:::image type="content" border="true" source="./media/concept-certificate-based-authentication-technical-deep-dive/approve.png" alt-text="Screenshot of approval request.":::
114+
115+
1. Enter the number you see on the browser or app screen into Microsoft Authenticator.
116+
117+
:::image type="content" border="true" source="./media/concept-certificate-based-authentication-technical-deep-dive/number.png" alt-text="Screenshot of number match.":::
118+
119+
1. Select **Yes** and user will be authenticated and signed in.
120+
75121
## Understanding the authentication binding policy
76122

77123
The authentication binding policy helps determine the strength of authentication as either single-factor or multifactor. An administrator can change the default value from single factor to multifactor, or set up custom policy configurations either by using issuer subject or policy OID fields in the certificate.
@@ -80,12 +126,6 @@ The authentication binding policy helps determine the strength of authentication
80126

81127
An admin can determine whether the certificates are single-factor or multifactor strength. For more information, see the documentation that maps [NIST Authentication Assurance Levels to Azure AD Auth Methods](https://aka.ms/AzureADNISTAAL), which builds upon [NIST 800-63B SP 800-63B, Digital Identity Guidelines: Authentication and Lifecycle Mgmt](https://csrc.nist.gov/publications/detail/sp/800-63b/final).
82128

83-
### Single-factor certificate authentication
84-
85-
When a user has a single-factor certificate, they can't perform multifactor authentication. There's no support for a second factor when the first factor is a single-factor certificate. We're working to add support for second factors.
86-
87-
:::image type="content" border="true" source="./media/concept-certificate-based-authentication-technical-deep-dive/mfa-not-allowed.png" alt-text="Screenshot of MFA not allowed for single factor certificate." :::
88-
89129
### Multifactor certificate authentication
90130

91131
When a user has a multifactor certificate, they can perform multifactor authentication only with certificates. However, the tenant admin should make sure the certificates are protected with a PIN or hardware module to be considered multifactor.

0 commit comments

Comments
 (0)