Udostępnij za pośrednictwem


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 referencyjna Połączenie or

  1. Przejrzyj Połączenie ory dla usługi Azure Logic Apps.

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

  3. Z adresu URL strony skopiuj i zapisz identyfikator odwołania łącznika na końcu bez ukośnika (/), na przykład instagram.

    Później podczas tworzenia definicji zasad użyjesz tego identyfikatora w instrukcji condition definicji, na przykład:

    "like": "*managedApis/instagram"

Azure Portal

  1. W witrynie Azure Portal znajdź i otwórz przepływ pracy aplikacji logiki.

  2. 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łączenie ions. W okienku Połączenie ions wybierz pozycję Połączenie ions interfejsu API, jeśli jeszcze nie wybrano.

    1. W okienku Połączenia interfejsu API wybierz połączenie. Po otwarciu okienka połączenia w prawym górnym rogu wybierz pozycję Widok JSON.

    2. api Znajdź obiekt, który zawiera id 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"

    3. id Z wartości właściwości skopiuj i zapisz identyfikator odwołania łącznika na końcu, na przykład instagram.

      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:

  1. W polu wyszukiwania witryny Azure Portal wprowadź zasady i wybierz pozycję Zasady.

    Screenshot showing main Azure portal search box with

  2. W menu Zasady w obszarze Tworzenie wybierz pozycję Definicje. Na pasku narzędzi okienka Definicje wybierz pozycję Definicja zasad.

    Screenshot showing the

  3. W okienku Definicja zasad podaj informacje dotyczące definicji zasad na podstawie właściwości opisanych w przykładzie:

    Screenshot showing the policy definition properties.

    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.
  4. 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, czy api.id wartość w Microsoft.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 warunkiem

    W tym scenariuszu field użyto aliasu , Microsoft.Web/connections/api.idaby 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ści

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

    -Twitter: twitter
    -Instagram: instagram
    -Facebook: facebook
    -Pinterest: 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 warunku

    W 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łączenia

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

    Screenshot showing the

    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/twitter"
                },
                {
                   "field": "Microsoft.Web/connections/api.id",
                   "like": "*managedApis/facebook"
                },
                {
                   "field": "Microsoft.Web/connections/api.id",
                   "like": "*managedApis/pinterest"
                }
             ]
          },
          "then": {
             "effect": "deny"
          }
       },
       "parameters": {}
     }
    
  5. 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.

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

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.

  1. W polu wyszukiwania witryny Azure Portal wprowadź zasady i wybierz pozycję Zasady.

    Screenshot showing the Azure portal search box with

  2. W menu Zasady w obszarze Tworzenie wybierz pozycję Definicje. Na pasku narzędzi okienka Definicje wybierz pozycję Definicja zasad.

    Screenshot showing

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

    Screenshot showing policy definition properties.

    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.
  4. 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ątrz Microsoft.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:

    -Twitter: twitter
    -Instagram: instagram
    -Facebook: facebook
    -Pinterest: 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 warunku

    W 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 to deny lub blokuje żądanie zapisania aplikacji logiki korzystającej z określonego połączenia

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

    Screenshot showing policy definition rule.

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

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

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:

  1. W witrynie Azure Portal w polu wyszukiwania portalu wprowadź zasady i wybierz pozycję Zasady.

    Screenshot showing Azure portal search box with

  2. W menu Zasady w obszarze Tworzenie wybierz pozycję Przypisania. Na pasku narzędzi okienka Przypisania wybierz pozycję Przypisz zasady.

    Screenshot showing

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

    Screenshot showing policy assignment properties.

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

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

Screenshot showing connection failure due to applied policy.

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/b5ddcfec-1b24-4cac-a353-360846a59f24"

Następne kroki