Skip to content

Commit cdf7251

Browse files
committed
Merge branch 'main' into release-ga-azure-firewall-basic
2 parents c09d112 + 4888b67 commit cdf7251

File tree

632 files changed

+26700
-5992
lines changed

Some content is hidden

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

632 files changed

+26700
-5992
lines changed

.openpublishing.redirection.healthcare-apis.json

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -665,13 +665,17 @@
665665
"redirect_url": "/azure/healthcare-apis/iot/how-to-use-mapping-debugger",
666666
"redirect_document_id": false
667667
},
668+
{ "source_path_from_root": "/articles/healthcare-apis/iot/how-to-use-monitoring-tab.md",
669+
"redirect_url": "/azure/healthcare-apis/iot/how-to-use-monitoring-and-health-checks-tabs",
670+
"redirect_document_id": false
671+
},
668672
{ "source_path_from_root": "/articles/healthcare-apis/events/events-display-metrics.md",
669673
"redirect_url": "/azure/healthcare-apis/events/events-use-metrics",
670674
"redirect_document_id": false
671675
},
672676
{ "source_path_from_root": "/articles/healthcare-apis/events/events-export-logs-metrics.md",
673677
"redirect_url": "/azure/healthcare-apis/events/events-enable-diagnostic-settings",
674-
"redirect_document_id": true
678+
"redirect_document_id": false
675679
}
676680
]
677681
}

articles/active-directory/app-provisioning/use-scim-to-provision-users-and-groups.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ ms.service: active-directory
88
ms.subservice: app-provisioning
99
ms.workload: identity
1010
ms.topic: tutorial
11-
ms.date: 03/07/2023
11+
ms.date: 03/08/2023
1212
ms.author: kenwith
1313
ms.reviewer: arvinh
1414
---
@@ -222,7 +222,7 @@ Use the general guidelines when implementing a SCIM endpoint to ensure compatibi
222222
* If a value isn't present, don't send null values.
223223
* Property values should be camel cased (for example, readWrite).
224224
* Must return a list response.
225-
* The Azure AD Provisioning Service makes the /schemas request every time someone saves the provisioning configuration in the Azure portal or every time a user lands on the edit provisioning page in the Azure portal. Other attributes discovered are surfaced to customers in the attribute mappings under the target attribute list. Schema discovery only leads to more target attributes being added. Attributes aren't removed.
225+
* The Azure AD Provisioning Service makes the /schemas request when you save the provisioning configuration in the Azure portal. The request is also made when you open the edit provisioning page in the Azure portal. Other attributes discovered are surfaced to customers in the attribute mappings under the target attribute list. Schema discovery only leads to more target attributes being added. Attributes aren't removed.
226226

227227
### User provisioning and deprovisioning
228228

@@ -275,7 +275,7 @@ This article provides example SCIM requests emitted by the Azure Active Director
275275

276276
### User Operations
277277

278-
* Users can be queried by `userName` or `emails[type eq "work"]` attributes.
278+
* Use `userName` or `emails[type eq "work"]` attributes to query users.
279279

280280
#### Create User
281281

@@ -606,8 +606,8 @@ This article provides example SCIM requests emitted by the Azure Active Director
606606

607607
### Group Operations
608608

609-
* Groups shall always be created with an empty members list.
610-
* Groups can be queried by the `displayName` attribute.
609+
* Groups are created with an empty members list.
610+
* Use the `displayName` attribute to query groups.
611611
* Update to the group PATCH request should yield an *HTTP 204 No Content* in the response. Returning a body with a list of all the members isn't advisable.
612612
* It isn't necessary to support returning all the members of the group.
613613

@@ -924,7 +924,7 @@ Now that you've designed your schema and understood the Azure AD SCIM implementa
924924

925925
For guidance on how to build a SCIM endpoint including examples, see [Develop a sample SCIM endpoint](use-scim-to-build-users-and-groups-endpoints.md).
926926

927-
The open source .NET Core [reference code example](https://aka.ms/SCIMReferenceCode) published by the Azure AD provisioning team is one such resource that can jump start your development. Once you have built your SCIM endpoint, you'll want to test it out. You can use the collection of [Postman tests](https://github.com/AzureAD/SCIMReferenceCode/wiki/Test-Your-SCIM-Endpoint) provided as part of the reference code or run through the sample requests / responses provided [above](#user-operations).
927+
The open source .NET Core [reference code example](https://aka.ms/SCIMReferenceCode) published by the Azure AD provisioning team is one such resource that can jump start your development. Build a SCIM endpoint, then test it out. Use the collection of [Postman tests](https://github.com/AzureAD/SCIMReferenceCode/wiki/Test-Your-SCIM-Endpoint) provided as part of the reference code or run through the sample requests / responses [provided](#user-operations).
928928

929929
> [!Note]
930930
> The reference code is intended to help you get started building your SCIM endpoint and is provided "AS IS." Contributions from the community are welcome to help build and maintain the code.
@@ -968,7 +968,7 @@ The SCIM endpoint must have an HTTP address and server authentication certificat
968968
* WoSign
969969
* DST Root CA X3
970970

971-
The .NET Core SDK includes an HTTPS development certificate that can be used during development, the certificate is installed as part of the first-run experience. Depending on how you run the ASP.NET Core Web Application it will listen to a different port:
971+
The .NET Core SDK includes an HTTPS development certificate that is used during development. The certificate is installed as part of the first-run experience. Depending on how you run the ASP.NET Core Web Application it listens to a different port:
972972

973973
* Microsoft.SCIM.WebHostSample: `https://localhost:5001`
974974
* IIS Express: `https://localhost:44359`
@@ -1351,10 +1351,10 @@ Once the initial cycle has started, you can select **Provisioning logs** in the
13511351

13521352
## Publish your application to the Azure AD application gallery
13531353

1354-
If you're building an application that will be used by more than one tenant, you can make it available in the Azure AD application gallery. It's easy for organizations to discover the application and configure provisioning. Publishing your app in the Azure AD gallery and making provisioning available to others is easy. Check out the steps [here](../manage-apps/v2-howto-app-gallery-listing.md). Microsoft will work with you to integrate your application into our gallery, test your endpoint, and release onboarding [documentation](../saas-apps/tutorial-list.md) for customers to use.
1354+
If you're building an application used by more than one tenant, make it available in the Azure AD application gallery. It's easy for organizations to discover the application and configure provisioning. Publishing your app in the Azure AD gallery and making provisioning available to others is easy. Check out the steps [here](../manage-apps/v2-howto-app-gallery-listing.md). Microsoft works with you to integrate your application into the gallery, test your endpoint, and release onboarding [documentation](../saas-apps/tutorial-list.md) for customers.
13551355

13561356
### Gallery onboarding checklist
1357-
Use the checklist to onboard your application quickly and customers have a smooth deployment experience. The information will be gathered from you when onboarding to the gallery.
1357+
Use the checklist to onboard your application quickly and customers have a smooth deployment experience. The information is gathered from you when onboarding to the gallery.
13581358
> [!div class="checklist"]
13591359
> * Support a [SCIM 2.0](#understand-the-azure-ad-scim-implementation) user and group endpoint (Only one is required but both are recommended)
13601360
> * Support at least 25 requests per second per tenant to ensure that users and groups are provisioned and deprovisioned without delay (Required)
@@ -1418,7 +1418,7 @@ Best practices (recommended, but not required):
14181418
> [!NOTE]
14191419
> While it's not possible to setup OAuth on the non-gallery applications, you can manually generate an access token from your authorization server and input it as the secret token to a non-gallery application. This allows you to verify compatibility of your SCIM server with the Azure AD Provisioning Service before onboarding to the app gallery, which does support the OAuth code grant.
14201420

1421-
**Long-lived OAuth bearer tokens:** If your application doesn't support the OAuth authorization code grant flow, instead generate a long lived OAuth bearer token that an administrator can use to set up the provisioning integration. The token should be perpetual, or else the provisioning job will be [quarantined](application-provisioning-quarantine-status.md) when the token expires.
1421+
**Long-lived OAuth bearer tokens:** If your application doesn't support the OAuth authorization code grant flow, instead generate a long lived OAuth bearer token that an administrator can use to set up the provisioning integration. The token should be perpetual, or else the provisioning job is [quarantined](application-provisioning-quarantine-status.md) when the token expires.
14221422

14231423
For more authentication and authorization methods, let us know on [UserVoice](https://aka.ms/appprovisioningfeaturerequest).
14241424

articles/active-directory/develop/TOC.yml

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,13 @@
6969
href: active-directory-how-applications-are-added.md
7070
- name: Single-tenant and multi-tenant apps
7171
href: single-and-multi-tenant-apps.md
72+
- name: Custom Authentication Extensions
73+
displayName: Custom Authentication Extensions
74+
items:
75+
- name: Overview
76+
href: custom-extension-overview.md
77+
- name: Custom claims provider
78+
href: custom-claims-provider-overview.md
7279
- name: Security best practices
7380
displayName: least privilege, secure app configuration, conditional access
7481
items:
@@ -135,6 +142,16 @@
135142
- name: SAML app multi-instancing
136143
displayName: Configure SAML app multi-instancing for an application
137144
href: reference-app-multi-instancing.md
145+
- name: Custom claims provider
146+
items:
147+
- name: Token issuance start event
148+
items:
149+
- name: Create and register a custom claims provider API
150+
href: custom-extension-get-started.md
151+
- name: Configure a SAML app to call a custom claims provider
152+
href: custom-extension-configure-saml-app.md
153+
- name: Troubleshoot your custom claims provider API
154+
href: custom-extension-troubleshoot.md
138155
- name: Handle browser cookie restrictions
139156
items:
140157
- name: Handle ITP in Safari
@@ -826,6 +843,8 @@
826843
href: authentication-national-cloud.md
827844
- name: Microsoft Graph API reference (identity operations)
828845
href: /graph/api/resources/azure-ad-overview
846+
- name: Custom claims provider reference
847+
href: custom-claims-provider-reference.md
829848
- name: Resources
830849
items:
831850
- name: Help and support options
@@ -835,7 +854,7 @@
835854
href: reference-breaking-changes.md
836855
- name: Video learning
837856
href: identity-videos.md
838-
- name: "Blog: M365 Developer - Microsoft identity platform"
857+
- name: "Blog: Microsoft 365 Developer - Microsoft identity platform"
839858
href: https://devblogs.microsoft.com/microsoft365dev/category/microsoft-identity-platform/
840859
- name: "Blog: Azure AD - Identity"
841860
href: https://techcommunity.microsoft.com/t5/azure-active-directory-identity/bg-p/Identity

articles/active-directory/develop/active-directory-configurable-token-lifetimes.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,18 +9,18 @@ ms.service: active-directory
99
ms.subservice: develop
1010
ms.workload: identity
1111
ms.topic: conceptual
12-
ms.date: 09/07/2022
12+
ms.date: 03/07/2023
1313
ms.author: ryanwi
1414
ms.custom: aaddev, identityplatformtop40, contperf-fy21q1
1515
ms.reviewer: ludwignick, sreyanthmora, marsma
1616
---
1717
# Configurable token lifetimes in the Microsoft identity platform (preview)
1818

19-
You can specify the lifetime of a access, ID, or SAML token issued by the Microsoft identity platform. You can set token lifetimes for all apps in your organization, for a multi-tenant (multi-organization) application, or for a specific service principal in your organization. However, we currently do not support configuring the token lifetimes for [managed identity service principals](../managed-identities-azure-resources/overview.md).
19+
You can specify the lifetime of an access, ID, or SAML token issued by the Microsoft identity platform. You can set token lifetimes for all apps in your organization, for a multi-tenant (multi-organization) application, or for a specific service principal in your organization. However, we currently don't support configuring the token lifetimes for [managed identity service principals](../managed-identities-azure-resources/overview.md).
2020

21-
In Azure AD, a policy object represents a set of rules that are enforced on individual applications or on all applications in an organization. Each policy type has a unique structure, with a set of properties that are applied to objects to which they are assigned.
21+
In Azure AD, a policy object represents a set of rules that are enforced on individual applications or on all applications in an organization. Each policy type has a unique structure, with a set of properties that are applied to objects to which they're assigned.
2222

23-
You can designate a policy as the default policy for your organization. The policy is applied to any application in the organization, as long as it is not overridden by a policy with a higher priority. You also can assign a policy to specific applications. The order of priority varies by policy type.
23+
You can designate a policy as the default policy for your organization. The policy is applied to any application in the organization, as long as it isn't overridden by a policy with a higher priority. You also can assign a policy to specific applications. The order of priority varies by policy type.
2424

2525
For examples, read [examples of how to configure token lifetimes](configure-token-lifetimes.md).
2626

@@ -99,14 +99,14 @@ Refresh and session token configuration are affected by the following properties
9999
|Single-Factor Session Token Max Age |MaxAgeSessionSingleFactor |Session tokens (persistent and nonpersistent) |Until-revoked |
100100
|Multi-Factor Session Token Max Age |MaxAgeSessionMultiFactor |Session tokens (persistent and nonpersistent) |Until-revoked |
101101

102-
Non-persistent session tokens have a Max Inactive Time of 24 hours whereas persistent session tokens have a Max Inactive Time of 90 days. Any time the SSO session token is used within its validity period, the validity period is extended another 24 hours or 90 days. If the SSO session token is not used within its Max Inactive Time period, it is considered expired and will no longer be accepted. Any changes to this default periods should be change using [Conditional Access](../conditional-access/howto-conditional-access-session-lifetime.md).
102+
Non-persistent session tokens have a Max Inactive Time of 24 hours whereas persistent session tokens have a Max Inactive Time of 90 days. Anytime the SSO session token is used within its validity period, the validity period is extended another 24 hours or 90 days. If the SSO session token isn't used within its Max Inactive Time period, it's considered expired and will no longer be accepted. Any changes to this default periods should be change using [Conditional Access](../conditional-access/howto-conditional-access-session-lifetime.md).
103103

104104
You can use PowerShell to find the policies that will be affected by the retirement. Use the [PowerShell cmdlets](configure-token-lifetimes.md#get-started) to see the all policies created in your organization, or to find which apps and service principals are linked to a specific policy.
105105

106106
## Policy evaluation and prioritization
107107
You can create and then assign a token lifetime policy to a specific application, to your organization, and to service principals. Multiple policies might apply to a specific application. The token lifetime policy that takes effect follows these rules:
108108

109-
* If a policy is explicitly assigned to the service principal, it is enforced.
109+
* If a policy is explicitly assigned to the service principal, it's enforced.
110110
* If no policy is explicitly assigned to the service principal, a policy explicitly assigned to the parent organization of the service principal is enforced.
111111
* If no policy is explicitly assigned to the service principal or to the organization, the policy assigned to the application is enforced.
112112
* If no policy has been assigned to the service principal, the organization, or the application object, the default values are enforced. (See the table in [Configurable token lifetime properties](#configurable-token-lifetime-properties).)
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
---
2+
title: Custom claims provider overview
3+
titleSuffix: Microsoft identity platform
4+
description: Conceptual article describing the custom claims provider as part of the custom authentication extension framework.
5+
services: active-directory
6+
author: yoelhor
7+
manager: CelesteDG
8+
9+
ms.service: active-directory
10+
ms.subservice: develop
11+
ms.workload: identity
12+
ms.topic: conceptual
13+
ms.date: 03/06/2023
14+
ms.author: davidmu
15+
ms.reviewer: JasSuri
16+
ms.custom: aaddev
17+
#Customer intent: As a developer, I want to learn about custom claims provider so that I can augment tokens with claims from an external identity system or role management system.
18+
---
19+
20+
# Custom claims provider (preview)
21+
22+
This article provides an overview to the Azure Active Directory (Azure AD) custom claims provider.
23+
When a user authenticates to an application, a custom claims provider can be used to add claims into the token. A custom claims provider is made up of a custom extension that calls an external REST API, to fetch claims from external systems. A custom claims provider can be assigned to one or many applications in your directory.
24+
25+
Key data about a user is often stored in systems external to Azure AD. For example, secondary email, billing tier, or sensitive information. Some applications may rely on these attributes for the application to function as designed. For example, the application may block access to certain features based on a claim in the token.
26+
27+
Use a custom claims provider for the following scenarios:
28+
29+
- **Migration of legacy systems** - You may have legacy identity systems such as Active Directory Federation Services (AD FS) or data stores (such as LDAP directory) that hold information about users. You'd like to migrate these applications, but can't fully migrate the identity data into Azure AD. Your apps may depend on certain information on the token, and can't be rearchitected.
30+
- **Integration with other data stores that can't be synced to the directory** - You may have third-party systems, or your own systems that store user data. Ideally this information could be consolidated, either through [synchronization](../cloud-sync/what-is-cloud-sync.md) or direct migration, in the Azure AD directory. However, that isn't always feasible. The restriction may be because of data residency, regulations, or other requirements.
31+
32+
## Token issuance start event listener
33+
34+
An event listener is a procedure that waits for an event to occur. The custom extension uses the **token issuance start** event listener. The event is triggered when a token is about to be issued to your application. When the event is triggered the custom extension REST API is called to fetch attributes from external systems.
35+
36+
For an example using a custom claims provider with the **token issuance start** event listener, check out the [get started with custom claims providers](custom-extension-get-started.md) article.
37+
38+
## Next steps
39+
40+
- Learn how to [create and register a custom claims provider](custom-extension-get-started.md) with a sample Open ID Connect application.
41+
- If you already have a custom claims provider registered, you can configure a [SAML application](custom-extension-configure-saml-app.md) to receive tokens with claims sourced from an external store.

0 commit comments

Comments
 (0)