Skip to content

Commit c0b0db4

Browse files
authored
Merge pull request #224555 from MicrosoftDocs/main
1/20 AM Publish
2 parents 8987b6f + 060f563 commit c0b0db4

File tree

172 files changed

+3595
-2687
lines changed

Some content is hidden

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

172 files changed

+3595
-2687
lines changed

.openpublishing.redirection.json

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -525,6 +525,36 @@
525525
"redirect_url": "/azure/aks/monitor-aks",
526526
"redirect_document_id": false
527527
},
528+
{
529+
"source_path_from_root": "/articles/aks/azure-csi-blob-storage-dynamic.md",
530+
"redirect_url": "/azure/aks/azure-csi-blob-storage-provision",
531+
"redirect_document_id": false
532+
},
533+
{
534+
"source_path_from_root": "/articles/aks/azure-csi-blob-storage-static.md",
535+
"redirect_url": "/azure/aks/azure-csi-blob-storage-provision",
536+
"redirect_document_id": false
537+
},
538+
{
539+
"source_path_from_root": "/articles/aks/azure-disks-dynamic-pv.md",
540+
"redirect_url": "/azure/aks/azure-csi-disk-storage-provision",
541+
"redirect_document_id": false
542+
},
543+
{
544+
"source_path_from_root": "/articles/aks/azure-disk-volume.md",
545+
"redirect_url": "/azure/aks/azure-csi-disk-storage-provision",
546+
"redirect_document_id": false
547+
},
548+
{
549+
"source_path_from_root": "/articles/aks/azure-files-dynamic-pv.md",
550+
"redirect_url": "/azure/aks/azure-csi-files-storage-provision",
551+
"redirect_document_id": false
552+
},
553+
{
554+
"source_path_from_root": "/articles/aks/azure-files-volume.md",
555+
"redirect_url": "/azure/aks/azure-csi-files-storage-provision",
556+
"redirect_document_id": false
557+
},
528558
{
529559
"source_path_from_root": "/articles/aks/workload-identity-migration-sidecar.md",
530560
"redirect_url": "/azure/aks/workload-identity-migrate-from-pod-identity",

articles/active-directory-b2c/tutorial-create-tenant.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ manager: CelesteDG
88
ms.service: active-directory
99
ms.workload: identity
1010
ms.topic: tutorial
11-
ms.date: 11/3/2022
11+
ms.date: 01/20/2023
1212
ms.author: kengaderdus
1313
ms.subservice: B2C
1414
ms.custom: "b2c-support"
@@ -26,7 +26,7 @@ In this article, you learn how to:
2626
> * Switch to the directory containing your Azure AD B2C tenant
2727
> * Add the Azure AD B2C resource as a **Favorite** in the Azure portal
2828
29-
Before you create you Azure AD B2C, you need to take the following considerations into account:
29+
Before you create your Azure AD B2C tenant, you need to take the following considerations into account:
3030

3131
- You can create up to **20** tenants per subscription. This limit help protect against threats to your resources, such as denial-of-service attacks, and is enforced in both the Azure portal and the underlying tenant creation API. If you want to increase this limit, please contact [Microsoft Support](find-help-open-support-ticket.md).
3232

Lines changed: 170 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,170 @@
1+
---
2+
title: Securely integrate Azure Logic Apps with on-premises APIs using Azure Active Directory Application Proxy
3+
description: Azure Active Directory's Application Proxy lets cloud-native logic apps securely access on-premises APIs to bridge your workload.
4+
services: active-directory
5+
author: kfriede
6+
manager:
7+
ms.service: active-directory
8+
ms.subservice: app-proxy
9+
ms.workload: identity
10+
ms.topic: how-to
11+
ms.date: 01/19/2023
12+
ms.author: kfriedemann
13+
ms.reviewer:
14+
ms.custom:
15+
---
16+
# Securely integrate Azure Logic Apps with on-premises APIs using Azure Active Directory Application Proxy
17+
18+
Azure Logic Apps is a service allowing easy creation of managed workflows in a no-code environment that can integrate with various external services and systems. This can help automate a wide range of business processes, such as data integration, data processing, and event-driven scenarios.
19+
While Logic Apps easily integrate with other public and cloud-based services, the need may arise to utilize Logic Apps with protected, on-premises applications and services without exposing the service to the public via port forwarding or a traditional reverse proxy.
20+
21+
This article describes the steps necessary to utilize the Azure AD Application Proxy solution to provide secure access to a Logic App, while protecting the internal application from unwanted actors. The process and end result is similar to [Access on-premises APIs with Azure Active Directory Application Proxy](./application-proxy-secure-api-access.md) with special attention paid to utilizing the API from within a Logic App.
22+
23+
## Overview
24+
25+
The following diagram shows a traditional way to publish on-premises APIs for access from Azure Logic Apps. This approach requires opening incoming TCP ports 80 and/or 443 to the API service.
26+
27+
![Diagram that shows Logic App to API direct connection.](./media/application-proxy-integrate-with-logic-apps/azure-logic-app-to-api-connection-direct.png)
28+
29+
The following diagram shows how you can use Azure AD Application Proxy to securely publish APIs for use with Logic Apps (or other Azure Cloud services) without opening any incoming ports:
30+
31+
![Diagram that shows Logic App to API connection via Azure Application Proxy.](./media/application-proxy-integrate-with-logic-apps/azure-logic-app-to-api-connection-app-proxy.png)
32+
33+
The Azure AD App Proxy and associated connector facilitate secure authorization and integration to your on-premises services without additional configuration to your network security infrastructure.
34+
35+
## Prerequisites
36+
37+
To follow this tutorial, you will need:
38+
39+
- Admin access to an Azure directory, with an account that can create and register apps
40+
- The *Logic App Contributor* role (or higher) in an active tenant
41+
- Azure Application Proxy connector deployed and an application configured as detailed in [Add an on-premises app - Application Proxy in Azure Active Directory](./application-proxy-add-on-premises-application.md)
42+
43+
> [!NOTE]
44+
> While granting a user entitlement and testing the sign on is recommended, it is not required for this guide.
45+
46+
## Configure the Application Access
47+
48+
When a new Enterprise Application is created, a matching App Registration is also created. The App Registration allows configuration of secure programmatic access using certificates, secrets, or federated credentials. For integration with a Logic App, we will need to configure a client secret key, and configure the API permissions.
49+
50+
1. From the Azure portal, open **Azure Active Directory**
51+
52+
2. Select the **App Registrations** menu item from the navigation pane
53+
54+
![Screenshot of the Azure Active Directory App Registration Menu Item.](./media/application-proxy-integrate-with-logic-apps/app-registration-menu.png)
55+
56+
3. From the *App Registrations* window, select the **All applications** tab option
57+
58+
4. Navigate to the application with a matching name to your deployed App Proxy application. For example, if you deployed *Sample App 1* as an Enterprise Application, click the **Sample App 1** registration item
59+
60+
> [!NOTE]
61+
> If an associated application cannot be found, it may have not been automatically created or may have been deleted. A registration can be created using the **New Registration** button.
62+
63+
5. From the *Sample App 1* detail page, take note of the *Application (client) ID* and *Directory (tenant) ID* fields. These will be used later.
64+
65+
![Screenshot of the Azure Active Directory App Registration Detail.](./media/application-proxy-integrate-with-logic-apps/app-registration-detail.png)
66+
67+
6. Select the **API permissions** menu item from the navigation pane
68+
69+
![Screenshot of the Azure Active Directory App Registration API Permissions Menu Item.](./media/application-proxy-integrate-with-logic-apps/api-permissions-menu.png)
70+
71+
7. From the *API permissions* page:
72+
73+
1. Click the **Add a permission** button
74+
75+
2. In the *Request API permissions* pop-up:
76+
77+
1. Select the **APIs my organization uses** tab
78+
79+
2. Search for your app by name (e.g. *Sample App 1*) and select the item
80+
81+
3. Ensure *Delegated Permissions* is **selected**, then **check** the box for *user_impersonation*
82+
83+
4. Click **Add permissions**
84+
85+
3. Verify the configured permission appears
86+
87+
![Screenshot of the Azure Active Directory App Registration API Permissions Detail.](./media/application-proxy-integrate-with-logic-apps/api-permissions-detail.png)
88+
89+
8. Select the **Certificates & secrets** menu item from the navigation pane
90+
91+
![Screenshot of the Azure Active Directory App Registration Certificates and Secrets Menu Item.](./media/application-proxy-integrate-with-logic-apps/certificates-and-secrets-menu.png)
92+
93+
9. From the *Certificates & secrets* page:
94+
95+
1. Select the **Client secrets** tab item
96+
97+
2. Click the **New client secret** button
98+
99+
3. From the *Add a client secret* pop-up:
100+
101+
1. Enter a **Description** and desired expiration
102+
103+
2. Click **Add**
104+
105+
4. Verify the new client secret appears
106+
107+
5. Click the **Copy** button for the *Value* of the newly created secret. Save this securely for use later, this value is only shown one time.
108+
109+
![Screenshot of the Azure Active Directory App Registration Client Secret Detail.](./media/application-proxy-integrate-with-logic-apps/client-secret-detail.png)
110+
111+
## Configure the Logic App
112+
113+
1. From the Logic App, open the **Designer** view
114+
115+
2. Select a desired trigger (if prompted)
116+
117+
3. Add a new step and select the **HTTP** operation
118+
119+
![Screenshot of the Azure Logic App Trigger Options Pane.](./media/application-proxy-integrate-with-logic-apps/logic-app-trigger-menu.png)
120+
121+
4. In the operation details:
122+
123+
1. *Method*: Select the desired HTTP method to be sent to the internal API
124+
125+
2. *URI*: Fill in with the *public* FQDN of your application registered in Azure AD, along with the additional URI required for API access (e.g. *sampleapp1.msappproxy.net/api/1/status*)
126+
127+
> [!NOTE]
128+
> Specific values for API will depend on your internal application. Refer to your application's documentation for more information.
129+
130+
3. *Headers*: Enter any desired headers to be sent to the internal API
131+
132+
4. *Queries*: Enter any desired queries to be sent to the internal API
133+
134+
5. *Body*: Enter any desired body contents to be sent to the internal API
135+
136+
6. *Cookie*: Enter any desired cookie(s) to be sent to the internal API
137+
138+
7. Click *Add new parameter*, then check *Authentication*
139+
140+
8. From the *Authentication type*, select *Active Directory OAuth*
141+
142+
9. For the authentication, fill the following details:
143+
144+
1. *Authority*: Enter *https://login.windows.net*
145+
146+
2. *Tenant*: Enter the **Directory (tenant) ID** noted in *Configure the Application Access*
147+
148+
3. *Audience*: Enter the *public* FQDN of your application registered in Azure AD (e.g. *sampleapp1.msappproxy.net*)
149+
150+
4. *Client ID*: Enter the **Application (client) ID** noted in *Configure the Application Access*
151+
152+
5. *Credential Type*: **Secret**
153+
154+
6. *Secret*: Enter the **secret value** noted in *Configure the Application Access*
155+
156+
![Screenshot of Azure Logic App HTTP ActionConfiguration.](./media/application-proxy-integrate-with-logic-apps/logic-app-http-configuration.png)
157+
158+
5. Save the logic app and test with your trigger
159+
160+
## Caveats
161+
162+
- APIs that require authentication/authorization require special handling when using this method. Since Azure Active Directory OAuth is being used for access, the requests sent already contain an *Authorization* field that cannot also be utilized by the internal API (unless SSO is configured). As a workaround, some applications offer authentication or authorization that uses methods other than an *Authorization* header. For example, GitLab allows for a header titled *PRIVATE-TOKEN*, and Atlassian JIRA allows for requesting a Cookie that can be used in later requests
163+
164+
- While the Logic App HTTP action shows cleartext values, it is highly recommended to store the App Registration Secret Key in Azure Key Vault for secure retrieval and use.
165+
166+
## See Also
167+
168+
- [How to configure an Application Proxy application](./application-proxy-config-how-to.md)
169+
- [Access on-premises APIs with Azure Active Directory Application Proxy](./application-proxy-secure-api-access.md)
170+
- [Common scenarios, examples, tutorials, and walkthroughs for Azure Logic Apps](../../logic-apps/logic-apps-examples-and-scenarios.md)
88.4 KB
Loading
16.7 KB
Loading
26.8 KB
Loading
8.83 KB
Loading
Loading
Loading
Loading

0 commit comments

Comments
 (0)