Blokowanie użycia łącznika w usłudze Azure Logic Apps
Dotyczy: Azure Logic Apps (Zużycie + Standardowa)
Jeśli Twoja organizacja nie zezwala na łączenie się z ograniczonymi lub niezatwierdzonym zasobami przy użyciu łączników zarządzanych w usłudze Azure Logic Apps, możesz zablokować możliwość tworzenia i używania tych połączeń w przepływach pracy aplikacji logiki. Za pomocą usługi Azure Policy można definiować i wymuszać zasady , które uniemożliwiają tworzenie lub używanie połączeń dla łączników, które chcesz zablokować. Ze względów bezpieczeństwa możesz na przykład zablokować połączenia z określonymi platformami mediów społecznościowych lub innymi usługami i systemami.
W tym artykule pokazano, jak skonfigurować zasady blokujące określone połączenia przy użyciu witryny Azure Portal, ale definicje zasad można tworzyć na inne sposoby. Można na przykład użyć interfejsu API REST platformy Azure, programu Azure PowerShell, interfejsu wiersza polecenia platformy Azure i szablonów usługi Azure Resource Manager. Aby uzyskać więcej informacji, zobacz Samouczek: tworzenie zasad i zarządzanie nimi w celu wymuszania zgodności.
Wymagania wstępne
Konto i subskrypcja platformy Azure. Jeśli nie masz subskrypcji, utwórz bezpłatne konto platformy Azure.
Identyfikator odwołania dla łącznika, który chcesz zablokować. Aby uzyskać więcej informacji, zobacz Znajdowanie identyfikatora referencyjnego łącznika.
Znajdowanie identyfikatora odwołania łącznika
Jeśli masz już aplikację logiki z połączeniem, które chcesz zablokować, wykonaj kroki witryny Azure Portal. W przeciwnym razie wykonaj następujące kroki:
Dokumentacja dotycząca łącznika
Przejrzyj sekcję Łączniki dla usługi Azure Logic Apps.
Znajdź stronę referencyjną łącznika, który chcesz zablokować.
Jeśli na przykład chcesz zablokować łącznik Instagram, który jest przestarzały, przejdź do tej strony:
https://learn.microsoft.com/connectors/instagram/
Z adresu URL strony skopiuj i zapisz identyfikator odwołania łącznika na końcu bez ukośnika (
/
), na przykładinstagram
.Później podczas tworzenia definicji zasad użyjesz tego identyfikatora w instrukcji condition definicji, na przykład:
"like": "*managedApis/instagram"
Azure Portal
W witrynie Azure Portal znajdź i otwórz przepływ pracy aplikacji logiki.
W menu aplikacji logiki wybierz jedną z następujących opcji:
Aplikacja logiki użycia: w obszarze Narzędzia programistyczne wybierz pozycję Połączenia interfejsu API.
Standardowa aplikacja logiki: w obszarze Przepływy pracy wybierz pozycję Połączenia. W okienku Połączenia wybierz pozycję Połączenia interfejsu API, jeśli nie została jeszcze wybrana.
W okienku Połączenia interfejsu API wybierz połączenie. Po otwarciu okienka połączenia w prawym górnym rogu wybierz pozycję Widok JSON.
api
Znajdź obiekt, który zawieraid
właściwość i wartość, która ma następujący format:"id": "/subscriptions/{Azure-subscription-ID}/providers/Microsoft.Web/locations/{Azure-region}/managedApis/{connection-name}"
W poniższym przykładzie
id
przedstawiono właściwość i wartość połączenia instagramowego:"id": "/subscriptions/xxxxxXXXXXxxxxxXXXXXxxxxxXXXXX/providers/Microsoft.Web/locations/westus/managedApis/instagram"
id
Z wartości właściwości skopiuj i zapisz identyfikator odwołania łącznika na końcu, na przykładinstagram
.Później podczas tworzenia definicji zasad użyjesz tego identyfikatora w instrukcji condition definicji, na przykład:
"like": "*managedApis/instagram"
Blokowanie tworzenia połączeń
Aby całkowicie zablokować tworzenie połączenia w przepływie pracy aplikacji logiki, wykonaj następujące kroki:
W polu wyszukiwania witryny Azure Portal wprowadź zasady i wybierz pozycję Zasady.
W menu Zasady w obszarze Tworzenie wybierz pozycję Definicje. Na pasku narzędzi okienka Definicje wybierz pozycję Definicja zasad.
W okienku Definicja zasad podaj informacje dotyczące definicji zasad na podstawie właściwości opisanych w przykładzie:
Właściwości Wymagania Wartość Opis Lokalizacja definicji Tak <Azure-subscription-name> Subskrypcja platformy Azure do użycia dla definicji zasad 1. Aby znaleźć subskrypcję, wybierz przycisk wielokropka (...).
2. Z listy Subskrypcja znajdź i wybierz swoją subskrypcję.
3. Po zakończeniu wybierz pozycję Wybierz.Nazwa/nazwisko Tak <nazwa definicji zasad> Nazwa używana dla definicji zasad Opis Nie. <nazwa definicji zasad> Opis definicji zasad Kategoria Tak Aplikacje logiki Nazwa istniejącej kategorii lub nowej kategorii definicji zasad Egzekwowanie zasad Tak Włączono To ustawienie określa, czy włączyć lub wyłączyć definicję zasad podczas zapisywania pracy. W obszarze REGUŁA ZASAD pole edycji JSON jest wstępnie wypełniane szablonem definicji zasad. Zastąp ten szablon definicją zasad na podstawie właściwości opisanych w poniższej tabeli i postępując zgodnie z następującą składnią:
{ "mode": "All", "policyRule": { "if": { "field": "Microsoft.Web/connections/api.id", "like": "*managedApis/{connector-name}" }, "then": { "effect": "deny" } }, "parameters": {} }
Właściwości Wartość Opis mode
All
Tryb określający typy zasobów, które są obliczane przez zasady. W tym scenariuszu ustawiono wartość
mode
All
, która stosuje zasady do grup zasobów platformy Azure, subskrypcji i wszystkich typów zasobów.Aby uzyskać więcej informacji, zobacz Struktura definicji zasad — tryb.
if
{condition-to-evaluate}
Warunek określający, kiedy należy wymusić regułę zasad W tym scenariuszu parametr
{condition-to-evaluate}
określa, czyapi.id
wartość wMicrosoft.Web/connections/api.id
elemecie jest zgodna*managedApis/{connector-name}
z wartością , która określa wartość wieloznaczny (*) .Aby uzyskać więcej informacji, zobacz Struktura definicji zasad — reguła zasad.
field
Microsoft.Web/connections/api.id
Wartość, która ma być porównywana field
z warunkiemW tym scenariuszu
field
użyto aliasu ,Microsoft.Web/connections/api.id
aby uzyskać dostęp do wartości we właściwości łącznika .api.id
like
*managedApis/{connector-name}
Operator logiczny i wartość do użycia do porównywania field
wartościW tym scenariuszu
like
operator i symbol wieloznaczny (*) upewnij się, że reguła działa niezależnie od regionu, a ciąg , jest wartością zgodną z tym,*managedApis/{connector-name}
gdzie{connector-name}
jest identyfikator łącznika, który chcesz zablokować.Załóżmy na przykład, że chcesz zablokować tworzenie połączeń z platformami mediów społecznościowych lub bazami danych:
- X:
x
- Instagram:instagram
- Facebook:facebook
- Pintereście:pinterest
— SQL Server lub Azure SQL:sql
Aby znaleźć te identyfikatory łączników, zobacz Znajdowanie identyfikatora odwołania łącznika we wcześniejszej części tego tematu.
then
{effect-to-apply}
Efekt, który ma być stosowany po spełnieniu if
warunkuW tym scenariuszu elementem
{effect-to-apply}
jest blokowanie i niepowodzenie żądania lub operacji, które nie są zgodne z zasadami.Aby uzyskać więcej informacji, zobacz Struktura definicji zasad — reguła zasad.
effect
deny
Elementem effect
jest zablokowanie żądania, które polega na utworzeniu określonego połączeniaAby uzyskać więcej informacji, zobacz Omówienie efektów usługi Azure Policy — Odmowa.
Załóżmy na przykład, że chcesz zablokować tworzenie połączeń z łącznikiem instagramowym. Oto definicja zasad, której można użyć:
{ "mode": "All", "policyRule": { "if": { "field": "Microsoft.Web/connections/api.id", "like": "*managedApis/instagram" }, "then": { "effect": "deny" } }, "parameters": {} }
Oto sposób wyświetlania pola REGUŁA ZASAD:
W przypadku wielu łączników można dodać więcej warunków, na przykład:
{ "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": {} }
Po zakończeniu wybierz opcję Zapisz. Po zapisaniu definicji zasad usługa Azure Policy generuje i dodaje więcej wartości właściwości do definicji zasad.
Następnie, aby przypisać definicję zasad, w której chcesz wymusić zasady, utwórz przypisanie zasad.
Aby uzyskać więcej informacji na temat definicji usługi Azure Policy, zobacz następujące tematy:
- Struktura definicji zasad platformy Azure
- Samouczek: Tworzenie zasad i zarządzanie nimi w celu wymuszania zgodności
- Wbudowane definicje zasad usługi Azure Policy dla usługi Azure Logic Apps
Blokuj kojarzenie połączeń z aplikacjami logiki
Podczas tworzenia połączenia w przepływie pracy aplikacji logiki to połączenie istnieje jako oddzielny zasób platformy Azure. Jeśli usuniesz tylko przepływ pracy aplikacji logiki, zasób połączenia nie zostanie automatycznie usunięty i będzie nadal istnieć do momentu usunięcia. Może istnieć scenariusz, w którym zasób połączenia już istnieje lub gdzie trzeba utworzyć zasób połączenia do użycia poza aplikacją logiki. Nadal można zablokować możliwość skojarzenia połączenia z innym przepływem pracy aplikacji logiki, tworząc zasady, które uniemożliwiają zapisywanie przepływów pracy aplikacji logiki, które próbują używać ograniczonego lub niezatwierdzonego połączenia. Te zasady mają wpływ tylko na przepływy pracy aplikacji logiki, które jeszcze nie korzystają z połączenia.
W polu wyszukiwania witryny Azure Portal wprowadź zasady i wybierz pozycję Zasady.
W menu Zasady w obszarze Tworzenie wybierz pozycję Definicje. Na pasku narzędzi okienka Definicje wybierz pozycję Definicja zasad.
W obszarze Definicja zasad podaj informacje dotyczące definicji zasad na podstawie właściwości opisanych w przykładzie i kontynuuj korzystanie z instagrama jako przykładu:
Właściwości Wymagania Wartość Opis Lokalizacja definicji Tak <Azure-subscription-name> Subskrypcja platformy Azure do użycia dla definicji zasad 1. Aby znaleźć subskrypcję, wybierz przycisk wielokropka (...).
2. Z listy Subskrypcja znajdź i wybierz swoją subskrypcję.
3. Po zakończeniu wybierz pozycję Wybierz.Nazwa/nazwisko Tak <nazwa definicji zasad> Nazwa używana dla definicji zasad Opis Nie. <nazwa definicji zasad> Opis definicji zasad Kategoria Tak Aplikacje logiki Nazwa istniejącej kategorii lub nowej kategorii definicji zasad Egzekwowanie zasad Tak Włączono To ustawienie określa, czy włączyć lub wyłączyć definicję zasad podczas zapisywania pracy. W obszarze REGUŁA ZASAD pole edycji JSON jest wstępnie wypełniane szablonem definicji zasad. Zastąp ten szablon definicją zasad na podstawie właściwości opisanych w poniższej tabeli i postępując zgodnie z następującą składnią:
{ "mode": "All", "policyRule": { "if": { "value": "[string(field('Microsoft.Logic/workflows/parameters'))]", "contains": "{connector-name}" }, "then": { "effect": "deny" } }, "parameters": {} }
Właściwości Wartość Opis mode
All
Tryb określający typy zasobów, które są obliczane przez zasady. W tym scenariuszu ustawiono wartość
mode
All
, która stosuje zasady do grup zasobów platformy Azure, subskrypcji i wszystkich typów zasobów.Aby uzyskać więcej informacji, zobacz Struktura definicji zasad — tryb.
if
{condition-to-evaluate}
Warunek określający, kiedy należy wymusić regułę zasad W tym scenariuszu określa
{condition-to-evaluate}
, czy ciąg wyjściowy z[string(field('Microsoft.Logic/workflows/parameters'))]
, zawiera ciąg ,{connector-name}
.Aby uzyskać więcej informacji, zobacz Struktura definicji zasad — reguła zasad.
value
[string(field('Microsoft.Logic/workflows/parameters'))]
Wartość, która ma być porównywana z warunkiem W tym scenariuszu
value
parametr jest wynikiem ciągu z[string(field('Microsoft.Logic/workflows/parameters'))]
, który konwertuje$connectors
obiekt wewnątrzMicrosoft.Logic/workflows/parameters
obiektu na ciąg.contains
{connector-name}
Operator logiczny i wartość do użycia do porównywania z właściwością value
W tym scenariuszu operator upewnia się, że reguła
contains
działa niezależnie od tego, gdzie{connector-name}
jest wyświetlany ciąg ,{connector-name}
jest identyfikatorem łącznika, który chcesz ograniczyć lub zablokować.Załóżmy na przykład, że chcesz zablokować używanie połączeń z platformami lub bazami danych mediów społecznościowych:
- X:
x
- Instagram:instagram
- Facebook:facebook
- Pintereście:pinterest
— SQL Server lub Azure SQL:sql
Aby znaleźć te identyfikatory łączników, zobacz Znajdowanie identyfikatora odwołania łącznika we wcześniejszej części tego tematu.
then
{effect-to-apply}
Efekt, który ma być stosowany po spełnieniu if
warunkuW tym scenariuszu elementem
{effect-to-apply}
jest blokowanie i niepowodzenie żądania lub operacji, które nie są zgodne z zasadami.Aby uzyskać więcej informacji, zobacz Struktura definicji zasad — reguła zasad.
effect
deny
Element effect
todeny
lub blokuje żądanie zapisania aplikacji logiki korzystającej z określonego połączeniaAby uzyskać więcej informacji, zobacz Omówienie efektów usługi Azure Policy — Odmowa.
Załóżmy na przykład, że chcesz zablokować zapisywanie aplikacji logiki korzystających z połączeń na Instagramie. Oto definicja zasad, której można użyć:
{ "mode": "All", "policyRule": { "if": { "value": "[string(field('Microsoft.Logic/workflows/parameters'))]", "contains": "instagram" }, "then": { "effect": "deny" } }, "parameters": {} }
Oto sposób wyświetlania pola REGUŁA ZASAD:
Po zakończeniu wybierz opcję Zapisz. Po zapisaniu definicji zasad usługa Azure Policy generuje i dodaje więcej wartości właściwości do definicji zasad.
Następnie, aby przypisać definicję zasad, w której chcesz wymusić zasady, utwórz przypisanie zasad.
Aby uzyskać więcej informacji na temat definicji usługi Azure Policy, zobacz następujące tematy:
- Struktura definicji zasad platformy Azure
- Samouczek: Tworzenie zasad i zarządzanie nimi w celu wymuszania zgodności
- Wbudowane definicje zasad usługi Azure Policy dla usługi Azure Logic Apps
Utworzenie przypisania zasad
Następnie należy przypisać definicję zasad, w której chcesz wymusić zasady, na przykład do jednej grupy zasobów, wielu grup zasobów, dzierżawy firmy Microsoft Entra lub subskrypcji platformy Azure. W tym zadaniu wykonaj następujące kroki, aby utworzyć przypisanie zasad:
W witrynie Azure Portal w polu wyszukiwania portalu wprowadź zasady i wybierz pozycję Zasady.
W menu Zasady w obszarze Tworzenie wybierz pozycję Przypisania. Na pasku narzędzi okienka Przypisania wybierz pozycję Przypisz zasady.
W okienku Przypisywanie zasad w obszarze Podstawy podaj te informacje dotyczące przypisania zasad:
Właściwości Wymagania opis Scope Tak Zasoby, w których chcesz wymusić przypisanie zasad. 1. Obok pola Zakres wybierz przycisk wielokropka (...).
2. Z listy Subskrypcja wybierz subskrypcję platformy Azure.
3. Opcjonalnie z listy Grupa zasobów wybierz grupę zasobów.
4. Po zakończeniu wybierz pozycję Wybierz.Wykluczenia Nie. Wszystkie zasoby platformy Azure do wykluczenia z przypisania zasad. 1. Obok pola Wykluczenia wybierz przycisk wielokropka (...).
2. Z listy Zasób wybierz zasób >Dodaj do wybranego zakresu.
3. Po zakończeniu wybierz pozycję Zapisz.Definicja zasad Tak Nazwa definicji zasad, którą chcesz przypisać i wymusić. Ten przykład jest kontynuowany z przykładowymi zasadami instagramowymi "Blokuj połączenia na Instagramie". 1. Obok pola Definicja zasad wybierz przycisk wielokropka (...).
2. Znajdź i wybierz definicję zasad przy użyciu filtru typ lub pola wyszukiwania .
3. Po zakończeniu wybierz pozycję Wybierz.Nazwa przypisania Tak Nazwa używana do przypisania zasad, jeśli różni się od definicji zasad Identyfikator przypisania Tak Automatycznie wygenerowany identyfikator przypisania zasad Opis Nie. Opis przypisania zasad Egzekwowanie zasad Tak Ustawienie, które włącza lub wyłącza przypisanie zasad Przypisane przez Nie. Nazwa osoby, która utworzyła i zastosowała przypisanie zasad Aby na przykład przypisać zasady do grupy zasobów platformy Azure przy użyciu przykładu instagrama:
Po zakończeniu wybierz pozycję Przejrzyj i utwórz.
Po utworzeniu zasad może być konieczne odczekenie do 15 minut przed zastosowaniem zasad. Zmiany mogą również mieć podobne opóźnione skutki.
Po wprowadzeniu zasad można przetestować zasady.
Aby uzyskać więcej informacji, zobacz Szybki start: tworzenie przypisania zasad w celu identyfikowania niezgodnych zasobów.
Testowanie zasad
Aby wypróbować zasady, rozpocznij tworzenie połączenia przy użyciu łącznika z ograniczeniami w projektancie przepływu pracy. Kontynuując przykład na Instagramie, po zalogowaniu się na Instagramie zostanie wyświetlony ten błąd, że aplikacja logiki nie może utworzyć połączenia:
Komunikat zawiera następujące informacje:
opis | Zawartość |
---|---|
Przyczyna błędu | "Resource 'instagram' was disallowed by policy." |
Nazwa przypisania | "Block Instagram connections" |
Identyfikator przypisania | "/subscriptions/xxxxxXXXXXxxxxxXXXXXxxxxxXXXXX/resourceGroups/MyLogicApp-RG/providers/Microsoft.Authorization/policyAssignments/4231890fc3bd4352acb0b673" |
Identyfikator definicji zasad | "/subscriptions/xxxxxXXXXXxxxxxXXXXXxxxxxXXXXX/providers/Microsoft.Authorization/policyDefinitions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e" |
Następne kroki
- Dowiedz się więcej na temat usługi Azure Policy