Skip to content

Commit 06eed23

Browse files
author
ecfan
committed
Add managed API connection authentication info
1 parent b08c65c commit 06eed23

File tree

2 files changed

+92
-20
lines changed

2 files changed

+92
-20
lines changed

articles/logic-apps/create-standard-workflows-hybrid-deployment.md

Lines changed: 73 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ This how-to guide shows how to create and deploy a Standard logic app workflow u
3737
- Managed identity authentication
3838
- File System connector
3939

40-
- Although you can create connections for managed connectors in your workflow through Azure portal and Visual Studio Code, to set up authentication for managed connectors, [follow these steps to set up authentication in Visual Studio Code](azure-arc-enabled-logic-apps-create-deploy-workflows.md#set-up-connection-authentication).
40+
- Azure Arc-enabled Kubernetes clusters currently don't support managed identity authentication for managed API connections. Instead, you must create your own app registration using Microsoft Entra ID. For more information, [follow these steps later in this guide](#authenticate-managed-api-connections).
4141

4242
- Some function-based triggers, such as Azure Blob, Cosmos DB, and Event Hubs require a connection to the Azure storage account associated with your Standard logic app. If you use any function-based triggers, in your Standard logic app's environment variables in the Azure portal or in your logic app project's **local.settings.json** file in Visual Studio Code, add the following app setting and provide your storage account connection string:
4343

@@ -161,6 +161,78 @@ After you meet the prerequisites, but before you create your Standard logic app
161161

162162
1. Build your workflow as usual by adding a trigger and actions. For more information, see [Build a workflow with a trigger and actions](create-workflow-with-trigger-or-action.md).
163163

164+
<a name="authenticate-managed-api-connections"></a>
165+
166+
## Set up managed API connections
167+
168+
To authenticate managed API connections in Standard logic app workflows hosted on Azure Arc-enabled Kubernetes clusters, you must create your own app registration using Microsoft Entra ID. You can then use this app registration's values as an identity with your Standard logic app resource to authenticate your API connections instead.
169+
170+
### Create an app registration with Microsoft Entra ID
171+
172+
#### [Portal](#tab/azure-portal)
173+
174+
1. In the [Azure portal](https://portal.azure.com), follow [Quickstart: Register an application with the Microsoft identity platform](/entra/identity-platform/quickstart-register-app) to create an app registration.
175+
176+
1. After creation completes, find your new app registration in the portal.
177+
178+
1. On the resource menu, select **Overview**, and save the following values, which you need later for connection authentication:
179+
180+
- Client ID
181+
- Object ID
182+
- Tenant ID
183+
- Client secret
184+
185+
#### [Azure CLI](#tab/azure-cli)
186+
187+
1. To create the app registration, use the [**az ad sp create** command](/cli/azure/ad/sp#az-ad-sp-create).
188+
189+
1. To review all the properties, use the [**az ad sp show** command](/cli/azure/ad/sp#az-ad-sp-show).
190+
191+
1. In the output from both commands, find and save the the following values, which you need later for connection authentication:
192+
193+
- Client ID
194+
- Object ID
195+
- Tenant ID
196+
- Client secret
197+
198+
---
199+
200+
### Add environment variable values to your Standard logic app
201+
202+
1. In the [Azure portal](https://portal.azure.com), go to your Standard logic app resource.
203+
204+
1. On the resource menu, under **Settings**, select **Containers**, and then select the **Environment variables** tab.
205+
206+
1. On the toolbar, select **Edit and deploy**.
207+
208+
1. On the **Edit a container** pane, select **Environment variables**, and then select **Add**.
209+
210+
1. From the following table, add each environment variable with the specified value:
211+
212+
| Environment variable | Value |
213+
|----------------------|-------|
214+
| **WORKFLOWAPP_AAD_CLIENTID** | <*my-client-ID*> |
215+
| **WORKFLOWAPP_AAD_OBJECTID** | <*my-object-ID*> |
216+
| **WORKFLOWAPP_AAD_TENANTID** | <*my-tenant-ID*> |
217+
| **WORKFLOWAPP_AAD_CLIENTSECRET** | <*my-client-secret*> |
218+
219+
1. When you finish, select **Save**.
220+
221+
1. To create secrets instead to store these values and reference them from the **Environment variables** tab, follow these steps:
222+
223+
1. On the resource menu, under **Settings**, select **Secrets**.
224+
225+
1. On the toolbar, select **Add**.
226+
227+
1. On the **Add secret** pane, provide the following information for each secret, and then select **Add**:
228+
229+
| Key | Value |
230+
|-----|-------|
231+
| **WORKFLOWAPP_AAD_CLIENTID** | <*my-client-ID*> |
232+
| **WORKFLOWAPP_AAD_OBJECTID** | <*my-object-ID*> |
233+
| **WORKFLOWAPP_AAD_TENANTID** | <*my-tenant-ID*> |
234+
| **WORKFLOWAPP_AAD_CLIENTSECRET** | <*my-client-secret*> |
235+
164236
## Deploy your logic app from Visual Studio Code
165237

166238
After you finish building your workflow, you can deploy your logic app to your Container Apps connected environment.

articles/logic-apps/set-up-standard-workflows-hybrid-deployment-requirements.md

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -74,10 +74,10 @@ Your Kubernetes cluster requires inbound and outbound connectivity with the [SQL
7474
1. Set the following environment variables for the Kubernetes cluster that you want to create:
7575

7676
```azurecli
77-
$SUBSCRIPTION="<Azure-subscription-ID>"
78-
$AKS_CLUSTER_GROUP_NAME="<aks-cluster-resource-group-name>"
79-
$AKS_NAME="<aks-cluster-name>"
80-
$LOCATION="eastus"
77+
SUBSCRIPTION="<Azure-subscription-ID>"
78+
AKS_CLUSTER_GROUP_NAME="<aks-cluster-resource-group-name>"
79+
AKS_NAME="<aks-cluster-name>"
80+
LOCATION="eastus"
8181
```
8282

8383
| Parameter | Required | Value | Description |
@@ -241,12 +241,12 @@ To create your Azure Arc-enabled Kubernetes cluster, connect your Kubernetes clu
241241
1. Based on your Kubernetes cluster deployment, set the following environment variable to provide a name to use for the Azure resource group that contains your Azure Arc-enabled cluster and resources:
242242

243243
```azurecli
244-
$GROUP_NAME="<Azure-Arc-cluster-resource-group-name>"
244+
GROUP_NAME="<Azure-Arc-cluster-resource-group-name>"
245245
```
246246

247247
| Parameter | Required | Value | Description |
248248
|-----------|----------|-------|-------------|
249-
| **GROUP_NAME** | Yes | <*Azure-Arc-cluster-resource-group-name*> | The name for the Azure resource group to use with your Azure Arc-enabled cluster and resources. This name must be unique across regions and can contain only letters, numbers, hyphens (**-**), underscores (**_**), parentheses (**()**), and periods (**.**). <br><br>This example uses **Hybrid-Arc-RG**. |
249+
| **GROUP_NAME** | Yes | <*Azure-Arc-cluster-resource-group-name*> | The name for the Azure resource group to use with your Azure Arc-enabled cluster and other resources, such as your Azure Container Apps extension, custom location, and Azure Container Apps connected environment. This name must be unique across regions and can contain only letters, numbers, hyphens (**-**), underscores (**_**), parentheses (**()**), and periods (**.**). <br><br>This example uses **Hybrid-Arc-RG**. |
250250

251251
1. Create the Azure resource group for your Azure Arc-enabled cluster and resources:
252252

@@ -264,7 +264,7 @@ To create your Azure Arc-enabled Kubernetes cluster, connect your Kubernetes clu
264264
1. Set the following environment variable to provide a name for your Azure Arc-enabled Kubernetes cluster:
265265

266266
```azurecli
267-
$CONNECTED_CLUSTER_NAME="$GROUP_NAME-cluster"
267+
CONNECTED_CLUSTER_NAME="$GROUP_NAME-cluster"
268268
```
269269

270270
| Parameter | Required | Value | Description |
@@ -306,7 +306,7 @@ You can create an optional, but recommended, Azure Log Analytics workspace, whic
306306
1. Set the following environment variable to provide a name your Log Analytics workspace:
307307

308308
```azurecli
309-
$WORKSPACE_NAME="$GROUP_NAME-workspace"
309+
WORKSPACE_NAME="$GROUP_NAME-workspace"
310310
```
311311

312312
| Parameter | Required | Value | Description |
@@ -329,21 +329,21 @@ You can create an optional, but recommended, Azure Log Analytics workspace, whic
329329
1. Get the base64-encoded ID and shared key for your Log Analytics workspace. You need these values for a later step.
330330

331331
```azurecli
332-
$LOG_ANALYTICS_WORKSPACE_ID=$(az monitor log-analytics workspace show \
332+
LOG_ANALYTICS_WORKSPACE_ID=$(az monitor log-analytics workspace show \
333333
--resource-group $GROUP_NAME \
334334
--workspace-name $WORKSPACE_NAME \
335335
--query customerId \
336336
--output tsv)
337337
338-
$LOG_ANALYTICS_WORKSPACE_ID_ENC=[Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes($LOG_ANALYTICS_WORKSPACE_ID))
338+
LOG_ANALYTICS_WORKSPACE_ID_ENC=[Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes($LOG_ANALYTICS_WORKSPACE_ID))
339339
340-
$LOG_ANALYTICS_KEY=$(az monitor log-analytics workspace get-shared-keys \
340+
LOG_ANALYTICS_KEY=$(az monitor log-analytics workspace get-shared-keys \
341341
--resource-group $GROUP_NAME \
342342
--workspace-name $WORKSPACE_NAME \
343343
--query primarySharedKey \
344344
--output tsv)
345345
346-
$LOG_ANALYTICS_KEY_ENC=[Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes($LOG_ANALYTICS_KEY))
346+
LOG_ANALYTICS_KEY_ENC=[Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes($LOG_ANALYTICS_KEY))
347347
```
348348

349349
| Parameter | Required | Value | Description |
@@ -370,9 +370,9 @@ Now, create and install the Azure Container Apps extension with your Azure Arc-e
370370
1. Set the following environment variables to the following values:
371371

372372
```azurecli
373-
$EXTENSION_NAME="logicapps-aca-extension"
374-
$NAMESPACE="logicapps-aca-ns"
375-
$CONNECTED_ENVIRONMENT_NAME="<connected-environment-name>"
373+
EXTENSION_NAME="logicapps-aca-extension"
374+
NAMESPACE="logicapps-aca-ns"
375+
CONNECTED_ENVIRONMENT_NAME="<connected-environment-name>"
376376
```
377377

378378
| Parameter | Required | Value | Description |
@@ -433,7 +433,7 @@ Now, create and install the Azure Container Apps extension with your Azure Arc-e
433433
1. Save the **ID** value for the Azure Container Apps extension to use later:
434434

435435
```azurecli
436-
$EXTENSION_ID=$(az k8s-extension show \
436+
EXTENSION_ID=$(az k8s-extension show \
437437
--cluster-type connectedClusters \
438438
--cluster-name $CONNECTED_CLUSTER_NAME \
439439
--resource-group $GROUP_NAME \
@@ -470,9 +470,9 @@ Now, create and install the Azure Container Apps extension with your Azure Arc-e
470470
1. Set the following environment variables to the specified values:
471471

472472
```azurecli
473-
$CUSTOM_LOCATION_NAME="my-custom-location"
473+
CUSTOM_LOCATION_NAME="my-custom-location"
474474
475-
$CONNECTED_CLUSTER_ID=$(az connectedk8s show \
475+
CONNECTED_CLUSTER_ID=$(az connectedk8s show \
476476
--resource-group $GROUP_NAME \
477477
--name $CONNECTED_CLUSTER_NAME \
478478
--query id \
@@ -526,7 +526,7 @@ Now, create and install the Azure Container Apps extension with your Azure Arc-e
526526
1. Save the custom location ID for use in a later step:
527527

528528
```azurecli
529-
$CUSTOM_LOCATION_ID=$(az customlocation show \
529+
CUSTOM_LOCATION_ID=$(az customlocation show \
530530
--resource-group $GROUP_NAME \
531531
--name $CUSTOM_LOCATION_NAME \
532532
--query id \

0 commit comments

Comments
 (0)