다음을 통해 공유


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

[이 문서는 시험판 문서이며 변경될 수 있습니다.]

커넥터 엔드포인트 필터링을 통해 관리자는 앱, 흐름 또는 챗봇을 구축할 때 제작자가 연결할 수 있는 특정 엔드포인트를 관리할 수 있습니다. DLP(데이터 손실 방지) 정책 내에서 구성되며 다음 6개 커넥터에서만 사용할 수 있습니다.

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

제작자가 앱, 흐름 또는 챗봇을 차단된 엔드포인트에 연결하려고 하면 DLP 오류 메시지가 표시됩니다.

경고

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

중요

프리뷰 기능은 생산용으로 만들어진 것이 아니므로 기능이 제한될 수 있습니다. 이런 기능은 공식 릴리스 전에 사용할 수 있으므로 고객이 조기에 액세스하고 피드백을 제공할 수 있습니다.

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

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

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

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

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

그러면 허용 또는 거부 URL 패턴의 정렬된 목록을 지정할 수 있는 측면 패널이 열립니다. 목록의 마지막 행은 항상 와일드카드 문자(*)에 대한 규칙이며 해당 커넥터의 모든 끝점에 적용됩니다. 기본적으로 * 패턴은 새 DLP 정책에 대해 허용으로 설정되지만 이를 허용 또는 거부로 태그 지정할 수 있습니다.

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

새 규칙 추가

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

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

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

패턴을 삭제합니다.

커넥터 엔드포인트 필터링 규칙과 정의된 DLP 정책을 저장하면 대상 환경에서 즉시 시행됩니다. 다음은 제작자가 클라우드 흐름을 허용되지 않는 HTTP 엔드포인트에 연결하려고 시도한 예입니다.

엔드포인트 필터링 규칙으로 인한 DLP 오류입니다.

알려진 제한 사항

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

    클라우드 흐름은 변수를 사용하여 SQL에 연결합니다.클라우드 흐름이 성공적으로 실행됩니다.

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

    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 be Granular DLP compliant: " $app.AppName " "  $app.Internal.properties.displayName " " $app.Internal.properties.owner.email
        } 
        Else{ 
            Write-Host "App is already Granular DLP 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 엔드포인트는 조직 ID(예: 7b97cd5c-ce38-4930-9497-eec2a95bf5f7)로 표시됩니다. 현재 일반 Dataverse 커넥터만 끝점 필터링 범위에 있습니다. Dataverse 역학 및 Dataverse 현재 커넥터는 범위에 포함되지 않습니다. 또한 Dataverse의 로컬 인스턴스(현재 환경이라고도 함)는 환경 내에서 사용하기 위해 차단할 수 없습니다. 이는 주어진 환경 내에서 제작자가 항상 Dataverse 현재 환경에 액세스할 수 있음을 의미합니다.

따라서 다음과 같은 규칙이 있습니다.

  1. 7b97cd5c-ce38-4930-9497-eec2a95bf5f7 허용
  2. 거부 *

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

  1. Dataverse current environment 허용
  2. 7b97cd5c-ce38-4930-9497-eec2a95bf5f7 허용
  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. 거부 *

끝점 필터링을 위한 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이 규칙에 포함되도록 해야 합니다.
  • 각 커넥터에 대한 규칙의 순서 속성은 1에서 N까지의 숫자로 채워져야 합니다. 여기서 N은 해당 커넥터에 대한 규칙의 수입니다.

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

Get-PowerAppDlpPolicyConnectorConfigurations 

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

New-PowerAppDlpPolicyConnectorConfigurations

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

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을 실행하여 DLP 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