Skip to content

Commit 97b95ff

Browse files
committed
Merge branch 'main' into eur/speech-containers
2 parents 6975136 + d80360b commit 97b95ff

File tree

437 files changed

+9799
-3481
lines changed

Some content is hidden

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

437 files changed

+9799
-3481
lines changed

.openpublishing.redirection.api-management.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,16 @@
149149
"source_path_from_root": "/articles/api-management/validation-policies.md",
150150
"redirect_url": "/azure/api-management/api-management-policies#validation-policies",
151151
"redirect_document_id": false
152+
},
153+
{
154+
"source_path_from_root": "/articles/api-management/authorizations-how-to.md",
155+
"redirect_url": "/azure/api-management/authorizations-how-to-github",
156+
"redirect_document_id": false
157+
},
158+
{
159+
"source_path_from_root": "/articles/api-management/authorizations-reference.md",
160+
"redirect_url": "/azure/api-management/authorizations-configure-common-providers",
161+
"redirect_document_id": false
152162
}
153163
]
154164
}

.openpublishing.redirection.azure-monitor.json

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
{
22
"redirections": [
3-
{
3+
{
4+
"source_path_from_root": "/articles/azure-monitor/snapshot-debugger/snapshot-collector-release-notes.md",
5+
"redirect_url": "/azure/azure-monitor/snapshot-debugger/snapshot-debugger#release-notes-for-microsoftapplicationinsightssnapshotcollector",
6+
"redirect_document_id": false
7+
},
8+
{
49
"source_path_from_root": "/articles/azure-monitor/best-practices.md",
510
"redirect_url": "/azure/azure-monitor/getting-started",
611
"redirect_document_id": false

articles/active-directory-b2c/whats-new-docs.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,29 @@ manager: CelesteDG
1515

1616
Welcome to what's new in Azure Active Directory B2C documentation. This article lists new docs that have been added and those that have had significant updates in the last three months. To learn what's new with the B2C service, see [What's new in Azure Active Directory](../active-directory/fundamentals/whats-new.md) and [Azure AD B2C developer release notes](custom-policy-developer-notes.md)
1717

18+
## March 2023
19+
20+
### Updated articles
21+
22+
- [Configure SAML identity provider options with Azure Active Directory B2C](identity-provider-generic-saml-options.md)
23+
- [Tutorial: Configure BioCatch with Azure Active Directory B2C](partner-biocatch.md)
24+
- [Tutorial: Configure Nok Nok Passport with Azure Active Directory B2C for passwordless FIDO2 authentication](partner-nok-nok.md)
25+
- [Pass an identity provider access token to your application in Azure Active Directory B2C](idp-pass-through-user-flow.md)
26+
- [Tutorial: Configure Haventec Authenticate with Azure Active Directory B2C for single-step, multi-factor passwordless authentication](partner-haventec.md)
27+
- [Configure Trusona Authentication Cloud with Azure Active Directory B2C](partner-trusona.md)
28+
- [Tutorial: Configure IDEMIA Mobile ID with Azure Active Directory B2C](partner-idemia.md)
29+
- [Configure Azure Active Directory B2C with Bluink eID-Me for identity verification](partner-eid-me.md)
30+
- [Tutorial: Configure Azure Active Directory B2C with BlokSec for passwordless authentication](partner-bloksec.md)
31+
- [Tutorial: Configure Azure Active Directory B2C with Azure Web Application Firewall](partner-azure-web-application-firewall.md)
32+
- [Tutorial to configure Saviynt with Azure Active Directory B2C](partner-saviynt.md)
33+
- [Tutorial: Configure Keyless with Azure Active Directory B2C](partner-keyless.md)
34+
- [Tutorial: Configure security analytics for Azure Active Directory B2C data with Microsoft Sentinel](azure-sentinel.md)
35+
- [Configure authentication in a sample Python web app by using Azure AD B2C](configure-authentication-sample-python-web-app.md)
36+
- [Billing model for Azure Active Directory B2C](billing.md)
37+
- [Azure Active Directory B2C: Region availability & data residency](data-residency.md)
38+
- ['Azure AD B2C: Frequently asked questions (FAQ)'](faq.yml)
39+
- [Tutorial: Create an Azure Active Directory B2C tenant](tutorial-create-tenant.md)
40+
1841
## February 2023
1942

2043
### Updated articles

articles/active-directory-domain-services/migrate-from-classic-vnet.md

Lines changed: 29 additions & 147 deletions
Large diffs are not rendered by default.

articles/active-directory/authentication/concept-authentication-phone-options.md

Lines changed: 6 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: authentication
88
ms.topic: conceptual
9-
ms.date: 01/29/2023
9+
ms.date: 04/17/2023
1010

1111
ms.author: justinha
1212
author: justinha
@@ -44,7 +44,11 @@ Microsoft doesn't guarantee consistent SMS or voice-based Azure AD Multi-Factor
4444

4545
### Text message verification
4646

47-
With text message verification during SSPR or Azure AD Multi-Factor Authentication, an SMS is sent to the mobile phone number containing a verification code. To complete the sign-in process, the verification code provided is entered into the sign-in interface.
47+
With text message verification during SSPR or Azure AD Multi-Factor Authentication, a Short Message Service (SMS) text is sent to the mobile phone number containing a verification code. To complete the sign-in process, the verification code provided is entered into the sign-in interface.
48+
49+
Android users can enable Rich Communication Services (RCS) on their devices. RCS offers encryption and other improvements over SMS. For Android, MFA text messages may be sent over RCS rather than SMS. The MFA text message is similar to SMS, but RCS messages have more Microsoft branding and a verified checkmark so users know they can trust the message.
50+
51+
:::image type="content" source="media/concept-authentication-methods/brand.png" alt-text="Screenshot of Microsoft branding in RCS messages.":::
4852

4953
### Phone call verification
5054

63 KB
Loading

articles/active-directory/develop/includes/web-app/quickstart-aspnet.md

Lines changed: 40 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ See [How the sample works](#how-the-sample-works) for an illustration.
2626
## Prerequisites
2727

2828
* An Azure account with an active subscription. [Create an account for free](https://azure.microsoft.com/free/?WT.mc_id=A261C142F).
29-
* [Visual Studio 2019](https://visualstudio.microsoft.com/vs/)
29+
* [Visual Studio 2022](https://visualstudio.microsoft.com/vs/)
3030
* [.NET Framework 4.7.2+](https://dotnet.microsoft.com/download/visual-studio-sdks)
3131

3232
## Register and download the app
@@ -71,11 +71,11 @@ If you want to manually configure your application and code sample, use the foll
7171
3. Depending on the version of Visual Studio, you might need to right-click the project **AppModelv2-WebApp-OpenIDConnect-DotNet** and then select **Restore NuGet packages**.
7272
4. Open the Package Manager Console by selecting **View** > **Other Windows** > **Package Manager Console**. Then run `Update-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform -r`.
7373

74-
5. Edit *Web.config* and replace the parameters `ClientId`, `Tenant`, and `redirectUri` with:
75-
```xml
76-
<add key="ClientId" value="Enter_the_Application_Id_here" />
77-
<add key="Tenant" value="Enter_the_Tenant_Info_Here" />
78-
<add key="redirectUri" value="https://localhost:44368/" />
74+
5. Edit *appsettings.json* and replace the parameters `ClientId`, `Tenant`, and `redirectUri` with:
75+
```json
76+
"ClientId" :"Enter_the_Application_Id_here" />
77+
"TenantId": "Enter_the_Tenant_Info_Here" />
78+
"RedirectUri" :"https://localhost:44368/" />
7979
```
8080
In that code:
8181

@@ -100,48 +100,30 @@ This section gives an overview of the code required to sign in users. This overv
100100
You can set up the authentication pipeline with cookie-based authentication by using OpenID Connect in ASP.NET with OWIN middleware packages. You can install these packages by running the following commands in Package Manager Console within Visual Studio:
101101

102102
```powershell
103-
Install-Package Microsoft.Owin.Security.OpenIdConnect
103+
Install-Package Microsoft.Identity.Web.Owin
104+
Install-Package Microsoft.Identity.Web.MicrosoftGraph
104105
Install-Package Microsoft.Owin.Security.Cookies
105-
Install-Package Microsoft.Owin.Host.SystemWeb
106106
```
107107

108108
### OWIN startup class
109109

110110
The OWIN middleware uses a *startup class* that runs when the hosting process starts. In this quickstart, the *startup.cs* file is in the root folder. The following code shows the parameters that this quickstart uses:
111111

112112
```csharp
113-
public void Configuration(IAppBuilder app)
114-
{
115-
app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType);
116-
117-
app.UseCookieAuthentication(new CookieAuthenticationOptions());
118-
app.UseOpenIdConnectAuthentication(
119-
new OpenIdConnectAuthenticationOptions
120-
{
121-
// Sets the client ID, authority, and redirect URI as obtained from Web.config
122-
ClientId = clientId,
123-
Authority = authority,
124-
RedirectUri = redirectUri,
125-
// PostLogoutRedirectUri is the page that users will be redirected to after sign-out. In this case, it's using the home page
126-
PostLogoutRedirectUri = redirectUri,
127-
Scope = OpenIdConnectScope.OpenIdProfile,
128-
// ResponseType is set to request the code id_token, which contains basic information about the signed-in user
129-
ResponseType = OpenIdConnectResponseType.CodeIdToken,
130-
// ValidateIssuer set to false to allow personal and work accounts from any organization to sign in to your application
131-
// To only allow users from a single organization, set ValidateIssuer to true and the 'tenant' setting in Web.config to the tenant name
132-
// To allow users from only a list of specific organizations, set ValidateIssuer to true and use the ValidIssuers parameter
133-
TokenValidationParameters = new TokenValidationParameters()
134-
{
135-
ValidateIssuer = false // Simplification (see note below)
136-
},
137-
// OpenIdConnectAuthenticationNotifications configures OWIN to send notification of failed authentications to the OnAuthenticationFailed method
138-
Notifications = new OpenIdConnectAuthenticationNotifications
139-
{
140-
AuthenticationFailed = OnAuthenticationFailed
141-
}
142-
}
143-
);
144-
}
113+
public void Configuration(IAppBuilder app)
114+
{
115+
app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType);
116+
117+
app.UseCookieAuthentication(new CookieAuthenticationOptions());
118+
OwinTokenAcquirerFactory factory = TokenAcquirerFactory.GetDefaultInstance<OwinTokenAcquirerFactory>();
119+
120+
app.AddMicrosoftIdentityWebApp(factory);
121+
factory.Services
122+
.Configure<ConfidentialClientApplicationOptions>(options => { options.RedirectUri = "https://localhost:44368/"; })
123+
.AddMicrosoftGraph()
124+
.AddInMemoryTokenCaches();
125+
factory.Build();
126+
}
145127
```
146128

147129
|Where | Description |
@@ -155,10 +137,6 @@ public void Configuration(IAppBuilder app)
155137
| `TokenValidationParameters` | A list of parameters for token validation. In this case, `ValidateIssuer` is set to `false` to indicate that it can accept sign-ins from any personal, work, or school account type. |
156138
| `Notifications` | A list of delegates that can be run on `OpenIdConnect` messages. |
157139

158-
159-
> [!NOTE]
160-
> Setting `ValidateIssuer = false` is a simplification for this quickstart. In real applications, validate the issuer. See the samples to understand how to do that.
161-
162140
### Authentication challenge
163141

164142
You can force a user to sign in by requesting an authentication challenge in your controller:
@@ -182,6 +160,24 @@ public void SignIn()
182160

183161
You can protect a controller or controller actions by using the `[Authorize]` attribute. This attribute restricts access to the controller or actions by allowing only authenticated users to access the actions in the controller. An authentication challenge will then happen automatically when an unauthenticated user tries to access one of the actions or controllers decorated by the `[Authorize]` attribute.
184162

163+
### Call Microsoft Graph from the controller
164+
165+
You can call Microsoft Graph from the controller by getting the instance of GraphServiceClient using the `GetGraphServiceClient` extension method on the controller, like in the following code:
166+
167+
```csharp
168+
try
169+
{
170+
var me = await this.GetGraphServiceClient().Me.Request().GetAsync();
171+
ViewBag.Username = me.DisplayName;
172+
}
173+
catch (ServiceException graphEx) when (graphEx.InnerException is MicrosoftIdentityWebChallengeUserException)
174+
{
175+
HttpContext.GetOwinContext().Authentication.Challenge(OpenIdConnectAuthenticationDefaults.AuthenticationType);
176+
return View();
177+
}
178+
```
179+
180+
185181
[!INCLUDE [Help and support](../../../../../includes/active-directory-develop-help-support-include.md)]
186182

187183
## Next steps

articles/active-directory/manage-apps/index.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ metadata:
1010
ms.subservice: app-mgmt
1111
ms.workload: identity
1212
ms.topic: landing-page
13-
ms.date: 07/08/2021
13+
ms.date: 04/17/2023
1414
author: CelesteDG
1515
ms.author: CelesteDG
1616

@@ -89,6 +89,8 @@ landingContent:
8989
links:
9090
- text: Identity governance
9191
url: ../governance/identity-governance-overview.md
92+
- text: User and admin consent
93+
url: user-admin-consent-overview.md
9294
- linkListType: how-to-guide
9395
links:
9496
- text: Assign roles
@@ -139,6 +141,8 @@ landingContent:
139141
url: ../reports-monitoring/howto-download-logs.md
140142
- text: Set up access reviews
141143
url: ../governance/deploy-access-reviews.md
144+
- text: Assign owners
145+
url: assign-app-owners.md
142146
- title: Remote access to on-premises apps
143147
linkLists:
144148
- linkListType: concept
@@ -147,7 +151,7 @@ landingContent:
147151
url: ../app-proxy/application-proxy.md
148152
- linkListType: how-to-guide
149153
links:
150-
- text: Application Proxy deployment
154+
- text: Plan application Proxy deployment
151155
url: ../app-proxy/application-proxy-deployment-plan.md
152156
- text: Set up connectors
153157
url: ../app-proxy/application-proxy-connectors.md

articles/active-directory/manage-apps/protect-against-consent-phishing.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ Administrators, users, or Microsoft security researchers may flag OAuth applicat
3535
When Azure AD disables an OAuth application, the following actions occur:
3636

3737
- The malicious application and related service principals are placed into a fully disabled state. Any new token requests or requests for refresh tokens are denied, but existing access tokens are still valid until their expiration.
38-
- The disabled state is surfaced through an exposed property called *disabledByMicrosoftStatus* on the related [application](/graph/api/resources/application) and [service principal](/graph/api/resources/serviceprincipal) resource types in Microsoft Graph.
38+
- These applications will show `DisabledDueToViolationOfServicesAgreement` on the `disabledByMicrosoftStatus` property on the related [application](/graph/api/resources/application) and [service principal](/graph/api/resources/serviceprincipal) resource types in Microsoft Graph. To prevent them from being instantiated in your organization again in the future, you cannot delete these objects.
3939
- An email is sent to a global administrator when a user in an organization consented to an application before it was disabled. The email specifies the action taken and recommended steps they can do to investigate and improve their security posture.
4040

4141
## Recommended response and remediation
@@ -73,3 +73,4 @@ Administrators should be in control of application use by providing the right in
7373
- [Managing access to applications](./what-is-access-management.md)
7474
- [Restrict user consent operations in Azure AD](../../security/fundamentals/steps-secure-identity.md#restrict-user-consent-operations)
7575
- [Compromised and malicious applications investigation](/security/compass/incident-response-playbook-compromised-malicious-app)
76+

articles/active-directory/multi-tenant-organizations/cross-tenant-synchronization-configure.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -522,6 +522,28 @@ $smssignin = Get-MgUserAuthenticationPhoneMethod -UserId $userId
522522
##### End the script
523523
```
524524

525+
#### Symptom - Users fail to provision with error "AzureActiveDirectoryForbidden"
526+
527+
Users in scope fail to provision. The provisioning logs details include the following error message:
528+
529+
```
530+
The provisioning service was forbidden from performing an operation on Azure Active Directory, which is unusual.
531+
A simultaneous change to the target object may have occurred, in which case, the operation might succeed when it is retried.
532+
Alternatively, the target of the operation, or one of its properties, may be mastered on-premises, in which case,
533+
the provisioning service is not permitted to update it, and the corresponding source entry should be removed from the provisioning service's scope.
534+
Otherwise, authorizations may have been customized in such a way as to prevent the provisioning service from modifying the target object or one of its properties;
535+
if so, then, again, the corresponding source entry should be removed from scope.
536+
This operation was retried 0 times.
537+
```
538+
539+
**Cause**
540+
541+
This error indicates the Guest invite settings in the target tenant are configured with the most restrictive setting: "No one in the organization can invite guest users including admins (most restrictive)".
542+
543+
**Solution**
544+
545+
Change the Guest invite settings in the target tenant to a less restrictive setting. For more information, see [Configure external collaboration settings](../external-identities/external-collaboration-settings-configure.md).
546+
525547
## Next steps
526548

527549
- [Tutorial: Reporting on automatic user account provisioning](../app-provisioning/check-status-user-account-provisioning.md)

0 commit comments

Comments
 (0)