Skip to content

Commit 47e5170

Browse files
authored
Merge pull request #229701 from MicrosoftDocs/main
Publish to live, Tuesday 4 AM PST, 3/7
2 parents 012a6cc + 0578dbd commit 47e5170

File tree

310 files changed

+5642
-2770
lines changed

Some content is hidden

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

310 files changed

+5642
-2770
lines changed

.openpublishing.publish.config.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -914,6 +914,12 @@
914914
"branch": "main",
915915
"branch_mapping": {}
916916
},
917+
{
918+
"path_to_root": "azure-ai-vision-sdk",
919+
"url": "https://github.com/Azure-Samples/azure-ai-vision-sdk",
920+
"branch": "main",
921+
"branch_mapping": {}
922+
},
917923
{
918924
"path_to_root": "azure-cache-redis-samples",
919925
"url": "https://github.com/Azure-Samples/azure-cache-redis-samples",

articles/active-directory-b2c/azure-sentinel.md

Lines changed: 108 additions & 80 deletions
Large diffs are not rendered by default.

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +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.
78+
1. Under **Authentication**, go to **Implicit grant and hybrid flows**, select the **ID tokens (used for implicit and hybrid flows)** checkbox.
7979
1. Under **Permissions**, select the **Grant admin consent to openid and offline access permissions** checkbox.
8080
1. Select **Register**.
8181
1. Select **Overview**.
Lines changed: 92 additions & 113 deletions
Original file line numberDiff line numberDiff line change
@@ -1,155 +1,134 @@
11
---
2-
title: Tutorial for configuring Keyless with Azure Active Directory B2C
2+
title: Tutorial to configure Keyless with Azure Active Directory B2C
33
titleSuffix: Azure AD B2C
4-
description: Tutorial for configuring Keyless with Azure Active Directory B2C for passwordless authentication
4+
description: Tutorial to configure Sift Keyless with Azure Active Directory B2C for passwordless authentication
55
services: active-directory-b2c
66
author: gargi-sinha
7-
manager: CelesteDG
7+
manager: martinco
88
ms.reviewer: kengaderdus
9-
109
ms.service: active-directory
1110
ms.workload: identity
1211
ms.topic: how-to
13-
ms.date: 09/20/2021
12+
ms.date: 03/06/2023
1413
ms.author: gasinh
1514
ms.subservice: B2C
1615
---
1716

1817
# Tutorial: Configure Keyless with Azure Active Directory B2C
1918

20-
In this sample tutorial, we provide guidance on how to configure Azure Active Directory (AD) B2C with [Keyless](https://keyless.io/). With Azure AD B2C as an Identity provider, you can integrate Keyless with any of your customer applications to provide true passwordless authentication to your users.
21-
22-
Keyless's solution **Keyless Zero-Knowledge Biometric (ZKB™)** provides passwordless multifactor authentication that eliminates fraud, phishing, and credential reuse – all while enhancing customer experience and protecting their privacy.
19+
Learn to configure Azure Active Directory B2C (Azure AD B2C) with the Sift Keyless passwordless solution. With Azure AD B2C as an identity provider (IdP), integrate Keyless with customer applications to provide passwordless authentication. The Keyless Zero-Knowledge Biometric (ZKB) is passwordless multi-factor authentication that helps eliminate fraud, phishing, and credential reuse, while enhancing the customer experience and protecting privacy.
2320

24-
## Pre-requisites
21+
Go to keyless.io to learn about:
2522

26-
To get started, you'll need:
23+
* [Sift Keyless](https://keyless.io/)
24+
* [How Keyless uses zero-knowledge proofs to protect your biometric data](https://keyless.io/blog/post/how-keyless-uses-zero-knowledge-proofs-to-protect-your-biometric-data)
2725

28-
- An Azure subscription. If you don't have a subscription, you can get a [free account](https://azure.microsoft.com/free/).
26+
## Prerequisites
2927

30-
- An [Azure AD B2C tenant](./tutorial-create-tenant.md). Tenant must be linked to your Azure subscription.
31-
32-
- A Keyless cloud tenant, get a free [trial account](https://keyless.io/go).
28+
To get started, you'll need:
3329

34-
- The Keyless Authenticator app installed on your user’s device.
30+
* An Azure subscription
31+
* If you don't have one, get an [Azure free account](https://azure.microsoft.com/free/)
32+
* An [Azure AD B2C tenant](./tutorial-create-tenant.md) linked to the Azure subscription
33+
* A Keyless cloud tenant
34+
* Go to keyless.io to [Request a demo](https://keyless.io/go)
35+
* The Keyless Authenticator app installed on a user device
3536

3637
## Scenario description
3738

3839
The Keyless integration includes the following components:
3940

40-
- Azure AD B2C – The authorization server, responsible for verifying the user’s credentials, also known as the identity provider.
41+
* **Azure AD B2C** – authorization server that verifies user credentials. Also known as the IdP.
42+
* **Web and mobile applications** – mobile or web applications to protect with Keyless and Azure AD B2C
43+
* **The Keyless Authenticator mobile app** – Sift mobile app for authentication to the Azure AD B2C enabled applications
4144

42-
- Web and mobile applications – Your mobile or web applications that you choose to protect with Keyless and Azure AD B2C.
45+
The following architecture diagram illustrates an implementation.
4346

44-
- The Keyless mobile app – The Keyless mobile app will be used for authentication to the Azure AD B2C enabled applications.
47+
![Image shows Keyless architecture diagram](./media/partner-keyless/keyless-architecture-diagram.png)
4548

46-
The following architecture diagram shows the implementation.
49+
1. User arrives at a sign-in page. User selects sign-in/sign-up and enters the username.
50+
2. The application sends user attributes to Azure AD B2C for identity verification.
51+
3. Azure AD B2C sends user attributes to Keyless for authentication.
52+
4. Keyless sends a push notification to the users' registered mobile device for authentication, a facial biometric scan.
53+
5. The user responds to the push notification and is granted or denied access.
4754

48-
![Image shows Keyless architecture diagram](./media/partner-keyless/keyless-architecture-diagram.png)
55+
## Add an IdP, configure the IdP, and create a user flow policy
4956

50-
|Step | Description |
51-
|:-----| :-----------|
52-
| 1. | User arrives at a login page. Users select sign-in/sign-up and enters the username
53-
| 2. | The application sends the user attributes to Azure AD B2C for identity verification.
54-
| 3. | Azure AD B2C collects the user attributes and sends the attributes to Keyless to authenticate the user through the Keyless mobile app.
55-
| 4. | Keyless sends a push notification to the registered user's mobile device for a privacy-preserving authentication in the form of a facial biometric scan.
56-
| 5. | After the user responds to the push notification, the user is either granted or denied access to the customer application based on the verification results.
57-
58-
## Integrate with Azure AD B2C
57+
Use the following sections to add an IdP, configure the IdP, and create a user flow policy.
5958

6059
### Add a new Identity provider
6160

62-
To add a new Identity provider, follow these steps:
63-
64-
1. Sign in to the **[Azure portal](https://portal.azure.com/#home)** as the global administrator of your Azure AD B2C tenant.
65-
1. Make sure you're using the directory that contains your Azure AD B2C tenant. Select the **Directories + subscriptions** icon in the portal toolbar.
66-
1. On the **Portal settings | Directories + subscriptions** page, find your Azure AD B2C directory in the **Directory name** list, and then select **Switch**.
67-
1. Choose **All services** in the top-left corner of the Azure portal, search for and select **Azure AD B2C**.
68-
1. Navigate to **Dashboard** > **Azure Active Directory B2C** > **Identity providers**
69-
1. Select **Identity providers**.
70-
1. Select **Add**.
71-
72-
### Configure an Identity provider
73-
74-
To configure an identity provider, follow these steps:
75-
76-
1. Select **Identity provider type** > **OpenID Connect (Preview)**
77-
1. Fill out the form to set up the Identity provider:
78-
79-
|Property | Value |
80-
|:-----| :-----------|
81-
| Name | Keyless |
82-
| Metadata URL | Insert the URI of the hosted Keyless Authentication app, followed by the specific path such as 'https://keyless.auth/.well-known/openid-configuration' |
83-
| Client Secret | The secret associated with the Keyless Authentication instance - not same as the one configured before. Insert a complex string of your choice. This secret will be used later in the Keyless Container configuration.|
84-
| Client ID | The ID of the client. This ID will be used later in the Keyless Container configuration.|
85-
| Scope | openid |
86-
| Response type | id_token |
87-
| Response mode | form_post|
88-
89-
1. Select **OK**.
90-
91-
1. Select **Map this identity provider’s claims**.
92-
93-
1. Fill out the form to map the Identity provider:
94-
95-
|Property | Value |
96-
|:-----| :-----------|
97-
| UserID | From subscription |
98-
| Display name | From subscription |
99-
| Response mode | From subscription |
100-
101-
1. Select **Save** to complete the setup for your new Open ID Connect (OIDC) Identity provider.
61+
To add a new Identity provider:
62+
63+
1. Sign in to the [Azure portal](https://portal.azure.com/#home) as Global Administrator of the Azure AD B2C tenant.
64+
2. Select **Directories + subscriptions**.
65+
3. On the **Portal settings, Directories + subscriptions** page, in the **Directory name** list, find your Azure AD B2C directory.
66+
4. Select **Switch**.
67+
5. In the top-left corner of the Azure portal, select **All services**.
68+
6. Search for and select **Azure AD B2C**.
69+
7. Navigate to **Dashboard** > **Azure Active Directory B2C** > **Identity providers**.
70+
8. Select **Identity providers**.
71+
9. Select **Add**.
72+
73+
### Configure an identity provider
74+
75+
To configure an IdP:
76+
77+
1. Select **Identity provider type** > **OpenID Connect (Preview)**.
78+
2. For **Name**, select **Keyless**.
79+
3. For **Metadata URL**, insert the hosted Keyless Authentication app URI, followed by the path, such as `https://keyless.auth/.well-known/openid-configuration`.
80+
4. For **Client Secret**, select the secret associated with the Keyless Authentication instance. The secret is used later in Keyless Container configuration.
81+
5. For **Client ID**, select the client ID. The Client ID is used later in Keyless Container configuration.
82+
6. For **Scope**, select **openid**.
83+
7. For **Response type**, select **id_token**.
84+
8. For **Response mode**, select **form_post**.
85+
9. Select **OK**.
86+
10. Select **Map this identity provider’s claims**.
87+
11. For **UserID**, select **From subscription**.
88+
12. For **Display name**, select **From subscription**.
89+
13. For **Response mode**, select **From subscription**.
90+
14. Select **Save**.
10291

10392
### Create a user flow policy
10493

105-
You should now see Keyless as a new OIDC Identity provider listed within your B2C identity providers.
106-
107-
1. In your Azure AD B2C tenant, under **Policies**, select **User flows**.
108-
109-
2. Select **New** user flow.
110-
111-
3. Select **Sign up and sign in**, select a **version**, and then select **Create**.
112-
113-
4. Enter a **Name** for your policy.
114-
115-
5. In the Identity providers section, select your newly created Keyless Identity Provider.
116-
117-
6. Set up the parameters of your User flow. Insert a name and select the Identity provider you’ve created. You can also add email address. In this case, Azure won’t redirect the login procedure directly to Keyless instead it will show a screen where the user can choose the option they would like to use.
118-
119-
7. Leave the **Multi-factor Authentication** field as is.
120-
121-
8. Select **Enforce conditional access policies**
122-
123-
9. Under **User attributes and token claims**, select **Email Address** in the Collect attribute option. You can add all the attributes that Azure Active Directory can collect about the user alongside the claims that Azure AD B2C can return to the client application.
124-
125-
10. Select **Create**.
126-
127-
11. After a successful creation, select your new **User flow**.
128-
129-
12. On the left panel, select **Application Claims**. Under options, tick the **email** checkbox and select **Save**.
94+
Keyless appears as a new OpenID Connect (OIDC) IdP with B2C identity providers.
95+
96+
1. Open the Azure AD B2C tenant.
97+
2. Under **Policies**, select **User flows**.
98+
3. Select **New** user flow.
99+
4. Select **Sign up and sign in**.
100+
5. Select a **version**.
101+
6. Select **Create**.
102+
7. Enter a **Name** for your policy.
103+
8. In the Identity providers section, select the created Keyless Identity Provider.
104+
9. Enter a name.
105+
10. Select the IdP you created.
106+
11. Add an email address. Azure won’t redirect the sign-in to Keyless; a screen appears with a user option.
107+
12. Leave the **Multi-factor Authentication** field.
108+
13. Select **Enforce conditional access policies**.
109+
14. Under **User attributes and token claims**, in the **Collect attribute** option, select **Email Address**.
110+
15. Add user attributes Azure AD collects with claims Azure AD B2C returns to the client application.
111+
16. Select **Create**.
112+
17. Select the new **User flow**.
113+
18. On the left panel, select **Application Claims**.
114+
19. Under options, select the **email** checkbox.
115+
20. Select **Save**.
130116

131117
## Test the user flow
132118

133-
1. Open the Azure AD B2C tenant and under Policies select Identity Experience Framework.
134-
135-
2. Select your previously created SignUpSignIn.
136-
137-
3. Select Run user flow and select the settings:
138-
139-
a. Application: select the registered app (sample is JWT)
140-
141-
b. Reply URL: select the redirect URL
119+
1. Open the Azure AD B2C tenant.
120+
2. Under **Policies** select **Identity Experience Framework**.
121+
3. Select the created SignUpSignIn.
122+
4. Select **Run user flow**.
123+
5. For **Application**, select the registered app (the example is JWT).
124+
6. For **Reply URL**, select the redirect URL.
125+
7. Select **Run user flow**.
126+
8. Complete the sign-up flow and create an account.
127+
9. After the user attribute is created, Keyless is called during the flow.
142128

143-
c. Select Run user flow.
144-
145-
4. Go through sign-up flow and create an account
146-
147-
5. Keyless will be called during the flow, after user attribute is created. If the flow is incomplete, check that user isn't saved in the directory.
129+
If the flow is incomplete, confirm user is or isn't saved in the directory.
148130

149131
## Next steps
150132

151-
For additional information, review the following articles:
152-
153-
- [Custom policies in Azure AD B2C](./custom-policy-overview.md)
154-
155-
- [Get started with custom policies in Azure AD B2C](tutorial-create-user-flows.md?pivots=b2c-custom-policy)
133+
* [Azure AD B2C custom policy overview](./custom-policy-overview.md)
134+
* [Tutorial: Create user flows and custom policies in Azure AD B2C](tutorial-create-user-flows.md?pivots=b2c-custom-policy)

articles/active-directory-domain-services/TOC.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,8 @@
5757
href: synchronization.md
5858
- name: How password hash synchronization works
5959
href: ../active-directory/hybrid/how-to-connect-password-hash-synchronization.md?context=/azure/active-directory-domain-services/context/azure-ad-ds-context
60+
- name: Custom attributes
61+
href: concepts-custom-attributes.md
6062
- name: Virtual network considerations
6163
href: network-considerations.md
6264
- name: Classic deployment migration benefits
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
---
2+
title: Create and manage custom attributes for Azure AD Domain Services | Microsoft Docs
3+
description: Learn how to create and manage custom attributes in an Azure AD DS managed domain.
4+
services: active-directory-ds
5+
author: justinha
6+
manager: amycolannino
7+
8+
ms.assetid: 1a14637e-b3d0-4fd9-ba7a-576b8df62ff2
9+
ms.service: active-directory
10+
ms.subservice: domain-services
11+
ms.workload: identity
12+
ms.topic: how-to
13+
ms.date: 03/06/2023
14+
ms.author: justinha
15+
16+
---
17+
# Custom attributes for Azure Active Directory Domain Services
18+
19+
For various reasons, companies often can’t modify code for legacy apps. For example, apps may use a custom attribute, such as a custom employee ID, and rely on that attribute for LDAP operations.
20+
21+
Azure AD supports adding custom data to resources using [extensions](/graph/extensibility-overview). Azure Active Directory Domain Services (Azure AD DS) can synchronize the following types of extensions from Azure AD, so you can also use apps that depend on custom attributes with Azure AD DS:
22+
23+
- [onPremisesExtensionAttributes](/graph/extensibility-overview?tabs=http#extension-attributes) are a set of 15 attributes that can store extended user string attributes.
24+
- [Directory extensions](/graph/extensibility-overview?tabs=http#directory-azure-ad-extensions) allow the schema extension of specific directory objects, such as users and groups, with strongly typed attributes through registration with an application in the tenant.
25+
26+
Both types of extensions can be configured By using Azure AD Connect for users who are managed on-premises, or MSGraph APIs for cloud-only users.
27+
28+
>[!Note]
29+
>The following types of extensions aren't supported for synchronization:
30+
>- Custom Security Attributes in Azure AD (Preview)
31+
>- MSGraph Schema Extensions
32+
>- MSGraph Open Extensions
33+
34+
35+
## Requirements
36+
37+
The minimum SKU supported for custom attributes is the Enterprise SKU. If you use Standard, you need to [upgrade](change-sku.md) the managed domain to Enterprise or Premium. For more information, see [Azure Active Directory Domain Pricing](https://azure.microsoft.com/pricing/details/active-directory-ds/).
38+
39+
## How Custom Attributes work
40+
41+
After you create a managed domain, click **Custom Attributes (Preview)** under **Settings** to enable attribute synchronization. Click **Save** to confirm the change.
42+
43+
:::image type="content" border="true" source="./media/concepts-custom-attributes/enable.png" alt-text="Screenshot of how to enable custom attributes.":::
44+
45+
## Enable predefined attribute synchronization
46+
47+
Click **OnPremisesExtensionAttributes** to synchronize the attributes extensionAttribute1-15, also known as [Exchange custom attributes](/graph/api/resources/onpremisesextensionattributes?view=graph-rest-1.0).
48+
49+
## Synchronize Azure AD directory extension attributes
50+
51+
These are the extended user or group attributes defined in your Azure AD tenant.
52+
53+
Select **+ Add** to choose which custom attributes to synchronize. The list shows the available extension properties in your tenant. You can filter the list by using the search bar.
54+
55+
:::image type="content" border="true" source="./media/concepts-custom-attributes/add.png" alt-text="Screenshot of how to add directory extension attributes.":::
56+
57+
58+
If you don't see the directory extension you are looking for, enter the extension’s associated application appId and click **Search** to load only that application’s defined extension properties. This search helps when multiple applications define many extensions in your tenant.
59+
60+
>[!NOTE]
61+
>If you would like to see directory extensions synchronized by Azure AD Connect, click **Enterprise App** and look for the Application ID of the **Tenant Schema Extension App**. For more information, see [Azure AD Connect sync: Directory extensions](../active-directory/hybrid/how-to-connect-sync-feature-directory-extensions.md#configuration-changes-in-azure-ad-made-by-the-wizard).
62+
63+
Click **Select**, and then **Save** to confirm the change.
64+
65+
:::image type="content" border="true" source="./media/concepts-custom-attributes/select.png" alt-text="Screenshot of how to save directory extension attributes.":::
66+
67+
Azure AD DS back fills all synchronized users and groups with the onboarded custom attribute values. The custom attribute values gradually populate for objects that contain the directory extension in Azure AD. During the backfill synchronization process, incremental changes in Azure AD are paused, and the sync time depends on the size of the tenant.
68+
69+
To check the backfilling status, click **Azure AD DS Health** and verify the **Synchronization with Azure AD** monitor has an updated timestamp within an hour since onboarding. Once updated, the backfill is complete.
70+
71+
## Next steps
72+
73+
To configure onPremisesExtensionAttributes or directory extensions for cloud-only users in Azure AD, see [Custom data options in Microsoft Graph](/graph/extensibility-overview?tabs=http#custom-data-options-in-microsoft-graph).
74+
75+
To sync onPremisesExtensionAttributes or directory extensions from on-premises to Azure AD, [configure Azure AD Connect](../active-directory/hybrid/how-to-connect-sync-feature-directory-extensions.md).
64.1 KB
Loading
158 KB
Loading
27.8 KB
Loading

0 commit comments

Comments
 (0)