Azure Logic Apps에서 관리 ID를 사용하여 Azure 리소스에 대한 액세스 및 연결 인증

적용 대상: Azure Logic Apps(사용량 + 표준)

자격 증명, 비밀 또는 Microsoft Entra 토큰을 제공, 저장 및 관리하지 않으려면 관리 ID를 사용하여 논리 앱 워크플로에서 Microsoft Entra로 보호되는 리소스에 대한 액세스 또는 연결을 인증할 수 있습니다. Azure Logic Apps에서 일부 커넥터 작업은 Microsoft Entra ID로 보호되는 리소스에 대한 액세스를 인증해야 하는 경우 관리 ID 사용을 지원합니다. Azure는 이 ID를 관리하고 이 중요한 정보를 관리할 필요가 없도록 인증 정보를 안전하게 유지하는 데 도움이 됩니다. 자세한 내용은 Azure 리소스에 대한 관리 ID란?을 참조하세요.

Azure Logic Apps는 다음과 같은 관리 ID 유형을 지원합니다.

다음 목록에서는 이러한 관리 ID 유형 간의 몇 가지 차이점을 설명합니다.

  • 논리 앱 리소스는 하나의 고유한 시스템이 할당한 ID만 사용하도록 설정하고 사용할 수 있습니다.

  • 논리 앱 리소스는 다른 논리 앱 리소스의 그룹에서 동일한 사용자가 할당한 ID를 공유할 수 있습니다.

이 가이드에서는 다음 작업을 완료하는 방법을 보여줍니다.

  • 논리 앱 리소스에 대한 시스템 할당 ID를 사용하도록 설정하고 설정합니다. 이 가이드에서는 인증에 ID를 사용하는 방법을 보여 주는 예제를 제공합니다.

  • 사용자 할당 ID를 만들고 설정합니다. 이 가이드에서는 Azure Portal 또는 ARM 템플릿(Azure Resource Manager 템플릿)을 사용하여 이 ID를 만드는 방법과 인증에 ID를 사용하는 방법을 보여 줍니다. Azure PowerShell, Azure CLI 및 Azure REST API의 경우 다음 설명서를 참조하세요.

    도구 설명서
    Azure PowerShell 사용자가 할당한 ID 만들기
    Azure CLI 사용자가 할당한 ID 만들기
    Azure REST API 사용자가 할당한 ID 만들기

필수 조건

  • Azure 계정 및 구독 구독이 없는 경우 Azure 체험 계정에 등록합니다. 액세스 권한이 필요한 관리 ID 및 대상 Azure 리소스는 모두 동일한 Azure 구독을 사용해야 합니다.

  • 액세스하려는 대상 Azure 리소스. 이 리소스에서 관리 ID가 논리 앱 또는 연결을 대신하여 해당 리소스에 액세스하는 데 필요한 역할을 추가해야 합니다. 관리 ID에 역할을 추가하려면 이 역할을 해당 Microsoft Entra 테넌트의 ID에 할당할 수 있는 Microsoft Entra 관리자 권한이 필요합니다.

  • 관리 ID를 지원하는 트리거 또는 작업을 사용하려는 논리 앱 리소스 및 워크플로

소비 및 표준 논리 앱 간의 관리 ID 차이

논리 앱 리소스 종류에 따라 시스템이 할당한 ID, 사용자가 할당한 ID 또는 두 ID 모두를 동시에 사용하도록 설정할 수 있습니다.

논리 앱 환경 관리 ID 지원
소비 다중 테넌트 Azure Logic Apps - 시스템 할당 ID 또는 사용자 할당 ID 중 하나를 사용하도록 설정할 수 있지만 논리 앱에서는 둘 다 사용하도록 설정할 수 없습니다.

- 논리 앱 리소스 수준 및 연결 수준에서 관리 ID를 사용할 수 있습니다.

- 사용자 할당 ID를 만들고 사용하도록 설정하는 경우 논리 앱은 한 번에 하나의 사용자 할당 ID만 가질 수 있습니다.
Standard - 단일 테넌트 Azure Logic Apps

- ASEv3(App Service Environment v3)

- Azure Arc 지원 Logic Apps
- 기본적으로 사용하도록 설정되는 시스템이 할당한 ID 및 사용자가 할당한 ID를 모두 동시에 사용하도록 설정할 수 있습니다. 논리 앱에 여러 사용자 할당 ID를 추가할 수도 있습니다. 그러나 논리 앱은 한 번에 하나의 관리 ID만 사용할 수 있습니다.

- 논리 앱 리소스 수준 및 연결 수준에서 관리 ID를 사용할 수 있습니다.

Azure Logic Apps의 관리 ID 제한에 대한 내용은 논리 앱 관리 ID 한도를 참조하세요. 사용량 및 표준 논리 앱 리소스 종류와 환경에 관한 자세한 내용은 다음 설명서를 참조하세요.

관리 ID를 사용할 수 있는 위치

Azure Logic Apps에서는 Microsoft Entra ID로 OAuth를 지원하는 특정 기본 제공 및 관리 커넥터 작업만 인증에 관리 ID를 사용할 수 있습니다. 다음 표에서는 샘플 선택만 제공합니다. 자세한 전체 목록은 다음 설명서를 참조하세요.

소비 논리 앱 워크플로의 경우 다음 표에는 관리 ID 인증을 지원하는 커넥터 예제가 나와 있습니다.

커넥터 유형 지원되는 커넥터
기본 제공 - Azure API Management
- Azure App Services
- Azure Functions
- HTTP
- HTTP + 웹후크

참고: HTTP 작업은 시스템이 할당한 ID를 사용하여 Azure 방화벽 뒤에 있는 Azure Storage 계정에 대한 연결을 인증할 수 있습니다. 그러나 HTTP 작업은 동일한 연결을 인증하기 위한 사용자 할당 ID를 지원하지 않습니다.
관리형 - Azure App Service
- Azure Automation
- Azure Blob Storage
- Azure Container Instance
- Azure Cosmos DB
- Azure Data Explorer
- Azure Data Factory
- Azure Data Lake
- Azure Digital Twins
- Azure Event Grid
- Azure Event Hubs
- Azure IoT Central V2
- Azure Key Vault
-Azure Monitor 로그
- Azure Queues
- Azure Resource Manager
- Azure Service Bus
- Azure Sentinel
- Azure Table Storage
- Azure VM
- SQL Server

Azure Portal에서 시스템이 할당한 ID 사용

소비 논리 앱 리소스에서 시스템 할당 ID를 수동으로 사용하도록 설정해야 합니다.

  1. Azure Portal에서 소비 논리 앱 리소스를 엽니다.

  2. 논리 앱 메뉴의 설정에서 ID를 선택합니다.

  3. ID 페이지의 시스템 할당 아래에서 켜기 > 저장을 선택합니다. Azure에서 확인하라는 메시지가 표시되면 를 선택합니다.

    스크린샷은 선택한 옵션이 있는 Azure Portal, 소비 논리 앱, ID 페이지 및 시스템 할당 탭, 켜기 및 저장을 보여줍니다.

    참고 항목

    단일 관리 ID만 있을 수 있다는 오류가 표시되면 논리 앱 리소스가 이미 사용자가 할당한 ID와 연결되어 있습니다. 시스템이 할당한 ID를 추가하려면 먼저 논리 앱 리소스에서 사용자가 할당한 ID를 제거해야 합니다.

    이제 논리 앱 리소스에서 시스템이 할당한 ID를 사용할 수 있습니다. 이 ID는 Microsoft Entra ID에 등록되며 개체 ID로 표시됩니다.

    스크린샷은 시스템 할당 ID에 대한 소비 논리 앱, ID 페이지 및 개체 ID를 보여줍니다.

    속성 설명
    개체(보안 주체) ID <identity-resource-ID> Microsoft Entra 테넌트의 논리 앱에 대한 시스템이 할당한 ID를 나타내는 GUID(Globally Unique Identifier).
  4. 이제 이 가이드의 뒷부분에서 시스템 할당 ID에 리소스에 대한 액세스 권한을 부여하는 단계를 수행합니다.

ARM 템플릿에서 시스템 할당 ID 사용

논리 앱 리소스의 만들기 및 배포를 자동화하려면 ARM 템플릿을 사용할 수 있습니다. 템플릿에서 논리 앱 리소스에 대해 시스템 할당 ID를 사용하도록 설정하려면 ID 개체 및 형식 자식 속성을 템플릿의 논리 앱 리소스 정의에 추가합니다. 예를 들면 다음과 같습니다.

{
   "apiVersion": "2016-06-01",
   "type": "Microsoft.logic/workflows",
   "name": "[variables('logicappName')]",
   "location": "[resourceGroup().location]",
   "identity": {
      "type": "SystemAssigned"
   },
   "properties": {},
   <...>
}

Azure에서 논리 앱 리소스 정의를 만들 때 ID 개체는 다음과 같은 다른 속성을 가져옵니다.

"identity": {
   "type": "SystemAssigned",
   "principalId": "<principal-ID>",
   "tenantId": "<Entra-tenant-ID>"
}
Property(JSON) 설명
principalId <principal-ID> Microsoft Entra 테넌트에서 논리 앱을 나타내는 관리 ID에 대한 서비스 주체 개체의 GUID(Globally Unique Identifier)입니다. 이 GUID는 경우에 따라 "개체 ID" 또는 objectID가 나타납니다.
tenantId <Microsoft-Entra-ID-tenant-ID> 논리 앱이 현재 멤버로 속해 있는 Microsoft Entra 테넌트를 나타내는 GUID(Globally Unique Identifier). Microsoft Entra 테넌트 내부에서 서비스 주체는 논리 앱 인스턴스와 이름이 같습니다.

Azure Portal에서 사용자가 할당한 ID 만들기

소비 논리 앱 리소스 또는 표준 논리 앱 리소스에서 사용자 할당 ID를 사용하도록 설정하려면 먼저 해당 ID를 별도의 Azure 리소스로 만들어야 합니다.

  1. Azure Portal 검색 상자에 관리 ID를 입력합니다. 결과 목록에서 관리 ID를 선택합니다.

    스크린샷은 관리 ID라는 선택된 옵션이 있는 Azure Portal을 보여줍니다.

  2. 관리 ID 페이지 도구 모음에서 만들기를 선택합니다.

  3. 관리 ID에 대한 정보를 제공하고 검토 + 만들기를 선택합니다. 예를 들면 다음과 같습니다.

    스크린샷은 관리 ID 세부 정보가 포함된 사용자 할당 관리 ID 만들기 페이지를 보여줍니다.

    속성 필요함 Description
    구독 <Azure-subscription-name> Azure 구독 이름
    리소스 그룹 <Azure-resource-group-name> Azure 리소스 그룹 이름입니다. 새 그룹을 만들거나 기존 그룹을 선택합니다. 이 예에서는 fabrikam-managed-identities-RG라는 새 그룹을 만듭니다.
    지역 <Azure-region> 리소스에 대한 정보를 저장할 Azure 지역입니다. 이 예제에서는 미국 서부를 사용합니다.
    이름 <user-assigned-identity-name> 사용자가 할당한 ID를 제공하는 이름입니다. 이 예에서는 Fabrikam-user-assigned-identity를 사용합니다.

    Azure는 정보의 유효성을 검사한 후 관리 ID를 만듭니다. 이제 사용자가 할당한 ID를 논리 앱 리소스에 추가할 수 있습니다.

Azure Portal에서 논리 앱에 사용자가 할당한 ID 추가

  1. Azure Portal에서 소비 논리 앱 리소스를 엽니다.

  2. 논리 앱 메뉴의 설정에서 ID를 선택합니다.

  3. ID 페이지에서 할당된 사용자를 선택한 다음 추가를 선택합니다.

    스크린샷은 추가 옵션이 선택된 소비 논리 앱 및 ID 페이지를 보여줍니다.

  4. 사용자가 할당한 관리 ID 추가 창에서 다음 단계를 수행합니다.

    1. 구독 선택 목록에서 Azure 구독을 선택합니다.

    2. 해당 구독의 모든 관리 ID를 표시하는 목록에서 원하는 사용자 할당 ID를 선택합니다. 목록을 필터링하려면 사용자가 할당한 관리 ID 검색 상자에서 ID 또는 리소스 그룹의 이름을 입력합니다.

      스크린샷은 소비 논리 앱 및 선택한 사용자 할당 ID를 보여줍니다.

    3. 완료되면 추가를 선택합니다.

      참고 항목

      하나의 관리 ID만 있을 수 있다는 오류가 표시되면 논리 앱이 이미 시스템이 할당한 ID와 연결되어 있습니다. 사용자가 할당한 ID를 추가하려면 먼저 시스템이 할당한 ID를 사용하지 않도록 설정해야 합니다.

    이제 논리 앱이 사용자 할당 ID와 연결됩니다.

    스크린샷은 연결된 사용자 할당 ID가 있는 소비 논리 앱을 보여줍니다.

  5. 이제 이 가이드의 뒷부분에 있는 리소스에 대한 ID 액세스 권한을 부여하는 단계를 수행합니다.

ARM 템플릿에서 사용자 할당 ID 만들기

논리 앱 리소스의 만들기 및 배포를 자동화하려면 ARM 템플릿을 사용할 수 있습니다. 이러한 템플릿은 인증에 사용자 할당 ID를 지원합니다.

템플릿의 리소스 섹션에서 논리 앱의 리소스 정의에는 다음 항목이 필요합니다.

  • 형식 속성이 UserAssigned 설정된 ID개체입니다.

  • 사용자 할당 리소스 및 이름을 지정하는 자식 userAssignedIdentities 개체

이 예제에서는 매개 변수가 없는 ID 개체를 사용하여 HTTP PUT 요청에 대한 소비 논리 앱 리소스 및 워크플로 정의를 보여줍니다. PUT 요청 및 후속 GET 작업에 대한 응답에는 이 ID 개체도 포함됩니다.

{
   "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
   "contentVersion": "1.0.0.0",
   "parameters": {<template-parameters>},
   "resources": [
      {
         "apiVersion": "2016-06-01",
         "type": "Microsoft.logic/workflows",
         "name": "[variables('logicappName')]",
         "location": "[resourceGroup().location]",
         "identity": {
            "type": "UserAssigned",
            "userAssignedIdentities": {
               "/subscriptions/<Azure-subscription-ID>/resourceGroups/<Azure-resource-group-name>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<user-assigned-identity-name>": {}
            }
         },
         "properties": {
            "definition": {<logic-app-workflow-definition>}
         },
         "parameters": {},
         "dependsOn": []
      },
   ],
   "outputs": {}
}

템플릿에 관리 ID의 리소스 정의도 포함된 경우 ID 개체를 매개 변수화할 수 있습니다. 다음 예제에서는 자식 userAssignedIdentities 개체가 템플릿의 변수 섹션에서 정의한 userAssignedIdentityName 변수를 참조하는 방법을 보여 줍니다. 이 변수는 사용자가 할당한 ID에 대한 리소스 ID를 참조합니다.

{
   "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
   "contentVersion": "1.0.0.0",
   "parameters": {
      "Template_LogicAppName": {
         "type": "string"
      },
      "Template_UserAssignedIdentityName": {
         "type": "securestring"
      }
   },
   "variables": {
      "logicAppName": "[parameters(`Template_LogicAppName')]",
      "userAssignedIdentityName": "[parameters('Template_UserAssignedIdentityName')]"
   },
   "resources": [
      {
         "apiVersion": "2016-06-01",
         "type": "Microsoft.logic/workflows",
         "name": "[variables('logicAppName')]",
         "location": "[resourceGroup().location]",
         "identity": {
            "type": "UserAssigned",
            "userAssignedIdentities": {
               "[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities/', variables('userAssignedIdentityName'))]": {}
            }
         },
         "properties": {
            "definition": {<logic-app-workflow-definition>}
         },
         "parameters": {},
         "dependsOn": [
            "[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities/', variables('userAssignedIdentityName'))]"
         ]
      },
      {
         "apiVersion": "2018-11-30",
         "type": "Microsoft.ManagedIdentity/userAssignedIdentities",
         "name": "[parameters('Template_UserAssignedIdentityName')]",
         "location": "[resourceGroup().location]",
         "properties": {}
      }
  ]
}

리소스에 대한 ID 액세스 권한 부여

인증에 논리 앱의 관리 ID를 사용하려면 ID를 사용하려는 대상 Azure 리소스에서 ID에 대한 액세스를 설정해야 합니다. 액세스를 설정하는 방법은 대상 리소스에 따라 달라집니다.

참고 항목

관리 ID가 동일한 구독의 Azure 리소스에 액세스할 수 있는 경우 이 ID는 해당 리소스에만 액세스할 수 있습니다. 그러나 관리 ID를 지원하는 일부 트리거와 작업에서 먼저 대상 리소스가 포함된 Azure 리소스 그룹을 선택해야 합니다. ID가 리소스 그룹 수준에서 액세스 권한이 없는 경우에는 대상 리소스에 액세스할 수 있어도 해당 그룹의 리소스가 나열되지 않습니다.

이 동작을 처리하려면 리소스뿐만 아니라 리소스 그룹에 대한 액세스 권한도 ID에 부여해야 합니다. 마찬가지로, 대상 리소스를 선택하기 전에 구독을 선택해야 하는 경우 구독에 대한 액세스 권한을 ID에 부여해야 합니다.

경우에 따라 ID가 연결된 리소스에 액세스할 수 있어야 할 수 있습니다. 예를 들어 워크플로에서 동일한 로직 앱의 애플리케이션 설정을 업데이트하기 위한 액세스 권한이 필요한 논리 앱에 대한 관리 ID가 있다고 가정해 보겠습니다. 해당 ID에 연결된 논리 앱에 대한 액세스 권한을 부여해야 합니다.

예를 들어 관리 ID를 사용하여 Azure Blob Storage 계정 또는 Azure 키 자격 증명 모음에 액세스하려면 Azure RBAC(Azure 역할 기반 액세스 제어)를 설정하고 해당 ID에 대한 적절한 역할을 스토리지 계정 또는 키 자격 증명 모음에 각각 할당해야 합니다.

이 섹션의 단계에서는 Azure PortalARM 템플릿(Azure Resource Manager 템플릿)을 사용하여 역할 기반 액세스를 할당하는 방법을 설명합니다. Azure PowerShell, Azure CLI 및 Azure REST API의 경우 다음 설명서를 참조하세요.

도구 설명서
Azure PowerShell 역할 할당 추가
Azure CLI 역할 할당 추가
Azure REST API 역할 할당 추가

Azure 키 자격 증명 모음의 경우 키 자격 증명 모음에서 관리 ID에 대한 액세스 정책을 만들고 해당 키 자격 증명 모음에서 해당 ID에 대한 적절한 권한을 할당하는 방법도 있습니다. 이 섹션의 이후 단계에서는 Azure Portal을 사용하여 이 작업을 완료하는 방법을 설명합니다. Resource Manager 템플릿, PowerShell 및 Azure CLI의 경우 다음 설명서를 참조하세요.

도구 설명서
ARM 템플릿(Azure Resource Manager 템플릿) Key Vault 액세스 정책 리소스 정의
Azure PowerShell Key Vault 액세스 정책 할당
Azure CLI Key Vault 액세스 정책 할당

Azure Portal을 사용하여 관리 ID에 역할 기반 액세스 할당

인증에 관리 ID를 사용하려면 Azure Storage 계정과 같은 일부 Azure 리소스에서는 대상 리소스에 대한 적절한 권한이 있는 역할에 해당 ID를 할당해야 합니다. Azure 키 자격 증명 모음과 같은 다른 Azure 리소스는 여러 옵션을 지원하므로 역할 기반 액세스 또는 해당 ID의 대상 리소스에 대한 적절한 권한이 있는 액세스 정책 중에서 선택할 수 있습니다.

  1. Azure Portal에서 ID를 사용하려는 리소스를 엽니다.

  2. 리소스의 메뉴에서 액세스 제어(IAM)>추가>역할 할당 추가를 차례로 선택합니다.

    참고 항목

    역할 할당 추가 옵션이 사용되지 않도록 설정되면 역할을 할당할 수 있는 권한이 없는 것입니다. 자세한 내용은 Microsoft Entra 기본 제공 역할을 참조하세요.

  3. 관리 ID에 필요한 역할을 할당합니다. 역할 탭에서 ID에 현재 리소스에 대해 필요한 액세스 권한을 제공하는 역할을 할당합니다.

    이 예제에서는 Azure Storage 컨테이너의 Blob에 대한 쓰기 액세스 권한을 포함하는 Storage Blob 데이터 기여자라는 역할을 할당합니다. 특정 스토리지 컨테이너 역할에 대한 자세한 내용은 Azure Storage 컨테이너의 Blob에 액세스할 수 있는 역할을 참조하세요.

  4. 다음으로, 역할을 할당할 관리 ID를 선택합니다. 다음에 대한 액세스 할당에서 관리 ID>구성원 추가를 선택합니다.

  5. 관리 ID의 유형에 따라 다음 값을 선택하거나 제공합니다.

    Type Azure 서비스 인스턴스 구독 멤버
    시스템 할당 논리 앱 <Azure-subscription-name> <your-logic-app-name>
    사용자 할당 해당 없음 <Azure-subscription-name> <your-user-assigned-identity-name>

    역할 할당에 관한 자세한 내용은 Azure Portal을 사용하여 역할 할당을 참조하세요.

완료되면 ID를 사용하여 관리 ID 지원하는 트리거 및 작업에 대한 액세스를 인증할 수 있습니다.

이 작업에 대한 자세한 내용은 Azure 리소스 또는 다른 리소스에 관리 ID 액세스 할당을 참조하세요.

Azure Portal을 사용하여 액세스 정책 만들기

다른 Azure 리소스도 인증에 관리 ID를 사용하기 위해 해당 ID의 대상 리소스에 대한 적절한 권한이 있는 액세스 정책을 만드는 것을 지원하거나 요구합니다. 대신 Azure 스토리지 계정과 같은 다른 Azure 리소스의 경우 대상 리소스에 대한 적절한 권한이 있는 역할에 해당 ID를 할당해야 합니다.

  1. Azure Portal에서 ID를 사용하려는 대상 리소스를 엽니다. 이 예제에서는 Azure 키 자격 증명 모음을 대상 리소스로 사용합니다.

  2. 리소스 메뉴에서 Access 정책>만들기를 선택하면, 액세스 정책 만들기 창이 열립니다.

    참고 항목

    리소스에 액세스 정책 옵션이 없는 경우 대신 역할 할당을 할당해 보세요.

    스크린샷은 Access 정책이라는 열린 창이 있는 Azure Portal 및 키 자격 증명 모음 예제를 보여줍니다.

  3. 권한 탭에서 ID가 대상 리소스에 액세스하는 데 필요한 권한을 선택합니다.

    예를 들어 Azure Key Vault 관리 커넥터의 비밀 목록 작업에서 ID를 사용하려면 ID에 목록 권한이 필요합니다. 따라서 비밀 권한 열에서 목록을 선택합니다.

    스크린샷은 선택한 목록 권한이 있는 사용 권한 탭을 보여줍니다.

  4. 준비가 되면 다음을 선택합니다. 보안 주체 탭에서 이 예제의 사용자가 할당한 ID인 관리 ID를 찾고 선택합니다.

  5. 선택적 애플리케이션 단계를 건너뛰고, 다음을 선택하고, 액세스 정책 만들기를 완료합니다.

다음 섹션에서는 트리거 또는 작업과 함께 관리 ID를 사용하여 액세스를 인증하는 방법을 보여 줍니다. 해당 예제에서는 RBAC 및 Azure 스토리지 계정을 예로 사용하여 관리 ID에 대한 액세스를 설정하는 이전 섹션의 단계를 계속합니다. 그러나 인증에 관리 ID를 사용하는 일반적인 단계는 동일합니다.

관리 ID를 사용하여 액세스 인증

논리 앱 리소스 관리 ID를 사용하도록 설정한 후 해당 ID에 Azure 대상 리소스 또는 서비스에 대한 액세스 권한을 부여할 관리 ID를 지원하는 트리거 및 작업에서 해당 ID를 사용할 수 있습니다.

Important

시스템이 할당한 ID를 사용하려는 Azure 함수가 있는 경우 먼저 Azure Functions에 대한 인증을 사용하도록 설정합니다.

다음 단계에서는 Azure Portal을 사용하여 트리거 또는 작업과 함께 관리 ID를 사용하는 방법을 보여 줍니다. 트리거 또는 작업의 기본 JSON 정의에서 관리 ID를 지정하려면 관리 ID 인증을 참조하세요.

  1. Azure Portal에서 소비 논리 앱 리소스를 엽니다.

  2. 아직 수행하지 않은 경우 관리 ID를 지원하는 트리거 또는 작업을 추가합니다.

    참고 항목

    일부 커넥터 작업만 인증 유형을 추가할 수 있도록 지원합니다. 자세한 내용은 트리거 인증 형식과 인증 지원 동작을 참조하세요.

  3. 추가한 트리거 또는 작업에서 다음 단계를 수행합니다.

    • 관리 ID 인증을 지원하는 기본 제공 커넥터 작업

      이러한 단계는 HTTP 작업을 예로 사용하여 계속됩니다.

      1. 고급 매개 변수 목록에서 속성이 아직 표시되지 않으면 Authentication 속성을 추가합니다.

        스크린샷은 인증에 대해 선택된 옵션을 사용하여 기본 제공 작업 및 고급 매개 변수라는 열린 목록이 있는 소비 워크플로를 보여줍니다.

        이제 인증 속성과 인증 유형 목록이 모두 작업에 표시됩니다.

        스크린샷은 인증 속성 및 인증 유형 목록이 추가된 고급 매개 변수 섹션을 보여줍니다.

      2. 인증 유형 목록에서 관리 ID를 선택합니다.

        스크린샷은 기본 제공 작업, 열린 인증 유형 목록 및 관리 ID에 대해 선택된 옵션이 있는 소비 워크플로를 보여줍니다.

        이제 인증 섹션에 다음 옵션이 표시됩니다.

        • 특정 관리 ID를 선택할 수 있는 관리 ID 목록

        • 대상 그룹 속성은 Azure 대상 리소스 또는 서비스에 대한 리소스 ID를 설정할 수 있도록 특정 트리거 및 작업에 표시됩니다. 그렇지 않으면 대상 그룹 속성에서 기본적으로 Azure Resource Manager에 대한 리소스 ID인 https://management.azure.com/ 리소스 ID를 사용합니다.

      3. 관리 ID 목록에서 사용할 ID를 선택합니다. 예를 들면 다음과 같습니다.

        스크린샷은 인증 유형 목록 및 대상 그룹 속성이 있는 인증 섹션을 보여줍니다.

        참고 항목

        기본 선택 옵션은 관리 ID를 사용하도록 설정하지 않은 경우에도 시스템 할당 관리 ID입니다.

        관리 ID를 성공적으로 사용하려면 먼저 논리 앱에서 해당 ID를 사용하도록 설정해야 합니다. 소비 논리 앱에서 시스템 할당 또는 사용자 할당 관리 ID를 가질 수 있지만 둘 다 가질 수는 없습니다.

      자세한 내용은 예: 관리 ID로 기본 제공 트리거 또는 작업 인증을 참조하세요.

    • 관리 ID 인증을 지원하는 관리형 커넥터 작업

      1. 연결 만들기 창의 인증 목록에서 관리 ID를 선택합니다. 예를 들면 다음과 같습니다.

        스크린샷은 Azure Resource Manager 작업 및 관리 ID에 대해 선택된 옵션이 있는 소비 워크플로를 보여줍니다.

      2. 다음 창에서 연결 이름 연결에 사용할 이름을 제공합니다.

      3. 인증 유형의 경우 관리형 커넥터에 따라 다음 옵션 중 하나를 선택합니다.

        • 단일 인증: 이러한 커넥터는 하나의 인증 유형만 지원하며, 이 경우 관리 ID입니다.

          1. 관리 ID 목록에서 현재 사용하도록 설정된 관리 ID를 선택합니다.

          2. 준비가 되면 새로 만들기를 선택합니다.

        • 다중 인증: 이러한 커넥터는 여러 인증 유형을 지원하지만 한 번에 하나의 형식만 선택하고 사용할 수 있습니다.

          이러한 단계는 Azure Blob Storage 작업을 예로 사용하여 계속됩니다.

          1. 인증 유형 목록에서 Logic Apps 관리 ID를 선택합니다.

            스크린샷은 소비 워크플로, 연결 만들기 상자 및 Logic Apps 관리 ID에 대해 선택한 옵션을 보여줍니다.

          2. 준비가 되면 새로 만들기를 선택합니다.

        자세한 내용은 예: 관리 ID로 관리형 커넥터 트리거 또는 작업 인증을 참조하세요.

예: 관리 ID로 기본 제공 트리거 또는 작업 인증

기본 제공 HTTP 트리거 또는 작업은 논리 앱 리소스에서 사용하도록 설정하는 시스템이 할당한 ID를 사용할 수 있습니다. 일반적으로 HTTP 트리거 또는 작업에서 다음 속성을 사용하여 액세스하려는 리소스 또는 엔터티를 지정합니다.

속성 필수 설명
방법 실행하려는 작업에서 사용하는 HTTP 메서드
URI 대상 Azure 리소스 또는 엔터티에 액세스하기 위한 엔드포인트 URL. URI 구문에는 일반적으로 대상 Azure 리소스 또는 서비스에 대한 리소스 ID가 포함됩니다.
헤더 아니요 나가는 요청에 필요하거나 포함시키려는 헤더 값(예: 콘텐츠 형식)
쿼리 아니요 필요하거나 요청에 포함하려는 모든 쿼리 매개 변수. 예를 들어 특정 작업 또는 실행하려는 작업의 API 버전에 대한 쿼리 매개 변수입니다.
인증 Azure 대상 리소스 또는 서비스에 대한 액세스를 인증하는 데 사용할 인증 유형입니다.

특정한 예로, 이전에 ID에 대한 액세스를 설정한 Azure Storage 계정의 Blob에서 Blob 스냅샷 작업을 실행하려고 한다고 가정합니다. 그러나 Azure Blob Storage 커넥터는 현재 이 작업을 제공하지 않습니다. 대신 이 작업은 HTTP 작업 또는 다른 Blob Service REST API 작업을 사용하여 실행할 수 있습니다.

Important

Azure Blob Storage 커넥터 및 관리 ID를 사용하여 방화벽 뒤의 Azure Storage 계정에 액세스하려면 신뢰할 수 있는 Microsoft 서비스 액세스를 허용하는 예외를 사용하여 스토리지 계정을 설정해야 합니다.

스냅샷 Blob 작업을 실행하려면 HTTP 작업은 다음 속성을 지정합니다.

속성 Required 예제 값 설명
URI https://<storage-account-name>/<folder-name>/{name} 이 구문을 사용하는 Azure 글로벌(퍼블릭) 환경의 Azure Blob Storage 파일에 대한 리소스 ID
방법 PUT Blob 스냅샷 작업에서 사용하는 HTTP 메서드
헤더 Azure Storage용 x-ms-blob-type = BlockBlob

x-ms-version = 2024-05-05

x-ms-date = formatDateTime(utcNow(),'r')
Azure Storage 작업에 필요한 x-ms-blob-type, x-ms-versionx-ms-date 헤더 값입니다.

중요: Azure Storage에 대한 나가는 HTTP 트리거 및 작업 요청에서 헤더에는 실행하려는 작업에 대한 x-ms-version 속성 및 API 버전이 필요합니다. x-ms-date는 현재 날짜여야 합니다. 그렇지 않으면 워크플로는 403 FORBIDDEN 오류와 함께 실패합니다. 현재 날짜를 필수 형식으로 가져오려면 예제 값의 식을 사용할 수 있습니다.

자세한 내용은 다음 설명서를 참조하세요.

- 요청 헤더 - Blob 스냅샷
- Azure Storage 서비스에 대한 버전 관리
쿼리 Blob 스냅샷 작업에만 해당 comp = snapshot 작업에 대한 쿼리 매개 변수 이름 및 값입니다.
  1. 워크플로 디자이너에서 원하는 트리거를 추가한 다음 HTTP 작업을 추가합니다.

    다음 예제에서는 스냅샷 Blob 작업에 사용할 이전에 설명한 모든 속성 값이 포함된 샘플 HTTP 작업을 보여 줍니다.

    스크린샷은 리소스에 액세스하도록 설정된 Azure Portal, 소비 워크플로 및 HTTP 작업을 보여줍니다.

  2. HTTP 작업에서 인증 속성을 추가합니다. 고급 매개 변수 목록에서 인증을 선택합니다.

    스크린샷은 HTTP 작업이 있는 소비 워크플로와 인증이라는 속성이 선택된 고급 매개 변수 목록을 보여 줍니다.

    이제 인증 섹션이 HTTP 작업에 표시됩니다.

    참고 항목

    일부 트리거 및 작업만 인증 유형을 추가할 수 있도록 지원합니다. 자세한 내용은 트리거 인증 형식과 인증 지원 동작을 참조하세요.

  3. 인증 유형 목록에서 관리 ID를 선택합니다.

    스크린샷은 관리 ID에 대해 선택된 옵션이 있는 소비 워크플로, HTTP 작업 및 인증 유형 속성을 보여줍니다.

  4. 관리 ID 목록에서 시나리오에 따라 사용 가능한 옵션 중에서 선택합니다.

    • 시스템 할당 ID를 설정하는 경우 시스템 할당 관리 ID를 선택합니다.

      스크린샷은 시스템 할당 관리 ID에 대해 선택된 옵션이 있는 소비 워크플로, HTTP 작업 및 관리 ID 속성을 보여줍니다.

    • 사용자 할당 ID를 설정하는 경우 해당 ID를 선택합니다.

      스크린샷은 선택한 사용자 할당 ID가 있는 소비 워크플로, HTTP 작업 및 관리 ID 속성을 보여줍니다.

    이 예제에서는 시스템이 할당한 관리 ID를 사용하여 계속 진행합니다.

  5. 일부 트리거 및 작업에서는 대상 Azure 리소스 또는 서비스에 대한 리소스 ID를 설정할 수 있도록 대상 그룹 속성이 나타납니다.

    예를 들어 전역 Azure 클라우드 Key Vault 리소스에 대한 액세스를 인증하려면 Audience 속성을 다음 리소스 ID로 정확히 설정해야 합니다. https://vault.azure.net

    Audience 속성을 설정하지 않으면 기본적으로 Audience 속성은 Azure Resource Manager의 리소스 ID인 https://management.azure.com/ 리소스 ID를 사용합니다.

    Important

    대상 리소스 ID가 Microsoft Entra ID가 예상하는 값과 정확히 일치하는지 확인하세요. 그렇지 않으면 400 Bad Request 오류 또는 401 Unauthorized 오류가 발생할 수 있습니다. 따라서 리소스 ID에 후행 슬래시가 포함된 경우 포함해야 합니다. 그렇지 않으면 포함하지 마세요.

    예를 들어 모든 Azure Blob Storage 계정에 대한 리소스 ID에는 후행 슬래시가 필요합니다. 그러나 특정 스토리지 계정에 대한 리소스 ID에는 후행 슬래시가 필요하지 않습니다. Microsoft Entra ID를 지원하는 Azure 서비스에 대한 리소스 ID를 확인하세요.

    다음 예에서는 인증에 사용되는 액세스 토큰이 모든 스토리지 계정에 유효하도록 대상 그룹 속성을 https://storage.azure.com/으로 설정합니다. 그러나 특정 스토리지 계정에 대한 루트 서비스 URL(https://<your-storage-account>.blob.core.windows.net)도 지정할 수 있습니다.

    대상 리소스 ID로 설정된 대상 그룹 속성이 있는 소비 워크플로 및 HTTP 작업을 보여 줍니다.

    Azure Storage에 대해 Microsoft Entra ID를 사용하여 액세스 권한을 부여하는 방법에 관한 자세한 내용은 다음 설명서를 참조하세요.

  6. 워크플로를 원하는 방식으로 계속 빌드합니다.

예: 관리 ID로 관리형 커넥터 트리거 또는 작업 인증

Azure Resource Manager 관리 커넥터에는 논리 앱 리소스에서 사용하도록 설정한 관리 ID를 사용할 수 있는 리소스 읽기라는 작업이 있습니다. 이 예제에서는 관리되는 커넥터와 함께 시스템 할당 관리 ID를 사용하는 방법을 보여줍니다.

  1. 워크플로 디자이너에서 리소스 읽기라는 Azure Resource Manager 작업을 추가합니다.

  2. 연결 만들기 창의 인증 목록에서 관리 ID선택한 다음 로그인을 선택합니다.

    참고 항목

    다른 커넥터에서 인증 유형 목록에 Logic Apps 관리 ID가 대신 표시되므로 이 옵션을 선택합니다.

    스크린샷은 소비 워크플로, Azure Resource Manager 작업, 열린 인증 목록 및 관리 ID에 대해 선택한 옵션을 보여줍니다.

  3. 연결의 이름을 제공하고 사용하려는 관리 ID를 선택합니다.

    시스템 할당 ID를 사용하도록 설정한 경우 관리 ID 목록에서 자동으로 시스템 할당 관리 ID를 선택합니다. 대신 사용자 할당 ID를 사용하도록 설정한 경우 목록에서 사용자 할당 ID를 자동으로 선택합니다.

    이 예제에서는 시스템이 할당한 관리 ID만 선택할 수 있습니다.

    스크린샷은 시스템 할당 관리 ID에 대한 연결 이름을 입력하고 선택한 옵션을 사용하여 소비 워크플로 및 Azure Resource Manager 작업을 보여줍니다.

    참고 항목

    연결을 만들거나 변경하려고 할 때 관리 ID가 활성화되지 않거나 관리 ID 사용 연결이 여전히 있는 동안 관리 ID가 제거된 경우 ID를 사용하도록 설정하고 대상 리소스에 대한 액세스 권한을 부여해야 한다는 오류가 발생합니다.

  4. 준비가 되면 새로 만들기를 선택합니다.

  5. 디자이너는 성공적으로 연결한 후 관리 ID 인증을 사용하여 동적 값, 콘텐츠 또는 스키마를 가져올 수 있습니다.

  6. 워크플로를 원하는 방식으로 계속 빌드합니다.

관리 ID를 사용하는 논리 앱 리소스 정의 및 연결

관리 ID를 사용하도록 설정하고 사용하는 연결은 관리 ID에서만 작동하는 특수 연결 형식입니다. 런타임에 연결은 논리 앱 리소스에서 사용하도록 설정된 관리 ID를 사용합니다. Azure Logic Apps는 워크플로의 관리 커넥터 작업이 관리 ID를 사용하도록 설정되어 있는지 여부와 커넥터 작업에서 지정한 대상 리소스에 액세스하기 위해 관리 ID를 사용하는 데 필요한 모든 권한이 있는지 확인합니다. 이 확인에 성공하면 Azure Logic Apps는 관리 ID와 연결된 Microsoft Entra 토큰을 검색하고, 해당 ID를 사용하여 대상 Azure 리소스에 대한 액세스를 인증하고, 워크플로에서 구성된 작업을 수행합니다.

소비 논리 앱 리소스에서 연결 구성은 리소스 정의의 parameters 개체에 저장됩니다. 여기에는 사용자 할당 ID를 사용할 때 관리 ID의 리소스 ID와 함께 연결의 리소스 ID에 대한 포인터가 포함된 $connections 개체가 포함됩니다.

이 예제에서는 논리 앱에서 시스템 할당 ID를 사용하도록 설정하는 경우의 parameters 개체 구성을 보여 줍니다.

"parameters": {
   "$connections": {
      "value": {
         "<action-name>": {
            "connectionId": "/subscriptions/<Azure-subscription-ID>/resourceGroups/<resource-group-name>/providers/Microsoft.Web/connections/<connector-name>",
            "connectionName": "<connector-name>",
            "connectionProperties": {
               "authentication": {
                  "type": "ManagedServiceIdentity"
               }
            },
            "id": "/subscriptions/<Azure-subscription-ID>/providers/Microsoft.Web/locations/<Azure-region>/managedApis/<managed-connector-type>"
         }
      }
   }
}

이 예제에서는 논리 앱에서 사용자 할당 관리 ID를 사용하도록 설정하는 경우의 parameters 개체 구성을 보여 줍니다.

"parameters": {
   "$connections": {
      "value": {
         "<action-name>": {
            "connectionId": "/subscriptions/<Azure-subscription-ID>/resourceGroups/<resource-group-name>/providers/Microsoft.Web/connections/<connector-name>",
            "connectionName": "<connector-name>",
            "connectionProperties": {
               "authentication": {
                  "type": "ManagedServiceIdentity",
                  "identity": "/subscriptions/<Azure-subscription-ID>/resourceGroups/<resource-group-name>/providers/microsoft.managedidentity/userassignedidentities/<managed-identity-name>"
               }
            },
            "id": "/subscriptions/<Azure-subscription-ID>/providers/Microsoft.Web/locations/<Azure-region>/managedApis/<managed-connector-type>"
         }
      }
   }
}

API 연결 및 관리 ID에 대한 ARM 템플릿

ARM 템플릿을 사용하여 배포를 자동화하고 워크플로에 관리 ID를 사용하는 관리 커넥터에 의해 만들어진 API 연결이 포함된 경우 추가 단계를 수행해야 합니다.

ARM 템플릿에서 기본 커넥터 리소스 정의는 소비 또는 표준 논리 앱 리소스가 있는지 여부와 커넥터에 단일 인증 또는 다중 인증 옵션이 표시되는지 여부에 따라 다릅니다.

다음 예제는 소비 논리 앱 리소스에 적용되며 기본 커넥터 리소스 정의가 단일 인증 커넥터와 다중 인증 커넥터 간에 어떻게 다른지 보여 줍니다.

단일 인증

이 예제에서는 하나의 인증 유형만 지원하고 정의에 다음 특성이 포함된 Consumption 논리 앱 워크플로에서 관리 ID를 사용하는 커넥터 작업에 대한 기본 연결 리소스 정의를 보여 줍니다.

  • kind 속성은 사용량 논리 앱에서 V1로 설정됩니다.

  • parameterValueType 속성은 Alternative로 설정됩니다.

{
    "type": "Microsoft.Web/connections",
    "apiVersion": "[providers('Microsoft.Web','connections').apiVersions[0]]",
    "name": "[variables('connections_<connector-name>_name')]",
    "location": "[parameters('location')]",
    "kind": "V1",
    "properties": {
        "alternativeParameterValues": {},
        "api": {
            "id": "[subscriptionResourceId('Microsoft.Web/locations/managedApis', parameters('location'), 'azureautomation')]"
        },
        "authenticatedUser": {},
        "connectionState": "Enabled",
        "customParameterValues": {},
        "displayName": "[variables('connections_<connector-name>_name')]",
        "parameterValueSet": {},
        "parameterValueType": "Alternative"
    }
},

다중 인증

이 예제에서는 여러 인증 유형을 지원하고 정의에 다음 특성이 포함된 소비 논리 앱 워크플로에서 관리 ID를 사용하는 커넥터 작업에 대한 기본 연결 리소스 정의를 보여 줍니다.

  • kind 속성은 사용량 논리 앱에서 V1로 설정됩니다.

  • parameterValueSet 개체에는 managedIdentityAuth로 설정된 name 속성과 빈 개체로 설정된 values 속성이 포함됩니다.

{
    "type": "Microsoft.Web/connections",
    "apiVersion": "[providers('Microsoft.Web','connections').apiVersions[0]]",
    "name": "[variables('connections_<connector-name>_name')]",
    "location": "[parameters('location')]",
    "kind": "V1",
    "properties": {
        "alternativeParameterValues":{},
        "api": {
            "id": "[subscriptionResourceId('Microsoft.Web/locations/managedApis', parameters('location'), 'azureblob')]"
        },
        "authenticatedUser": {},
        "connectionState": "Enabled",
        "customParameterValues": {},
        "displayName": "[variables('connections_<connector-name>_name')]",
        "parameterValueSet":{
            "name": "managedIdentityAuth",
            "values": {}
        },
        "parameterValueType": "Alternative"
    }
}

API 연결 인증에 대한 고급 제어 설정

표준 논리 앱 워크플로에서 관리형 커넥터에 의해 만들어진 API 연결을 사용하는 경우 Azure Logic Apps는 두 개의 연결을 사용하여 이메일 계정, 키 자격 증명 모음 등과 같은 대상 리소스와 통신합니다.

개념 다이어그램은 논리 앱과 토큰 저장소 간의 인증에 대한 첫 번째 연결과 토큰 저장소와 대상 리소스 간의 두 번째 연결을 보여줍니다.

  • 연결 #1은 내부 토큰 저장소에 대한 인증을 사용하여 설정됩니다.

  • 연결 #2는 대상 리소스에 대한 인증을 사용하여 설정됩니다.

그러나 소비 논리 앱 워크플로에서 API 연결을 사용하는 경우 구성 옵션 없이 연결 #1이 추상화됩니다. 표준 논리 앱 리소스를 사용하면 논리 앱 및 워크플로를 더 많이 제어할 수 있습니다. 기본적으로 연결 #1은 자동으로 시스템이 할당한 ID를 사용하도록 설정됩니다.

시나리오에서 API 연결 인증을 더 세부적으로 제어해야 하는 경우 필요에 따라 연결 #1에 대한 인증을 기본 시스템 할당 ID에서 논리 앱에 추가한 사용자 할당 ID로 변경할 수 있습니다. 이 인증은 각 API 연결에 적용되므로 동일한 대상 리소스에 대한 여러 연결에서 시스템이 할당한 ID와 사용자가 할당한 ID를 혼합할 수 있습니다.

각 API 연결에 대한 정보를 저장하는 표준 논리 앱의 connections.json 파일에서 각 연결 정의에는 다음과 같은 두 개의 authentication 섹션이 있습니다. 예:

"keyvault": {
   "api": {
      "id": "/subscriptions/<Azure-subscription-ID>/providers/Microsoft.Web/locations/<Azure-region>/managedApis/keyvault"
   },
   "authentication": {
      "type": "ManagedServiceIdentity",
   },
   "connection": {
      "id": "/subscriptions/<Azure-subscription-ID>/resourceGroups/<resource-group-name>/providers/Microsoft.Web/connections/<connector-name>"
   },
   "connectionProperties": {
      "authentication": {
         "audience": "https://vault.azure.net",
         "type": "ManagedServiceIdentity"
      }
   },
   "connectionRuntimeUrl": "<connection-runtime-URL>"
}
  • 첫 번째 authentication 섹션은 연결 #1에 매핑됩니다.

    이 섹션에서는 내부 토큰 저장소와 통신하는 데 사용되는 인증을 설명합니다. 이전에 이 섹션은 항상 Azure에 배포되는 앱의 경우 ManagedServiceIdentity로 설정되고 구성 가능한 옵션이 없었습니다.

  • 두 번째 authentication 섹션은 연결 #2에 매핑됩니다.

    이 섹션에서는 대상 리소스와 통신하는 데 사용되는 인증이 해당 연결에 대해 선택한 인증 유형에 따라 달라질 수 있음을 설명합니다.

토큰 저장소에 대한 인증을 변경하는 이유는 무엇인가요?

일부 시나리오에서는 여러 논리 앱 리소스에서 동일한 API 연결을 공유하고 사용할 수 있지만 각 논리 앱 리소스에 대한 시스템 할당 ID를 대상 리소스의 액세스 정책에 추가하지 않을 수 있습니다.

다른 시나리오에서는 전적으로 논리 앱에서 시스템이 할당한 ID를 설정하지 않으려고 할 수 있으며, 이 경우 인증을 사용자가 할당한 ID로 변경하고 시스템이 할당한 ID를 완전히 사용하지 않도록 설정할 수 있습니다.

토큰 저장소에 대한 인증 변경

  1. Azure Portal에서 표준 논리 앱 리소스를 엽니다.

  2. 리소스 메뉴의 워크플로에서 연결을 선택합니다.

  3. 연결 창에서 JSON 보기를 선택합니다.

    Azure Portal, 표준 논리 앱 리소스, JSON 보기가 선택된 연결 창을 보여 주는 스크린샷

  4. JSON 편집기에서 논리 앱 리소스의 모든 워크플로에 걸쳐 API 연결이 포함된 managedApiConnections 섹션을 찾습니다.

  5. 사용자가 할당한 관리 ID를 추가하려는 연결을 찾습니다.

    예를 들어, 워크플로에 Azure Key Vault 연결이 있다고 가정합니다.

    "keyvault": {
       "api": {
          "id": "/subscriptions/<Azure-subscription-ID>/providers/Microsoft.Web/locations/<Azure-region>/managedApis/keyvault"
       },
       "authentication": {
          "type": "ManagedServiceIdentity"
       },
       "connection": {
          "id": "/subscriptions/<Azure-subscription-ID>/resourceGroups/<resource-group-name>/providers/Microsoft.Web/connections/<connector-name>"
       },
       "connectionProperties": {
          "authentication": {
             "audience": "https://vault.azure.net",
             "type": "ManagedServiceIdentity"
          }
       },
       "connectionRuntimeUrl": "<connection-runtime-URL>"
    }
    
  6. 연결 정의에서 다음 단계를 완료합니다.

    1. 첫 번째 authentication 섹션을 찾습니다. 이 authentication 섹션에 identity 속성이 없으면 논리 앱은 시스템 할당 ID를 암시적으로 사용합니다.

    2. 이 단계의 예제를 사용하여 identity 속성을 추가합니다.

    3. 속성 값을 사용자가 할당한 ID의 리소스 ID로 설정합니다.

    "keyvault": {
       "api": {
          "id": "/subscriptions/<Azure-subscription-ID>/providers/Microsoft.Web/locations/<Azure-region>/managedApis/keyvault"
       },
       "authentication": {
          "type": "ManagedServiceIdentity",
          // Add "identity" property here
          "identity": "/subscriptions/<Azure-subscription-ID>/resourcegroups/<resource-group-name>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<identity-resource-ID>"
       },
       "connection": {
          "id": "/subscriptions/<Azure-subscription-ID>/resourceGroups/<resource-group-name>/providers/Microsoft.Web/connections/<connector-name>"
       },
       "connectionProperties": {
          "authentication": {
             "audience": "https://vault.azure.net",
             "type": "ManagedServiceIdentity"
          }
       },
       "connectionRuntimeUrl": "<connection-runtime-URL>"
    }
    
  7. Azure Portal에서 대상 리소스로 이동하고 대상 리소스의 요구 사항에 따라 사용자가 할당한 관리 ID에 대한 액세스 권한을 부여합니다.

    예를 들어, Azure Key Vault의 경우 키 자격 증명 모음의 액세스 정책에 ID를 추가합니다. Azure Blob Storage의 경우 ID에 필요한 역할을 스토리지 계정에 할당합니다.

관리 ID 사용 안 함

인증에 관리 ID 사용을 중지하려면 먼저 ID의 대상 리소스에 대한 액세스 권한을 제거합니다. 다음으로, 논리 앱 리소스에서 시스템이 할당한 ID를 끄거나 사용자가 할당한 ID를 제거합니다.

논리 앱 리소스에서 관리 ID를 사용하지 않도록 설정하면 해당 ID가 액세스할 수 있는 Azure 리소스에 대한 액세스를 요청하는 기능을 제거합니다.

참고 항목

시스템이 할당한 ID를 사용하지 않도록 설정하면 즉시 ID를 다시 사용하도록 설정하더라도 해당 논리 앱 워크플로의 워크플로에서 사용되는 임의 및 모든 연결이 런타임에 작동하지 않습니다. 이 동작은 ID를 사용하지 않도록 설정하면 해당 개체 ID가 삭제되므로 발생합니다. ID를 사용하도록 설정할 때마다 Azure는 다른 고유한 개체 ID를 사용하여 ID를 생성합니다. 이 문제를 해결하려면 현재 시스템이 할당한 ID에 현재 개체 ID를 사용하도록 연결을 다시 만들어야 합니다.

시스템이 할당한 ID를 사용하지 않도록 설정하는 작업은 최대한 피하는 것이 좋습니다. ID의 Azure 리소스에 대한 액세스를 제거하려면 대상 리소스에서 ID의 역할 할당을 제거합니다. 논리 앱 리소스를 삭제하면 Azure에서는 Microsoft Entra ID의 관리 ID를 자동으로 제거합니다.

이 섹션의 단계에서는 Azure PortalARM 템플릿(Azure Resource Manager 템플릿)을 사용하는 방법을 설명합니다. Azure PowerShell, Azure CLI 및 Azure REST API의 경우 다음 설명서를 참조하세요.

도구 설명서
Azure PowerShell 1. 역할 할당 제거
2. 사용자가 할당한 ID 삭제
Azure CLI 1. 역할 할당 제거
2. 사용자가 할당한 ID 삭제
Azure REST API 1. 역할 할당 제거
2. 사용자가 할당한 ID 삭제

자세한 내용은 Azure 역할 할당 제거를 참조하세요.

Azure Portal에서 관리 ID 사용 안 함

관리 ID에 대한 액세스를 제거하려면 대상 리소스에서 ID의 역할 할당을 제거한 다음, 관리 ID를 사용하지 않도록 설정합니다.

역할 할당 제거

다음 단계에서는 관리 ID에서 대상 리소스에 대한 액세스 권한을 제거합니다.

  1. Azure Portal에서 관리 ID에 대한 액세스를 제거하려는 대상 Azure 리소스로 이동합니다.

  2. 대상 리소스의 메뉴에서 액세스 제어(IAM)를 선택합니다. 도구 모음 아래에서 역할 할당을 선택합니다.

  3. 역할 목록에서 제거하려는 관리 ID를 선택합니다. 도구 모음에서 제거를 선택합니다.

    제거 옵션을 사용하지 않도록 설정되면 대부분 권한이 없을 가능성이 높습니다. 리소스에 대한 역할을 관리할 수 있는 권한에 대한 자세한 내용은 Microsoft Entra ID의 관리자 역할 권한을 참조하세요.

논리 앱 리소스에서 관리 ID 사용 안 함

  1. Azure Portal에서 논리 앱 리소스를 엽니다.

  2. 논리 앱 리소스 메뉴의 설정 아래에서 ID를 선택한 다음, ID에 대한 다음의 단계를 따릅니다.

    • 시스템 할당 항목>켜기>저장을 차례로 선택합니다. Azure에서 확인하라는 메시지가 표시되면 를 선택합니다.

    • 사용자 할당 항목 및 관리 ID를 선택한 다음, 제거를 선택합니다. Azure에서 확인하라는 메시지가 표시되면 를 선택합니다.

ARM 템플릿에서 관리 ID 사용 안 함

ARM 템플릿을 사용하여 논리 앱의 관리 ID를 만든 경우 identity 개체의 type 자식 속성을 None으로 설정합니다.

"identity": {
   "type": "None"
}