Zasada kontroli dostępu

Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X.
info

Co

Zasady kontroli dostępu umożliwiają przyznawanie lub odmawianie dostępu do interfejsów API na podstawie określonych adresów IP.

Film: obejrzyj krótki film, aby dowiedzieć się więcej o tym, jak zezwalać na dostęp do interfejsów API określonym adresom IP lub go odmawiać.

Tę zasadę możesz dołączyć w dowolnym miejscu przepływu proxy interfejsu API, ale najprawdopodobniej będziesz sprawdzać adresy IP na początku przepływu ( Request / ProxyEndpoint / PreFlow), jeszcze przed uwierzytelnianiem lub sprawdzaniem limitu.

Przykłady

Wartości maski w poniższych przykładach adresów IPv4 określają, które z 4 oktetów (8, 16, 24, 32 bity) są brane pod uwagę przez regułę dopasowania podczas zezwalania na dostęp lub odmawiania go. Wartością domyślną jest 32. Więcej informacji znajdziesz w opisie atrybutu mask w dokumentacji referencyjnej elementu.

Odrzuć 198.51.100.1

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

Odrzuć wszystkie żądania z adresu klienta: 198.51.100.1

Zezwalaj na żądania z dowolnego innego adresu klienta.

Odmowa używania 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 maskowania i adresów IP. Jest to wygodny sposób na zmianę adresów IP i maskowanie w czasie działania bez konieczności aktualizowania i ponownego wdrażania serwera proxy interfejsu API. Możesz użyć zasad KeyValueMapOperations, aby pobrać zmienne zawierające wartości dla kvm.mask.valuekvm.ip.value (zakładając, że tak zostały nazwane zmienne w zasadach KVM, które zawierają wartości maski i adresu IP z KVM). Jeśli pobrane wartości to 24 w przypadku maski i 198.51.100.1 w przypadku adresu IP, zasady AccessControl odrzucą wszystkie żądania z adresu 198.51.100.*

Wszystkie inne adresy klientów byłyby dozwolone.

Odmów dostępu adresom IP z zakresu 198.51.100.*

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

Odrzuć 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.

Odrzuć adresy z zakresu 198.51.100.*, zezwól na adres 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>

Odrzucaj wszystkie żądania z adresu klienta 198.51.100.*, ale zezwalaj na żądania z adresu 192.0.2.1.

Zezwalaj na żądania z dowolnego innego adresu klienta.

Zezwól na 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 klientów.

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

Odrzuć wszystkie inne adresy.

Odmowa dostępu dla wielu 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.

Zezwalanie na wiele adresów IP i odrzucanie wielu 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>

Allow: 198.51.*.* 192.0.*.* 203.0.*.*

Odmowa dostępu do 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 zasady kontroli dostępu umożliwiają też kontrolowanie dostępu z prawidłowych adresów IP. Jeśli na przykład chcesz, aby dostęp do interfejsów API udostępnianych w środowisku testowym miały tylko komputery pod kontrolą Twojej firmy, możesz zezwolić na zakres adresów IP sieci wewnętrznej. Deweloperzy pracujący w domu mogą uzyskać dostęp do tych interfejsów API za pomocą VPN.

Konfigurowanie i wykonywanie zasad kontroli dostępu obejmuje te czynności:

  • Zdefiniuj zestaw reguł dopasowania, z którymi powiązane są 2 działania (ZEZWÓL lub ODMÓW).
  • W przypadku każdej reguły dopasowania określ adres IP (element SourceAddress).
  • Określ kolejność testowania reguł.
  • Wszystkie reguły dopasowania są wykonywane w podanej kolejności. Gdy reguła jest zgodna, wykonywane jest odpowiednie działanie, a kolejne reguły dopasowania są pomijane.
    • Jeśli ta sama reguła jest skonfigurowana z działaniami ZEZWÓL i ODRZUĆ, zostanie wywołana reguła, która jest zdefiniowana jako pierwsza w kolejności, a następna reguła (z innym działaniem) zostanie pominięta.

Sposób, w jaki zasady wybierają adres IP do oceny

Adresy IP mogą pochodzić z różnych źródeł w żądaniu. Na przykład nagłówek wiadomości True-Client-IP może zawierać adres IP, a nagłówek X-Forwarded-For może zawierać co najmniej 1 adres IP. W tej sekcji opisujemy, jak skonfigurować zasadę AccessControl, aby oceniała dokładnie te adresy IP, które chcesz poddać ocenie.

Zasady AccessControl używają tej logiki, aby określić, który adres IP ma być oceniany:

1. Nagłówek True-Client-IP

Zasada najpierw sprawdza adres IP w nagłówku True-Client-IP. Jeśli nagłówek zawiera prawidłowy adres IP, zasady oceniają ten adres.

2. Nagłówek X-Forwarded-For

Jeśli nie ma nagłówka True-Client-IP lub element <IgnoreTrueClientIPHeader> ma wartość true, zasada ocenia adresy IP w nagłówku X-Forwarded-For.

Edge automatycznie wypełnia nagłówek X-Forwarded-For adresem IP otrzymanym z ostatniego zewnętrznego uzgadniania TCP (np. adresem IP klienta lub routera). Jeśli w nagłówku jest wiele adresów IP, prawdopodobnie są to adresy serwerów, które przetworzyły żądanie. Lista adresów może jednak zawierać sfałszowany adres IP. Skąd zasady wiedzą, które adresy mają oceniać?

Konfiguracja organizacji i konfiguracja zasad określają, które adresy X-Forwarded-For są oceniane przez zasady.

Najpierw sprawdź, czy w Twojej organizacji jest ustawiona właściwość feature.enableMultipleXForwardCheckForACL. Możesz to sprawdzić za pomocą interfejsu Get organization API. Następnie:

  • Jeśli nie widzisz ikony feature.enableMultipleXForwardCheckForACL na liście usług organizacji, oznacza to, że ta usługa ma wartość fałsz (domyślną). Jeśli ta właściwość ma wartość false, zasada ocenia ostatni adres w nagłówku (widoczny w narzędziu do śledzenia), czyli adres IP, który Edge otrzymał z ostatniego zewnętrznego uzgadniania TCP.
  • Jeśli wartość parametru feature.enableMultipleXForwardCheckForACL w Twojej organizacji jest ustawiona na „true”, skonfiguruj element <ValidateBasedOn>, aby określić, które adresy IP mają być oceniane przez zasadę.

Zmiana usługi feature.enableMultipleXForwardCheckForACL

Administratorzy organizacji Edge mogą używać interfejsu API Aktualizowanie właściwości organizacji, aby ustawić właściwość feature.enableMultipleXForwardCheckForACL.

Ten przykładowy interfejs API ustawia właściwość w Edge for Private Cloud. Jeśli w organizacji są ustawione inne usługi, pamiętaj, aby je również uwzględnić. W przeciwnym razie zostaną one 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 for Private Cloud po zmianie wartości właściwości feature.enableMultipleXForwardCheckForACL musisz ponownie uruchomić procesory wiadomości zgodnie z opisem w artykule Uruchamianie, zatrzymywanie i ponowne uruchamianie poszczególnych komponentów.

Wymiary X-Forwarded-For w analityce Apigee

Edge Analytics zapisuje wartość nagłówka X-Forwarded-For w wymiarze x_forwarded_for_ip. Aby określić adres IP klienta, który wysłał żądanie do Edge, użyj wartości w wymiarach ax_true_client_ip lub ax_resolved_client_ip. Więcej informacji znajdziesz w artykule Wymiary, dane i filtry w Analytics.

Maskowanie adresów IP za pomocą notacji CIDR

Notacja CIDR (Classless Inter-Domain Routing) to sposób wskazywania zakresu adresów IP za pomocą maskowania. Dotyczy to zarówno IPv4, jak i IPv6. Jak to działa: W przykładach użyjemy adresów IPv4, aby uprościć wyjaśnienia.

Adresy IP to grupy liczb oddzielone kropkami. W systemie binarnym każda grupa to określona liczba bitów (8 w przypadku IPv4 i 16 w przypadku IPv6). Adres IPv4 198.51.100.1 w formie binarnej wygląda tak:

11000110.00110011.01100100.00000001

To 4 grupy po 8 bitów, czyli łącznie 32 bity. W notacji CIDR możesz wskazać zakres, dodając do adresu IP znak / i liczbę (1–32), np.:

198.51.100.1/24

W tym przypadku wartość 24 to liczba, której użyjesz w zasadach jako wartości atrybutu mask.

Ten zapis oznacza: „Pierwsze 24 bity pozostaw bez zmian, a pozostałe bity mogą mieć dowolną wartość od 0 do 255”. Na przykład:

Zachowaj je w takiej formie, w jakiej są Możliwe wartości ostatniej grupy
198.51.100. 0–255

Zwróć uwagę, że maska znajduje się na końcu grupy 3. Dzięki temu wszystko będzie uporządkowane, a w zasadzie utworzy się maska w postaci 198.51.100.*. W większości przypadków użycie 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

Możesz jednak używać innych liczb, aby uzyskać większą kontrolę, co wymaga niewielkich obliczeń binarnych. Oto przykład użycia maski 30, jak w przypadku adresu 198.51.100.1/30, gdzie ostatnia cyfra 1 to 00000001 w systemie binarnym:

Zachowaj je w takiej formie, w jakiej są 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>, te adresy IP będą dozwolone (lub zabronione, 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>

Atrybuty <AccessControl>

<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

Element <IgnoreTrueClientIPHeader>

Jeśli ustawisz tę wartość na „true”, zasada zignoruje nagłówek True-Client-IP i oceni adresy IP w nagłówku X-Forwarded-For zgodnie z skonfigurowanym przez Ciebie sposobem oceny nagłówka X-Forwarded-For.

<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ść Opcjonalny
Typ Wartość logiczna

Element <IPRules>

Element nadrzędny zawierający reguły, które zezwalają na adresy IP lub je odrzucają. Atrybut noRuleMatchAction umożliwia określenie sposobu obsługi adresów IP, które nie są objęte regułami dopasowywania.

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

Atrybuty

Atrybut Opis Typ Domyślny Obecność
noRuleMatchAction
Działanie do wykonania (zezwolenie lub odmowa dostępu), jeśli określona reguła dopasowania nie zostanie rozwiązana (nie zostanie dopasowana).
Prawidłowa wartość: ALLOW lub DENY
Ciąg znaków ZEZWÓL Wymagane

Element <IPRules>/<MatchRule>

Działanie, które należy podjąć (zezwolenie na dostęp lub odmowa dostępu), jeśli adres IP pasuje do zdefiniowanych przez Ciebie adresów źródłowych.

<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ść Opcjonalny
Typ Nie dotyczy

Atrybuty

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

Działanie do wykonania (zezwolenie lub odmowa dostępu), jeśli określona reguła dopasowania nie zostanie rozwiązana (nie zostanie dopasowana).

Prawidłowa wartość: ALLOW lub DENY

Ciąg znaków ZEZWÓL Wymagane

Element <IPRules>/<MatchRule>/<SourceAddress>

Zakres adresów IP klienta.

Prawidłowa wartość: prawidłowy adres IP (notacja dziesiętna z kropkami). W przypadku symbolu wieloznacznego użyj atrybutu 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 pokazano w poprzednim przykładzie, element SourceAddress obsługuje też szablony wiadomości dla atrybutu mask lub adresu IP, co oznacza, że wartości można ustawiać za pomocą zmiennych, które są obecnie dostępne w przepływie proxy interfejsu API.

Możesz na przykład zapisać adres IP w mapie par klucz-wartość (KVM) i użyć zasady KeyValueMapOperations, aby pobrać adres IP i przypisać go do zmiennej (np. kvm.ip.value). Następnie możesz użyć tej zmiennej dla adresu IP:

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

Ustawienie maski lub adresu IP za pomocą zmiennej daje możliwość zmiany wartości w czasie działania bez konieczności modyfikowania i ponownego wdrażania serwera proxy interfejsu API.

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

Atrybuty

Atrybut Opis Typ Domyślny Obecność
maska

Atrybut mask służy do określania zakresu adresów IP, do których chcesz zezwolić lub zablokować dostęp. Maska jest odpowiednikiem notacji CIDR (Classless Inter-Domain Routing). Na przykład:

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

jest równoważny następującej notacji CIDR:

198.51.100.1/24

Prawidłowe wartości:

IPv4: 1–32

IPv6: 1–128

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

Ustawianie maski za pomocą zmiennej

Atrybut mask obsługuje też szablony wiadomości, co oznacza, że możesz ustawić wartość za pomocą zmiennej, która jest obecnie dostępna w przepływie serwera proxy interfejsu API. Możesz na przykład zapisać wartość maski w KVM i użyć zasady KeyValueMapOperations, aby pobrać maskę i przypisać ją do zmiennej. Aby ustawić maskę adresu IP za pomocą zmiennej, użyj tego formatu, zakładając, że zmienna ma nazwę kvm.mask.value:

mask="{kvm.mask.value}"

Liczba całkowita Nie dotyczy Wymagane

Element <ValidateBasedOn>

Jeśli nagłówek HTTP X-Forwarded-For zawiera wiele adresów IP, użyj tego elementu ValidateBasedOn, aby określić, które adresy IP mają być oceniane.

Używaj tej metody oceny adresów IP tylko wtedy, gdy masz pewność co do ich ważności. Jeśli na przykład zdecydujesz się oceniać wszystkie adresy IP w nagłówku X-Forwarded-For, musisz mieć pewność, że te adresy są prawidłowe, lub skonfigurować kompleksowe reguły DENY lub ALLOW, aby tylko zaufane adresy IP mogły wywoływać Twój serwer proxy interfejsu API.

Najbardziej po lewej stronie nagłówka znajduje się adres IP klienta, a najbardziej po prawej – serwera, który przekazał żądanie do bieżącej usługi. Najbardziej po prawej stronie lub ostatni adres IP to adres, który Edge otrzymał z ostatniego zewnętrznego uzgadniania TCP.

Wartość wpisana w tym elemencie pozwala określić, czy należy sprawdzić wszystkie adresy IP w nagłówku (domyślnie), tylko pierwszy adres IP czy 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ść Opcjonalny
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 zasady jest zdefiniowany przez schemat XML (.xsd). Schematy zasad są dostępne na GitHubie.

Odwołanie do błędu

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>