Udostępnij przez


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 przewodniku pokazano, jak skonfigurować zasady blokujące określone połączenia przy użyciu witryny Azure Portal. Definicje zasad można również tworzyć na inne sposoby. Możesz na przykład użyć interfejsu API REST platformy Azure, programu Azure PowerShell, interfejsu wiersza polecenia platformy Azure lub szablonów usługi Azure Resource Manager. Aby uzyskać więcej informacji, zobacz 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ć. W tym przewodniku pokazano, jak znaleźć ten identyfikator odwołania.

Znajdowanie identyfikatora odwołania łącznika

Jeśli masz już przepływ pracy aplikacji logiki z połączeniem, które chcesz zablokować, pomiń tę sekcję. W przeciwnym razie wykonaj następujące kroki, aby znaleźć identyfikator referencyjny łącznika:

Znajdowanie identyfikatora przy użyciu dokumentacji referencyjnej łącznika

  1. Przejrzyj listę wszystkich łączników zarządzanych usługi Azure Logic Apps.

  2. Znajdź stronę referencyjną łącznika, który chcesz zablokować.

    Jeśli na przykład chcesz zablokować łącznik Gmail, przejdź do tej strony:

    https://learn.microsoft.com/connectors/gmail/

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

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

    "like": "*managedApis/gmail"

Znajdowanie identyfikatora przy użyciu witryny Azure Portal

  1. W witrynie Azure Portal otwórz zasób aplikacji logiki.

  2. Na pasku bocznym zasobu 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.

  3. Na stronie Połączenia interfejsu API wybierz połączenie. Po otworze strony połączenia w prawym górnym rogu wybierz pozycję Widok JSON.

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

    "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.Web/locations/westus/managedApis/gmail"

  5. id Z wartości właściwości skopiuj i zapisz identyfikator odwołania łącznika, który pojawia się na końcu, na przykład gmail.

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

    "like": "*managedApis/gmail"

Blokowanie tworzenia połączeń

Aby zablokować tworzenie połączenia w przepływie pracy, wykonaj następujące kroki:

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

    Zrzut ekranu przedstawia pole wyszukiwania witryny Azure Portal z wprowadzonymi zasadami i wyróżnionymi zasadami.

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

    Zrzut ekranu przedstawiający stronę Definicje z wyróżnioną definicją zasad.

  3. Na stronie Definicja zasad podaj informacje dotyczące definicji zasad na podstawie właściwości w tabeli, które są wyświetlane na poniższej ilustracji:

    Zrzut ekranu przedstawia wartości definicji zasad blokujące usługę Gmail.

    Parameter Wymagania Wartość Opis
    Lokalizacja definicji Tak < Nazwa subskrypcji platformy Azure> Subskrypcja platformy Azure do użycia dla definicji zasad

    1. Aby znaleźć subskrypcję, wybierz wielokropek (...).
    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.
  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 użyj tej składni:

    {
       "mode": "All",
       "policyRule": {
          "if": {
             "field": "Microsoft.Web/connections/api.id",
             "like": "*managedApis/{connector-name}"
          },
          "then": {
             "effect": "deny"
          }
       },
       "parameters": {}
     }
    
    Keyword Wartość Opis
    mode All Tryb określający typy zasobów, które są obliczane przez zasady.

    W tym scenariuszu ustawiono wartość modeAll, 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:

    - X: x
    - 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 sekcji tego artykułu.
    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 gmaila. Oto definicja zasad, której można użyć:

    {
       "mode": "All",
       "policyRule": {
          "if": {
             "field": "Microsoft.Web/connections/api.id",
             "like": "*managedApis/gmail"
          },
          "then": {
             "effect": "deny"
          }
       },
       "parameters": {}
    }
    

    Oto, jak wygląda okno Reguła polityki:

    Zrzut ekranu przedstawiający pole Reguła zasad z przykładem reguły zasad.

    W przypadku wielu łączników można dodać więcej niż jeden warunek, na przykład:

    {
       "mode": "All",
       "policyRule": {
          "if": {
             "anyOf": [
                {
                   "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. 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.

Aby przypisać definicję zasad tam, gdzie chcesz wymusić ich przestrzeganie, utwórz przypisanie zasad zgodnie z opisem w dalszej części tego artykułu.

Aby uzyskać więcej informacji na temat definicji usługi Azure Policy, zobacz:

Blokuj kojarzenie połączeń z aplikacjami logiki

Podczas tworzenia połączenia w przepływie pracy to połączenie istnieje jako oddzielny zasób platformy Azure. Jeśli usuniesz tylko zasób przepływu pracy lub 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 zasobem aplikacji logiki.

Nadal można zablokować możliwość skojarzenia połączenia z innym zasobem aplikacji logiki, tworząc zasady, które uniemożliwiają zapisywanie przepływów pracy, które próbują korzystać z ograniczonego lub niezatwierdzonego połączenia. Te zasady mają wpływ tylko na przepływy pracy, które jeszcze nie korzystają z połączenia.

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

    Zrzut ekranu przedstawia pole wyszukiwania witryny Azure Portal z wprowadzonymi zasadami i wyróżnionymi zasadami.

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

    Zrzut ekranu przedstawiający stronę Definicje z wyróżnioną definicją zasad.

  3. W obszarze Definicja zasad podaj informacje dotyczące definicji zasad na podstawie właściwości w tabeli, która jest zgodna z obrazem.

    Zrzut ekranu przedstawia wartości definicji zasad na potrzeby zapisywania połączeń gmaila.

    Parameter Wymagania Wartość Opis
    Lokalizacja definicji Tak < Nazwa subskrypcji platformy Azure> 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
  4. W obszarze Reguła polityki pole edycji JSON-a jest wstępnie wypełnione szablonem definicji polityki. Zastąp ten szablon definicją zasad na podstawie właściwości opisanych w poniższej tabeli i użyj tej składni:

    {
       "mode": "All",
       "policyRule": {
          "if": {
             "value": "[string(field('Microsoft.Logic/workflows/parameters'))]",
             "contains": "{connector-name}"
          },
          "then": {
             "effect": "deny"
          }
       },
       "parameters": {}
     }
    
    Keyword Wartość Opis
    mode All Tryb określający typy zasobów, które są obliczane przez zasady.

    W tym scenariuszu ustawiono wartość modeAll, 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:

    - X: x
    - 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 sekcji tego artykułu.
    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ń Gmail. Oto definicja zasad, której można użyć:

    {
       "mode": "All",
       "policyRule": {
          "if": {
             "value": "[string(field('Microsoft.Logic/workflows/parameters'))]",
             "contains": "gmail"
          },
          "then": {
             "effect": "deny"
          }
       },
       "parameters": {}
     }
    

    Oto sposób wyświetlania reguły definicji zasad:

    Zrzut ekranu przedstawia regułę definicji zasad.

  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.

Aby przypisać definicję zasad, gdzie chcesz wymusić stosowanie zasad, utwórz przypisanie zasad, jak opisano później w tym przewodniku.

Aby uzyskać więcej informacji na temat definicji usługi Azure Policy, zobacz:

Utworzenie przypisania zasad

Musisz przypisać definicję polityki, w której chcesz wymusić tę politykę. Możesz na przykład przypisać definicję zasad do jednej grupy zasobów, wielu grup zasobów, dzierżawy Microsoft Entra lub subskrypcji Azure. W tym zadaniu wykonaj następujące kroki, aby utworzyć przypisanie zasad:

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

    Zrzut ekranu przedstawia pole wyszukiwania witryny Azure Portal z wprowadzonymi zasadami i wyróżnionymi zasadami.

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

    Zrzut ekranu przedstawiający pasek narzędzi 'Przypisywanie' z wyróżnioną pozycją Przypisz politykę.

  3. Na stronie Przypisywanie zasad w obszarze Podstawy podaj te informacje dotyczące przypisania zasad:

    Parameter 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 >.
    3. Po zakończeniu wybierz pozycję Zapisz.
    Selektory zasobów Nie.
    Definicja zasad Tak Nazwa definicji zasad, którą chcesz przypisać i wymusić. Ten przykład jest kontynuowany z przykładowymi zasadami Gmail, Blokuj połączenia Gmail.

    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.
    Overrides Nie.
    Nazwa przypisania Tak Nazwa używana dla przypisania zasad, jeśli różni się od definicji zasad.
    Opis Nie. Opis przypisania polityki.
    Egzekwowanie zasad Tak Ustawienie, które umożliwia włączenie lub wyłączenie przypisania zasad.

    Aby na przykład przypisać zasady do grupy zasobów platformy Azure przy użyciu przykładu usługi Gmail:

    Zrzut ekranu przedstawiający wartości przypisania zasad.

  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.

Po wprowadzeniu zasad przetestuj zasady w następnej sekcji.

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 Gmaila, po zalogowaniu się do usługi Gmail otrzymujesz komunikat o błędzie, że proces roboczy nie mógł utworzyć połączenia.

Komunikat o błędzie zawiera następujące informacje:

Opis Zawartość
Przyczyna błędu "Resource 'gmail' was disallowed by policy."
Nazwa przypisania "Block Gmail connections"
Identyfikator przypisania "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/MyLogicApp-RG/providers/Microsoft.Authorization/policyAssignments/4231890fc3bd4352acb0b673"
Identyfikator definicji zasad "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.Authorization/policyDefinitions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"