Zasada kontroli dostępu

Przeglądasz dokumentację Apigee Edge.
Przejdź do Dokumentacja Apigee X.
informacje.

Co

Zasada kontroli dostępu pozwala przyznawać i odbierać dostęp do interfejsów API według określonego adresu IP. adresów.

Film: obejrzyj krótki film, aby dowiedzieć się więcej o tym, jak akceptować i odrzucać treści. dostęp do interfejsów API za pomocą określonych adresów IP.

Można ją dołączyć w dowolnym miejscu procesu serwera proxy interfejsu API, jednak zalecane jest sprawdź adresy IP na początku procesu ( Request / ProxyEndpoint / PreFlow), nawet przed uwierzytelnianie czy sprawdzanie limitu.

Przykłady

Wartości masek w poniższych przykładach IPv4 wskazują, który z 4 oktetów (8, 16, 24, 32) (bity) brane pod uwagę przez regułę dopasowania, gdy zezwalasz na dostęp lub go blokujesz. Wartością domyślną jest 32. Zobacz mask w dokumentacji elementu. i informacjami o nich.

Odmowa 198.51.100.1

<AccessControl name="ACL">
  <IPRules noRuleMatchAction = "ALLOW">
    <MatchRule action = "DENY">
      <SourceAddress mask="32">198.51.100.1</SourceAddress>
    </MatchRule>
  </IPRules>
</AccessControl>

Odrzucaj wszystkie żądania z adresu klienta: 198.51.100.1

Zezwalaj na żądania z dowolnego innego adresu klienta.

Odrzucaj przy użyciu zmiennych

<AccessControl name="ACL">
  <IPRules noRuleMatchAction = "ALLOW">
    <MatchRule action = "DENY">
      <SourceAddress mask="{kvm.mask.value}">{kvm.ip.value}</SourceAddress>
    </MatchRule>
    </IPRules>
</AccessControl>

Załóżmy, że używasz mapy wartości klucza (KVM) do przechowywania wartości na potrzeby maskowania i adresów IP. To wygodne podejście do zmiany adresów IP i maskowania w czasie działania bez konieczności aktualizowania i ponownie wdróż serwer proxy interfejsu API. Możesz użyć zasady KeyValueMapOperations, aby pobrać zmienne zawierające wartości kvm.mask.value i kvm.ip.value (zakładając, że zmienne zostały przez Ciebie określone w zasadzie KVM które zawierają wartości maski i adresu IP z Twojej maszyny wirtualnej). Jeśli pobrane wartości to 24 dla maski i 198.51.100.1 w przypadku adresu IP zasada AccessControl odrzuca wszystkie żądania z adresu 198.51.100*.

Wszystkie inne adresy klientów będą dozwolone.

Odmowa 198.51.100.*

<AccessControl name="ACL">
  <IPRules noRuleMatchAction = "ALLOW">
    <MatchRule action = "DENY">
      <SourceAddress mask="24">198.51.100.1</SourceAddress>
    </MatchRule>
    </IPRules>
</AccessControl>

Odrzucaj wszystkie żądania z adresu klienta: 198.51.100*.

Zezwalaj na żądania z dowolnego innego adresu klienta.

198,51*.

<AccessControl name="ACL">
  <IPRules noRuleMatchAction = "ALLOW">
    <MatchRule action = "DENY">
       <SourceAddress mask="16">198.51.100.1</SourceAddress>
    </MatchRule>
  </IPRules>
</AccessControl>

Odrzucaj wszystkie żądania z adresu klienta: 198.51.*.*

Zezwalaj na żądania z dowolnego innego adresu klienta.

Odmowa 198.51.100.*, zezwalaj na 192.0.2.1

<AccessControl name="ACL">
  <IPRules noRuleMatchAction = "ALLOW">
    <MatchRule action = "ALLOW">
      <SourceAddress mask="32">192.0.2.1</SourceAddress>
    </MatchRule>
    <MatchRule action = "DENY">
      <SourceAddress mask="24">198.51.100.1</SourceAddress>
    </MatchRule>
  </IPRules>
</AccessControl>

Odrzuć wszystkie żądania z adresu klienta: 198.51.100.*, ale zezwalaj na wersję 192.0.2.1.

Zezwalaj na żądania z dowolnego innego adresu klienta.

Zezwalaj na kod 198.51*.*

<AccessControl name="ACL">
  <IPRules noRuleMatchAction = "DENY">
    <MatchRule action = "ALLOW">
      <SourceAddress mask="16">198.51.100.1</SourceAddress>
    </MatchRule>
  </IPRules>
</AccessControl>

Zezwalaj na wszystkie żądania z adresu: 198.51.*.*

Odrzucaj żądania z innych adresów klienta.

Zezwalaj na wiele adresów IP

<AccessControl name="ACL">
  <IPRules noRuleMatchAction = "DENY">
    <MatchRule action = "ALLOW">
      <SourceAddress mask="24">198.51.100.1</SourceAddress>
      <SourceAddress mask="24">192.0.2.1</SourceAddress>
      <SourceAddress mask="24">203.0.113.1</SourceAddress>
     </MatchRule>
  </IPRules>
</AccessControl>

Zezwalaj na żądania z adresów klientów: 198.51.100*. 192.0.2*. 203.0.113*.

Odrzucaj pozostałe adresy.

Odrzucaj wiele adresów IP

<AccessControl name="ACL">
  <IPRules noRuleMatchAction = "ALLOW">
    <MatchRule action = "DENY">
      <SourceAddress mask="24">198.51.100.1</SourceAddress>
      <SourceAddress mask="24">192.0.2.1</SourceAddress>
      <SourceAddress mask="24">203.0.113.1</SourceAddress>
    </MatchRule>
  </IPRules>
</AccessControl>

Odrzucaj żądania z adresów klientów: 198.51.100.* 192.0.2*. 203.0.113*.

Zezwalaj na wszystkie inne adresy.

Zezwalaj na wiele adresów IP, odrzucaj wiele adresów IP

<AccessControl name="ACL">
  <IPRules noRuleMatchAction = "DENY">
    <MatchRule action = "DENY">
      <SourceAddress mask="24">198.51.100.1</SourceAddress>
      <SourceAddress mask="24">192.0.2.1</SourceAddress>
      <SourceAddress mask="24">203.0.113.1</SourceAddress>
    </MatchRule>
    <MatchRule action = "ALLOW">
      <SourceAddress mask="16">198.51.100.1</SourceAddress>
      <SourceAddress mask="16">192.0.2.1</SourceAddress>
      <SourceAddress mask="16">203.0.113.1</SourceAddress>
    </MatchRule>
  </IPRules>
</AccessControl>

Zezwalaj: 198.51*.* 192,0*.* 203,0*.*

Odrzucanie podzbioru listy dozwolonych: 198.51.100*. 192.0.2*. 203.0.113*.


Zastosowanie

Oprócz ochrony interfejsów API przed złośliwymi adresami IP zasada kontroli dostępu obejmuje również daje kontrolę nad prawidłowym dostępem IP. Jeśli na przykład chcesz mieć do czynienia tylko z komputerami kontroli nad przedsiębiorstwem w celu dostępu do interfejsów API udostępnianych w środowisku testowym, możesz zezwolić zakres adresów IP sieci wewnętrznej. Deweloperzy pracujący z domu mogą uzyskać dostęp do tych interfejsów API przez VPN.

Konfiguracja i wykonanie zasady kontroli dostępu obejmuje:

  • zdefiniować zestaw reguł dopasowania z jednym z 2 powiązanych działań (ZEZWÓL lub ODRZUĆ). z każdą z nich.
  • Dla każdej reguły dopasowania określ adres IP (element SourceAddress).
  • Określ kolejność testowania reguł.
  • Wszystkie reguły dopasowania są stosowane w podanej kolejności. W przypadku dopasowania reguły odpowiednie działanie jest wykonywane, a kolejne reguły dopasowania są pomijane.
    • Jeśli ta sama reguła jest skonfigurowana z działaniami ZEZWALAJ i ODRZUĆ, reguła, która ma wartość zdefiniowane jako pierwsze w kolejności, a następnie uruchamiana jest następna reguła (z drugim działaniem) pominięto.

Jak zasada wybiera adres IP do oceny

W żądaniu adresy IP mogą pochodzić z różnych źródeł. Na przykład parametr Nagłówek wiadomości True-Client-IP może zawierać adres IP, Nagłówek X-Forwarded-For może zawierać co najmniej 1 adres IP. Ta sekcja opisuje, jak skonfigurować zasadę AccessControl, aby ocenić precyzyjne adresy IP, i analizy.

Oto logika, za pomocą której zasada AccessControl decyduje, który adres IP oceń:

1. Nagłówek True-Client-IP

Zasada najpierw sprawdza adres IP w nagłówku True-Client-IP. Jeśli jeśli nagłówek zawiera prawidłowy adres IP, zasada określa ten adres.

2. Nagłówek X-Forwarded-For

Jeśli nie ma nagłówka True-Client-IP lub masz ustawione Element &lt;IgnoreTrueClientIPHeader&gt; w true(prawda), zasada ocenia adresy IP w nagłówku X-Forwarded-For.

Edge automatycznie wypełnia nagłówek X-Forwarded-For adresem IP otrzymanym podczas ostatniego zewnętrznego uzgadniania połączenia TCP (takim jak adres IP klienta lub routera). Jeśli nagłówek zawiera kilka adresów IP, to prawdopodobnie łańcuch serwerów, które przetworzyły żądanie. Lista adresów może również zawierać sfałszowany adres IP. Skąd więc zasady wiemy, które adresy ocenić?

Konfiguracja i zasady organizacji określają, X-Forwarded-For adresów(y) ocenianych przez zasadę.

Najpierw sprawdź, czy właściwość feature.enableMultipleXForwardCheckForACL jest skonfigurowany w organizacji. Za pomocą Pobierz interfejs API organizacji do sprawdzenia. Następnie:

  • Jeśli nie widzisz aplikacji feature.enableMultipleXForwardCheckForACL na swoim na liście właściwości organizacji, oznacza to, że właściwość ma wartość false (fałsz). (domyślnie). Gdy ta właściwość ma wartość Fałsz, zasada ocenia last (ostatni) w nagłówku (widoczny w narzędzia śledzenia), czyli adresem IP, Krawędź odebrana z ostatniego zewnętrznego uzgadniania połączenia TCP.
  • Jeśli feature.enableMultipleXForwardCheckForACL w Twojej organizacji ma wartość Prawda, skonfiguruj &lt;ValidateBasedOn&gt; w celu określenia adresów IP, które są oceniane przez zasadę.

Zmiana właściwości feature.enableMultipleXForwardCheckForACL

Administratorzy organizacji brzegowych mogą używać Zaktualizuj interfejs API organizacji, aby ustawić Usługa feature.enableMultipleXForwardCheckForACL.

Poniższy przykładowy interfejs API ustawia właściwość w Edge dla chmury prywatnej. Jeśli w organizacji są ustawione inne właściwości, pamiętaj, aby je także uwzględnić. W przeciwnym razie zostaną usunięte.

curl -u email:password -X POST -H "Content-type:application/xml" http://host:8080/v1/o/myorg -d \
"<Organization type="trial" name="MyOrganization">
    <DisplayName>MyOrganization</DisplayName>
    <Properties>
        <Property name="feature.enableMultipleXForwardCheckForACL">true</Property>
        <!-- Include other existing properties as well. -->
    </Properties>
</Organization>"

W Edge dla chmury prywatnej, po zmianie wartości usługę feature.enableMultipleXForwardCheckForACL, musisz ponownie uruchomić procesory wiadomości, jak opisano w Uruchom/zatrzymaj/uruchom ponownie poszczególne komponenty.

Wymiary X-Forwarded-For w statystykach Apigee

Edge Analytics zapisuje wartość nagłówka X-Forwarded-For w x_forwarded_for_ip. Aby określić adres IP klienta, który żądania do Edge, użyj wartości z pliku ax_true_client_ip lub ax_resolved_client_ip wymiarów. Zobacz Dane i wymiary Analytics i filtrów.

Maskowanie adresów IP w notacji CIDR

Notacja CIDR (Classless Inter-Domain Routing) to sposób wskazywania zakresu adresów IP przez maskowanie. Dotyczy zarówno IPv4, jak i IPv6. Działa to w następujący sposób. W naszej witrynie użyjemy protokołu IPv4 dla uproszczenia.

Adresy IP to grupy numerów oddzielonych kropkami. W ujęciu binarnym każda grupa jest określona liczba bitów (8 w przypadku IPv4 i 16 w przypadku IPv6). Adres IPv4 198.51.100.1 wygląda tak w pliku binarnym:

11000110.00110011.01100100.00000001

Są to 4 grupy po 8 bitów, czyli łącznie 32 bity. W CIDR możesz wskazać zakres, dodając /number (1-32) do adresu IP w następujący sposób:

198.51.100.1/24

W tym przypadku liczba 24 to liczba, której należy użyć w atrybucie mask. w tej zasadzie.

Ten zapis oznacza, że pierwsze 24 bity zachowaj dokładnie w takiej postaci, w jakiej jest. Pozostałe bity o dowolnej wartości od 0 do 255”. Na przykład:

Zachowaj je bez zmian Możliwe wartości w przypadku ostatniej grupy
198.51.100. 0–255

Zwróć uwagę, że maska występuje na końcu grupy 3. Dzięki temu wszystko będzie ładnie aby utworzyć maskę w ten sposób: 198.51.100.*. W większości przypadków przy użyciu wielokrotności 8 (IPv4) i 16 (IPv6) zapewni Ci odpowiedni poziom maskowania:

IPv4: 8, 16, 24, 32

IPv6: 16, 32, 48, 64, 80, 96, 112, 128

Aby uzyskać bardziej precyzyjną kontrolę, możesz użyć innych liczb, co wymaga użycia drobnego kodu binarnego obliczeń. Oto przykład z maską 30, np. 198.51.100.1/30, gdzie ostatni 1 to 00000001 w formacie binarnym:

Zachowaj je bez zmian Dozwolone wartości
11000110.00110011.01100100.000000 (pierwsze 30 bitów) 00000000, 00000001, 00000010 lub 00000011
198.51.100. 0, 1, 2 lub 3

W tym przykładzie, gdy konfiguracja jest ustawiona na <SourceAddress mask="30">198.51.100.1</SourceAddress>, dozwolone są poniższe adresy IP (lub odrzucona (w zależności od reguł):

  • 198.51.100.0
  • 198.51.100.1
  • 198.51.100.2
  • 198.51.100.3

Odwołanie do elementu

Dokumentacja elementu opisuje elementy i atrybuty zasad kontroli dostępu.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AccessControl async="false" continueOnError="false" enabled="true" name="Access-Control-1">
    <DisplayName>Access Control 1</DisplayName>
    <IPRules noRuleMatchAction = "ALLOW">
        <MatchRule action = "ALLOW">
            <SourceAddress mask="32">198.51.100.1</SourceAddress>
        </MatchRule>
        <MatchRule action = "DENY">
            <SourceAddress mask="24">198.51.100.1</SourceAddress>
        </MatchRule>
    </IPRules>
    <ValidateBasedOn>X_FORWARDED_FOR_ALL_IP</ValidateBasedOn>
</AccessControl>

&lt;AccessControl&gt; atrybuty

<AccessControl async="false" continueOnError="false" enabled="true" name="Access-Control-1"> 

W tej tabeli opisano atrybuty wspólne dla wszystkich elementów nadrzędnych zasad:

Atrybut Opis Domyślny Obecność
name

Wewnętrzna nazwa zasady. Wartość atrybutu name może zawierać litery, cyfry, spacje, łączniki, podkreślenia i kropki. Ta wartość nie może przekracza 255 znaków.

Opcjonalnie możesz użyć elementu <DisplayName> do oznaczenia zasady jako edytor proxy interfejsu zarządzania z inną nazwą w języku naturalnym.

Nie dotyczy Wymagane
continueOnError

Ustaw jako false, aby w przypadku niepowodzenia zasady zwracany był błąd. To normalne w przypadku większości zasad.

Ustaw jako true, aby wykonywanie przepływu było kontynuowane nawet po zastosowaniu zasady niepowodzenie.

fałsz Opcjonalnie
enabled

Aby egzekwować zasadę, ustaw wartość true.

Aby wyłączyć zasadę, ustaw wartość false. Te zasady nie będą jest wymuszane nawet wtedy, gdy jest ono połączone z przepływem.

prawda Opcjonalnie
async

Ten atrybut został wycofany.

fałsz Wycofano

&lt;DisplayName&gt; element

Używaj oprócz atrybutu name do oznaczania zasady w edytor proxy interfejsu zarządzania z inną nazwą w języku naturalnym.

<DisplayName>Policy Display Name</DisplayName>
Domyślny

Nie dotyczy

Jeśli pominiesz ten element, atrybut name zasady otrzyma wartość .

Obecność Opcjonalnie
Typ Ciąg znaków

&lt;IgnoreTrueClientIPHeader&gt; element

Jeśli zasada ma wartość Prawda, zasada ignoruje nagłówek True-Client-IP i sprawdza adresy IP w nagłówku X-Forwarded-For, po Skonfigurowany przez Ciebie X-Forwarded-For ocena.


<AccessControl async="false" continueOnError="false" enabled="true" name="Access-Control-1">
    <DisplayName>Access Control-1</DisplayName>
    <IgnoreTrueClientIPHeader>true</IgnoreTrueClientIPHeader>
    ...
</AccessControl>

Domyślny fałsz
Obecność Opcjonalnie
Typ Wartość logiczna

&lt;IPRules&gt; element

Element nadrzędny zawierający reguły, które zezwalają na adresy IP lub je odrzucają. Atrybut noRuleMatchAction pozwala określić sposób obsługi adresów IP, nie są uwzględnione w regułach dopasowania.

<IPRules noRuleMatchAction = "ALLOW">
Domyślny Nie dotyczy
Obecność Opcjonalnie
Typ Nie dotyczy

Atrybuty

Atrybut Opis Typ Domyślny Obecność
noRuleMatchAction
Działanie, które należy wykonać (zezwalając na dostęp lub odmów dostępu), jeśli określona reguła dopasowania nie została zakończona. (niedopasowane).
Prawidłowa wartość: ALLOW lub DENY
Ciąg znaków ZEZWÓL Wymagane

&lt;IPRules&gt;/&lt;MatchRule&gt; element

Działanie, jakie należy podjąć (zezwalając na dostęp lub odmów go), jeśli adres IP pasuje do adresów źródłowych. określić definicję.

<IPRules noRuleMatchAction = "ALLOW">
    <MatchRule action = "ALLOW">
        <SourceAddress mask="32">198.51.100.1</SourceAddress>
    </MatchRule>
    <MatchRule action = "DENY">
        <SourceAddress mask="24">198.51.100.1</SourceAddress>
    </MatchRule>
</IPRules>
Domyślny Nie dotyczy
Obecność Opcjonalnie
Typ Nie dotyczy

Atrybuty

Atrybut Opis Typ Domyślny Obecność
działanie

Działanie, które należy wykonać (zezwalając na dostęp lub odmów dostępu), jeśli określona reguła dopasowania nie została zakończona. (niedopasowane).

Prawidłowa wartość: ALLOW lub DENY

Ciąg znaków ZEZWÓL Wymagane

&lt;IPRules&gt;/&lt;MatchRule&gt;/&lt;SourceAddress&gt; element

Zakres adresów IP klienta.

Prawidłowa wartość: prawidłowy adres IP (w notacji dziesiętnej z kropkami). Aby działać prawidłowo, użyj operatora mask.

<IPRules noRuleMatchAction = "ALLOW">
    <MatchRule action = "ALLOW">
        <SourceAddress mask="{variable}">198.51.100.1</SourceAddress>
    </MatchRule>
    <MatchRule action = "DENY">
        <SourceAddress mask="24">{variable}</SourceAddress>
    </MatchRule>
</IPRules>

Jak widać w poprzednim przykładzie, element SourceAddress obsługuje też Szablony wiadomości dla mask lub adres IP, który oznacza, że możesz ustawić wartości za pomocą zmiennych, które są obecnie dostępne Przepływ serwera proxy interfejsu API.

Na przykład możesz zapisać adres IP w mapie wartości klucza (KVM) i użyć funkcji zasadę KeyValueMapOperations, aby pobrać adres IP i przypisać go do zmiennej (np. kvm.ip.value). Następnie możesz użyć tej zmiennej jako adresu IP:

<SourceAddress mask="24">{kvm.ip.value}</SourceAddress>

Ustawienie maski i/lub adresu IP za pomocą zmiennej umożliwia swobodną zmianę wartości środowiska wykonawczego bez konieczności modyfikowania i ponownego wdrażania serwera proxy interfejsu API.

Domyślny Nie dotyczy
Obecność Opcjonalnie
Typ Ciąg znaków (tylko pojedynczy adres IP)

Atrybuty

Atrybut Opis Typ Domyślny Obecność
maska

Atrybut mask służy do wskazywania zakresu adresów IP, ani zablokować. Maska jest odpowiednikiem funkcji Zapis CIDR (międzydomenowy routing bez klasy). Na przykład:

<SourceAddress mask="24">198.51.100.1</SourceAddress>

jest odpowiednikiem tej notacji CIDR:

198.51.100.1/24

Prawidłowe wartości:

IPv4: 1–32

IPv6: 1–128

Wartość zerowa (0) jest prawidłowa tylko dla adresu IP 0.0.0.0, a więc jest niepraktyczna.

Ustawianie maski za pomocą zmiennej

Atrybut mask obsługuje też Szablony wiadomości, które oznacza, że możesz ustawić wartość za pomocą zmiennej, która jest obecnie dostępna Przepływ serwera proxy interfejsu API. Na przykład możesz zapisać wartość maski w maszynie wirtualnej i użyć funkcji Zasadę KeyValueMapOperations, aby pobrać maskę i przypisać ją do zmiennej. Aby ustawić maskę IP za pomocą zmiennej, użyj poniższego formatu: zakładając, że zmienna ma nazwę kvm.mask.value:

mask="{kvm.mask.value}"

Liczba całkowita Nie dotyczy Wymagane

&lt;ValidateBasedOn&gt; element

Gdy nagłówek HTTP X-Forwarded-For zawiera kilka adresów IP adresów IP, użyj tego elementu ValidateBasedOn, aby określić, które adresy oceniono.

Użyj tej metody do oceny adresów IP tylko wtedy, gdy masz pewność co do ich poprawności adresów IP, które chcesz ocenić. Na przykład: jeśli chcesz ocenić wszystkie adresów IP w nagłówku X-Forwarded-For, musisz uznać, adresy i/lub skonfigurować kompleksowe reguły ODRZUĆ albo ZEZWALAJ, aby tylko zaufane Adresy IP wywołują serwer proxy interfejsu API.

Adres IP w nagłówku po lewej stronie należy do klienta, a po prawej znajduje się serwer który przekierował żądanie do bieżącej usługi. Adres IP lub adres skrajny z prawej strony to adres odebrany przez Edge podczas ostatniego zewnętrznego uzgadniania połączenia TCP.

Wartość wpisana w tym elemencie pozwala określić, czy wszystkie adresy IP mają być sprawdzane nagłówek (domyślnie), tylko pierwszy adres IP lub tylko ostatni adres IP.

<AccessControl async="false" continueOnError="false" enabled="true" name="Access-Control-1">
    <DisplayName>Access Control 1</DisplayName>
    <IPRules noRuleMatchAction = "ALLOW">
        <MatchRule action = "DENY">
            <SourceAddress mask="32">198.51.100.1</SourceAddress>
        </MatchRule>
    </IPRules>
    <ValidateBasedOn>X_FORWARDED_FOR_ALL_IP</ValidateBasedOn>
</AccessControl>
Domyślny X_FORWARDED_FOR_ALL_IP
Obecność Opcjonalnie
Prawidłowe wartości

X_FORWARDED_FOR_ALL_IP (domyślnie)

X_FORWARDED_FOR_FIRST_IP

X_FORWARDED_FOR_LAST_IP

Schematy

Każdy typ zasad jest definiowany przez schemat XML (.xsd). Dla porównania: schematy zasad są dostępne na GitHubie.

Informacje o błędzie

W tej sekcji opisano kody błędów i komunikaty o błędach, które są zwracane, oraz zmienne błędów ustawiane przez Edge, gdy ta zasada wyzwala błąd. Warto o tym wiedzieć, jeśli rozwijasz reguły błędów, aby obsługi błędów. Więcej informacji znajdziesz w artykule Co musisz wiedzieć o błędach związanych z zasadami i postępowaniu z błędami

Błędy w czasie wykonywania

Te błędy mogą wystąpić podczas wykonywania zasady.

Kod błędu Stan HTTP Przyczyna Napraw
accesscontrol.IPDeniedAccess 403 Adres IP klienta lub adres IP przekazany w żądaniu do interfejsu API odpowiada adresowi IP określonemu w elemencie <SourceAddress> w obrębie element <MatchRule> zasad kontroli dostępu oraz atrybut action klasy Element <MatchRule> jest ustawiony na DENY.

Zmienne błędów

Te zmienne są ustawiane po wystąpieniu błędu działania. Więcej informacji znajdziesz w artykule Zmienne związane z błędami związanymi z zasadami.

Zmienne Gdzie Przykład
fault.name="fault_name" fault_name to nazwa błędu podana w tabeli Błędy czasu działania powyżej. Nazwa błędu to ostatnia część kodu błędu. fault.name Matches "IPDeniedAccess"
acl.policy_name.failed policy_name to określona przez użytkownika nazwa zasady, która spowodowała błąd. acl.AC-AllowAccess.failed = true

Przykładowa odpowiedź na błąd

{
   "fault":{
     "faultstring":"Access Denied for client ip : 52.211.243.3"
      "detail":{
         "errorcode":"accesscontrol.IPDeniedAccess"
      }
   }
}

Przykładowa reguła błędu

<FaultRule name="IPDeniedAccess">
    <Step>
        <Name>AM-IPDeniedAccess</Name>
        <Condition>(fault.name Matches "IPDeniedAccess") </Condition>
    </Step>
    <Condition>(acl.failed = true) </Condition>
</FaultRule>