Sdílet prostřednictvím


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

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

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

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

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

    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

  1. Na webu 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í. Po otevření podokna připojení vyberte v pravém horním rohu zobrazení JSON.

    2. api Vyhledejte objekt, který obsahuje id 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"

    3. id Z hodnoty vlastnosti zkopírujte a uložte ID odkazu na konektor na konci, instagramnapří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:

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

    Snímek obrazovky zobrazující hlavní vyhledávací pole webu Azure Portal se zadanými zásadami a vybranou možností Zásada

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

    Snímek obrazovky s panelem nástrojů podokna Definice a 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 znázorňující vlastnosti definice zásad

    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.
  4. 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 na All, 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 api.id hodnota ve Microsoft.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ínkou

    V tomto scénáři field používá alias , Microsoft.Web/connections/api.idpro 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 hodnoty

    V 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ínky

    V 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:

    Snímek obrazovky znázorňující pole PRAVIDLO ZÁSAD S příkladem pravidla 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": {}
     }
    
  5. 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í.

  6. 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:

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

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

    Snímek obrazovky zobrazující vyhledávací pole webu Azure Portal se zadanými zásadami a vybranou možností Zásada

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

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

  3. 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:

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

    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.
  4. 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 na All, 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ř objektu Microsoft.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ínky

    V 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 je deny 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:

    Snímek obrazovky zobrazující pravidlo definice zásady

  5. 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í.

  6. 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:

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:

  1. Na webu Azure Portal zadejte do vyhledávacího pole portálu zásady a vyberte Zásady.

    Snímek obrazovky zobrazující vyhledávací pole webu Azure Portal se zadanými zásadami a vybranou možností Zásada

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

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

  3. 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:

    Snímek obrazovky znázorňující vlastnosti 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ásada projeví. Změny můžou mít podobné zpožděné účinky.

  5. 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í:

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ásady "/subscriptions/xxxxxXXXXXxxxxxXXXXXxxxxxXXXXX/providers/Microsoft.Authorization/policyDefinitions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"

Další kroky