Blockera anslutningsanvändning i Azure Logic Apps
Gäller för: Azure Logic Apps (Förbrukning + Standard)
Om din organisation inte tillåter anslutning till begränsade eller icke godkända resurser med hjälp av sina hanterade anslutningsappar i Azure Logic Apps kan du blockera möjligheten att skapa och använda dessa anslutningar i arbetsflöden för logikappar. Med Azure Policy kan du definiera och tillämpa principer som förhindrar att du skapar eller använder anslutningar för anslutningsappar som du vill blockera. Av säkerhetsskäl kanske du till exempel vill blockera anslutningar till specifika sociala medieplattformar eller andra tjänster och system.
Den här artikeln visar hur du konfigurerar en princip som blockerar specifika anslutningar med hjälp av Azure Portal, men du kan skapa principdefinitioner på andra sätt. Du kan till exempel använda Azure REST API, Azure PowerShell, Azure CLI och Azure Resource Manager-mallar. Mer information finns i Självstudie: Skapa och hantera principer för att framtvinga efterlevnad.
Förutsättningar
Ett Azure-konto och prenumeration. Om du inte har en prenumeration skapar du ett kostnadsfritt Azure-konto.
Referens-ID:t för anslutningsappen som du vill blockera. Mer information finns i Hitta anslutningsappens referens-ID.
Hitta anslutningsreferens-ID
Om du redan har en logikapp med anslutningen som du vill blockera följer du stegen för Azure Portal. Annars följer du dessa steg:
Referensdokument för anslutningsapp
Leta upp referenssidan för anslutningsappen som du vill blockera.
Om du till exempel vill blockera Instagram-anslutningsappen, som är inaktuell, går du till den här sidan:
https://zcusa.951200.xyz/connectors/instagram/
Från sidans URL kopierar och sparar du anslutningsreferens-ID:t i slutet utan snedstrecket (
/
), till exempelinstagram
.När du senare skapar din principdefinition använder du det här ID:t i definitionens villkorsuttryck, till exempel:
"like": "*managedApis/instagram"
Azure Portal
I Azure Portal letar du upp och öppnar arbetsflödet för logikappen.
Välj något av följande alternativ på logikappmenyn:
Förbrukningslogikapp: Under Utvecklingsverktyg väljer du API-anslutningar.
Standardlogikapp: Under Arbetsflöden väljer du Anslutningar. I fönstret Anslutningar väljer du API-anslutningar om de inte redan har valts.
I fönstret API-anslutningar väljer du anslutningen. När anslutningsfönstret öppnas väljer du JSON-vy i det övre högra hörnet.
Leta reda på
api
objektet, som innehåller en egenskap och ettid
värde som har följande format:"id": "/subscriptions/{Azure-subscription-ID}/providers/Microsoft.Web/locations/{Azure-region}/managedApis/{connection-name}"
I följande exempel visas egenskapen
id
och värdet för en Instagram-anslutning:"id": "/subscriptions/xxxxxXXXXXxxxxxXXXXXxxxxxXXXXX/providers/Microsoft.Web/locations/westus/managedApis/instagram"
Från egenskapsvärdet
id
kopierar och sparar du anslutningsappens referens-ID i slutet,instagram
till exempel .När du senare skapar din principdefinition använder du det här ID:t i definitionens villkorsuttryck, till exempel:
"like": "*managedApis/instagram"
Blockera skapande av anslutningar
Följ dessa steg om du vill blockera skapandet av en anslutning helt och hållet i ett logikapparbetsflöde:
I sökrutan Azure Portal anger du princip och väljer Princip.
På menyn Princip går du till Redigering och väljer Definitioner. I verktygsfältet Definitioner väljer du Principdefinition.
I fönstret Principdefinition anger du informationen för din principdefinition baserat på de egenskaper som beskrivs i exemplet:
Property Obligatoriskt Värde beskrivning Definitionsplats Ja <Namn-på-Azure-prenumeration> Den Azure-prenumeration som ska användas för principdefinitionen 1. Om du vill hitta din prenumeration väljer du knappen ellipser (...).
2. I prenumerationslistan letar du upp och väljer din prenumeration.
3. När du är klar väljer du Välj.Namn Ja <policy-definition-name> Namnet som ska användas för principdefinitionen Beskrivning Nej <policy-definition-name> En beskrivning av principdefinitionen Kategori Ja Logikappar Namnet på en befintlig kategori eller ny kategori för principdefinitionen Principframtvingande Ja Aktiverad Den här inställningen anger om du vill aktivera eller inaktivera principdefinitionen när du sparar ditt arbete. Under PRINCIPREGEL fylls JSON-redigeringsrutan i förväg med en principdefinitionsmall. Ersätt den här mallen med din principdefinition baserat på de egenskaper som beskrivs i tabellen nedan och genom att följa den här syntaxen:
{ "mode": "All", "policyRule": { "if": { "field": "Microsoft.Web/connections/api.id", "like": "*managedApis/{connector-name}" }, "then": { "effect": "deny" } }, "parameters": {} }
Property Värde beskrivning mode
All
Läget som avgör vilka resurstyper som principen utvärderar. Det här scenariot anger
mode
tillAll
, som tillämpar principen på Azure-resursgrupper, prenumerationer och alla resurstyper.Mer information finns i Policydefinitionsstruktur – läge.
if
{condition-to-evaluate}
Villkoret som avgör när principregeln ska tillämpas I det här scenariot
{condition-to-evaluate}
avgör omapi.id
värdet iMicrosoft.Web/connections/api.id
matchar på*managedApis/{connector-name}
, som anger ett jokerteckenvärde (*).Mer information finns i Policydefinitionsstruktur – principregel.
field
Microsoft.Web/connections/api.id
Det field
värde som ska jämföras med villkoretI det här scenariot
field
använder aliaset ,Microsoft.Web/connections/api.id
för att komma åt värdet i anslutningsegenskapen, .api.id
like
*managedApis/{connector-name}
Den logiska operatorn och värdet som ska användas för att field
jämföra värdetI det här scenariot ser både operatorn
like
och jokertecknet (*) till att regeln fungerar oavsett region, och strängen ,*managedApis/{connector-name}
är det värde som ska matcha var{connector-name}
är ID:t för anslutningsappen som du vill blockera.Anta till exempel att du vill blockera skapandet av anslutningar till plattformar eller databaser för sociala medier:
- X:
x
- Instagram:instagram
- Facebook:facebook
- Pinterest:pinterest
– SQL Server eller Azure SQL:sql
Information om hur du hittar dessa anslutnings-ID:er finns i Hitta anslutningsappens referens-ID tidigare i det här avsnittet.
then
{effect-to-apply}
Den effekt som ska tillämpas när villkoret uppfylls if
I det här scenariot
{effect-to-apply}
är att blockera och misslyckas en begäran eller åtgärd som inte följer principen.Mer information finns i Policydefinitionsstruktur – principregel.
effect
deny
är effect
att blockera begäran, vilket är att skapa den angivna anslutningenMer information finns i Förstå Azure Policy-effekter – Neka.
Anta till exempel att du vill blockera skapandet av anslutningar med Instagram-anslutningsappen. Här är den principdefinition som du kan använda:
{ "mode": "All", "policyRule": { "if": { "field": "Microsoft.Web/connections/api.id", "like": "*managedApis/instagram" }, "then": { "effect": "deny" } }, "parameters": {} }
Så här visas rutan PRINCIPREGEL:
För flera anslutningsappar kan du lägga till fler villkor, till exempel:
{ "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": {} }
När du är klar väljer du Spara. När du har sparat principdefinitionen genererar och lägger Azure Policy till fler egenskapsvärden i principdefinitionen.
Skapa sedan en principtilldelning för att tilldela den principdefinition där du vill framtvinga principen.
Mer information om Azure Policy-definitioner finns i följande avsnitt:
- Azure Policy-definitionsstruktur
- Självstudier: Skapa och hantera principer för att tillämpa efterlevnad
- Inbyggda principdefinitioner för Azure Policy för Azure Logic Apps
Blockera koppling av anslutningar med logikappar
När du skapar en anslutning i ett logikapparbetsflöde finns den här anslutningen som en separat Azure-resurs. Om du bara tar bort arbetsflödet för logikappen tas inte anslutningsresursen bort automatiskt och fortsätter att finnas förrän den har tagits bort. Du kan ha ett scenario där anslutningsresursen redan finns eller där du måste skapa anslutningsresursen för användning utanför logikappen. Du kan fortfarande blockera möjligheten att associera anslutningen med ett annat logikapparbetsflöde genom att skapa en princip som förhindrar att logikappens arbetsflöden sparas som försöker använda den begränsade eller icke godkända anslutningen. Den här principen påverkar endast arbetsflöden för logikappar som inte redan använder anslutningen.
I sökrutan Azure Portal anger du princip och väljer Princip.
På menyn Princip går du till Redigering och väljer Definitioner. I verktygsfältet Definitioner väljer du Principdefinition.
Under Principdefinition anger du informationen för din principdefinition, baserat på de egenskaper som beskrivs i exemplet och fortsätter med Instagram som exempel:
Property Obligatoriskt Värde beskrivning Definitionsplats Ja <Namn-på-Azure-prenumeration> Den Azure-prenumeration som ska användas för principdefinitionen 1. Om du vill hitta din prenumeration väljer du knappen ellipser (...).
2. I prenumerationslistan letar du upp och väljer din prenumeration.
3. När du är klar väljer du Välj.Namn Ja <policy-definition-name> Namnet som ska användas för principdefinitionen Beskrivning Nej <policy-definition-name> En beskrivning av principdefinitionen Kategori Ja Logikappar Namnet på en befintlig kategori eller ny kategori för principdefinitionen Principframtvingande Ja Aktiverad Den här inställningen anger om du vill aktivera eller inaktivera principdefinitionen när du sparar ditt arbete. Under PRINCIPREGEL fylls JSON-redigeringsrutan i förväg med en principdefinitionsmall. Ersätt den här mallen med din principdefinition baserat på de egenskaper som beskrivs i tabellen nedan och genom att följa den här syntaxen:
{ "mode": "All", "policyRule": { "if": { "value": "[string(field('Microsoft.Logic/workflows/parameters'))]", "contains": "{connector-name}" }, "then": { "effect": "deny" } }, "parameters": {} }
Property Värde beskrivning mode
All
Läget som avgör vilka resurstyper som principen utvärderar. Det här scenariot anger
mode
tillAll
, som tillämpar principen på Azure-resursgrupper, prenumerationer och alla resurstyper.Mer information finns i Policydefinitionsstruktur – läge.
if
{condition-to-evaluate}
Villkoret som avgör när principregeln ska tillämpas I det här scenariot
{condition-to-evaluate}
avgör om strängen utdata från[string(field('Microsoft.Logic/workflows/parameters'))]
, innehåller strängen,{connector-name}
.Mer information finns i Policydefinitionsstruktur – principregel.
value
[string(field('Microsoft.Logic/workflows/parameters'))]
Det värde som ska jämföras med villkoret I det här scenariot
value
är strängutdata från[string(field('Microsoft.Logic/workflows/parameters'))]
, som konverterar$connectors
objektet inutiMicrosoft.Logic/workflows/parameters
objektet till en sträng.contains
{connector-name}
Den logiska operatorn och värdet som ska användas för att jämföra med value
egenskapenI det här scenariot ser operatorn
contains
till att regeln fungerar oavsett var{connector-name}
den visas, där strängen,{connector-name}
, är ID:t för anslutningsappen som du vill begränsa eller blockera.Anta till exempel att du vill blockera användning av anslutningar till plattformar eller databaser för sociala medier:
- X:
x
- Instagram:instagram
- Facebook:facebook
- Pinterest:pinterest
– SQL Server eller Azure SQL:sql
Information om hur du hittar dessa anslutnings-ID:er finns i Hitta anslutningsappens referens-ID tidigare i det här avsnittet.
then
{effect-to-apply}
Den effekt som ska tillämpas när villkoret uppfylls if
I det här scenariot
{effect-to-apply}
är att blockera och misslyckas en begäran eller åtgärd som inte följer principen.Mer information finns i Policydefinitionsstruktur – principregel.
effect
deny
effect
är tilldeny
eller blockera begäran om att spara en logikapp som använder den angivna anslutningenMer information finns i Förstå Azure Policy-effekter – Neka.
Anta till exempel att du vill blockera sparande av logikappar som använder Instagram-anslutningar. Här är den principdefinition som du kan använda:
{ "mode": "All", "policyRule": { "if": { "value": "[string(field('Microsoft.Logic/workflows/parameters'))]", "contains": "instagram" }, "then": { "effect": "deny" } }, "parameters": {} }
Så här visas rutan PRINCIPREGEL:
När du är klar väljer du Spara. När du har sparat principdefinitionen genererar och lägger Azure Policy till fler egenskapsvärden i principdefinitionen.
Skapa sedan en principtilldelning för att tilldela den principdefinition där du vill framtvinga principen.
Mer information om Azure Policy-definitioner finns i följande avsnitt:
- Azure Policy-definitionsstruktur
- Självstudier: Skapa och hantera principer för att tillämpa efterlevnad
- Inbyggda principdefinitioner för Azure Policy för Azure Logic Apps
Skapa principtilldelning
Därefter måste du tilldela principdefinitionen där du vill tillämpa principen, till exempel till en enskild resursgrupp, flera resursgrupper, Microsoft Entra-klientorganisation eller Azure-prenumeration. För den här uppgiften följer du de här stegen för att skapa en principtilldelning:
I Azure Portal, sökrutan i portalen, ange princip och välj Princip.
På menyn Princip går du till Redigering och väljer Tilldelningar. I verktygsfältet Tilldelningar väljer du Tilldela princip.
I fönstret Tilldela princip under Grundläggande anger du den här informationen för principtilldelningen:
Property Obligatoriskt Beskrivning Definitionsområde Ja De resurser där du vill framtvinga principtilldelningen. 1. Bredvid rutan Omfång väljer du knappen ellipser (...).
2. I prenumerationslistan väljer du Azure-prenumerationen.
3. Du kan också välja resursgruppen i listan Resursgrupp .
4. När du är klar väljer du Välj.Undantag Nej Alla Azure-resurser som ska undantas från principtilldelningen. 1. Bredvid rutan Undantag väljer du knappen ellipser (...).
2. I resurslistan väljer du resursen >Lägg till i valt omfång.
3. När du är klar väljer du Spara.Principdefinition Ja Namnet på den principdefinition som du vill tilldela och framtvinga. Det här exemplet fortsätter med Instagram-exempelprincipen "Blockera Instagram-anslutningar". 1. Bredvid rutan Principdefinition väljer du knappen ellipser (...).
2. Leta upp och välj principdefinitionen med hjälp av rutan Typfilter eller Sök .
3. När du är klar väljer du Välj.Namn på tilldelning Ja Namnet som ska användas för principtilldelningen, om det skiljer sig från principdefinitionen Tilldelnings-ID Ja Det automatiskt genererade ID:t för principtilldelningen Beskrivning Nej En beskrivning av principtilldelningen Principframtvingande Ja Inställningen som aktiverar eller inaktiverar principtilldelningen Tilldelad av Nej Namnet på den person som skapade och tillämpade principtilldelningen Om du till exempel vill tilldela principen till en Azure-resursgrupp med hjälp av Instagram-exemplet:
När du är klar väljer du Granska + skapa.
När du har skapat en princip kan du behöva vänta upp till 15 minuter innan principen börjar gälla. Ändringar kan också ha liknande fördröjda effekter.
När principen börjar gälla kan du testa principen.
Mer information finns i Snabbstart: Skapa en principtilldelning för att identifiera icke-kompatibla resurser.
Testa principen
Om du vill prova principen börjar du skapa en anslutning med hjälp av den nu begränsade anslutningsappen i arbetsflödesdesignern. Om du fortsätter med Instagram-exemplet får du det här felet när du loggar in på Instagram att logikappen inte kunde skapa anslutningen:
Meddelandet innehåller följande information:
beskrivning | Innehåll |
---|---|
Orsak till felet | "Resource 'instagram' was disallowed by policy." |
Namn på tilldelning | "Block Instagram connections" |
Tilldelnings-ID | "/subscriptions/xxxxxXXXXXxxxxxXXXXXxxxxxXXXXX/resourceGroups/MyLogicApp-RG/providers/Microsoft.Authorization/policyAssignments/4231890fc3bd4352acb0b673" |
Principdefinitions-ID | "/subscriptions/xxxxxXXXXXxxxxxXXXXXxxxxxXXXXX/providers/Microsoft.Authorization/policyDefinitions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e" |
Nästa steg
- Läs mer om Azure Policy