다음을 통해 공유


커넥터 엔드포인트 필터링(프리뷰)

[이 문서는 시험판 설명서이므로 변경될 수 있습니다.]

커넥터 엔드포인트 필터링을 통해 관리자는 앱, 흐름 또는 챗봇을 빌드할 때 제조업체가 연결할 수 있는 특정 엔드포인트를 제어할 수 있습니다. 데이터 정책 내에서 구성되며 다음 커넥터에만 사용할 수 있습니다.

  • HTTP
  • Microsoft Entra ID(AD)를 사용하는 HTTP
  • HTTP 웹후크
  • SQL Server(Azure Synapse 데이터 웨어하우스에 액세스하기 위한 SQL Server 커넥터 사용 포함)
  • Azure Blob Storage
  • SMTP
  • 브라우저 자동화
  • UI 자동화

제조업체가 앱, 흐름 또는 챗봇을 차단된 엔드포인트에 연결하면 데이터 정책 오류 메시지가 표시됩니다.

경고

엔드포인트 필터링 규칙은 환경 변수, 사용자 지정 입력 또는 런타임에 동적으로 생성된 엔드포인트에는 적용되지 않습니다. 정적 엔드포인트만 앱, 흐름 또는 챗봇 디자이너에서 평가됩니다. 자세한 내용은 알려진 제한 사항을 참조하십시오.

중요

  • 미리 보기 기능입니다.
  • 미리 보기 기능은 프로덕션용이 아니며 기능이 제한될 수 있습니다. 이러한 기능은 추가 사용 약관의 적용을 받으며, 고객이 조기에 액세스하고 피드백을 제공할 수 있도록 공식 릴리스 전에 사용할 수 있습니다.

데이터 정책에 엔드포인트 필터링 규칙 추가

데이터 정책미리 빌드된 커넥터 페이지에 있는 엔드포인트 구성 가능한 열은 커넥터에 대해 엔드포인트 필터링 기능이 지원되는지 여부를 나타냅니다.

사전 빌드된 커넥터 페이지에서 끝점 구성 가능.

끝점 구성 가능 열의 값이 인 경우 마우스 오른쪽 버튼을 클릭한 다음 커넥터 구성>커넥터 끝점를 선택하여 이 기능을 사용할 수 있습니다.

커넥터 > 커넥터 끝점 구성.

그러면 URL 허용 또는 거부 패턴의 순서가 지정된 목록을 지정하는 측면 패널이 열립니다. 목록의 마지막 행은 해당 커넥터의 모든 엔드포인트에 적용되는 와일드카드 문자(*)에 대한 규칙입니다. 기본적으로 패턴 * 은 새 데이터 정책에 대해 허용으로 설정되지만 허용 또는 거부로 태그를 지정할 수 있습니다.

사용자 지정 커넥터에 대한 허용 및 거부 URL 패턴의 정렬된 목록을 지정합니다.

새 규칙 추가

끝점 추가를 선택하여 새 규칙을 추가할 수 있습니다. 패턴 목록의 끝에 두 번째에서 마지막 규칙으로 새 규칙이 추가됩니다. * 이는 목록의 마지막 항목이기 때문입니다. 그러나 순서 드롭다운 목록을 사용하거나 위로 이동 또는 아래로 이동을 선택하여 패턴의 순서를 업데이트할 수 있습니다.

끝점 추가를 선택하여 새 규칙을 추가합니다.

패턴을 추가한 후 특정 행을 선택한 다음 삭제를 선택하여 편집하거나 삭제할 수 있습니다.

패턴을 삭제합니다.

커넥터 엔드포인트 필터링 규칙과 정의된 데이터 정책을 저장하면 대상 환경에 즉시 적용됩니다. 다음 이미지는 제조업체가 허용되지 않는 HTTP 엔드포인트에 클라우드 흐름을 연결하려고 하는 예제를 보여줍니다.

엔드포인트 필터링 규칙으로 인한 데이터 정책 오류입니다.

알려진 제한 사항

  • 엔드포인트 필터링 규칙은 런타임 중에 환경 변수, 사용자 정의 입력 및 동적으로 바인딩된 엔드포인트에 적용되지 않습니다. 디자인 타임에 앱, 흐름 또는 챗봇을 빌드할 때 알고 선택한 정적 엔드포인트만 적용됩니다. 즉, 연결이 Microsoft Entra ID로 인증된 경우 SQL Server 및 Azure Blob Storage에 대한 커넥터 엔드포인트 필터링 규칙이 적용되지 않습니다. 다음 두 스크린샷에서 작성자는 변수 내에서 SQL Server 및 데이터베이스를 정의하는 클라우드 흐름을 빌드한 다음 해당 변수를 연결 정의에 대한 입력으로 사용합니다. 따라서 엔드포인트 필터링 규칙이 평가되지 않고 클라우드 흐름이 성공적으로 실행됩니다.

    변수를 사용하여 SQL에 연결하는 클라우드 흐름의 스크린샷

    성공적으로 실행되는 클라우드 흐름의 스크린샷.

  • 2020년 10월 1일 이전에 게시된 Power Apps는 데이터 정책 커넥터 작업 규칙 및 엔드포인트 규칙을 적용하려면 다시 게시해야 합니다. 다음 스크립트를 사용하면 관리자와 제작자가 이러한 새 데이터 정책 세부 제어 규칙을 준수하기 위해 다시 게시해야 하는 앱을 식별할 수 있습니다.

    Add-PowerAppsAccount
    
    $GranularDLPDate = Get-Date -Date "2020-10-01 00:00:00Z"
    
    ForEach ($app in Get-AdminPowerApp){
    
        $versionAsDate = [datetime]::Parse($app.LastModifiedTime)
    
        $olderApp = $versionAsDate -lt $GranularDLPDate
    
        $wasBackfilled = $app.Internal.properties.executionRestrictions -ne $null -and $app.Internal.properties.executionRestrictions.dataLossPreventionEvaluationResult -ne $null -and ![string]::IsNullOrEmpty($app.Internal.properties.executionRestrictions.dataLossPreventionEvaluationResult.lastAdvancedBackfillDate) 
    
        If($($olderApp -and !$wasBackfilled)){
            Write-Host "App must be republished to comply with granular data policy: " $app.AppName " "  $app.Internal.properties.displayName " " $app.Internal.properties.owner.email
        } 
        Else{ 
            Write-Host "App is already Granular data policy compliant: " $app.AppName 
        }
    }
    

끝점 입력 형식 및 예

각 커넥터는 엔드포인트를 다르게 정의하며 일부 엔드포인트는 여러 형식일 수 있습니다. 따라서 앱 및 흐름을 만들 때 제조업체가 엔드포인트를 사용하지 못하도록 차단하려면 가능한 모든 형식으로 엔드포인트를 입력해야 합니다. 관리자는 전체 엔드포인트 이름을 입력하거나 와일드카드 문자(*)와 패턴 일치를 사용하여 엔드포인트 필터링 규칙을 만들 수 있습니다. 이러한 규칙은 엔드포인트 패턴의 순서가 지정된 목록에 입력되고 표시됩니다. 즉, 숫자별로 오름차순으로 평가됩니다. 모든 커넥터에 대한 마지막 규칙은 항상 * 허용 또는 * 거부입니다. 허용은 기본값이며 거부로 변경할 수 있습니다.

다음 지침에서는 커넥터 끝점을 허용하거나 거부하는 규칙을 만드는 동안 커넥터 끝점을 입력하는 방법을 설명합니다.

SQL Server

SQL Server 연결 엔드포인트를 형식으로 <Server_name, database_name> 나열합니다. 염두할 점:

  • 제작자는 다양한 형식으로 서버 이름을 입력할 수 있습니다. 엔드포인트의 주소를 지정하려면 가능한 모든 형식으로 입력합니다. 예를 들어 온-프레미스 인스턴스는 <machine_name\named_instance, database_name> 또는 <IP address, custom port, database_name> 형식일 수 있습니다. 이 경우에는 엔드포인트에 대해 두 가지 형식 모두에 허용 또는 차단 규칙을 적용해야 합니다. 예:

    • WS12875676\Servername1,MktingDB 차단
    • 11.22.33.444,1401,MktingDB 차단
  • 와 같은 localhost상대 주소를 처리하는 특수 논리는 없습니다. 따라서 *localhost*를 차단하면 제작자가 SQL Server 엔드포인트의 일부로 localhost 를 사용하여 모든 엔드포인트를 사용할 수 없게 됩니다. 하지만 관리자가 절대 주소를 차단하지 않은 이상, 절대 주소를 사용하여 엔드포인트에 액세스하는 것을 막을 수는 없습니다.

다음은 몇 가지 예입니다.

  • Azure SQL Server 인스턴스만 허용:

    1. *.database.windows.net* 허용
    2. 거부 *
  • 특정 IP 범위만 허용합니다. (허용되지 않는 IP 주소는 여전히 작성자가 <machine_name\named_instance> 형식으로 입력할 수 있습니다.)

    1. 11.22.33* 허용
    2. 거부 *

Dataverse

Dataverse 엔드포인트는 00aa00aa-bb11-cc22-dd33-44ee44ee44ee와 같은 조직 ID로 표시됩니다. 현재는 엔드포인트 필터링 범위에 일반 Dataverse 커넥터만 포함됩니다. Dataverse 역학 및 Dataverse 현재 커넥터는 범위에 포함되지 않습니다. 또한 Dataverse의 로컬 인스턴스(현재 환경이라고도 함)는 환경 내에서 사용하기 위해 차단할 수 없습니다. 즉, 제작자는 지정된 환경 내에서 항상 Dataverse 현재 환경에 액세스할 수 있습니다.

따라서 다음을 말하는 규칙:

  1. 00aa00aa-bb11-cc22-dd33-44ee44ee44ee 허용
  2. 거부 *

실제로는 다음을 의미합니다.

  1. Dataverse current environment 허용
  2. 00aa00aa-bb11-cc22-dd33-44ee44ee44ee 허용
  3. 거부 *

Dataverse current environment 허용은 항상 암시적으로 주어진 환경에 대한 Dataverse 끝점 필터링 목록의 첫 번째 규칙입니다.

Azure Blob Storage

Azure Blob Storage 엔드포인트는 Azure Storage 계정 이름을 사용합니다.

SMTP

SMTP 끝점은 <SMTP server address, port number> 형식으로 표시됩니다.

다음은 예제 시나리오입니다.

  1. 거부 smtp.gmail.com,587
  2. * 허용

Microsoft Entra ID를 통한 HTTP, HTTP 웹후크 및 HTTP 커넥터

HTTP 커넥터 엔드포인트는 URL 패턴을 사용합니다. Microsoft Entra 커넥터가 있는 HTTP의 웹 리소스 가져오기 작업이 범위를 벗어났습니다.

다음은 시나리오의 예입니다.

https://management.azure.com/ 내의 Azure 구독 페이지에만 액세스를 허용합니다.

  1. https://management.azure.com/subscriptions* 허용
  2. 거부 https://management.azure.com/*
  3. 거부 *

브라우저 자동화

이 기능을 사용하면 데스크톱용 Power Automate에서 데스크톱 흐름이 액세스하는 웹 페이지를 제어할 수 있습니다. 엔드포인트는 URL 형식이나 웹 페이지 이름 형식으로 표현되며, 동적 URL 또는 페이지 이름 일치를 위해 와일드카드를 사용할 수 있습니다. 데스크톱 흐름이 브라우저 상호 작용을 진행하기 전에 "웹 브라우저 시작" 또는 "웹 페이지로 이동" 작업 중에 유효성 검사가 수행됩니다.

참고

"웹 브라우저 실행" 작업이 포그라운드 창에 연결되도록 구성된 경우 엔드포인트 필터링이 검증되지 않습니다. 이런 경우에는 모든 웹 페이지에 대한 접근이 거부되지 않는 한 해당 작업이 차단되지 않습니다.

다음은 예제 시나리오입니다.

해당 URL을 제외한 모든 웹 페이지와 해당 문자열을 포함하는 모든 URL 또는 웹 페이지 https://www.microsoft.com/ 에 대한 접근을 허용합니다. powerplatform

  1. 거부 https://www.microsoft.com/
  2. 거부 *powerplatform*
  3. * 허용

UI 자동화

이 기능을 사용하면 데스크톱용 Power Automate에서 데스크톱 흐름이 상호 작용할 수 있는 애플리케이션 및 화면을 정의할 수 있습니다. 엔드포인트는 애플리케이션의 프로세스 이름을 사용하여 지정됩니다. 프로세스 이름이 ApplicationFrameHost, Java 또는 Javaw인 경우 여러 인스턴스가 동일한 이름을 공유할 수 있는 UWP(유니버설 Windows 플랫폼) 또는 Java 애플리케이션을 나타냅니다. 데스크톱용 Power Automate는 프로세스 이름과 창 표시 이름을 모두 사용하여 대상을 정확하게 식별합니다. 와일드카드는 유연한 일치를 위해 지원됩니다.

유효성 검사는 UI 자동화 그룹 내의 모든 작업에서 발생합니다. 이미지의 화살표에 표시된 것처럼 대상 화면의 선택기에서 프로세스 특성(이미지의 숫자 1로 표시됨) 또는 Name 특성(이미지의 숫자 2로 표시됨)을 확인합니다. 일반적으로 관련 UI 요소의 부모는 상호 작용이 허용되는지 확인하는 데 사용됩니다.

화면의 선택기

엔드포인트 필터링 규칙은 변수 또는 동적으로 바인딩된 엔드포인트에 적용되지 않습니다. 식에 리터럴 문자열 이외의 항목이 포함된 경우 필터링이 무시되어 제한된 커넥터 인수에 대한 액세스를 허용할 수 있습니다. 기본 정책 동작은 모든 엔드포인트 필터링 정책에 핵심 규칙(허용 * 또는 거부 *)이 포함되며, 기본값은 허용 * (모두 허용)입니다.

  • Allow *를 사용하는 경우: 동적 값이 필터링되지 않습니다. 동적 식은 특정 애플리케이션이 제한된 경우에도 엔드포인트 필터링을 무시합니다.
  • 거부 *를 사용하는 경우: 모든 동적 값은 기본적으로 차단되어 더 엄격한 적용을 보장합니다.

참고

  • 관련 특성(프로세스 또는 이름)이 선택기의 일부가 아닌 경우 엔드포인트 필터링이 적용되지 않습니다.
  • 끝점 필터링은 시작 메뉴 내의 데스크톱 아이콘, 작업 표시줄 단추 및 구성 요소를 비롯한 특정 Windows 운영 체제 UI 요소에 대해 지원되지 않습니다.

다음은 예제 시나리오입니다. Process 또는 Name 특성이 정확히 계산기이거나 문자열 Java를 포함하는 경우를 제외하고 모든 애플리케이션 및 화면에 대한 액세스를 허용하려면 다음 규칙을 구성합니다.

  1. 거부 Calculator
  2. 거부 *Java*
  3. * 허용

끝점 필터링을 위한 PowerShell 지원

정책에 대한 끝점 필터링 규칙 구성

정책에 대한 엔드포인트 필터링 규칙을 포함하는 개체를 커넥터 구성이라고 합니다.

커넥터 구성 개체의 구조는 다음과 같습니다.

$ConnectorConfigurations = @{ 
  connectorActionConfigurations = @() # used for connector action rules
  endpointConfigurations = @( # array – one entry per 
    @{  
      connectorId # string
      endpointRules = @( # array – one entry per rule 
        @{ 
          order # number 
          endpoint # string
          behavior # supported values: Allow/Deny
        }
      ) 
    }
  ) 
}

메모

  • 각 커넥터에 대한 마지막 규칙은 항상 URL * 에 적용되어 모든 URL에 규칙이 적용되도록 해야 합니다.
  • 각 커넥터에 대한 규칙의 order 속성은 숫자 1에서 N을 사용해야 합니다. 여기서 N은 해당 커넥터에 대한 규칙의 수입니다.

데이터 정책에 대한 기존 커넥터 구성 검색

Get-PowerAppDlpPolicyConnectorConfigurations 

데이터 정책에 대한 커넥터 구성 만들기

New-PowerAppDlpPolicyConnectorConfigurations

데이터 정책에 대한 커넥터 구성 업데이트

Set-PowerAppDlpPolicyConnectorConfigurations

예제

목표:

SQL Server 커넥터의 경우:

  • 서버 "myservername.database.windows.net"의 데이터베이스 "testdatabase" 접근 거부
  • 서버 "myservername.database.windows.net"의 다른 모든 데이터베이스 허용
  • 다른 모든 서버 거부

SMTP 커넥터의 경우:

  • Gmail 허용(서버 주소: smtp.gmail.com, 포트: 587)
  • 다른 모든 주소 거부

HTTP 커넥터의 경우:

  • 끝점 https://mywebsite.com/allowedPath1https://mywebsite.com/allowedPath2 허용
  • 다른 모든 URL 거부

참고

다음 cmdlet에서 PolicyName은 고유 GUID를 나타냅니다. Get-DlpPolicy cmdlet을 실행하여 데이터 정책 GUID를 검색합니다.

$ConnectorConfigurations = @{ 
  endpointConfigurations = @(
    @{  
      connectorId = "/providers/Microsoft.PowerApps/apis/shared_sql" 
      endpointRules = @(
        @{ 
          order = 1 
          endpoint = "myservername.database.windows.net,testdatabase" 
          behavior = "Deny"
        }, 
        @{ 
          order = 2 
          endpoint = "myservername.database.windows.net,*" 
          behavior = "Allow"
        }, 
        @{ 
          order = 3
          endpoint = "*" 
          behavior = "Deny"
        } 
      ) 
    }, 
    @{  
      connectorId = "/providers/Microsoft.PowerApps/apis/shared_smtp" 
      endpointRules = @(
        @{ 
          order = 1 
          endpoint = "smtp.gmail.com,587" 
          behavior = "Allow"
        }, 
        @{ 
          order = 2 
          endpoint = "*" 
          behavior = "Deny"
        } 
      ) 
    },
    @{  
      connectorId = "http" 
      endpointRules = @(
        @{ 
          order = 1 
          endpoint = "https://mywebsite.com/allowedPath1" 
          behavior = "Allow"
        }, 
        @{ 
          order = 2
          endpoint = "https://mywebsite.com/allowedPath2" 
          behavior = "Allow"
        }, 
        @{ 
          order = 3
          endpoint = "*" 
          behavior = "Deny"
        } 
      ) 
    } 
  ) 
}
New-PowerAppDlpPolicyConnectorConfigurations -TenantId $TenantId -PolicyName $PolicyName -NewDlpPolicyConnectorConfigurations $ConnectorConfigurations