Weryfikowanie zawartości
DOTYCZY: Wszystkie warstwy usługi API Management
Zasady validate-content
weryfikują rozmiar lub zawartość treści żądania lub odpowiedzi względem co najmniej jednego obsługiwanego schematu.
Poniższa tabela przedstawia formaty schematów oraz typy zawartości żądań i odpowiedzi obsługiwane przez zasady. Wartości typu zawartości są niewrażliwe na wielkość liter.
Format | Typy zawartości |
---|---|
JSON | Przykłady: application/json application/hal+json |
XML | Przykład: application/xml |
Simple Object Access Protocol | Dozwolone wartości: application/soap+xml dla interfejsów API protokołu SOAP 1.2text/xml dla interfejsów API protokołu SOAP 1.1 |
Uwaga
Maksymalny rozmiar schematu interfejsu API, który może być używany przez te zasady sprawdzania poprawności, wynosi 4 MB. Jeśli schemat przekroczy ten limit, zasady walidacji będą zwracać błędy w czasie wykonywania. Aby go zwiększyć, skontaktuj się z pomocą techniczną.
Jaka zawartość jest weryfikowana
Zasady weryfikują następującą zawartość w żądaniu lub odpowiedzi względem schematu:
- Obecność wszystkich wymaganych właściwości.
- Obecność lub brak dodatkowych właściwości, jeśli schemat ma
additionalProperties
ustawiony pole. Może zostać zastąpiony atrybutemallow-additional-properties
. - Typy wszystkich właściwości. Na przykład, jeśli schemat określa właściwość jako liczbę całkowitą, żądanie (lub odpowiedź) musi zawierać liczbę całkowitą, a nie inny typ, taki jak ciąg.
- Format właściwości, jeśli określono w schemacie — na przykład wyrażenie regularne (jeśli
pattern
określono słowo kluczowe),minimum
dla liczb całkowitych itd.
Napiwek
Przykłady ograniczeń wzorca regularnego, które mogą być używane w schematach, zobacz OWASP Validation Regex Repository (Repozytorium regex weryfikacji OWASP).
Uwaga
Ustaw elementy zasad i elementy podrzędne w kolejności podanej w instrukcji zasad. Aby ułatwić konfigurowanie tych zasad, portal udostępnia edytor oparty na formularzach z przewodnikiem. Dowiedz się więcej na temat ustawiania lub edytowania zasad usługi API Management.
Instrukcja zasad
<validate-content unspecified-content-type-action="ignore | prevent | detect" max-size="size in bytes" size-exceeded-action="ignore | prevent | detect" errors-variable-name="variable name">
<content-type-map any-content-type-value="content type string" missing-content-type-value="content type string">
<type from | when="content type string" to="content type string" />
</content-type-map>
<content type="content type string" validate-as="json | xml | soap" schema-id="schema id" schema-ref="#/local/reference/path" action="ignore | prevent | detect" allow-additional-properties="true | false" case-insensitive-property-names="true | false"/>
</validate-content>
Atrybuty
Atrybut | opis | Wymagani | Wartość domyślna |
---|---|---|---|
nieokreślone działanie typu zawartości | Akcja do wykonania dla żądań lub odpowiedzi z typem zawartości, który nie jest określony w schemacie interfejsu API. Wyrażenia zasad są dozwolone. | Tak | Nie dotyczy |
maksymalny rozmiar | Maksymalna długość treści żądania lub odpowiedzi w bajtach zaznaczona względem nagłówka Content-Length . Jeśli treść żądania lub treść odpowiedzi jest skompresowana, ta wartość jest długością dekompresowaną. Maksymalna dozwolona wartość: 4 MB. Wyrażenia zasad są dozwolone. |
Tak | Nie dotyczy |
size-exceeded-action | Akcja do wykonania dla żądań lub odpowiedzi, których treść przekracza rozmiar określony w .max-size Wyrażenia zasad są dozwolone. |
Tak | Nie dotyczy |
errors-variable-name | Nazwa zmiennej w pliku , context.Variables aby rejestrować błędy walidacji. Wyrażenia zasad nie są dozwolone. |
Nie. | Nie dotyczy |
Elementy
Nazwa/nazwisko | opis | Wymagania |
---|---|---|
content-type-map | Dodaj ten element, aby zamapować typ zawartości przychodzącego żądania lub odpowiedzi na inny typ zawartości używany do wyzwalania walidacji. | Nie. |
content | Dodaj co najmniej jeden z tych elementów, aby zweryfikować typ zawartości w żądaniu lub odpowiedzi albo zamapowany typ zawartości i wykonać określoną akcję. | Nie. |
atrybuty mapy typu zawartości
Atrybut | opis | Wymagani | Wartość domyślna |
---|---|---|---|
any-content-type-value | Typ zawartości używany do sprawdzania poprawności treści żądania lub odpowiedzi, niezależnie od typu zawartości przychodzącej. Wyrażenia zasad nie są dozwolone. | Nie. | Nie dotyczy |
missing-content-type-value | Typ zawartości używany do sprawdzania poprawności treści żądania lub odpowiedzi, gdy brakuje przychodzącego typu zawartości lub jest on pusty. Wyrażenia zasad nie są dozwolone. | Nie. | Nie dotyczy |
content-type-map-elements
Nazwa/nazwisko | opis | Wymagania |
---|---|---|
type | Dodaj co najmniej jeden z tych elementów, aby zamapować przychodzący typ zawartości na typ zawartości używany do sprawdzania poprawności treści żądania lub odpowiedzi. Służy from do określania znanego typu zawartości przychodzącej lub użycia when z wyrażeniem zasad w celu określenia dowolnego przychodzącego typu zawartości zgodnego z warunkiem. Zastępuje mapowanie w any-content-type-value elementy i missing-content-type-value , jeśli określono. |
Nie. |
atrybuty zawartości
Atrybut | opis | Wymagani | Wartość domyślna |
---|---|---|---|
type | Typ zawartości do wykonania weryfikacji treści dla, sprawdzany względem nagłówka typu zawartości lub wartości zamapowanej w content-type-mapping , jeśli określono. Jeśli jest pusty, ma zastosowanie do każdego typu zawartości określonego w schemacie interfejsu API.Aby zweryfikować żądania protokołu SOAP i odpowiedzi ( validate-as atrybut ustawiony na "soap"), dla application/soap+xml type interfejsów API protokołu SOAP 1.2 lub text/xml interfejsów API protokołu SOAP 1.1. |
Nie. | Nie dotyczy |
validate-as | Aparat sprawdzania poprawności do sprawdzania poprawności treści żądania lub odpowiedzi z pasującym type elementem . Obsługiwane wartości: "json", "xml", "soap".Po określeniu "soap" kod XML z żądania lub odpowiedzi jest wyodrębniany z koperty protokołu SOAP i weryfikowany względem schematu XML. |
Tak | Nie dotyczy |
identyfikator schematu | Nazwa istniejącego schematu, który został dodany do wystąpienia usługi API Management na potrzeby weryfikacji zawartości. Jeśli nie zostanie określony, zostanie użyty domyślny schemat z definicji interfejsu API. | Nie. | Nie dotyczy |
schema-ref | W przypadku schematu JSON określonego w schema-id pliku opcjonalne odwołanie do prawidłowej lokalnej ścieżki odwołania w dokumencie JSON. Przykład: #/components/schemas/address . Atrybut powinien zwrócić obiekt JSON, który usługa API Management obsługuje jako prawidłowy schemat JSON.W przypadku schematu schema-ref XML nie jest obsługiwany, a każdy element schematu najwyższego poziomu może być używany jako katalog główny ładunku żądania XML lub odpowiedzi. Sprawdzanie poprawności sprawdza, czy wszystkie elementy rozpoczynające się od żądania XML lub katalogu głównego ładunku odpowiedzi są zgodne z podanym schematem XML. |
Nie. | Nie dotyczy |
allow-additional-properties | Wartość logiczna. W przypadku schematu JSON określa, czy zaimplementować zastąpienie additionalProperties środowiska uruchomieniowego wartości skonfigurowanej w schemacie: - true : zezwalaj na dodatkowe właściwości w treści żądania lub odpowiedzi, nawet jeśli pole schematu additionalProperties JSON jest skonfigurowane, aby nie zezwalać na dodatkowe właściwości. - false : nie zezwalaj na dodatkowe właściwości w treści żądania lub odpowiedzi, nawet jeśli pole schematu additionalProperties JSON jest skonfigurowane tak, aby zezwalać na dodatkowe właściwości.Jeśli atrybut nie zostanie określony, zasady weryfikują dodatkowe właściwości zgodnie z konfiguracją additionalProperties pola w schemacie. |
Nie. | Nie dotyczy |
bez uwzględniania wielkości liter nazwa-właściwości | Wartość logiczna. W przypadku schematu JSON określa, czy należy porównać nazwy właściwości obiektów JSON bez względu na wielkość liter. - true : nie uwzględnia wielkości liter nazw właściwości. - false : rozróżnia wielkość liter nazw właściwości. |
Nie. | fałsz |
Akcje
Zasady sprawdzania poprawności zawartości obejmują co najmniej jeden atrybut określający akcję, która jest wykonywana przez usługę API Management podczas weryfikowania jednostki w żądaniu interfejsu API lub odpowiedzi względem schematu interfejsu API.
Można określić akcję dla elementów reprezentowanych w schemacie interfejsu API i, w zależności od zasad, dla elementów, które nie są reprezentowane w schemacie interfejsu API.
Akcja określona w elemecie podrzędnym zasad zastępuje akcję określoną dla jej elementu nadrzędnego.
Dostępne akcje:
Akcja | opis |
---|---|
ignoruj | Pomiń walidację. |
zapobiegać | Blokuj przetwarzanie żądania lub odpowiedzi, rejestruj pełny błąd weryfikacji i zwraca błąd. Przetwarzanie jest przerywane po wykryciu pierwszego zestawu błędów. |
detect | Błędy walidacji dziennika bez przerywania przetwarzania żądań lub odpowiedzi. |
Użycie
- Sekcje zasad: ruch przychodzący, ruch wychodzący, on-error
- Zakresy zasad: globalny, obszar roboczy, produkt, interfejs API, operacja
- Bramy: klasyczne, v2, zużycie, self-hosted, obszar roboczy
Dzienniki
Szczegółowe informacje o błędach walidacji podczas wykonywania zasad są rejestrowane w zmiennej context.Variables
określonej w atrybucie errors-variable-name
w elemecie głównym zasad. Po skonfigurowaniu prevent
w akcji błąd walidacji blokuje dalsze przetwarzanie żądań lub odpowiedzi, a także jest propagowany do context.LastError
właściwości .
Aby zbadać błędy, użyj zasad śledzenia , aby rejestrować błędy ze zmiennych kontekstowych do usługi Application Insights.
Implikacje dotyczące wydajności
Dodanie zasad weryfikacji może mieć wpływ na przepływność interfejsu API. Obowiązują następujące ogólne zasady:
- Im większy rozmiar schematu interfejsu API, tym niższa będzie przepływność.
- Im większy ładunek w żądaniu lub odpowiedzi, tym niższa będzie przepływność.
- Rozmiar schematu interfejsu API ma większy wpływ na wydajność niż rozmiar ładunku.
- Walidacja względem schematu interfejsu API o rozmiarze kilku megabajtów może spowodować przekroczenie limitu czasu żądania lub odpowiedzi w niektórych warunkach. Efekt jest bardziej widoczny w warstwach Zużycie i Deweloper usługi.
Zalecamy przeprowadzenie testów obciążeniowych z oczekiwanymi obciążeniami produkcyjnymi, aby ocenić wpływ zasad walidacji na przepływność interfejsu API.
Schematy sprawdzania poprawności zawartości
Domyślnie walidacja zawartości żądania lub odpowiedzi używa schematów JSON lub XML z definicji interfejsu API. Te schematy można określić ręcznie lub wygenerować automatycznie podczas importowania interfejsu API ze specyfikacji OpenAPI lub WSDL do usługi API Management.
validate-content
Za pomocą zasad możesz opcjonalnie zweryfikować co najmniej jeden schemat JSON lub XML, który został dodany do wystąpienia usługi API Management i który nie jest częścią definicji interfejsu API. Schemat dodany do usługi API Management można użyć ponownie w wielu interfejsach API.
Aby dodać schemat do wystąpienia usługi API Management przy użyciu witryny Azure Portal:
W portalu przejdź do wystąpienia usługi API Management.
W sekcji Interfejsy API menu po lewej stronie wybierz pozycję Schematy>+ Dodaj.
W oknie Tworzenie schematu wykonaj następujące czynności:
- Wprowadź nazwę (identyfikator) dla schematu.
- W polu Typ schematu wybierz pozycję JSON lub XML.
- Wprowadź opis.
- W metodzie Create wykonaj jedną z następujących czynności:
- Wybierz pozycję Utwórz nową i wprowadź lub wklej schemat.
- Wybierz pozycję Importuj z pliku lub Importuj z adresu URL i wprowadź lokalizację schematu.
Uwaga
Aby zaimportować schemat z adresu URL, schemat musi być dostępny za pośrednictwem Internetu z przeglądarki.
- Wybierz pozycję Zapisz.
Usługa API Management dodaje zasób schematu w względnym identyfikatorze URI /schemas/<schemaId>
, a schemat jest wyświetlany na liście na stronie Schematy . Wybierz schemat, aby wyświetlić jego właściwości lub edytować w edytorze schematów.
Uwaga
Schemat może odwoływać się krzyżowo do innego schematu dodanego do wystąpienia usługi API Management. Na przykład dołącz schemat XML dodany do usługi API Management przy użyciu elementu podobnego do:<xs:include schemaLocation="/schemas/myschema" />
Napiwek
Narzędzia typu open source umożliwiające rozpoznawanie odwołań schematów WSDL i XSD oraz schematów generowanych wsadowo do usługi API Management są dostępne w usłudze GitHub.
Przykłady
Walidacja schematu JSON
W poniższym przykładzie usługa API Management interpretuje żądania z pustym nagłówkiem typu zawartości lub żądaniami z nagłówkiem application/hal+json
typu zawartości jako żądaniami o typie application/json
zawartości . Następnie usługa API Management przeprowadza walidację w trybie wykrywania względem schematu zdefiniowanego application/json
dla typu zawartości w definicji interfejsu API. Komunikaty z ładunkami większymi niż 100 KB są blokowane. Żądania zawierające dodatkowe właściwości są blokowane, nawet jeśli pole schematu additionalProperties
jest skonfigurowane do zezwalania na dodatkowe właściwości.
<validate-content unspecified-content-type-action="prevent" max-size="102400" size-exceeded-action="prevent" errors-variable-name="requestBodyValidation">
<content-type-map missing-content-type-value="application/json">
<type from="application/hal+json" to="application/json" />
</content-type-map>
<content type="application/json" validate-as="json" action="detect" allow-additional-properties="false" />
</validate-content>
Weryfikacja schematu protokołu SOAP
W poniższym przykładzie usługa API Management interpretuje dowolne żądanie jako żądanie z typem application/soap+xml
zawartości (typem zawartości używanym przez interfejsy API protokołu SOAP 1.2), niezależnie od typu zawartości przychodzącej. Żądanie może zostać dostarczone z pustym nagłówkiem typu zawartości, nagłówkiem text/xml
typu zawartości (używanym przez interfejsy API PROTOKOŁU SOAP 1.1) lub innym nagłówkiem typu zawartości. Następnie usługa API Management wyodrębnia ładunek XML z koperty protokołu SOAP i przeprowadza walidację w trybie zapobiegania schematowi o nazwie "myschema". Komunikaty z ładunkami większymi niż 100 KB są blokowane.
<validate-content unspecified-content-type-action="prevent" max-size="102400" size-exceeded-action="prevent" errors-variable-name="requestBodyValidation">
<content-type-map any-content-type-value="application/soap+xml" />
<content type="application/soap+xml" validate-as="soap" schema-id="myschema" action="prevent" />
</validate-content>
Błędy walidacji
Usługa API Management generuje błędy walidacji zawartości w następującym formacie:
{
"Name": string,
"Type": string,
"ValidationRule": string,
"Details": string,
"Action": string
}
W poniższej tabeli wymieniono wszystkie możliwe błędy zasad walidacji.
- Szczegóły: Może służyć do badania błędów. Nie ma być udostępniane publicznie.
- Odpowiedź publiczna: błąd zwrócony do klienta. Nie wycieka szczegółów implementacji.
Gdy zasady weryfikacji określają prevent
akcję i generują błąd, odpowiedź z usługi API Management zawiera kod stanu HTTP: 400, gdy zasady są stosowane w sekcji przychodzącej i 502, gdy zasady są stosowane w sekcji ruchu wychodzącego.
Nazwa/nazwisko | Type | Reguła walidacji | Szczegóły | Odpowiedź publiczna | Akcja |
---|---|---|---|---|---|
validate-content | |||||
RequestBody | RozmiarLimit | Treść żądania ma długość {size} bajtów i przekracza skonfigurowany limit {maxSize} bajtów. | Treść żądania ma długość {size} bajtów i przekracza limit {maxSize} bajtów. | wykrywanie/zapobieganie | |
Treść odpowiedzi | RozmiarLimit | Treść odpowiedzi ma długość {size} bajtów i przekracza skonfigurowany limit {maxSize} bajtów. | Nie można przetworzyć żądania z powodu błędu wewnętrznego. Skontaktuj się z właścicielem interfejsu API. | wykrywanie/zapobieganie | |
{messageContentType} | RequestBody | Nieokreślony | Nieokreślony typ zawartości {messageContentType} jest niedozwolony. | Nieokreślony typ zawartości {messageContentType} jest niedozwolony. | wykrywanie/zapobieganie |
{messageContentType} | Treść odpowiedzi | Nieokreślony | Nieokreślony typ zawartości {messageContentType} jest niedozwolony. | Nie można przetworzyć żądania z powodu błędu wewnętrznego. Skontaktuj się z właścicielem interfejsu API. | wykrywanie/zapobieganie |
ApiSchema | Schemat interfejsu API nie istnieje lub nie można go rozpoznać. | Nie można przetworzyć żądania z powodu błędu wewnętrznego. Skontaktuj się z właścicielem interfejsu API. | wykrywanie/zapobieganie | ||
ApiSchema | Schemat interfejsu API nie określa definicji. | Nie można przetworzyć żądania z powodu błędu wewnętrznego. Skontaktuj się z właścicielem interfejsu API. | wykrywanie/zapobieganie | ||
{messageContentType} | RequestBody /ResponseBody | MissingDefinition (Brak definicji) | Schemat interfejsu API nie zawiera definicji {definitionName}, która jest skojarzona z typem zawartości {messageContentType}. | Nie można przetworzyć żądania z powodu błędu wewnętrznego. Skontaktuj się z właścicielem interfejsu API. | wykrywanie/zapobieganie |
{messageContentType} | RequestBody | IncorrectMessage | Treść żądania nie jest zgodna z definicją {definitionName}, która jest skojarzona z typem zawartości {messageContentType}. {valError.Message} Wiersz: {valError.LineNumber}, pozycja: {valError.LinePosition} |
Treść żądania nie jest zgodna z definicją {definitionName}, która jest skojarzona z typem zawartości {messageContentType}. {valError.Message} Wiersz: {valError.LineNumber}, pozycja: {valError.LinePosition} |
wykrywanie/zapobieganie |
{messageContentType} | Treść odpowiedzi | IncorrectMessage | Treść odpowiedzi nie jest zgodna z definicją {definitionName}, która jest skojarzona z typem zawartości {messageContentType}. {valError.Message} Wiersz: {valError.LineNumber}, pozycja: {valError.LinePosition} |
Nie można przetworzyć żądania z powodu błędu wewnętrznego. Skontaktuj się z właścicielem interfejsu API. | wykrywanie/zapobieganie |
RequestBody | ValidationException | Nie można zweryfikować treści żądania dla typu zawartości {messageContentType}. {szczegóły wyjątku} |
Nie można przetworzyć żądania z powodu błędu wewnętrznego. Skontaktuj się z właścicielem interfejsu API. | wykrywanie/zapobieganie | |
Treść odpowiedzi | ValidationException | Nie można zweryfikować treści odpowiedzi dla typu zawartości {messageContentType}. {szczegóły wyjątku} |
Nie można przetworzyć żądania z powodu błędu wewnętrznego. Skontaktuj się z właścicielem interfejsu API. | wykrywanie/zapobieganie | |
validate-parameters/validate-headers | |||||
{paramName} / {headerName} | QueryParameter / PathParameter / RequestHeader | Nieokreślony | Nieokreślony parametr ścieżki / parametr zapytania / nagłówek} {paramName} jest niedozwolony. | Nieokreślony parametr ścieżki / parametr zapytania / nagłówek} {paramName} jest niedozwolony. | wykrywanie/zapobieganie |
{headerName} | ResponseHeader | Nieokreślony | Nieokreślony nagłówek {headerName} jest niedozwolony. | Nie można przetworzyć żądania z powodu błędu wewnętrznego. Skontaktuj się z właścicielem interfejsu API. | wykrywanie/zapobieganie |
ApiSchema | Schemat interfejsu API nie istnieje lub nie można go rozpoznać. | Nie można przetworzyć żądania z powodu błędu wewnętrznego. Skontaktuj się z właścicielem interfejsu API. | wykrywanie/zapobieganie | ||
ApiSchema | Schemat interfejsu API nie określa definicji. | Nie można przetworzyć żądania z powodu błędu wewnętrznego. Skontaktuj się z właścicielem interfejsu API. | wykrywanie/zapobieganie | ||
{paramName} | QueryParameter / PathParameter / RequestHeader / ResponseHeader | MissingDefinition (Brak definicji) | Schemat interfejsu API nie zawiera definicji {definitionName}, która jest skojarzona z parametrem zapytania / parametrem ścieżki / nagłówkiem} {paramName}. | Nie można przetworzyć żądania z powodu błędu wewnętrznego. Skontaktuj się z właścicielem interfejsu API. | wykrywanie/zapobieganie |
{paramName} | QueryParameter / PathParameter / RequestHeader | IncorrectMessage | Żądanie nie może zawierać wielu wartości dla parametru {query / parametru ścieżki / nagłówka} {paramName}. | Żądanie nie może zawierać wielu wartości dla parametru {query / parametru ścieżki / nagłówka} {paramName}. | wykrywanie/zapobieganie |
{headerName} | ResponseHeader | IncorrectMessage | Odpowiedź nie może zawierać wielu wartości nagłówka {headerName}. | Nie można przetworzyć żądania z powodu błędu wewnętrznego. Skontaktuj się z właścicielem interfejsu API. | wykrywanie/zapobieganie |
{paramName} | QueryParameter / PathParameter / RequestHeader | IncorrectMessage | Wartość parametru zapytania / parametru ścieżki / nagłówka} {paramName} nie jest zgodna z definicją. {valError.Message} Wiersz: {valError.LineNumber}, pozycja: {valError.LinePosition} |
Wartość parametru zapytania / parametru ścieżki / nagłówka} {paramName} nie jest zgodna z definicją. {valError.Message} Wiersz: {valError.LineNumber}, pozycja: {valError.LinePosition} |
wykrywanie/zapobieganie |
{headerName} | ResponseHeader | IncorrectMessage | Wartość nagłówka {headerName} nie jest zgodna z definicją. {valError.Message} Wiersz: {valError.LineNumber}, pozycja: {valError.LinePosition} |
Nie można przetworzyć żądania z powodu błędu wewnętrznego. Skontaktuj się z właścicielem interfejsu API. | wykrywanie/zapobieganie |
{paramName} | QueryParameter / PathParameter / RequestHeader | IncorrectMessage | Nie można przeanalizować wartości {parametru kwerendy/parametru ścieżki/nagłówka} {paramName} zgodnie z definicją. {np. Wiadomość} |
Nie można przeanalizować wartości {parametru kwerendy/parametru ścieżki/nagłówka} {paramName} zgodnie z definicją. {np. Wiadomość} |
wykrywanie/zapobieganie |
{headerName} | ResponseHeader | IncorrectMessage | Nie można przeanalizować wartości nagłówka {headerName} zgodnie z definicją. | Nie można przetworzyć żądania z powodu błędu wewnętrznego. Skontaktuj się z właścicielem interfejsu API. | wykrywanie/zapobieganie |
{paramName} | QueryParameter / PathParameter / RequestHeader | ValidationError | {Parametr zapytania / Parametr ścieżki / Nagłówek} Nie można zweryfikować parametru {paramName}. {szczegóły wyjątku} |
Nie można przetworzyć żądania z powodu błędu wewnętrznego. Skontaktuj się z właścicielem interfejsu API. | wykrywanie/zapobieganie |
{headerName} | ResponseHeader | ValidationError | Nie można zweryfikować nagłówka {headerName}. {szczegóły wyjątku} |
Nie można przetworzyć żądania z powodu błędu wewnętrznego. Skontaktuj się z właścicielem interfejsu API. | wykrywanie/zapobieganie |
validate-status-code | |||||
{status-code} | StatusCode | Nieokreślony | Kod stanu odpowiedzi {kod stanu} jest niedozwolony. | Nie można przetworzyć żądania z powodu błędu wewnętrznego. Skontaktuj się z właścicielem interfejsu API. | wykrywanie/zapobieganie |
W poniższej tabeli wymieniono wszystkie możliwe wartości Przyczyna błędu weryfikacji wraz z możliwymi wartościami komunikatu:
Przyczyna | Wiadomość |
---|---|
Nieprawidłowe żądanie | {Details} dla zmiennej kontekstowej { odpowiedź publiczna} dla klienta |
Niedozwolona odpowiedź | {Details} dla zmiennej kontekstowej { odpowiedź publiczna} dla klienta |
Powiązane zasady
Powiązana zawartość
Aby uzyskać więcej informacji na temat pracy z zasadami, zobacz:
- Samouczek: przekształcanie i ochrona interfejsu API
- Dokumentacja zasad dla pełnej listy instrukcji zasad i ich ustawień
- Wyrażenia zasad
- Ustawianie lub edytowanie zasad
- Ponowne używanie konfiguracji zasad
- Repozytorium fragmentów zasad
- Zestaw narzędzi zasad usługi Azure API Management
- Tworzenie zasad przy użyciu rozwiązania Microsoft Copilot na platformie Azure