Blokování využití konektorů v Azure Logic Apps
Platí pro: Azure Logic Apps (Consumption + Standard)
Pokud vaše organizace nepovoluje připojení k omezeným nebo neschváleném prostředkům pomocí jejich spravovaných konektorů v Azure Logic Apps, můžete zablokovat možnost vytvářet a používat tato připojení v pracovních postupech aplikací logiky. Pomocí služby Azure Policy můžete definovat a vynutit zásady , které brání vytváření nebo používání připojení pro konektory, které chcete blokovat. Z bezpečnostních důvodů můžete například chtít blokovat připojení ke konkrétním platformám sociálních médií nebo jiným službám a systémům.
Tento článek ukazuje, jak nastavit zásadu, která blokuje konkrétní připojení pomocí webu Azure Portal, ale definice zásad můžete vytvářet jinými způsoby. Můžete například použít šablony Azure REST API, Azure PowerShellu, Azure CLI a Azure Resource Manageru. Další informace najdete v tématu Kurz: Vytváření a správa zásad pro vynucování dodržování předpisů.
Požadavky
Účet a předplatné Azure. Pokud předplatné nemáte, vytvořte si bezplatný účet Azure.
Referenční ID konektoru, který chcete blokovat. Další informace najdete v tématu Vyhledání referenčního ID konektoru.
Vyhledání referenčního ID konektoru
Pokud už máte aplikaci logiky s připojením, které chcete blokovat, postupujte podle kroků pro Azure Portal. V opačném případě postupujte takto:
Referenční dokumentace ke konektoru
Projděte si konektory pro Azure Logic Apps.
Najděte referenční stránku konektoru, který chcete blokovat.
Pokud například chcete zablokovat konektor Instagramu, který je zastaralý, přejděte na tuto stránku:
https://learn.microsoft.com/connectors/instagram/
Z adresy URL stránky zkopírujte a uložte ID odkazu konektoru na konci bez lomítka (
/
napříkladinstagram
).Později při vytváření definice zásady použijete toto ID v příkazu podmínky definice, například:
"like": "*managedApis/instagram"
portál Azure
Na webu Azure Portal vyhledejte a otevřete pracovní postup aplikace logiky.
V nabídce aplikace logiky vyberte jednu z následujících možností:
Aplikace logiky Consumption: V části Vývojové nástroje vyberte připojení rozhraní API.
Standardní aplikace logiky: V části Pracovní postupy vyberte Připojení. V podokně Připojení vyberte připojení rozhraní API, pokud ještě není vybraná.
V podokně připojení rozhraní API vyberte připojení. Po otevření podokna připojení vyberte v pravém horním rohu zobrazení JSON.
api
Vyhledejte objekt, který obsahujeid
vlastnost a hodnotu, která má následující formát:"id": "/subscriptions/{Azure-subscription-ID}/providers/Microsoft.Web/locations/{Azure-region}/managedApis/{connection-name}"
Následující příklad ukazuje
id
vlastnost a hodnotu pro připojení Instagram:"id": "/subscriptions/xxxxxXXXXXxxxxxXXXXXxxxxxXXXXX/providers/Microsoft.Web/locations/westus/managedApis/instagram"
id
Z hodnoty vlastnosti zkopírujte a uložte ID odkazu na konektor na konci,instagram
například .Později při vytváření definice zásady použijete toto ID v příkazu podmínky definice, například:
"like": "*managedApis/instagram"
Zablokování vytváření připojení
Pokud chcete úplně zablokovat vytváření připojení v pracovním postupu aplikace logiky, postupujte takto:
Do vyhledávacího pole webu Azure Portal zadejte zásady a vyberte Zásady.
V nabídce Zásady v části Vytváření vyberte Definice. Na panelu nástrojů podokna Definice vyberte definici zásady.
V podokně definice zásad zadejte informace o definici zásady na základě vlastností popsaných v příkladu:
Vlastnost Požaduje se Hodnota Popis Umístění definice Ano <Azure-subscription-name> Předplatné Azure, které se má použít pro definici zásad 1. Pokud chcete najít své předplatné, vyberte tlačítko se třemi tečkami (...).
2. V seznamu Předplatné vyhledejte a vyberte své předplatné.
3. Až budete hotovi, vyberte Vybrat.Název Ano <policy-definition-name> Název, který se má použít pro definici zásady Popis No <policy-definition-name> Popis definice zásady Kategorie Ano Aplikace logiky Název existující kategorie nebo nové kategorie pro definici zásady Vynucení zásad Ano Povoleno Toto nastavení určuje, jestli se má při ukládání práce povolit nebo zakázat definice zásady. V části PRAVIDLO ZÁSAD je pole pro úpravy JSON předem vyplněné šablonou definice zásad. Tuto šablonu nahraďte definicí zásad na základě vlastností popsaných v následující tabulce a následující syntaxí:
{ "mode": "All", "policyRule": { "if": { "field": "Microsoft.Web/connections/api.id", "like": "*managedApis/{connector-name}" }, "then": { "effect": "deny" } }, "parameters": {} }
Vlastnost Hodnota Popis mode
All
Režim, který určuje typy prostředků, které zásady vyhodnocují. Tento scénář se nastaví
mode
naAll
, který použije zásadu pro skupiny prostředků Azure, předplatná a všechny typy prostředků.Další informace naleznete v tématu Struktura definice zásad – režim.
if
{condition-to-evaluate}
Podmínka, která určuje, kdy se má vynutit pravidlo zásady V tomto scénáři určuje,
{condition-to-evaluate}
zdaapi.id
hodnota veMicrosoft.Web/connections/api.id
shodě*managedApis/{connector-name}
, která určuje hodnotu se zástupným znakem (*).Další informace najdete v tématu Struktura definice zásad – Pravidlo zásad.
field
Microsoft.Web/connections/api.id
Hodnota field
, která se má porovnat s podmínkouV tomto scénáři
field
používá alias ,Microsoft.Web/connections/api.id
pro přístup k hodnotě ve vlastnosti spojnice ,api.id
.like
*managedApis/{connector-name}
Logický operátor a hodnota, které se mají použít k porovnání field
hodnotyV tomto scénáři operátor i zástupný znak (*) zajišťují,
like
aby pravidlo fungovalo bez ohledu na oblast a řetězec , je hodnota,*managedApis/{connector-name}
která odpovídá{connector-name}
ID konektoru, který chcete blokovat.Předpokládejme například, že chcete blokovat vytváření připojení k platformám nebo databázím sociálních médií:
- X:
x
- Instagram:instagram
- Facebook:facebook
- Pinterest:pinterest
– SQL Server nebo Azure SQL:sql
Id těchto konektorů najdete v části Vyhledání REFERENČNÍHO ID konektoru výše v tomto tématu.
then
{effect-to-apply}
Účinek, který se použije při if
splnění podmínkyV tomto scénáři
{effect-to-apply}
je blokovat a selhat požadavek nebo operaci, která nevyhovuje zásadám.Další informace najdete v tématu Struktura definice zásad – Pravidlo zásad.
effect
deny
Cílem effect
je zablokovat požadavek, kterým je vytvoření zadaného připojení.Další informace najdete v tématu Vysvětlení efektů Azure Policy – Odepřít.
Předpokládejme například, že chcete blokovat vytváření připojení s konektorem Instagram. Tady je definice zásady, kterou můžete použít:
{ "mode": "All", "policyRule": { "if": { "field": "Microsoft.Web/connections/api.id", "like": "*managedApis/instagram" }, "then": { "effect": "deny" } }, "parameters": {} }
Tady je způsob, jakým se zobrazí okno PRAVIDLO ZÁSAD:
U více konektorů můžete přidat další podmínky, například:
{ "mode": "All", "policyRule": { "if": { "anyOf": [ { "field": "Microsoft.Web/connections/api.id", "like": "*managedApis/instagram" }, { "field": "Microsoft.Web/connections/api.id", "like": "*managedApis/x" }, { "field": "Microsoft.Web/connections/api.id", "like": "*managedApis/facebook" }, { "field": "Microsoft.Web/connections/api.id", "like": "*managedApis/pinterest" } ] }, "then": { "effect": "deny" } }, "parameters": {} }
Až budete hotovi, zvolte tlačítko Uložit. Po uložení definice zásady Azure Policy vygeneruje a přidá do definice zásady další hodnoty vlastností.
Dále přiřaďte definici zásady, ve které chcete zásadu vynutit, vytvořte přiřazení zásady.
Další informace o definicích služby Azure Policy najdete v těchto tématech:
- Struktura definic Azure Policy
- Kurz: Vytváření a správa zásad pro vynucování dodržování předpisů
- Předdefinované definice zásad služby Azure Policy pro Azure Logic Apps
Blokování přidružení připojení k aplikacím logiky
Když vytvoříte připojení v pracovním postupu aplikace logiky, toto připojení existuje jako samostatný prostředek Azure. Pokud odstraníte jenom pracovní postup aplikace logiky, prostředek připojení se neodstraní automaticky a bude existovat až do odstranění. Můžete mít scénář, ve kterém už prostředek připojení existuje nebo kde musíte vytvořit prostředek připojení pro použití mimo aplikaci logiky. Stále můžete zablokovat možnost přidružit připojení k jinému pracovnímu postupu aplikace logiky vytvořením zásady, která brání uložení pracovních postupů aplikace logiky, které se pokusí použít omezené nebo neschválené připojení. Tato zásada má vliv jenom na pracovní postupy aplikace logiky, které připojení ještě nepoužívají.
Do vyhledávacího pole webu Azure Portal zadejte zásady a vyberte Zásady.
V nabídce Zásady v části Vytváření vyberte Definice. Na panelu nástrojů podokna Definice vyberte definici zásady.
V části Definice zásady zadejte informace pro definici zásady na základě vlastností popsaných v příkladu a pokračujete v používání Instagramu jako příkladu:
Vlastnost Požaduje se Hodnota Popis Umístění definice Ano <Azure-subscription-name> Předplatné Azure, které se má použít pro definici zásad 1. Pokud chcete najít své předplatné, vyberte tlačítko se třemi tečkami (...).
2. V seznamu Předplatné vyhledejte a vyberte své předplatné.
3. Až budete hotovi, vyberte Vybrat.Název Ano <policy-definition-name> Název, který se má použít pro definici zásady Popis No <policy-definition-name> Popis definice zásady Kategorie Ano Aplikace logiky Název existující kategorie nebo nové kategorie pro definici zásady Vynucení zásad Ano Povoleno Toto nastavení určuje, jestli se má při ukládání práce povolit nebo zakázat definice zásady. V části PRAVIDLO ZÁSAD je pole pro úpravy JSON předem vyplněné šablonou definice zásad. Tuto šablonu nahraďte definicí zásad na základě vlastností popsaných v následující tabulce a následující syntaxí:
{ "mode": "All", "policyRule": { "if": { "value": "[string(field('Microsoft.Logic/workflows/parameters'))]", "contains": "{connector-name}" }, "then": { "effect": "deny" } }, "parameters": {} }
Vlastnost Hodnota Popis mode
All
Režim, který určuje typy prostředků, které zásady vyhodnocují. Tento scénář se nastaví
mode
naAll
, který použije zásadu pro skupiny prostředků Azure, předplatná a všechny typy prostředků.Další informace naleznete v tématu Struktura definice zásad – režim.
if
{condition-to-evaluate}
Podmínka, která určuje, kdy se má vynutit pravidlo zásady V tomto scénáři určuje,
{condition-to-evaluate}
zda řetězec výstup z[string(field('Microsoft.Logic/workflows/parameters'))]
, obsahuje řetězec,{connector-name}
.Další informace najdete v tématu Struktura definice zásad – Pravidlo zásad.
value
[string(field('Microsoft.Logic/workflows/parameters'))]
Hodnota, která se má porovnat s podmínkou V tomto scénáři
value
je řetězcový výstup z[string(field('Microsoft.Logic/workflows/parameters'))]
, který převede$connectors
objekt uvnitř objektuMicrosoft.Logic/workflows/parameters
na řetězec.contains
{connector-name}
Logický operátor a hodnota, které se mají použít pro porovnání s value
vlastnostíV tomto scénáři operátor zajistí,
contains
že pravidlo funguje bez ohledu na to, kde{connector-name}
se zobrazí, kde řetězec,{connector-name}
je ID konektoru, který chcete omezit nebo blokovat.Předpokládejme například, že chcete blokovat používání připojení k platformám nebo databázím sociálních médií:
- X:
x
- Instagram:instagram
- Facebook:facebook
- Pinterest:pinterest
– SQL Server nebo Azure SQL:sql
Id těchto konektorů najdete v části Vyhledání REFERENČNÍHO ID konektoru výše v tomto tématu.
then
{effect-to-apply}
Účinek, který se použije při if
splnění podmínkyV tomto scénáři
{effect-to-apply}
je blokovat a selhat požadavek nebo operaci, která nevyhovuje zásadám.Další informace najdete v tématu Struktura definice zásad – Pravidlo zásad.
effect
deny
Požadavek effect
jedeny
nebo zablokuje uložení aplikace logiky, která používá zadané připojení.Další informace najdete v tématu Vysvětlení efektů Azure Policy – Odepřít.
Předpokládejme například, že chcete blokovat ukládání aplikací logiky, které používají připojení Instagram. Tady je definice zásady, kterou můžete použít:
{ "mode": "All", "policyRule": { "if": { "value": "[string(field('Microsoft.Logic/workflows/parameters'))]", "contains": "instagram" }, "then": { "effect": "deny" } }, "parameters": {} }
Tady je způsob, jakým se zobrazí okno PRAVIDLO ZÁSAD:
Až budete hotovi, zvolte tlačítko Uložit. Po uložení definice zásady Azure Policy vygeneruje a přidá do definice zásady další hodnoty vlastností.
Dále přiřaďte definici zásady, ve které chcete zásadu vynutit, vytvořte přiřazení zásady.
Další informace o definicích služby Azure Policy najdete v těchto tématech:
- Struktura definic Azure Policy
- Kurz: Vytváření a správa zásad pro vynucování dodržování předpisů
- Předdefinované definice zásad služby Azure Policy pro Azure Logic Apps
Vytvoření přiřazení zásady
Dále je potřeba přiřadit definici zásady, do které chcete zásadu vynutit, například k jedné skupině prostředků, více skupinám prostředků, tenantovi Microsoft Entra nebo předplatnému Azure. Pro tento úkol vytvořte přiřazení zásad pomocí následujícího postupu:
Na webu Azure Portal zadejte do vyhledávacího pole portálu zásady a vyberte Zásady.
V nabídce Zásady v části Vytváření vyberte Přiřazení. Na panelu nástrojů podokna Přiřazení vyberte Přiřadit zásadu.
V podokně Přiřadit zásadu v části Základy zadejte tyto informace pro přiřazení zásad:
Vlastnost Požadováno Popis Scope Ano Prostředky, ve kterých chcete vynutit přiřazení zásad. 1. Vedle pole Obor vyberte tlačítko se třemi tečkami (...).
2. V seznamu předplatného vyberte předplatné Azure.
3. Volitelně v seznamu skupina prostředků vyberte skupinu prostředků.
4. Až budete hotovi, vyberte Vybrat.Vyloučení No Všechny prostředky Azure, které se mají vyloučit z přiřazení zásad. 1. Vedle pole Vyloučení vyberte tlačítko se třemi tečkami (...).
2. V seznamu zdrojů vyberte prostředek >Přidat do vybraného oboru.
3. Až budete hotovi, vyberte Uložit.Definice zásady Ano Název definice zásady, kterou chcete přiřadit a vynutit. Tento příklad pokračuje s ukázkovými zásadami Instagramu, "Blokovat připojení Instagramu". 1. Vedle pole Definice zásady vyberte tlačítko se třemi tečkami (...).
2. Vyhledejte a vyberte definici zásady pomocí filtru typu nebo vyhledávacího pole.
3. Až budete hotovi, vyberte Vybrat.Název přiřazení Ano Název, který se má použít pro přiřazení zásady, pokud se liší od definice zásady ID přiřazení Ano Automaticky vygenerované ID pro přiřazení zásady Popis No Popis přiřazení zásady Vynucení zásad Ano Nastavení, které povolí nebo zakáže přiřazení zásad Přiřadil No Jméno osoby, která vytvořila a použila přiřazení zásady Pokud například chcete zásadu přiřadit ke skupině prostředků Azure pomocí příkladu Instagramu:
Až budete hotovi, vyberte Zkontrolovat a vytvořit.
Po vytvoření zásady možná budete muset počkat až 15 minut, než se zásada projeví. Změny můžou mít podobné zpožděné účinky.
Jakmile se zásada projeví, můžete zásady otestovat.
Další informace najdete v tématu Rychlý start: Vytvoření přiřazení zásady k identifikaci nevyhovujících prostředků.
Testování zásad
Pokud chcete vyzkoušet zásadu, začněte vytvářet připojení pomocí nyní omezeného konektoru v návrháři pracovního postupu. Pokračujte příkladem Instagramu, když se přihlásíte k Instagramu, zobrazí se tato chyba, že se vaší aplikaci logiky nepodařilo vytvořit připojení:
Zpráva obsahuje tyto informace:
Popis | Content |
---|---|
Důvod selhání | "Resource 'instagram' was disallowed by policy." |
Název přiřazení | "Block Instagram connections" |
ID přiřazení | "/subscriptions/xxxxxXXXXXxxxxxXXXXXxxxxxXXXXX/resourceGroups/MyLogicApp-RG/providers/Microsoft.Authorization/policyAssignments/4231890fc3bd4352acb0b673" |
ID definice zásady | "/subscriptions/xxxxxXXXXXxxxxxXXXXXxxxxxXXXXX/providers/Microsoft.Authorization/policyDefinitions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e" |
Další kroky
- Další informace o službě Azure Policy