Skip to content

Commit e3aefe8

Browse files
committed
Merge branch 'main' of https://github.com/MicrosoftDocs/azure-docs-pr into yelevin/analytics-tutorial
2 parents b1d702a + a32e90e commit e3aefe8

File tree

564 files changed

+11458
-7580
lines changed

Some content is hidden

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

564 files changed

+11458
-7580
lines changed

.openpublishing.publish.config.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -926,6 +926,7 @@
926926
".openpublishing.redirection.json",
927927
".openpublishing.redirection.azure-arc-data.json",
928928
".openpublishing.redirection.active-directory.json",
929+
".openpublishing.redirection.api-management.json",
929930
".openpublishing.redirection.azure-attestation.json",
930931
".openpublishing.redirection.azure-blob.json",
931932
"articles/data-factory/.openpublishing.redirection.data-factory.json",
Lines changed: 154 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,154 @@
1+
{
2+
"redirections": [
3+
{
4+
"source_path_from_root": "/articles/api-management/api-management-access-restriction-policies.md",
5+
"redirect_url": "/azure/api-management/api-management-policies#access-restriction-policies",
6+
"redirect_document_id": false
7+
},
8+
{
9+
"source_path_from_root": "/articles/api-management/api-management-advanced-policies.md",
10+
"redirect_url": "/azure/api-management/api-management-policies#advanced-policies",
11+
"redirect_document_id": false
12+
},
13+
{
14+
"source_path_from_root": "/articles/api-management/api-management-authentication-policies.md",
15+
"redirect_url": "/azure/api-management/api-management-policies#authentication-policies",
16+
"redirect_document_id": false
17+
},
18+
{
19+
"source_path_from_root": "/articles/api-management/api-management-caching-policies.md",
20+
"redirect_url": "/azure/api-management/api-management-policies#caching-policies",
21+
"redirect_document_id": false
22+
},
23+
{
24+
"source_path_from_root": "/articles/api-management/api-management-cross-domain-policies.md",
25+
"redirect_url": "/azure/api-management/api-management-policies#cross-domain-policies",
26+
"redirect_document_id": false
27+
},
28+
{
29+
"source_path_from_root": "/articles/api-management/api-management-dapr-policies.md",
30+
"redirect_url": "/azure/api-management/api-management-policies#dapr-integration-policies",
31+
"redirect_document_id": false
32+
},
33+
{
34+
"source_path_from_root": "/articles/api-management/graphql-policies.md",
35+
"redirect_url": "/azure/api-management/api-management-policies#graphql-api-policies",
36+
"redirect_document_id": false
37+
},
38+
{
39+
"source_path_from_root": "/articles/api-management/api-management-transformation-policies.md",
40+
"redirect_url": "/azure/api-management/api-management-policies#transformation-policies",
41+
"redirect_document_id": false
42+
},
43+
{
44+
"source_path_from_root": "/articles/api-management/developer-portal-widget-contribution-guidelines.md",
45+
"redirect_url": "/azure/api-management/developer-portal-extend-custom-functionality",
46+
"redirect_document_id": false
47+
},
48+
{
49+
"source_path_from_root": "/articles/api-management/developer-portal-use-community-widgets.md",
50+
"redirect_url": "/azure/api-management/developer-portal-extend-custom-functionality",
51+
"redirect_document_id": false
52+
},
53+
{
54+
"source_path_from_root": "/articles/api-management/zone-redundancy.md",
55+
"redirect_url": "/azure/availability-zones/migrate-api-mgt",
56+
"redirect_document_id": false
57+
},
58+
{
59+
"source_path_from_root": "/articles/api-management/developer-portal-implement-widgets.md",
60+
"redirect_url": "/azure/api-management/developer-portal-extend-custom-functionality",
61+
"redirect_document_id": false
62+
},
63+
{
64+
"source_path_from_root": "/articles/api-management/import-api-app-as-api.md",
65+
"redirect_url": "/azure/api-management/import-app-service-as-api",
66+
"redirect_document_id": false
67+
},
68+
{
69+
"source_path_from_root": "/articles/api-management/api-management-product.md",
70+
"redirect_url": "/azure/api-management/api-management-howto-add-products",
71+
"redirect_document_id": false
72+
},
73+
{
74+
"source_path_from_root": "/articles/api-management/graphql-validation-policies.md",
75+
"redirect_url": "/azure/api-management/api-management-policies#graphql-policies",
76+
"redirect_document_id": false
77+
},
78+
{
79+
"source_path_from_root": "/articles/api-management/api-management-policy-reference.md",
80+
"redirect_url": "/azure/api-management/api-management-policies",
81+
"redirect_document_id": false
82+
},
83+
{
84+
"source_path_from_root": "/articles/api-management/api-management-howto-deploy-self-hosted-gateway-to-docker.md",
85+
"redirect_url": "/azure/api-management/how-to-deploy-self-hosted-gateway-docker",
86+
"redirect_document_id": false
87+
},
88+
{
89+
"source_path_from_root": "/articles/api-management/api-management-howto-deploy-self-hosted-gateway-to-k8s.md",
90+
"redirect_url": "/azure/api-management/how-to-deploy-self-hosted-gateway-kubernetes",
91+
"redirect_document_id": false
92+
},
93+
{
94+
"source_path_from_root": "/articles/api-management/api-management-get-started.md",
95+
"redirect_url": "/azure/api-management/import-and-publish",
96+
"redirect_document_id": false
97+
},
98+
{
99+
"source_path_from_root": "/articles/api-management/api-management-howto-create-apis.md",
100+
"redirect_url": "/azure/api-management/import-and-publish",
101+
"redirect_document_id": false
102+
},
103+
{
104+
"source_path_from_root": "/articles/api-management/api-management-howto-import-api.md",
105+
"redirect_url": "/azure/api-management/import-and-publish",
106+
"redirect_document_id": false
107+
},
108+
{
109+
"source_path_from_root": "/articles/api-management/api-management-howto-add-operations.md",
110+
"redirect_url": "/azure/api-management/mock-api-responses",
111+
"redirect_document_id": false
112+
},
113+
{
114+
"source_path_from_root": "/articles/api-management/policy-samples.md",
115+
"redirect_url": "/azure/api-management/policy-reference",
116+
"redirect_document_id": false
117+
},
118+
{
119+
"source_path_from_root": "/articles/api-management/api-management-security-attributes.md",
120+
"redirect_url": "/azure/api-management/security-baseline",
121+
"redirect_document_id": false
122+
},
123+
{
124+
"source_path_from_root": "/articles/api-management/api-management-security-controls.md",
125+
"redirect_url": "/azure/api-management/security-baseline",
126+
"redirect_document_id": false
127+
},
128+
{
129+
"source_path_from_root": "/articles/api-management/api-management-howto-product-with-rules.md",
130+
"redirect_url": "/azure/api-management/transform-api",
131+
"redirect_document_id": false
132+
},
133+
{
134+
"source_path_from_root": "/articles/azure-functions/app-service-export-api-to-powerapps-and-flow.md",
135+
"redirect_url": "/azure/api-management/export-api-power-platform",
136+
"redirect_document_id": false
137+
},
138+
{
139+
"source_path_from_root": "/articles/service-fabric/service-fabric-api-management-quick-start.md",
140+
"redirect_url": "/azure/service-fabric/service-fabric-tutorial-deploy-api-management",
141+
"redirect_document_id": false
142+
},
143+
{
144+
"source_path_from_root": "/articles/azure-api-management-certs.md",
145+
"redirect_url": "/previous-versions/azure/azure-api-management-certs",
146+
"redirect_document_id": false
147+
},
148+
{
149+
"source_path_from_root": "/articles/api-management/validation-policies.md",
150+
"redirect_url": "/azure/api-management/api-management-policies#validation-policies",
151+
"redirect_document_id": false
152+
}
153+
]
154+
}

.openpublishing.redirection.json

Lines changed: 0 additions & 105 deletions
Original file line numberDiff line numberDiff line change
@@ -30,16 +30,6 @@
3030
"redirect_url": "/azure/backup/backup-center-overview",
3131
"redirect_document_id": false
3232
},
33-
{
34-
"source_path_from_root": "/articles/api-management/developer-portal-widget-contribution-guidelines.md",
35-
"redirect_url": "/azure/api-management/developer-portal-extend-custom-functionality",
36-
"redirect_document_id": false
37-
},
38-
{
39-
"source_path_from_root": "/articles/api-management/developer-portal-use-community-widgets.md",
40-
"redirect_url": "/azure/api-management/developer-portal-extend-custom-functionality",
41-
"redirect_document_id": false
42-
},
4333
{
4434
"source_path": "articles/sentinel/whats-new-archive.md",
4535
"redirect_url": "/azure/sentinel/whats-new",
@@ -165,16 +155,6 @@
165155
"redirect_url": "/azure/aks/workload-identity-migrate-from-pod-identity",
166156
"redirect_document_id": false
167157
},
168-
{
169-
"source_path": "articles/api-management/zone-redundancy.md",
170-
"redirect_url": "/azure/availability-zones/migrate-api-mgt",
171-
"redirect_document_id": false
172-
},
173-
{
174-
"source_path": "articles/api-management/developer-portal-implement-widgets.md",
175-
"redirect_url": "/azure/api-management/developer-portal-extend-custom-functionality",
176-
"redirect_document_id": false
177-
},
178158
{
179159
"source_path": "articles/germany/germany-developer-guide.md",
180160
"redirect_url": "/previous-versions/azure/germany/germany-developer-guide",
@@ -555,11 +535,6 @@
555535
"redirect_url": "/previous-versions/azure/service-fabric-mesh/service-fabric-mesh-tutorial-upgrade",
556536
"redirect_document_id": false
557537
},
558-
{
559-
"source_path": "articles/api-management/import-api-app-as-api.md",
560-
"redirect_url": "/azure/api-management/import-app-service-as-api",
561-
"redirect_document_id": false
562-
},
563538
{
564539
"source_path": "articles/container-registry/container-registry-diagnostics-audit-logs.md",
565540
"redirect_url": "/azure/container-registry/monitor-service"
@@ -2723,71 +2698,6 @@
27232698
"redirect_url": "/azure/analysis-services/analysis-services-overview",
27242699
"redirect_document_id": false
27252700
},
2726-
{
2727-
"source_path_from_root": "/articles/api-management/api-management-product.md",
2728-
"redirect_url": "/azure/api-management/api-management-howto-add-products",
2729-
"redirect_document_id": false
2730-
},
2731-
{
2732-
"source_path_from_root": "/articles/api-management/graphql-validation-policies.md",
2733-
"redirect_url": "/azure/api-management/graphql-policies",
2734-
"redirect_document_id": false
2735-
},
2736-
{
2737-
"source_path_from_root": "/articles/api-management/api-management-policy-reference.md",
2738-
"redirect_url": "/azure/api-management/api-management-policies",
2739-
"redirect_document_id": false
2740-
},
2741-
{
2742-
"source_path_from_root": "/articles/api-management/api-management-howto-deploy-self-hosted-gateway-to-docker.md",
2743-
"redirect_url": "/azure/api-management/how-to-deploy-self-hosted-gateway-docker",
2744-
"redirect_document_id": false
2745-
},
2746-
{
2747-
"source_path_from_root": "/articles/api-management/api-management-howto-deploy-self-hosted-gateway-to-k8s.md",
2748-
"redirect_url": "/azure/api-management/how-to-deploy-self-hosted-gateway-kubernetes",
2749-
"redirect_document_id": false
2750-
},
2751-
{
2752-
"source_path_from_root": "/articles/api-management/api-management-get-started.md",
2753-
"redirect_url": "/azure/api-management/import-and-publish",
2754-
"redirect_document_id": false
2755-
},
2756-
{
2757-
"source_path_from_root": "/articles/api-management/api-management-howto-create-apis.md",
2758-
"redirect_url": "/azure/api-management/import-and-publish",
2759-
"redirect_document_id": false
2760-
},
2761-
{
2762-
"source_path_from_root": "/articles/api-management/api-management-howto-import-api.md",
2763-
"redirect_url": "/azure/api-management/import-and-publish",
2764-
"redirect_document_id": false
2765-
},
2766-
{
2767-
"source_path_from_root": "/articles/api-management/api-management-howto-add-operations.md",
2768-
"redirect_url": "/azure/api-management/mock-api-responses",
2769-
"redirect_document_id": false
2770-
},
2771-
{
2772-
"source_path_from_root": "/articles/api-management/policy-samples.md",
2773-
"redirect_url": "/azure/api-management/policy-reference",
2774-
"redirect_document_id": false
2775-
},
2776-
{
2777-
"source_path_from_root": "/articles/api-management/api-management-security-attributes.md",
2778-
"redirect_url": "/azure/api-management/security-baseline",
2779-
"redirect_document_id": false
2780-
},
2781-
{
2782-
"source_path_from_root": "/articles/api-management/api-management-security-controls.md",
2783-
"redirect_url": "/azure/api-management/security-baseline",
2784-
"redirect_document_id": false
2785-
},
2786-
{
2787-
"source_path_from_root": "/articles/api-management/api-management-howto-product-with-rules.md",
2788-
"redirect_url": "/azure/api-management/transform-api",
2789-
"redirect_document_id": false
2790-
},
27912701
{
27922702
"source_path_from_root": "/articles/application-gateway/rewrite-http-headers.md",
27932703
"redirect_url": "/azure/application-gateway/rewrite-http-headers-url",
@@ -6983,11 +6893,6 @@
69836893
"redirect_url": "/azure/azure-functions/functions-scale",
69846894
"redirect_document_id": false
69856895
},
6986-
{
6987-
"source_path_from_root": "/articles/azure-functions/app-service-export-api-to-powerapps-and-flow.md",
6988-
"redirect_url": "/azure/api-management/export-api-power-platform",
6989-
"redirect_document_id": false
6990-
},
69916896
{
69926897
"source_path_from_root": "/articles/functions/functions-scenario-database-table-cleanup.md",
69936898
"redirect_url": "/azure/azure-functions/functions-scenario-database-table-cleanup",
@@ -18559,11 +18464,6 @@
1855918464
"redirect_url": "/azure/service-fabric/service-fabric-tutorial-delete-cluster",
1856018465
"redirect_document_id": false
1856118466
},
18562-
{
18563-
"source_path_from_root": "/articles/service-fabric/service-fabric-api-management-quick-start.md",
18564-
"redirect_url": "/azure/service-fabric/service-fabric-tutorial-deploy-api-management",
18565-
"redirect_document_id": false
18566-
},
1856718467
{
1856818468
"source_path_from_root": "/articles/service-fabric/service-fabric-publish-app-remote-cluster.md",
1856918469
"redirect_url": "/azure/service-fabric/service-fabric-tutorial-deploy-app-to-party-cluster",
@@ -24549,11 +24449,6 @@
2454924449
"redirect_url": "/azure/developer/mobile-apps/azure-mobile-apps/quickstarts/xamarin-ios",
2455024450
"redirect_document_id": false
2455124451
},
24552-
{
24553-
"source_path_from_root": "/articles/azure-api-management-certs.md",
24554-
"redirect_url": "/previous-versions/azure/azure-api-management-certs",
24555-
"redirect_document_id": false
24556-
},
2455724452
{
2455824453
"source_path_from_root": "/articles/batch-ai/cli-samples.md",
2455924454
"redirect_url": "/previous-versions/azure/batch-ai/cli-samples",

articles/active-directory-b2c/best-practices.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@ title: Best practices for Azure AD B2C
33
titleSuffix: Azure AD B2C
44
description: Recommendations and best practices to consider when working with Azure Active Directory B2C (Azure AD B2C).
55
services: active-directory-b2c
6-
author: vigunase
7-
ms.author: vigunase
6+
author: kengaderdus
7+
ms.author: kengaderdus
88
manager: CelesteDG
99
ms.service: active-directory
1010
ms.workload: identity
1111
ms.topic: conceptual
12-
ms.date: 12/01/2022
12+
ms.date: 12/29/2022
1313
ms.subservice: B2C
1414
---
1515

@@ -75,6 +75,7 @@ Manage your Azure AD B2C environment.
7575
| Use version control for your custom policies | Consider using GitHub, Azure Repos, or another cloud-based version control system for your Azure AD B2C custom policies. |
7676
| Use the Microsoft Graph API to automate the management of your B2C tenants | Microsoft Graph APIs:<br/>Manage [Identity Experience Framework](/graph/api/resources/trustframeworkpolicy?preserve-view=true&view=graph-rest-beta) (custom policies)<br/>[Keys](/graph/api/resources/trustframeworkkeyset?preserve-view=true&view=graph-rest-beta)<br/>[User Flows](/graph/api/resources/identityuserflow?preserve-view=true&view=graph-rest-beta) |
7777
| Integrate with Azure DevOps | A [CI/CD pipeline](deploy-custom-policies-devops.md) makes moving code between different environments easy and ensures production readiness always. |
78+
| Custom policy deployment | Azure AD B2C relies on caching to deliver performance to your end users. When you deploy a custom policy using whatever method, expect a delay of up to **30 minutes** for your users to see the changes. As a result of this behavior, consider the following practices when you deploy your custom policies: <br> - If you're deploying to a development environment, set the `DeploymentMode` attribute to `Development` in your custom policy file's `<TrustFrameworkPolicy>` element. <br> - Deploy your updated policy files to a production environment when traffic in your app is low. <br> - When you deploy to a production environment to update existing policy files, upload the updated files with new name(s), and then update your app reference to the new name(s). You can then remove the old policy files afterwards.<br> - You can set the `DeploymentMode` to `Development` in a production environment to bypass the caching behavior. However, we don't recommend this practice. If you [Collect Azure AD B2C logs with Application Insights](troubleshoot-with-application-insights.md), all claims sent to and from identity providers are collected, which is a security and performance risk. |
7879
| Integrate with Azure Monitor | [Audit log events](view-audit-logs.md) are only retained for seven days. [Integrate with Azure Monitor](azure-monitor.md) to retain the logs for long-term use, or integrate with third-party security information and event management (SIEM) tools to gain insights into your environment. |
7980
| Setup active alerting and monitoring | [Track user behavior](./analytics-with-application-insights.md) in Azure AD B2C using Application Insights. |
8081

0 commit comments

Comments
 (0)