Skip to content

Commit 9196d9a

Browse files
author
gitName
committed
Merge branch 'main' of https://github.com/MicrosoftDocs/azure-docs-pr into apicteams
2 parents 76b8113 + c926107 commit 9196d9a

File tree

952 files changed

+7684
-4590
lines changed

Some content is hidden

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

952 files changed

+7684
-4590
lines changed

.openpublishing.redirection.json

Lines changed: 106 additions & 1198 deletions
Large diffs are not rendered by default.

articles/active-directory-b2c/secure-rest-api.md

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ author: kengaderdus
66
manager: CelesteDG
77
ms.service: azure-active-directory
88
ms.topic: how-to
9-
ms.date: 01/11/2024
9+
ms.date: 10/14/2024
1010
ms.author: kengaderdus
1111
ms.subservice: b2c
1212
zone_pivot_groups: b2c-policy-type
@@ -276,7 +276,10 @@ A claim provides temporary storage of data during an Azure AD B2C policy executi
276276

277277
### Acquiring an access token
278278

279-
You can obtain an access token in one of several ways, for the [from a federated identity provider](idp-pass-through-user-flow.md), by calling a REST API that returns an access token, by using an [ROPC flow](../active-directory/develop/v2-oauth-ropc.md), or by using the [client credentials flow](../active-directory/develop/v2-oauth2-client-creds-grant-flow.md). The client credentials flow is commonly used for server-to-server interactions that must run in the background, without immediate interaction with a user.
279+
You can obtain an access token in one of several ways, for the [from a federated identity provider](idp-pass-through-user-flow.md), by calling a REST API that returns an access token, by using an [ROPC flow](/entra/identity-platform/v2-oauth-ropc), or by using the [client credentials flow](../active-directory/develop/v2-oauth2-client-creds-grant-flow.md). The client credentials flow is commonly used for server-to-server interactions that must run in the background, without immediate interaction with a user.
280+
281+
> [!WARNING]
282+
> Microsoft recommends you do *not* use the ROPC flow. This flow requires a very high degree of trust in the application, and carries risks that are not present in other flows. You should only use this flow when other more secure flows aren't viable.
280283
281284
<a name='acquiring-an-azure-ad-access-token-'></a>
282285

@@ -577,12 +580,12 @@ The following XML snippet is an example of a RESTful technical profile configure
577580
```
578581
::: zone-end
579582

580-
## Next steps
583+
## Related content
581584

582585
::: zone pivot="b2c-user-flow"
583586
- Get started with our [samples](api-connector-samples.md#api-connector-rest-api-samples).
584587
::: zone-end
585588

586589
::: zone pivot="b2c-custom-policy"
587590
- Learn more about the [Restful technical profile](restful-technical-profile.md) element in the custom policy reference.
588-
::: zone-end
591+
::: zone-end

articles/api-center/TOC.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,5 +92,7 @@
9292
items:
9393
- name: Samples and labs
9494
href: resources.md
95+
- name: Building an API security strategy
96+
href: https://aka.ms/API-Security-EBook
9597
- name: Azure updates
9698
href: https://aka.ms/apic/updates

articles/api-management/TOC.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -657,6 +657,8 @@
657657
href: /azure/architecture/best-practices/api-design?toc=%2Fazure%2Fapi-management%2Ftoc.json&bc=/azure/api-management/breadcrumb/toc.json
658658
- name: Web API implementation
659659
href: /azure/architecture/best-practices/api-implementation?toc=%2Fazure%2Fapi-management%2Ftoc.json&bc=/azure/api-management/breadcrumb/toc.json
660+
- name: Building an API security strategy
661+
href: https://aka.ms/API-Security-EBook
660662
- name: Breaking changes and retirements
661663
items:
662664
- name: Breaking changes overview

articles/api-management/authentication-authorization-overview.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,3 +154,4 @@ While authorization is preferred, and OAuth 2.0 has become the dominant method o
154154
## Next steps
155155
* Learn more about [authentication and authorization](../active-directory/develop/authentication-vs-authorization.md) in the Microsoft identity platform.
156156
* Learn how to [mitigate OWASP API security threats](mitigate-owasp-api-threats.md) using API Management.
157+
* Learn how to [build a comprehensive API security strategy](https://aka.ms/API-Security-EBook)

articles/api-management/mitigate-owasp-api-threats.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -318,5 +318,6 @@ Learn more about:
318318
* [Authentication and authorization in API Management](authentication-authorization-overview.md)
319319
* [Security baseline for API Management](/security/benchmark/azure/baselines/api-management-security-baseline)
320320
* [Security controls by Azure policy](security-controls-policy.md)
321+
* [Building a comprehensive API security strategy](https://aka.ms/API-Security-EBook)
321322
* [Landing zone accelerator for API Management](/azure/cloud-adoption-framework/scenarios/app-platform/api-management/landing-zone-accelerator)
322323
* [Microsoft Defender for Cloud](/azure/defender-for-cloud/defender-for-cloud-introduction)

articles/api-management/protect-with-defender-for-apis.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,4 +112,5 @@ You can remove APIs from protection by Defender for APIs by using Defender for C
112112

113113
* Learn more about [Defender for Cloud](/azure/defender-for-cloud/defender-for-cloud-introduction)
114114
* Learn more about [API findings, recommendations, and alerts](/azure/defender-for-cloud/defender-for-apis-posture) in Defender for APIs
115+
Learn how to [build a comprehensive API security strategy](https://aka.ms/API-Security-EBook)
115116
* Learn how to [upgrade and scale](upgrade-and-scale.md) an API Management instance

articles/api-management/validate-jwt-policy.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ The `validate-jwt` policy enforces existence and validity of a supported JSON we
8585
| Element | Description | Required |
8686
| ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- |
8787
| openid-config |Add one or more of these elements to specify a compliant OpenID configuration endpoint URL from which signing keys and issuer can be obtained.<br/><br/>Configuration including the JSON Web Key Set (JWKS) is pulled from the endpoint every 1 hour and cached. If the token being validated references a validation key (using `kid` claim) that is missing in cached configuration, or if retrieval fails, API Management pulls from the endpoint at most once per 5 min. These intervals are subject to change without notice. <br/><br/>The response should be according to specs as defined at URL: `https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata`. <br/><br/>For Microsoft Entra ID use the OpenID Connect [metadata endpoint](../active-directory/develop/v2-protocols-oidc.md#find-your-apps-openid-configuration-document-uri) configured in your app registration such as:<br/>- v2 `https://login.microsoftonline.com/{tenant-name}/v2.0/.well-known/openid-configuration`<br/>- v2 Multi-Tenant ` https://login.microsoftonline.com/organizations/v2.0/.well-known/openid-configuration`<br/>- v1 `https://login.microsoftonline.com/{tenant-name}/.well-known/openid-configuration` <br/>- Customer tenant (preview) `https://{tenant-name}.ciamlogin.com/{tenant-id}/v2.0/.well-known/openid-configuration` <br/><br/> Substituting your directory tenant name or ID, for example `contoso.onmicrosoft.com`, for `{tenant-name}`. | No |
88-
| issuer-signing-keys | A list of Base64-encoded security keys, in [`key`](#key-attributes) subelements, used to validate signed tokens. If multiple security keys are present, then each key is tried until either all are exhausted (in which case validation fails) or one succeeds (useful for token rollover). <br/><br/>Optionally specify a key by using the `id` attribute to match a `kid` claim. To validate a token signed with an asymmetric key, optionally specify the public key using a `certificate-id` attribute with value set to the identifier of a certificate uploaded to API Management, or the RSA modulus `n` and exponent `e` pair of the signing key in Base64url-encoded format. | No |
88+
| issuer-signing-keys | A list of Base64-encoded security keys, in [`key`](#key-attributes) subelements, used to validate signed tokens. If multiple security keys are present, then each key is tried until either all are exhausted (in which case validation fails) or one succeeds (useful for token rollover). <br/><br/>Optionally, specify a key by using the `id` attribute to match the token's `kid` claim. To validate a token signed with an asymmetric key, optionally specify the public key using a `certificate-id` attribute with value set to the identifier of a certificate uploaded to API Management, or the RSA modulus `n` and exponent `e` pair of the signing key in Base64url-encoded format. | No |
8989
| decryption-keys | A list of Base64-encoded keys, in [`key`](#key-attributes) subelements, used to decrypt the tokens. If multiple security keys are present, then each key is tried until either all keys are exhausted (in which case validation fails) or a key succeeds.<br/><br/> To decrypt a token encrypted with an asymmetric key, optionally specify the public key using a `certificate-id` attribute with value set to the identifier of a certificate uploaded to API Management. | No |
9090
| audiences | A list of acceptable audience claims, in `audience` subelements, that can be present on the token. If multiple audience values are present, then each value is tried until either all are exhausted (in which case validation fails) or until one succeeds. At least one audience must be specified. | No |
9191
| issuers | A list of acceptable principals, in `issuer` subelements, that issued the token. If multiple issuer values are present, then each value is tried until either all are exhausted (in which case validation fails) or until one succeeds. | No |
@@ -94,7 +94,7 @@ The `validate-jwt` policy enforces existence and validity of a supported JSON we
9494
### key attributes
9595
| Attribute | Description | Required | Default |
9696
| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
97-
| id | (Issuer signing key only) String. Identifier used to match `kid` claim presented in JWT. | No | N/A |
97+
| id | (Issuer signing key only) String. Identifier used to match `kid` claim presented in JWT. If no keys match the claim, API Management will attempt each specified key. [Learn more about the `kid` claim in the RFC](https://www.rfc-editor.org/rfc/rfc7515#section-4.1.4). | No | N/A |
9898
| certificate-id | Identifier of a certificate entity [uploaded](/rest/api/apimanagement/apimanagementrest/azure-api-management-rest-api-certificate-entity#Add) to API Management, used to specify the public key to verify a token signed with an asymmetric key. | No | N/A |
9999
| n | (Issuer signing key only) Modulus of the public key used to verify the issuer of a token signed with an asymmetric key. Must be specified with the value of the exponent `e`. Policy expressions aren't allowed. | No | N/A|
100100
| e | (Issuer signing key only) Exponent of the public key used to verify the issuer of a token signed with an asymmetric key. Must be specified with the value of the modulus `n`. Policy expressions aren't allowed. | No | N/A|

articles/application-gateway/.openpublishing.redirection.application-gateway.json

Lines changed: 42 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,6 @@
8080
"redirect_url": "/azure/application-gateway/tutorial-protect-application-gateway-ddos",
8181
"redirect_document_id": false
8282
},
83-
8483
{
8584
"source_path_from_root": "/articles/application-gateway/rewrite-http-headers.md",
8685
"redirect_url": "/azure/application-gateway/rewrite-http-headers-url",
@@ -305,6 +304,46 @@
305304
"source_path_from_root": "/articles/application-gateway/application-gateway-web-app-overview.md",
306305
"redirect_url": "/azure/application-gateway/configure-web-app",
307306
"redirect_document_id": false
308-
}
307+
},
308+
{
309+
"source_path_from_root": "/articles/application-gateway/powershell-samples.md",
310+
"redirect_url": "/previous-versions/azure/application-gateway/powershell-samples",
311+
"redirect_document_id": false
312+
},
313+
{
314+
"source_path_from_root": "/articles/application-gateway/cli-samples.md",
315+
"redirect_url": "/previous-versions/azure/application-gateway/cli-samples",
316+
"redirect_document_id": false
317+
},
318+
{
319+
"source_path_from_root": "/articles/application-gateway/resource-manager-template-samples.md",
320+
"redirect_url": "/previous-versions/azure/application-gateway/resource-manager-template-samples",
321+
"redirect_document_id": false
322+
},
323+
{
324+
"source_path_from_root": "/articles/application-gateway/scripts/create-vmss-cli.md",
325+
"redirect_url": "/previous-versions/azure/application-gateway/scripts/create-vmss-cli",
326+
"redirect_document_id": false
327+
},
328+
{
329+
"source_path_from_root": "/articles/application-gateway/scripts/create-vmss-powershell.md",
330+
"redirect_url": "/previous-versions/azure/application-gateway/scripts/create-vmss-powershell",
331+
"redirect_document_id": false
332+
},
333+
{
334+
"source_path_from_root": "/articles/application-gateway/scripts/create-vmss-waf-cli.md",
335+
"redirect_url": "/previous-versions/azure/application-gateway/scripts/create-vmss-waf-cli",
336+
"redirect_document_id": false
337+
},
338+
{
339+
"source_path_from_root": "/articles/application-gateway/scripts/create-vmss-waf-powershell.md",
340+
"redirect_url": "/previous-versions/azure/application-gateway/scripts/create-vmss-waf-powershell",
341+
"redirect_document_id": false
342+
},
343+
{
344+
"source_path_from_root": "/articles/application-gateway/scripts/waf-custom-rules-powershell.md",
345+
"redirect_url": "/previous-versions/azure/application-gateway/scripts/waf-custom-rules-powershell",
346+
"redirect_document_id": false
347+
},
309348
]
310-
}
349+
}

articles/azure-app-configuration/feature-management-python-reference.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ zone_pivot_groups: feature-management
2323

2424
:::zone target="docs" pivot="preview-version"
2525

26-
[![Feature Management](https://img.shields.io/pypi/v/FeatureManagement/2.0.0b1?color=blue)](https://pypi.org/project/FeatureManagement/2.0.0b1/)<br>
26+
[![Feature Management](https://img.shields.io/pypi/v/FeatureManagement/2.0.0b2?color=blue)](https://pypi.org/project/FeatureManagement/2.0.0b2/)<br>
2727

2828
:::zone-end
2929

@@ -54,7 +54,7 @@ As an example, a Microsoft Edge browser feature filter could be designed. This f
5454

5555
### Feature flag configuration
5656

57-
A Python dictionary is used to define feature flags. The dictionary is composed of feature names as keys and feature flag objects as values. The feature flag object is a dictionary that contains an `EnabledFor` key. The `EnabledFor` key is a list of feature filters that are used to determine if the feature should be enabled.
57+
A Python dictionary is used to define feature flags. The dictionary is composed of feature names as keys and feature flag objects as values. The feature flag object is a dictionary that contains a `conditions` key, which itself contains the `client_filters` key. The `client_filters` key is a list of feature filters that are used to determine if the feature should be enabled.
5858

5959
### Feature flag declaration
6060

0 commit comments

Comments
 (0)