Filtrování koncového bodu konektoru (Preview)
[Tento článek představuje předběžnou dokumentaci a může se změnit.]
Filtrování konektoru koncového bodu umožňuje správcům řídit, ke kterým konkrétním koncovým bodům se mohou tvůrci připojit při vytváření aplikací, toků nebo chatbotů. Je nakonfigurován v rámci zásad prevence ztráty dat (DLP) a je k dispozici výhradně pro šest konektorů:
- HTTP
- HTTP s Microsoft Entra ID (AD)
- HTTP webhook
- SQL Server (zahrnuje použití konektoru SQL Serveru pro přístup k datovému skladu Azure Synapse)
- Azure Blob Storage
- SMTP
Když se tvůrce pokusí připojit svou aplikaci, tok nebo chatbota k zablokovanému koncovému bodu, zobrazí se mu chybová zpráva DLP.
Upozorňující
Pravidla filtrování koncového bodu nejsou vynucena u proměnných prostředí, vlastních vstupů nebo koncového bodu, který je dynamicky vytvořen za běhu programu. V návrhářích aplikací, toků nebo chatbotů jsou hodnoceny pouze statické koncové body. Další informace najdete v tématu Známá omezení.
Důležité
Funkce Preview nejsou určené pro normální používání a mohou mít omezené fungování. Jsou to funkce, které jsou poskytnuté před svým oficiálním vydáním, aby si je zákazníci mohli co nejdříve vyzkoušet a mohli nám napsat své názory.
Přidání pravidel filtrování koncového bodu do zásad DLP
Sloupec Konfigurovatelný koncový bod na stránce Hotové konektory v zásadách pro data označuje, zda je pro konektor podporována možnost filtrování koncových bodů.
Pokud je hodnota sloupce Konfigurovatelný koncový bod nastavena na Ano, tuto možnost můžete použít kliknutím pravým tlačítkem a následným výběrem možnosti Konfigurovat konektor>Koncové body konektoru.
Tím se otevře postranní panel, kde můžete zadat seřazený seznam vzorů Povolit nebo Zakázat adresy URL. Pravidlo pro zástupný znak (*
) bude vždy posledním řádkem v seznamu, který platí pro všechny koncové body v daném konektoru. Ve výchozím nastavení je vzor *
nastaven jako Povolit pro nové zásady DLP, ale můžete jej označit jako Povolit nebo Zamítnout.
Přidání nových pravidel
Nová pravidla můžete přidat výběrem možnosti Přidat koncový bod. Nová pravidla jsou přidána na konec seznamu vzorů jako předposlední pravidlo. To je proto, že *
bude vždy poslední záznam v seznamu. Pořadí vzorů však můžete aktualizovat pomocí rozevíracího seznamu Pořadí nebo výběrem možnosti Přesunout nahoru nebo Přesunout dolů.
Po přidání vzoru můžete tyto vzory upravit nebo odstranit výběrem konkrétního řádku a pak výběrem možnosti Odstranit.
Po uložení pravidel filtrování koncového bodu konektoru a zásad ochrany před únikem informací (DLP), ve kterých jsou definována, se tato pravidla okamžitě uplatňují v cílových prostředích. Níže je příklad, kdy se tvůrce pokusil připojit svůj cloudový tok ke koncovému bodu HTTP, který není povolen.
Známá omezení
Pravidla filtrování koncového bodu nejsou vynucena u proměnných prostředí, vlastních vstupů a dynamicky vázaných koncových bodů za běhu programu. Vynuceny jsou pouze statické koncové body, které jsou známé a vybrané při vytváření aplikace, toku nebo chatbota v době návrhu. To znamená, že pravidla filtrování koncového bodu konektoru pro SQL Server a Azure Blob Storage nejsou vynucena, pokud jsou připojení ověřena prostřednictvím Microsoft Entra ID. Na dvou níže uvedených snímcích obrazovky tvůrce vytvořil cloudový tok, který definuje SQL Server a databázi uvnitř proměnných a poté tyto proměnné používá jako vstup pro definici připojení. Proto se pravidla filtrování koncového bodu nevyhodnocují a cloudový tok se může úspěšně spustit.
Některé aplikace Power Apps naposledy publikované před 1. říjnem 2020 je třeba znovu publikovat, aby byla vynucena pravidla akce a pravidla koncového bodu konektoru. Následující skript umožňuje správcům a tvůrcům identifikovat aplikace, které je nutné znovu publikovat, aby byla dodržena tato nová pravidla podrobné kontroly 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 } }
Vstupní formáty a příklady koncového bodu
Každý konektor má jinou definici toho, co koncový bod znamená. Dále lze některé koncové body definovat ve více formátech. Koncové body proto musí být zadány ve všech možných formátech, aby bylo možné znemožnit tvůrcům jejich používání při vytváření aplikací a toků. Správci mohou buď zadat úplný název koncového bodu, nebo použít odpovídající vzor se zástupným znakem (*
) při vytváření pravidla filtrování koncových bodů. Tato pravidla jsou zadána a uvedena v seřazeném seznamu vzorů koncového bodu, což znamená, že budou vyhodnoceny vzestupně podle čísla. Všimněte si, že poslední pravidlo pro daný konektor je vždy *
Povolit nebo *
Zakázat. Povolit je výchozí nastavení, které lze změnit na Zakázat.
Následující pokyny popisují, jak zadat koncové body konektoru při vytváření pravidel, kterými je povolíte nebo zakážete.
SQL Server
Koncové body připojení k serveru SQL musí být uvedeny ve formátu <Server_name, database_name>
. Několik věcí, které je potřeba mít na paměti:
Název serveru mohou tvůrci zadávat v různých formátech. Aby bylo možné koncový bod skutečně oslovit, musí být zadán ve všech možných formátech. Například mohou být místní instance ve formátu
<machine_name\named_instance, database_name>
nebo<IP address, custom port, database_name>
. V takovém případě budete muset na koncový bod použít pravidla povolení nebo blokování v obou formátech. Příklad:- Blokovat
WS12875676\Servername1,MktingDB
- Blokovat
11.22.33.444,1401,MktingDB
- Blokovat
Neexistuje žádná speciální logika pro zpracování relativních adres, jako je
localhost
. Pokud tedy zablokujete*localhost*
, zabráníte tvůrcům v používání jakýchkoli koncových bodů pomocílocalhost
coby součásti koncového bodu serveru SQL. Nebude jim to však bránit v přístupu ke koncovému bodu pomocí absolutní adresy, pokud správce absolutní adresu také nezablokoval.
Následují příklady:
Povolit pouze instance serveru Azure SQL:
- Povolit
*.database.windows.net*
- Zamítnout
*
- Povolit
Povolit pouze určitý rozsah IP adres (IP adresy, které nejsou povoleny, může tvůrce přesto zadávat ve formátu
<machine_name\named_instance>
.):- Povolit
11.22.33*
- Zamítnout
*
- Povolit
Dataverse
Dataverse koncové body jsou reprezentovány ID organizace, jako je, 00aa00aa-bb11-cc22-dd33-44ee44ee44ee. Pamatujte, že pouze běžný konektor Dataverse je v současné době v rozsahu pro filtrování koncových bodů. Dataverse dynamics a aktuální konektory Dataverse v rozsahu nejsou. Místní instanci Dataverse (také známou jako aktuální prostředí) nelze nikdy blokovat pro použití v prostředí. To znamená, že v jakémkoli daném prostředí mají tvůrci vždy přístup k aktuálnímu prostředí Dataverse.
Proto pravidlo, které říká následující:
- Povolit
00aa00aa-bb11-cc22-dd33-44ee44ee44ee
- Zamítnout
*
Ve skutečnosti znamená:
- Povolit
Dataverse current environment
- Povolit
00aa00aa-bb11-cc22-dd33-44ee44ee44ee
- Zamítnout
*
PovolitDataverse current environment
je vždy implicitně první pravidlo v seznamu filtrování koncových bodů Dataverse pro jakékoli dané prostředí.
Azure Blob Storage
Koncové body Azure Blob Storage jsou reprezentovány názvem účtu Azure Storage.
SMTP
Koncové body SMTP jsou uvedeny ve formátu <SMTP server address, port number>
.
Ukázkový scénář:
- Zamítnout
smtp.gmail.com,587
- Povolit
*
HTTP s Microsoft Entra ID, HTTP Webhook a HTTP konektory
Koncové body pro všechny konektory HTTP jsou reprezentovány vzorem adresy URL. Akce Získat webový prostředek protokolu HTTP s konektorem Microsoft Entra je mimo rozsah.
Ukázkový scénář:
Povolte přístup pouze na stránku předplatného Azure v rámci https://management.azure.com/
.
- Povolit
https://management.azure.com/subscriptions*
- Zamítnout
https://management.azure.com/*
- Zamítnout
*
Podpora prostředí PowerShell pro filtrování koncových bodů
Konfigurace pravidel filtrování koncových bodů pro zásady
Objekt, který obsahuje pravidla filtrování koncových bodů pro zásady, je níže označován jako konfigurace konektoru.
Objekt konfigurace konektoru má následující strukturu:
$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
}
)
}
)
}
Poznámky
- Poslední pravidlo pro každý konektor by vždy mělo být použito na URL
*
, aby se zajistilo, že pravidla se vztahují na všechny adresy URL. - Vlastnost pořadí pravidel pro každý konektor musí být vyplněna čísly 1 až N, kde N je počet pravidel pro tento konektor.
Načtěte existující konfigurace konektoru pro zásadu DLP
Get-PowerAppDlpPolicyConnectorConfigurations
Vytvořte konfigurace konektoru pro zásadu DLP
New-PowerAppDlpPolicyConnectorConfigurations
Aktualizujte konfigurace konektoru pro zásadu DLP
Set-PowerAppDlpPolicyConnectorConfigurations
Příklad
Cíl:
Pro konektor serveru SQL:
- Zamítnout databázi „testdatabase“ serveru „myservername.database.windows.net“
- Povolit všechny ostatní databáze serveru „myservername.database.windows.net“
- Zamítnout všechny ostatní servery
Pro konektor SMTP:
- Povolit Gmail (adresa serveru: smtp.gmail.com, port: 587)
- Zamítnout všechny ostatní adresy
Pro konektor HTTP:
- Povolit koncové body
https://mywebsite.com/allowedPath1
ahttps://mywebsite.com/allowedPath2
- Zamítnout všechny ostatní adresy URL
Poznámka:
V následujících rutinách označuje PolicyName jedinečný identifikátor GUID. DLP GUID můžete získat spuštěním rutiny 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