Skip to content

Commit 15d252f

Browse files
Merge branch 'main' of https://github.com/MicrosoftDocs/azure-docs-pr into files-dev-docs
2 parents 80dd218 + 5b2b691 commit 15d252f

File tree

555 files changed

+3517
-25109
lines changed

Some content is hidden

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

555 files changed

+3517
-25109
lines changed

.github/policies/disallow-edits.yml

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -153,18 +153,19 @@ configuration:
153153

154154
- description: Disallow sign-off for articles in the /articles/reliability folder.
155155
if:
156-
# If a 'sign-off' comment is added to a PR in the articles/reliability folder , and the PR author isn't Anastasia or John...
157-
- payloadType: Issue_Comment
158-
- filesMatchPattern:
159-
matchAny: true
160-
pattern: articles/reliability/*
156+
# If a 'sign-off' comment is added to a PR that's assigned to anaharris-ms, and the PR author isn't Anastasia or John...
161157
- or:
162-
- commentContains:
163-
pattern: ^(#sign-off)$
164-
isRegex: True
165-
- commentContains:
166-
pattern: ^(\#sign-off)$
167-
isRegex: True
158+
- payloadType: Issue_Comment
159+
- payloadType: Pull_Request_Review_Comment
160+
- isAction:
161+
action: Created
162+
- isActivitySender:
163+
issueAuthor: True
164+
- isAssignedToUser:
165+
user: anaharris-ms
166+
- commentContains:
167+
pattern: '#sign-off'
168+
isRegex: False
168169
- not:
169170
or:
170171
- isActivitySender:

.openpublishing.redirection.json

Lines changed: 330 additions & 0 deletions
Large diffs are not rendered by default.

articles/active-directory-b2c/openid-connect-technical-profile.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ The technical profile also returns claims that aren't returned by the identity p
8989
| HttpBinding | No | The expected HTTP binding to the access token and claims token endpoints. Possible values: `GET` or `POST`. |
9090
| ValidTokenIssuerPrefixes | No | A key that can be used to sign in to each of the tenants when using a multi-tenant identity provider such as Microsoft Entra ID. |
9191
| UsePolicyInRedirectUri | No | Indicates whether to use a policy when constructing the redirect URI. When you configure your application in the identity provider, you need to specify the redirect URI. The redirect URI points to Azure AD B2C, `https://{your-tenant-name}.b2clogin.com/{your-tenant-name}.onmicrosoft.com/oauth2/authresp`. If you specify `true`, you need to add a redirect URI for each policy you use. For example: `https://{your-tenant-name}.b2clogin.com/{your-tenant-name}.onmicrosoft.com/{policy-name}/oauth2/authresp`. |
92-
| MarkAsFailureOnStatusCode5xx | No | Indicates whether a request to an external service should be marked as a failure if the Http status code is in the 5xx range. The default is `false`. |
92+
| MarkAsFailureOnStatusCode5xx | No | Indicates whether a request to an external service should be marked as a failure if the HTTP status code is in the 5xx range. The default is `false`. |
9393
| DiscoverMetadataByTokenIssuer | No | Indicates whether the OIDC metadata should be discovered by using the issuer in the JWT.If you need to build the metadata endpoint URL based on Issuer, set this to `true`.|
9494
| IncludeClaimResolvingInClaimsHandling  | No | For input and output claims, specifies whether [claims resolution](claim-resolver-overview.md) is included in the technical profile. Possible values: `true`, or `false` (default). If you want to use a claims resolver in the technical profile, set this to `true`. |
9595
|token_endpoint_auth_method| No | Specifies how Azure AD B2C sends the authentication header to the token endpoint. Possible values: `client_secret_post` (default), and `client_secret_basic`, `private_key_jwt`. For more information, see [OpenID Connect client authentication section](https://openid.net/specs/openid-connect-core-1_0.html#ClientAuthentication). |

articles/active-directory-b2c/user-profile-attributes.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ Azure AD B2C directory user profile supports the [user resource type](/graph/api
8585
|usageLocation |String|Required for users that are assigned licenses due to legal requirement to check for availability of services in countries/regions. Not nullable. A two letter country/region code (ISO standard 3166). For examples, *US*, *JP*, and *GB*.|Yes|No|Persisted, Output|
8686
|userType |String|A string value that can be used to classify user types in your directory. Value must be Member. Read-only.|Read only|No|Persisted, Output|
8787
|userState (externalUserState)<sup>3</sup>|String|For Microsoft Entra B2B account only, and it indicates whether the invitation is PendingAcceptance or Accepted.|No|No|Persisted, Output|
88-
|userStateChangedOn (externalUserStateChangeDateTime)<sup>2</sup>|DateTime|Shows the timestamp for the latest change to the UserState property.|No|No|Persisted, Output|
88+
|userStateChangedOn (externalUserStateChangeDateTime)<sup>3</sup>|DateTime|Shows the timestamp for the latest change to the UserState property.|No|No|Persisted, Output|
8989

9090
<sup>1 </sup>Not supported by Microsoft Graph<br><sup>2 </sup>For more information, see [MFA phone number attribute](#mfa-phone-number-attribute)<br><sup>3 </sup>Shouldn't be used with Azure AD B2C
9191

articles/api-management/api-management-howto-disaster-recovery-backup-restore.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ To recover from availability problems that affect your API Management service, b
2222

2323
Backup and restore operations can also be used for replicating API Management service configuration between operational environments, for example, development and staging. Beware that runtime data such as users and subscriptions will be copied as well, which might not always be desirable.
2424

25-
This article shows how to automate backup and restore operations of your API Management instance using an external storage account. The steps shown here use either the [Backup-AzApiManagement](/powershell/module/az.apimanagement/backup-azapimanagement) and [Restore-AzApiManagement](/powershell/module/az.apimanagement/restore-azapimanagement) Azure PowerShell cmdlets, or the [Api Management Service - Backup](/rest/api/apimanagement/current-ga/api-management-service/backup) and [Api Management Service - Restore](/rest/api/apimanagement/current-ga/api-management-service/restore) REST APIs.
25+
This article shows how to automate backup and restore operations of your API Management instance using an external storage account. The steps shown here use either the [Backup-AzApiManagement](/powershell/module/az.apimanagement/backup-azapimanagement) and [Restore-AzApiManagement](/powershell/module/az.apimanagement/restore-azapimanagement) Azure PowerShell cmdlets, or the [API Management Service - Backup](/rest/api/apimanagement/current-ga/api-management-service/backup) and [API Management Service - Restore](/rest/api/apimanagement/current-ga/api-management-service/restore) REST APIs.
2626

2727

2828
> [!WARNING]

articles/api-management/retry-policy.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ ms.author: danlep
1616

1717
The `retry` policy executes its child policies once and then retries their execution until the retry `condition` becomes `false` or retry `count` is exhausted.
1818

19+
The `retry` policy may contain any other policies as its child elements, except for `wait` policy.
20+
1921
[!INCLUDE [api-management-policy-generic-alert](../../includes/api-management-policy-generic-alert.md)]
2022

2123

@@ -55,7 +57,7 @@ The `retry` policy executes its child policies once and then retries their execu
5557

5658
## Elements
5759

58-
The `retry` policy may contain any other policies as its child elements.
60+
The `retry` policy may contain any other policies as its child elements, except for `wait` policy.
5961

6062
## Usage
6163

articles/api-management/set-edit-policies.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ author: dlepow
66

77
ms.service: azure-api-management
88
ms.topic: how-to
9-
ms.date: 10/18/2023
9+
ms.date: 03/06/2025
1010
ms.author: danlep
1111
---
1212

articles/api-management/soft-delete.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ Recovery and other operations on a soft-deleted instance are enabled through [RE
3232
| [Create or Update](/rest/api/apimanagement/current-ga/api-management-service/create-or-update) | Creates or updates an API Management service. | API Management Service | Any |
3333
| [Create or Update](/rest/api/apimanagement/current-ga/api-management-service/create-or-update) with `restore` property set to **true** | Recovers (undeletes) an API Management Service if it was previously soft-deleted. If `restore` is specified and set to `true` all other properties will be ignored. | API Management Service | 2020-06-01-preview |
3434
| [Delete](/rest/api/apimanagement/current-ga/api-management-service/delete) | Deletes an existing API Management service. | API Management Service | 2020-06-01-preview|
35-
| [Get By Name](/rest/api/apimanagement/current-ga/deleted-services/get-by-name) | Get soft-deleted Api Management Service by name. | Deleted Services | 2020-06-01-preview |
35+
| [Get By Name](/rest/api/apimanagement/current-ga/deleted-services/get-by-name) | Get soft-deleted API Management service by name. | Deleted Services | 2020-06-01-preview |
3636
| [List By Subscription](/rest/api/apimanagement/current-ga/deleted-services/list-by-subscription) | Lists all soft-deleted services available for undelete for the given subscription. | Deleted Services | 2020-06-01-preview
3737
| [Purge](/rest/api/apimanagement/current-ga/deleted-services/purge) | Purges API Management Service (permanently deletes it with no option to undelete). | Deleted Services | 2020-06-01-preview
3838

articles/api-management/transform-api.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,8 @@ The rest of this section tests policy transformations that you set in this artic
155155

156156
1. Wait for 15 seconds or more and then select **Send** again. This time you should get a **200 OK** response.
157157

158+
[!INCLUDE [api-management-policies-azure-copilot](../../includes/api-management-policies-azure-copilot.md)]
159+
158160
## Summary
159161

160162
In this tutorial, you learned how to:

articles/app-service/configure-authentication-provider-aad.md

Lines changed: 47 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ Create a new app registration automatically, unless you need to create an app re
4141
The following situations are the most common cases to use an existing app registration:
4242

4343
- Your account doesn't have permissions to create app registrations in your Microsoft Entra tenant.
44-
- You want to use an app registration from a different Microsoft Entra tenant than the one your app is in.
44+
- You want to use an app registration from a different Microsoft Entra tenant than the one your app is in. This is always the case if you have chosen **External configuration** in the previous step.
4545
- The option to create a new registration isn't available for government clouds.
4646

4747
# [Workforce configuration](#tab/workforce-configuration)
@@ -68,7 +68,7 @@ Use this option unless you need to create an app registration separately. You ca
6868

6969
You can change the name of the registration or the supported account types later if you want.
7070

71-
A client secret is created as a slot-sticky [application setting] named `MICROSOFT_PROVIDER_AUTHENTICATION_SECRET`. If you want to manage the secret in Azure Key Vault, you can update that setting later to use [Key Vault references](./app-service-key-vault-references.md).
71+
A client secret is created as a slot-sticky [application setting] named `MICROSOFT_PROVIDER_AUTHENTICATION_SECRET`. If you want to manage the secret in Azure Key Vault, you can update that setting later to use [Key Vault references](./app-service-key-vault-references.md). Alternatively, you can change this to [use an identity instead of a client secret][fic-config]. Support for using identity is currently in preview.
7272

7373
### <a name="advanced"> </a>Option 2: Use an existing registration created separately
7474

@@ -79,6 +79,9 @@ Select either:
7979

8080
- **Application (client) ID**.
8181
- **Client secret (recommended)**. A secret value that the application uses to prove its identity when requesting a token. This value is saved in your app's configuration as a slot-sticky application setting named `MICROSOFT_PROVIDER_AUTHENTICATION_SECRET`. If the client secret isn't set, sign-in operations from the service use the OAuth 2.0 implicit grant flow, which *isn't* recommended.
82+
83+
You can also configure the application to [use an identity instead of a client secret][fic-config]. Support for using identity is currently in preview.
84+
8285
- **Issuer URL**, which takes the form `<authentication-endpoint>/<tenant-id>/v2.0`. Replace `<authentication-endpoint>` with the authentication endpoint [value specific to the cloud environment](/entra/identity-platform/authentication-national-cloud#azure-ad-authentication-endpoints). For example, a workforce tenant in global Azure would use "https://sts.windows.net" as its authentication endpoint.
8386

8487
If you need to manually create an app registration in a workforce tenant, see [Register an application with the Microsoft identity platform](/entra/identity-platform/quickstart-register-app). As you go through the registration process, be sure to note the application (client) ID and client secret values.
@@ -98,12 +101,14 @@ After creation, modify the app registration:
98101
1. Enter the consent scope name. Enter a description you want users to see on the consent page. For example, enter *Access &lt;application-name&gt;*.
99102
1. Select **Add scope**.
100103

101-
1. (Recommended) To create a client secret:
104+
1. (Recommended) Create a client assertion for the app. To create a client secret:
102105

103-
1. From the left navigation, select **Certificates & secrets** > **Client secrets** > **New client secret**.
104-
1. Enter a description and expiration and select **Add**.
106+
1. From the left navigation, select **Certificates & secrets** > **Client secrets** > **New client secret**.
107+
1. Enter a description and expiration and select **Add**.
105108
1. In the **Value** field, copy the client secret value. After you navigate away from this page, it doesn't appear again.
106-
109+
110+
You can also configure the application to [use an identity instead of a client secret][fic-config]. Support for using identity is currently in preview.
111+
107112
1. (Optional) To add multiple **Reply URLs**, select **Authentication**.
108113

109114
# [External configuration](#tab/external-configuration)
@@ -293,6 +298,42 @@ Requests that fail these built-in checks are given an HTTP `403 Forbidden` respo
293298

294299
[Payload claims]: ../active-directory/develop/access-token-claims-reference.md#payload-claims
295300

301+
## Use a managed identity instead of a secret (preview)
302+
303+
[fic-config]: #use-a-managed-identity-instead-of-a-secret-preview
304+
305+
Instead of configuring a client secret for your app registration, you can [configure an application to trust a managed identity (preview)][entra-fic]. Using an identity instead of a secret means you don't have to manage a secret. You don't have secret expiration events to handle, and you don't have the same level of risk associated with possibly disclosing or leaking that secret. The identity allows you to create a _federated identity credential_, which can be used instead of a client secret as a _client assertion_. This approach is only available for workforce configurations. The built-in authentication feature currently only supports federated identity credentials as a preview.
306+
307+
You can use the steps in this section to configure your App Service or Azure Functions resource to use this pattern. The steps here assume that you already set up an app registration using one of the supported methods, and that you have a secret defined already.
308+
309+
1. Create a user-assigned managed identity resource according to [these instructions](/entra/identity/managed-identities-azure-resources/how-manage-user-assigned-managed-identities#create-a-user-assigned-managed-identity).
310+
1. [Assign that identity](./overview-managed-identity.md#add-a-user-assigned-identity) to your App Service or Azure Functions resource.
311+
312+
> [!IMPORTANT]
313+
> The user-assigned managed identity that you create should only be assigned to the App Service or Azure Functions application using this registration. If you assign the identity to another resource, you are giving that resource access to your app registration when it doesn't need it.
314+
315+
1. Note down the **Object ID** and **Client ID** of the managed identity. You will need the object ID to created a federated identity credential in the next step. The managed identity's client ID will be used in a later step.
316+
1. Follow the Entra ID instructions to [configure a federated identity credential on an existing application](/entra/workload-id/workload-identity-federation-config-app-trust-managed-identity#configure-a-federated-identity-credential-on-an-existing-application). Those instructions also include sections for updating application code, which you can skip.
317+
1. Add a new [application setting] named `OVERRIDE_USE_MI_FIC_ASSERTION_CLIENTID` and set its value to the managed identity's **client ID** you obtained in a previous step. Don't use the client ID of your app registration. Make sure to mark this application setting as slot-sticky.
318+
1. In the built-in authentication settings for your app resource, set the **Client secret setting name** to "OVERRIDE_USE_MI_FIC_ASSERTION_CLIENTID".
319+
320+
**To make this change using the Azure portal**, navigate back to your App Service or Azure Functions resource and select the **Authentication** tab. In the **Identity provider** section, you should see a "Microsoft" entry. Select icon in the **Edit** column. On the **Edit identity provider** screen, open the dropdown for **Client secret setting name** and choose "OVERRIDE_USE_MI_FIC_ASSERTION_CLIENTID". Click **Save**.
321+
322+
**To make this change using the REST API**, set the `clientSecretSettingName` property to "OVERRIDE_USE_MI_FIC_ASSERTION_CLIENTID". You can find this property under `properties` -> `identityProviders` -> `azureActiveDirectory` -> `registration`.
323+
324+
1. Verify that the application works as you expect. You should be able to successfully perform a new login action.
325+
326+
Once you are satisfied with the behavior using a managed identity, remove the existing secret:
327+
328+
1. Make sure that your app code doesn't take a dependency on the application setting. If it does, follow the instructions to [update your application code to request an access token](/entra/workload-id/workload-identity-federation-config-app-trust-managed-identity#update-your-application-code-to-request-an-access-token).
329+
1. Remove the application setting that previously held your secret. The name of this application setting is the previous **Client secret setting name** value, before you set it to "OVERRIDE_USE_MI_FIC_ASSERTION_CLIENTID".
330+
1. Sign in to the [Microsoft Entra admin center](https://entra.microsoft.com/) using the tenant that contains your app registration. Navigate to the app registration again.
331+
1. Under **Certificates & secrets**, select **Client secrets** and remove the client secret.
332+
333+
Your app is now configured to use Entra ID authentication without secrets.
334+
335+
[entra-fic]: /entra/workload-id/workload-identity-federation-config-app-trust-managed-identity
336+
296337
## Configure client apps to access your App Service
297338

298339
In the prior sections, you registered your App Service or Azure Function to authenticate users. This section explains how to register native clients or daemon apps in Microsoft Entra. They can request access to APIs exposed by your App Service on behalf of users or themselves, such as in an N-tier architecture. If you only want to authenticate users, the steps in this section aren't required.

0 commit comments

Comments
 (0)