Blokování využití konektoru 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í svých spravovaných konektorů v Azure Logic Apps, můžete zablokovat možnost vytváření a používání těchto připojení v pracovních postupech aplikací logiky. Pomocí Azure Policy můžete definovat a vynucovat 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í k určitý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í Azure Portal, ale můžete vytvořit definice zásad jinými způsoby. Můžete například použít rozhraní Azure REST API, Azure PowerShell, Azure CLI a šablony Azure Resource Manager. Další informace najdete v tématu Kurz: Vytváření a správa zásad pro vynucování dodržování předpisů.

Požadavky

Najít REFERENČNÍ ID konektoru

Pokud už máte aplikaci logiky s připojením, které chcete blokovat, postupujte podle pokynů pro Azure Portal. Jinak postupujte podle těchto kroků:

Referenční dokumentace ke konektoru

  1. Projděte si konektory pro Azure Logic Apps.

  2. Vyhledejte 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/

  3. Z adresy URL stránky zkopírujte a uložte ID odkazu konektoru na konec bez lomítka (/), instagramnapříklad .

    Později při vytváření definice zásad použijete toto ID v příkazu podmínky definice, například:

    "like": "*managedApis/instagram"

portál Azure

  1. V Azure Portal vyhledejte a otevřete pracovní postup aplikace logiky.

  2. 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á.

    1. V podokně Připojení rozhraní API vyberte připojení. Když se otevře podokno připojení, v pravém horním rohu vyberte Zobrazení JSON.

    2. api Vyhledejte objekt, který obsahuje id vlastnost a hodnotu v následujícím formátu:

      "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í k Instagramu:

      "id": "/subscriptions/xxxxxXXXXXxxxxxXXXXXxxxxxXXXXX/providers/Microsoft.Web/locations/westus/managedApis/instagram"

    3. id Z hodnoty vlastnosti zkopírujte a uložte ID odkazu konektoru na konec, instagramnapříklad .

      Později při vytváření definice zásad použijete toto ID v příkazu podmínky definice, například:

      "like": "*managedApis/instagram"

Blokovat vytváření připojení

Pokud chcete úplně zablokovat vytváření připojení v pracovním postupu aplikace logiky, postupujte takto:

  1. Do vyhledávacího pole Azure Portal zadejte zásadu a vyberte Zásady.

    Snímek obrazovky zobrazující hlavní Azure Portal vyhledávacího pole se zadaným textem Zásady a vybranou možností Zásada

  2. V nabídce Zásady v části Vytváření obsahu vyberte Definice. Na panelu nástrojů podokna Definice vyberte Definice zásad.

    Snímek obrazovky s panelem nástrojů podokna Definice s vybranou možností Definice zásad

  3. V podokně Definice zásad zadejte informace o definici zásady na základě vlastností popsaných v příkladu:

    Snímek obrazovky s vlastnostmi definice zásad

    Vlastnost Požaduje se Hodnota Popis
    Umístění definice Yes <Název předplatného Azure> 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 Yes <policy-definition-name> Název, který se má použít pro definici zásady
    Popis No <policy-definition-name> Popis definice zásady
    Kategorie Yes Aplikace logiky Název existující kategorie nebo nové kategorie pro definici zásady
    Vynucení zásad Yes Povoleno Toto nastavení určuje, jestli se má při ukládání práce povolit nebo zakázat definice zásad.
  4. V části PRAVIDLO ZÁSAD je pole pro úpravy JSON předem vyplněné šablonou definice zásady. Nahraďte tuto šablonu definicí zásad na základě vlastností popsaných v následující tabulce a použijte tuto syntaxi:

    {
       "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ář nastaví mode na All, který použije zásadu na skupiny prostředků Azure, předplatná a všechny typy prostředků.

    Další informace najdete v tématu Struktura definic zásad – režim.

    if {condition-to-evaluate} Podmínka, která určuje, kdy se má vynucovat pravidlo zásad

    V tomto scénáři určuje, {condition-to-evaluate} zda hodnota v Microsoft.Web/connections/api.id souboru odpovídá hodnotě *managedApis/{connector-name}, která určuje hodnotu se zástupným znakem api.id (*).

    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ínkou

    V tomto scénáři field používá pro přístup k hodnotě ve vlastnosti api.idkonektoru aliasMicrosoft.Web/connections/api.id , .

    like *managedApis/{connector-name} Logický operátor a hodnota, které se mají použít pro porovnání field hodnoty

    V tomto scénáři operátor i zástupný znak (*) zajišťují, like že pravidlo funguje bez ohledu na oblast, a řetězec , je hodnota, *managedApis/{connector-name}která se má shodovat, kde {connector-name} je 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í:

    -Twitter: twitter
    -Instagram: instagram
    -Facebook: facebook
    - Pinterest: pinterest
    - SQL Server nebo Azure SQL:sql

    Pokud chcete tato ID konektoru najít, přečtěte si téma Vyhledání referenčního ID konektoru výše v tomto tématu.

    then {effect-to-apply} Účinek, který se má použít při if splnění podmínky

    V tomto scénáři {effect-to-apply} se má zablokovat a selhat požadavek nebo operace, které nevyhovují zásadám.

    Další informace najdete v tématu Struktura definice zásad – pravidlo zásad.

    effect deny Je effect blokovat požadavek, což je vytvoření zadaného připojení.

    Další informace najdete v tématu Principy Azure Policy efektů – Zamítnutí.

    Předpokládejme například, že chcete blokovat vytváření připojení pomocí konektoru Instagramu. 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": {}
    }
    

    Pole PRAVIDLO ZÁSAD se zobrazí takto:

    Snímek obrazovky znázorňující pole PRAVIDLO ZÁSAD s příkladem pravidla zásad

    Pro 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/twitter"
                },
                {
                   "field": "Microsoft.Web/connections/api.id",
                   "like": "*managedApis/facebook"
                },
                {
                   "field": "Microsoft.Web/connections/api.id",
                   "like": "*managedApis/pinterest"
                }
             ]
          },
          "then": {
             "effect": "deny"
          }
       },
       "parameters": {}
     }
    
  5. Jakmile budete mít hotovo, vyberte Uložit. Po uložení definice zásady Azure Policy vygeneruje a přidá do definice zásady další hodnoty vlastností.

  6. Pokud chcete přiřadit definici zásady, ve které chcete zásadu vynutit, vytvořte přiřazení zásady.

Další informace o definicích Azure Policy najdete v těchto tématech:

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 pouze pracovní postup aplikace logiky, prostředek připojení se automaticky neodstraní a bude existovat až do odstranění. Může se jednat o scénář, ve kterém už prostředek připojení existuje nebo ve kterém musíte vytvořit prostředek připojení pro použití mimo aplikaci logiky. Možnost přidružit připojení k jinému pracovnímu postupu aplikace logiky můžete přesto zablokovat vytvořením zásady, která brání ukládání pracovních postupů aplikací logiky, které se pokoušejí použít omezené nebo neschválené připojení. Tato zásada má vliv jenom na pracovní postupy aplikací logiky, které připojení ještě nepoužívají.

  1. Do vyhledávacího pole Azure Portal zadejte zásady a vyberte Zásady.

    Snímek obrazovky s vyhledávacím polem Azure Portal se zadanými zásadami a vybranými zásadami

  2. V nabídce Zásady v části Vytváření obsahu vyberte Definice. Na panelu nástrojů podokna Definice vyberte Definice zásad.

    Snímek obrazovky s panelem nástrojů podokna Definice s vybranou možností Definice zásad

  3. V části Definice zásady zadejte informace o definici zásady na základě vlastností popsaných v příkladu a pokračujte v příkladu pomocí Instagramu:

    Snímek obrazovky zobrazující vlastnosti definice zásad

    Vlastnost Požaduje se Hodnota Popis
    Umístění definice Yes <Název předplatného Azure> 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ž to budete hotovi, vyberte Vybrat.

    Název Yes <policy-definition-name> Název, který se má použít pro definici zásady
    Popis No <policy-definition-name> Popis definice zásady
    Kategorie Yes Logic Apps Název existující kategorie nebo nové kategorie pro definici zásady
    Vynucení zásad Yes Povoleno Toto nastavení určuje, jestli se má při ukládání práce povolit nebo zakázat definice zásady.
  4. V části PRAVIDLO ZÁSAD se do textového pole JSON předem vyplní šablona definice zásady. Nahraďte tuto šablonu definicí zásad založenou na vlastnostech popsaných v následující tabulce a použijte tuto syntaxi:

    {
       "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ář nastaví mode na All, který použije zásadu na skupiny prostředků Azure, předplatná a všechny typy prostředků.

    Další informace najdete v tématu Struktura definic zásad – režim.

    if {condition-to-evaluate} Podmínka, která určuje, kdy se má pravidlo zásad vynutit

    V tomto scénáři určuje, {condition-to-evaluate} zda výstup řetězce 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 je výstup řetězce z objektu value , který převede $connectors objekt uvnitř objektu Microsoft.Logic/workflows/parameters na [string(field('Microsoft.Logic/workflows/parameters'))]ř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í, aby pravidlo fungovalo bez ohledu na to, contains kde {connector-name} se zobrazí a kde řetězec je ID konektoru, {connector-name}který chcete omezit nebo blokovat.

    Předpokládejme například, že chcete blokovat připojení k platformám nebo databázím sociálních médií:

    -Twitter: twitter
    -Instagram: instagram
    -Facebook: facebook
    - Pinterest: pinterest
    - SQL Server nebo Azure SQL:sql

    Pokud chcete tato ID konektorů najít, přečtěte si část 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ínky

    V tomto scénáři {effect-to-apply} je potřeba zablokovat 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 Je effect nebo deny zablokuje požadavek na uložení aplikace logiky, která používá zadané připojení.

    Další informace najdete v tématu Vysvětlení efektů Azure Policy – Zamítnutí.

    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": {}
     }
    

    Pole PRAVIDLO ZÁSAD se zobrazí takto:

    Snímek obrazovky znázorňující pravidlo definice zásad

  5. Jakmile budete mít hotovo, vyberte Uložit. Po uložení definice zásady Azure Policy vygeneruje a přidá do definice zásady další hodnoty vlastností.

  6. Pokud chcete přiřadit definici zásady, ve které chcete zásadu vynutit, vytvořte přiřazení zásady.

Další informace o definicích Azure Policy najdete v těchto tématech:

Vytvoření přiřazení zásad

Dále je potřeba přiřadit definici zásady, ve které chcete zásadu vynutit, například jedné skupině prostředků, několika skupinám prostředků, tenantovi Azure Active Directory (Azure AD) nebo předplatnému Azure. Pro tento úkol vytvořte přiřazení zásad následujícím postupem:

  1. Do vyhledávacího pole Azure Portal na portálu zadejte zásady a vyberte Zásady.

    Snímek obrazovky zobrazující vyhledávací pole Azure Portal se zadaným textem zásady a vybranou možností Zásada

  2. V nabídce Zásady v části Vytváření obsahu vyberte Přiřazení. Na panelu nástrojů podokna Přiřazení vyberte Přiřadit zásadu.

    Snímek obrazovky s panelem nástrojů podokna Přiřazení s vybranou možností Přiřadit zásadu

  3. V podokně Přiřadit zásadu v části Základy zadejte pro přiřazení zásad tyto informace:

    Vlastnost Povinné Popis
    Rozsah Yes Prostředky, u 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é 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 Yes Název definice zásady, kterou chcete přiřadit a vynutit. Tento příklad pokračuje ukázkovou zásadou Instagramu Blokovat připojení k 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í Yes Název, který se má použít pro přiřazení zásad, pokud se liší od definice zásady
    ID přiřazení Yes Automaticky vygenerované ID pro přiřazení zásad
    Popis No Popis přiřazení zásad
    Vynucení zásad Yes 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ásad

    Pokud například chcete přiřadit zásadu ke skupině prostředků Azure pomocí příkladu Instagramu:

    Snímek obrazovky s vlastnostmi přiřazení zásad

  4. 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ásady projeví. Změny můžou mít také podobné zpožděné účinky.

  5. Jakmile se zásada projeví, můžete ji otestovat.

Další informace najdete v tématu Rychlý start: Vytvoření přiřazení zásad k identifikaci prostředků, které nedodržují předpisy.

Testování zásad

Pokud chcete zásady vyzkoušet, začněte vytvářet připojení pomocí nyní omezeného konektoru v návrháři pracovního postupu. Pokračujte příkladem Instagramu a když se přihlásíte k Instagramu, zobrazí se tato chyba, že se vaší aplikaci logiky nepodařilo vytvořit připojení:

Snímek obrazovky znázorňující selhání připojení kvůli použitým zásadám

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ásad "/subscriptions/xxxxxXXXXXxxxxxXXXXXxxxxxXXXXX/providers/Microsoft.Authorization/policyDefinitions/b5ddcfec-1b24-4cac-a353-360846a59f24"

Další kroky