Filtrering av anslutningsprogrammets slutpunkter (förhandsversion)
[Den här artikeln är en förhandsversion av dokumentationen och kan komma att ändras.]
Med filtrering av anslutningsprogrammets slutpunkter kan administratörer styra vilka specifika slutpunkter som utvecklare kan ansluta till när de skapar appar, flöden eller chattrobotar. Den är konfigurerad inom en policy för att förhindra dataförlust (DLP) och den är exklusivt tillgänglig för sex anslutningsprogram:
- HTTP
- HTTP med Microsoft Entra ID (AD)
- HTTP Webhook
- SQL Server (med SQL Server Connector för att få åtkomst till Azure Synapse informationslager)
- Azure Blob Storage
- SMTP
När en utvecklare försöker ansluta sin app, sitt flöde eller sin chattrobot till en blockerad slutpunkt, kommer de att få ett DLP-felmeddelande.
Varning
Filtreringsregler för slutpunkt tillämpas inte miljövariabler, anpassade indata eller någon slutpunkt som har skapats dynamiskt vid körtid. Endast statiska slutpunkter utvärderas i app-, flödes- eller chattrobotdesigner. Du hittar mer information i Kända begränsningar.
Viktigt!
Förhandsversionsfunktioner ska inte användas i produktion och funktionerna kan vara begränsade. Funktionerna är tillgängliga före den officiella publiceringen så att kunderna kan få tillgång tidigare och ge oss feedback.
Lägg till filtreringsregler för slutpunkt dina DLP-policyer
I kolumnen Konfigurerbar slutpunkt på sidan Fördefinierade anslutningsprogram i Datapolicyer anger om slutpunktsfiltreringsfunktionen stöds för kontakten.
Om värdet för kolumnen slutpunkt konfigurerbar är Ja, kan du använda den här funktionen genom att högerklicka och sedan välja Konfigurera anslutningsprogram>Anslutningsprogrammets slutpunkter.
Då öppnas en sidpanel där du kan ange en ordnad lista med URL-mönster för Tillåt eller Neka. Den sista raden i listan kommer alltid att vara en regel för jokertecken (*
), som gäller för alla slutpunkter i den kopplingen. Som standard har *
mönstren angetts som Tillåt för nya DLP-policyer, men du kan tagga det som Tillåt eller Neka.
Lägg till nya regler
Du kan lägga till nya regler genom att välja Lägg till slutpunkt. Nya regler läggs till i slutet av mönsterlistan som den andra till den sista regeln. Detta beror på att *
alltid är den sista posten i listan. Du kan dock uppdatera ordning på mönstren med hjälp av listrutan Order eller välja Flytta upp eller Flytta ned.
När du har lagt till ett mönster kan du redigera eller ta bort de här mönstren genom att markera en viss rad och sedan välja Ta bort.
När du har sparat dina filtreringsregler för slutpunkt för anslutningsprogram och DLP-policyn som de definieras i, tillämpas de omedelbart på de målmiljöer som är målinriktade. Nedan visas ett exempel där en tillverkare har försökt ansluta sitt molnflöde till en HTTP-slutpunkt som inte är tillåten.
Kända begränsningar
Filtreringsregler för slutpunkt tillämpas inte miljövariabler, anpassade indata och dynamiskt bundna slutpunkter under körtid. Endast statiska slutpunkter som är kända och valda när du skapar ett program, ett flöde eller en chattschema under designtiden tillämpas. Detta innebär att filtreringsregler för anslutningsslutpunkt för SQL Server och Azure Blob Storage tillämpas inte om anslutningarna autentiseras med Microsoft Entra ID. I de två skärmbilderna nedan har en tillverkare skapat ett molnflöde som definierar SQL Server och databasen i variabler, och använder sedan dessa variabler som indata till anslutningsdefinitionen. Därför utvärderas inte filtreringsregler för slutpunkt och molnflödet kan köras utan problem.
Vissa Power Apps publicerad före 1 oktober 2020 måste återpubliceras för att reglerna för DLP-anslutningsåtgärder och filtreringsregler för slutpunkt ska kunna tillämpas. Följande skript gör det möjligt för administratörer och tillverkare att identifiera program som måste publiceras på nytt för att respektera dessa nya granulära DLP-kontrollregler:
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 } }
Slutpunkt för indataformat och exempel
Varje anslutning skiljer sig från vad en slutpunkt innebär. Vissa slutpunkter kan definieras i flera format. Slutpunkter måste därför anges i alla möjliga format för att hindra beslutsfattare från att använda dem när de skapar program och flöden. Administratörer kan antingen ange hela slutpunktens namn eller använda mönster som matchar med jokertecken (*
) när de skapar en filtreringsregel för slutpunkt. De här reglerna anges och presenteras i en ordnad lista av slutpunktmönster, vilket innebär att de utvärderas i stigande ordning efter tal. Observera att den sista regeln för en viss anslutning alltid är *
Tillåt eller *
Avvisa. Tillåt är standardvärdet, som kan ändras till Avvisa.
I följande vägledning beskrivs hur du anger anslutningsslutpunkter när du skapar regler för att tillåta eller neka dem.
SQL-server
SQL Server-anslutningsslutpunkter måste visas i <Server_name, database_name>
-format. Saker att tänka på:
Servernamnet kan anges i olika format av tillverkare. För att adressera en slutpunkt måste den därför anges i alla möjliga format. Till exempel kan lokal vara i
<machine_name\named_instance, database_name>
eller<IP address, custom port, database_name>
format. I det här fallet måste du använda tillåta eller blockera regler i båda formaten för en slutpunkt. Till exempel:- Blockera
WS12875676\Servername1,MktingDB
- Blockera
11.22.33.444,1401,MktingDB
- Blockera
Det finns ingen speciallogik för att hantera relativa adresser, till exempel
localhost
. Om du blockerar*localhost*
blockeras därför skaparna från att använda slutpunkter genom att användalocalhost
som en del av SQL Server-slutpunkt. Däremot stoppas de inte från att komma åt slutpunkt genom att använda den absoluta adressen, såvida inte den absoluta adressen också har blockerats av administratören.
Följande är exempel:
Tillåt endast Azure SQL Server-instanser:
- Tillåt
*.database.windows.net*
- Neka
*
- Tillåt
Tillåt bara ett specifikt IP -område (observera att de IP-adresser som inte är tillåtna fortfarande kan anges av tillverkaren
<machine_name\named_instance>
-format.)- Tillåt
11.22.33*
- Neka
*
- Tillåt
Dataverse
Dataverse-slutpunkter representeras av organisations-ID t.ex. 7b97cd5c-ce38-4930-9497-eec2a95bf5f7. Observera att endast den vanliga Dataverse anslutningsprogram för närvarande finns för filtrering av slutpunkt. Dataverse dynamiska och Dataverse aktuella anslutningar ligger utanför ramen. Den lokala instansen av Dataverse (kallas även aktuell miljö) kan aldrig blockeras för användning i en miljö. Det innebär att beslutsfattare alltid har tillgång till den aktuella miljön i Dataverse inom en viss miljö.
Därför en regel som säger följande:
- Tillåt
7b97cd5c-ce38-4930-9497-eec2a95bf5f7
- Neka
*
Betyder egentligen:
- Tillåt
Dataverse current environment
- Tillåt
7b97cd5c-ce38-4930-9497-eec2a95bf5f7
- Neka
*
Tillåt Dataverse current environment
är alltid den första regeln i slutpunkt för en viss Dataverse-miljö.
Azure Blob Storage
Azure blobblagringsslutpunkter representeras av namnet på Azure-lagringskontot.
SMTP
SMTP-slutpunkter representeras i <SMTP server address, port number>
-format.
Följande är ett exempelscenario:
- Neka
smtp.gmail.com,587
- Tillåt
*
HTTP med Microsoft Entra ID, HTTP Webhook och HTTP-anslutningar
Slutpunkterna för alla HTTP-anslutningar representeras av ett URL-mönster. Åtgärden Hämta webbresurs för HTTP med Microsoft Entra anslutningsprogram är inte tillgänglig.
Följande är ett exempelscenario:
Tillåt endast åtkomst till sidan för Azure-prenumerationer i https://management.azure.com/
.
- Tillåt
https://management.azure.com/subscriptions*
- Neka
https://management.azure.com/*
- Neka
*
PowerShell-stöd slutpunkt filtrering
Konfigurera filtreringsregler för slutpunkt för en policy
Objektet som innehåller filtreringsregler för slutpunkt för en policy kallas nedan för anslutningsprogramkonfigurationer.
Konfigurationsobjektet för anslutningsprogram har följande 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
}
)
}
)
}
Anteckningar
- Den sista regeln för varje kontakt bör alltid tillämpas på URL
*
för att säkerställa att alla webbadresser omfattas av reglerna. - Orderegenskapen för reglerna för varje koppling ska fyllas i med tal 1 till N, där N är antalet regler för den kopplingen.
Hämta befintliga konfigurationer för anslutningsprogram för en DLP-princip
Get-PowerAppDlpPolicyConnectorConfigurations
Skapa konfigurationer för anslutningsprogram för en DLP-princip
New-PowerAppDlpPolicyConnectorConfigurations
Uppdatera konfigurationer för anslutningsprogram för en DLP-princip
Set-PowerAppDlpPolicyConnectorConfigurations
Exempel
Mål:
För SQL Server-anslutning:
- Neka databas "testdatabase" för servern "myservername.database.windows.net"
- Tillåt andra databaser för servern "myservername.database.windows.net"
- Neka alla andra servrar
För SMTP-anslutningsprogram:
- Tillåt Gmail (serveradress: smtp.gmail.com, port: 587)
- Neka alla andra adresser
För HTTP-anslutningsprogram:
- Tillåt slutpunkter
https://mywebsite.com/allowedPath1
ochhttps://mywebsite.com/allowedPath2
- Neka alla andra URL
Kommentar
I följande cmdlet refererar PolicyName till det unika GUID. Du kan hämta DLP GUID genom att köra 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