Endepunktfiltrering for kobling (forhåndsversjon)

[Denne artikkelen inneholder dokumentasjon for forhåndsversjonen og kan bli endret.]

Med endepunktfiltrering for kobling kan administratorer styre hvilke spesifikke endepunktutviklere som kan kobles til når de bygger apper, flyter eller nettpratroboter. Den konfigureres i en policy for hindring av datatap, og den er eksklusivt tilgjengelig for seks koblinger:

  • HTTP
  • HTTP med Microsoft Entra ID (AD)
  • HTTP Webhook
  • SQL Server (inkluderer bruk av SQL Server Connector for å få tilgang til Azure Synapse-datalager)
  • Azure Blob Storage
  • SMTP

Når en utvikler prøver å koble appen, flyten eller nettpratroboten til et blokkert endepunkt, vil de støte på en feilmelding om hindring av datatap.

Advarsel!

Regler for endepunktfiltrering håndheves ikke på miljøvariabler, egendefinerte inndata eller endepunkter som er dynamisk opprettet under kjøretid. Bare statiske endepunkter evalueres i utformingene for app, flyt eller nettpratrobot. Hvis du vil ha mer informasjon, kan du se Kjente begrensninger.

Viktig

Forhåndsversjonsfunksjonene er ikke ment for produksjonsbruk og kan ha begrenset funksjonalitet. Disse funksjonene er tilgjengelige før en offisiell utgivelse, slik at kunder kan få tidlig tilgang og gi tilbakemelding.

Legg regler for endepunktfiltrering i policyene for hindring av datatap

Kolonnen Konfigurerbart endepunkt på siden Forhåndsbygde koblinger i Datapolicyer angir om endepunktfiltreringskapasiteten støttes for koblingen.

Endepunkt kan konfigureres på siden Forhåndsbygde koblinger.

Hvis verdien for kolonnen Konfigurerbart endepunkt er Ja, kan du bruke denne funksjonen ved å høyreklikke og deretter velge Konfigurer kobling>Endepunkter for kobling.

Konfigurer kobling > Endepunkter for kobling.

Dette åpner et sidepanel der du kan angi en ordnet liste over URL-mønstre av typen Tillat eller Nekt. Den siste raden i listen vil alltid være en regel for jokertegnet (*), som gjelder for alle endepunkter i den koblingen. Som standard angis mønsteret * som Tillat for nye DLP-policyer, men du kan merke dette som Tillat eller Avslå.

Angi en sortert liste over URL-mønstre for Tillat og Avslå for egendefinerte koblinger.

Legg til nye regler

Du kan legge til nye regler ved å velge Legg til endepunkt. Nye regler legges til på slutten av mønsterlisten, som den nest siste regelen. Dette skyldes at * alltid er den siste oppføringen i listen. Du kan imidlertid oppdatere rekkefølgen på mønstrene ved å bruke rullegardinlisten Ordne eller velge Flytt opp eller Flytt ned.

Velg Legg til endepunkt for å legge til nye regler.

Når du har lagt til et mønster, kan du redigere eller slette disse mønstrene ved å merke en bestemt rad og deretter velge Slett.

Slett et mønster.

Når du har lagret reglene endepunktfiltrering for kobling og policyen for hindring av datatap som de er definert i, blir de umiddelbart håndhevet i de målrettede miljøene. Nedenfor finner du et eksempel der en utvikler prøvde å koble skyflyten sin til et HTTP-endepunkt som ikke er tillatt.

Feil for hindring av datatap på grunn av regler for endepunktfiltrering.

Kjente begrensninger

  • Regler for endepunktfiltrering håndheves ikke på miljøvariabler og egendefinerte inndata og endepunkter med dynamisk binding under kjøretid. Bare statiske endepunkter som er kjent og valgt ved bygging av en app, flyt eller chatrobot under utformingstiden, håndheves. Dette betyr at koblingsendepunktsfiltrering for SQL Server og Azure Blob Storage håndheves ikke hvis tilkoblingene er godkjent med Microsoft Entra ID. I de to skjermbildene nedenfor har en utvikler bygd en skyflyt som definerer SQL Server og databasen inne i variabler, og deretter bruker de variablene som inndata til tilkoblingsdefinisjonen. Endepunktfiltreringsreglene evalueres derfor ikke, og skyflyten kan kjøres uten problemer.

    Skyflyt bruker variabler til å koble til SQL.Skyflytkjøringer er vellykket.

  • Enkelte Power Apps som ble publisert før 1. oktober 2020, må publiseres på nytt for at reglene for koblingshandling for hindring av datatap og reglene for koblingsendepunkt skal håndheves. Skriptet nedenfor gjør det mulig for administratorer og utviklere å identifisere apper som må publiseres på nytt for å overholde disse nye reglene for detaljert DLP-kontroll:

    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 
        }
    }
    

Inndataformater av og eksempler på endepunkter

Hver kobling har forskjellig oppfattelse av hva endepunkt betyr. Noen endepunkter kan også defineres i flere formater. Derfor kan endepunkter angis i alle mulige formater for å forhindre at opprettere bruker dem når de oppretter apper og flyter. Administratorer kan angi hele endepunktnavnet eller bruke mønster som samsvarer med jokertegn (*) når de oppretter en endepunktfiltreringsregel. Disse reglene legges inn og presenteres i en sortert liste over endepunktmønstre, noe som betyr at de evalueres i stigende rekkefølge etter tall. Vær oppmerksom på at den siste regelen for en gitt kobling alltid er * Tillat eller * Avslå. Tillat er standardinnstillingen, som kan endres til Avslå.

Veiledningen nedenfor beskriver hvordan du angir endepunkter for koblinger når du oppretter regler som tillater eller avslår dem.

SQL Server

Endepunkter for SQL Server-tilkobling må vises i <Server_name, database_name>-format. Ting å huske på:

  • Servernavnet kan angis i forskjellige formater av beslutningstakere. For å virkelig adressere et endepunkt må det derfor angis i alle mulige formater. Eksempelvis kan lokale forekomster være i formatet <machine_name\named_instance, database_name> eller <IP address, custom port, database_name>. I dette tilfellet må du bruke tillatings- eller blokkeringsregler i begge formater for et endepunkt. Eksempel:

    • Blokker WS12875676\Servername1,MktingDB
    • Blokker 11.22.33.444,1401,MktingDB
  • Det finnes ingen spesiell logikk for håndtering av relative adresser, for eksempel localhost. Hvis du blokkerer *localhost*, blokkeres derfor opprettere fra å bruke endepunkter ved hjelp av localhost som en del av SQL Server-endepunkt. Det vil imidlertid ikke hindre dem i å få tilgang til endepunkt ved å bruke den absolutte adressen, med mindre den absolutte adressen også har blitt blokkert av administratoren.

Følgende er eksempler:

  • Tillat bare Azure SQL Server-forekomster:

    1. Tillat *.database.windows.net*
    2. Avslå *
  • Tillat bare et bestemt IP-område: (Vær oppmerksom på at IP-adressene som ikke er tillatt, fremdeles kan angis av oppretteren i <machine_name\named_instance>-format.)

    1. Tillat 11.22.33*
    2. Avslå *

Dataverse

Dataverse-endepunkter representeres av organisasjons-ID-en, for eksempel 7b97cd5c-ce38-4930-9497-eec2a95bf5f7 Vær oppmerksom på at bare den vanlige Dataverse-koblingen kan filtreres endepunkt for øyeblikket. Dataverse Dynamics- og Dataverse-aktuelle koblinger er ikke i omfanget. Den lokale forekomsten av Dataverse (også kalt gjeldende miljø) kan aldri blokkeres for bruk i et miljø. Dette betyr at opprettere alltid har tilgang til det gjeldende miljøet i et hvilket som helst Dataverse-miljø.

Derfor er det en regel som sier følgende:

  1. Tillat 7b97cd5c-ce38-4930-9497-eec2a95bf5f7
  2. Avslå *

Betyr faktisk følgende:

  1. Tillat Dataverse current environment
  2. Tillat 7b97cd5c-ce38-4930-9497-eec2a95bf5f7
  3. Avslå *

Tillat Dataverse current environment er alltid implisitt den første regelen i Dataverse-endepunktfiltreringslisten for et gitt miljø.

Azure Blob Storage

Azure Blob Storage-endepunkter er representert av Azure Storage-kontonavnet.

SMTP

SMTP-endepunkter er representert i <SMTP server address, port number>-format.

Følgende er et eksempelscenario:

  1. Avslå smtp.gmail.com,587
  2. Tillat *

HTTP med Microsoft Entra ID, HTTP-webhook og HTTP-koblinger

Endepunktene for alle HTTP-koblinger representeres av et URL-mønster. Handlingen Hent webressurs i HTTP med Microsoft Entra-kobling er utenfor omfanget.

Følgende er et eksempelscenario:

Tillat bare tilgang til Azure-abonnementssiden i https://management.azure.com/.

  1. Tillat https://management.azure.com/subscriptions*
  2. Avslå https://management.azure.com/*
  3. Avslå *

PowerShell-støtte for endepunktfiltrering

Konfigurere endepunktfiltreringsregler for en policy

Objektet som inneholder endepunktfiltreringsregler for en policy, kalles koblingskonfigurasjoner nedenfor.

Koblingskonfigurasjonsobjektet har følgende struktur:

$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
        }
      ) 
    }
  ) 
}

Notater

  • Den siste regelen for hver kobling må alltid brukes på nettadresse * for å sikre at alle nettadresser dekkes av reglene.
  • Ordreegenskapen for reglene for hver kobling må fylles ut med tall 1 til N, der N er antall regler for den koblingen.

Hent eksisterende koblingskonfigurasjoner for en DLP-policy

Get-PowerAppDlpPolicyConnectorConfigurations 

Opprett koblingskonfigurasjoner for en DLP-policy

New-PowerAppDlpPolicyConnectorConfigurations

Oppdater koblingskonfigurasjoner for en DLP-policy

Set-PowerAppDlpPolicyConnectorConfigurations

Eksempel

Mål:

For SQL Server-koblingen:

  • Avslå database "testdatabase" for server "myservername.database.windows.net"
  • Tillat alle andre databaser for serveren "myservername.database.windows.net"
  • Avslå alle andre servere

For SMTP-koblingen:

  • Tillat Gmail (serveradresse: smtp.gmail.com, port: 587)
  • Avslå alle andre adresser

For HTTP-koblingen:

  • Tillat endepunkter https://mywebsite.com/allowedPath1 og https://mywebsite.com/allowedPath2
  • Avslå alle andre URLer

Obs!

I følgende cmdlet refererer PolicyName til den unike GUIDen. Du kan hente DLP GUID ved å kjøre cmdleten Get-DlpPolicy.

$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