Richtlinien zu einer API-Bereitstellung hinzufügen
Sie können verschiedene Sicherheitsrichtlinien für Ihren API-Verkehr konfigurieren. Bei dieser Konfiguration müssen Sie die Auswahlkriterien für den Datenverkehr und die für eine Richtlinie erforderlichen Parameter angeben. Führen Sie die folgenden Schritte aus, um einer API-Definition eine Richtlinie hinzuzufügen:
Navigieren Sie zuSicherheit > API-Sicherheit > Richtlinien.
Klicken Sie aufHinzufügen.
Geben Sie den Namen für eine Richtliniengruppe an.
Wählen Sie eineBereitstellungaus der Liste aus.
Wählen Sie einenUpstream-Dienstaus der Liste aus, für den Sie Richtlinien konfigurieren möchten.
Klicken Sie aufHinzufügen, um Datenverkehrsmarkierer und einen Richtlinientyp auszuwählen.
Traffic-Selektor- Die Kriterien zur Auswahl des Datenverkehrs umfassen API-Ressourcenpfade oder Pfadpräfixe, Methoden und Richtlinien.
Sie können eine der folgenden Optionen verwenden, um Kriterien für die Verkehrsauswahl festzulegen:
API-Ressourcen— Wählen Sie eine API-Ressource und ihre Methoden aus, für die Sie eine Richtlinie anwenden möchten. Sie können API-Ressourcen und -Methoden mit einem Schlüsselwort durchsuchen.
In diesem Beispiel werden die API-Ressourcen mit
/user
derPOST
Methode aufgelistet.Benutzerdefinierte Regel——再见,这位Registerkarte您能benutzerdefinierte Pfadpräfixe und mehrere Methoden angeben.
Die konfigurierte Richtlinie gilt für eine eingehende API-Anforderung, die der benutzerdefinierten Regel für die Auswahl des API-Datenverkehrs entspricht.
In diesem Beispiel gilt dieNo-Auth-Richtliniefür die API-Ressourcen, die das Präfix
/pet
und die MethodeGET
haben.
Wählen Sie unterRichtlinieeine Richtlinie aus der Liste aus, die Sie auf die ausgewählte API-Ressource und -Methode anwenden möchten. Weitere Informationen zu den einzelnen Richtlinien finden Sie unterRichtlinientypen.
Optional können Sie Richtlinientypen verschieben, um eine Priorität festzulegen. Die Richtlinientypen mit höherer Priorität gelten zuerst.
Klicken Sie aufSpeichern, um eine Richtlinie hinzuzufügen. Wenn Sie die Richtlinie sofort anwenden möchten, klicken Sie aufSpeichern und Anwenden.
Arten von Richtlinien
Wenn Sie eine API-Richtlinie konfigurieren, können Sie die folgenden Richtlinien auswählen, die Sie auf die API-Ressource und -Methode anwenden möchten:
Hinweis:
Informationen zur Verwaltung des API-Gateways mithilfe von APIs finden Sie unterVerwenden von APIs zur Verwaltung der API-Sicherheit.
Authentifizierung und Autorisierung
API-Ressourcen werden auf einer Anwendung oder einem API-Server gehostet. Wenn Sie Zugriffsbeschränkungen für solche API-Ressourcen durchsetzen möchten, können Sie die Authentifizierungs- und Autorisierungsrichtlinien verwenden. Diese Richtlinien überprüfen, ob die eingehende API-Anfrage über die erforderliche Berechtigung für den Zugriff auf die Ressource verfügt.
Verwenden Sie die folgenden Richtlinien, um die Authentifizierung und Autorisierung für die ausgewählten API-Ressourcen zu definieren:
No-Auth
Verwenden Sie diese Richtlinie, um die Authentifizierung für den ausgewählten Datenverkehr zu überspringen.
Auth-Basic
Diese Richtlinie legt fest, dass die lokale Authentifizierung mit dem HTTP-Standardauthentifizierungsschema verwendet wird. Um die lokale Authentifizierung zu verwenden, müssen Sie Benutzerkonten auf dem NetScaler erstellen.
OAuth
OAuth erfordert, dass ein externer Identitätsanbieter einen Client mit OAuth2 authentifiziert und ein Zugriffstoken ausgibt. Wenn der Client dieses Token als Zugriffs-Berechtigung für ein API-Gateway bereitstellt, wird das Token basierend auf den konfigurierten Werten validiert.
JWKS URI- Die URL eines Endpunkts mit JWKs (JSON Web Key) für JWT (JSON Web Token) Verifizierung
Issuer— Die Identität (normalerweise eine URL) des Authentifizierungsservers.
Zielgruppe: Die Identität des Dienstes oder der Anwendung, für die das Token anwendbar ist.
Ansprüche auf Speichern- Die Zugriffsberechtigungen werden als eine Reihe von Ansprüchen und erwarteten Werten dargestellt. Geben Sie die Anspruchswerte im CSV-Format an.
Introspect URI- Eine Introspektions-Endpunkt-URL des Authentifizierungsservers. Diese URL wird verwendet, um undurchsichtige Zugriffstoken zu überprüfen. Weitere Informationen zu diesen Token finden Sie unterOAuth-Konfiguration für undurchsichtige Zugriffstoken.
Nachdem SieIntrospect-URIangegeben haben, geben Sie dieClient-IDund denClient Secretfür den Zugriff auf den Authentifizierungsserver an.
Zulässige Algorithmen- Mit dieser Option können Sie bestimmte Algorithmen in den eingehenden Token einschränken. Standardmäßig sind alle unterstützten Methoden zulässig. Sie können jedoch die erforderlichen Algorithmen für den ausgewählten Datenverkehr überprüfen.
Bei erfolgreicher Validierung gewährt das API-Gateway dem Client Zugriff.
Wichtig
Wenn Sie eine OAuth- oderAuth-Basic-Richtliniefür die ausgewählten API-Ressourcen konfigurieren, konfigurieren Sie dieNo-Auth-Richtliniefür die verbleibenden API-Ressourcen. Diese Konfiguration zeigt explizit an, dass Sie die Authentifizierung für die übrigen Ressourcen überspringen möchten.
Autorisierung
Diese Richtlinie überprüft die erforderlichen Berechtigungen für den Zugriff auf eine API-Ressource. Die Zugriffsberechtigungen werden als eine Reihe von Ansprüchen und erwarteten Werten dargestellt. Um diese Richtlinie zu konfigurieren, wählen SieNeuen Anspruch hinzufügenaus und geben Sie Folgendes an:
- Bezeichnung des Antrags
- Werte einfordern
Wichtig
API-Gateway erfordert sowohl Authentifizierungs- als auch Autorisierungsrichtlinien für API-Datenverkehr. Daher müssen Sie eine Autorisierungsrichtlinie mit einer Authentifizierungsrichtlinie konfigurieren. Die Authentifizierungsrichtlinie kannOAuth odersein.
Auth-Basic
Auch wenn Sie über keine Autorisierungsprüfungen verfügen, müssen Sie eine Autorisierungsrichtlinie mit leeren Ansprüchen erstellen. Andernfalls wird die Anfrage mit einem 403-Fehler abgelehnt.
Ratenlimit
Geben Sie die maximale Belastung an, die der ausgewählten API-Ressource zugewiesen wird. Mit dieser Richtlinie können Sie die API-Datenverkehrsrate überwachen und vorbeugende Maßnahmen ergreifen. Um diese Richtlinie zu konfigurieren, geben Sie Folgendes an:
HTTP-Header-Name- Es ist ein Traffic-Selektorschlüssel, der den Datenverkehr filtert, um die API-Anfragen zu identifizieren. Und die Ratenlimit-Richtlinie gilt und überwacht nur solche API-Anfragen.
Header-Werte- Diese Header-Werte werden durch Kommas für den genannten Header-Namen getrennt.
Schwellenwert- Die maximale Anzahl von Anfragen, die im angegebenen Intervall zulässig sind. Wenn SieHeader-Werteangegeben haben, gilt dieser Schwellenwert für jeden Header-Wert.
Beispiel-1:
Wenn Sie Header-Werte (
"key1","key2","key3"
) für den Header-Namenx-api-key
angeben und den Schwellenwert auf80
festlegen, gilt der festgelegte Schwellenwert für jeden Header-Wert.Beispiel-2:
Wenn Sie für jeden Header-Wert unterschiedliche Schwellenwerte angeben möchten, erstellen Sie separate Richtlinien für Ratenbegrenzungen mit demselben HTTP-Header-Namen.
Policy-1: Geben Sie Header-Werte (
"key1","key2"
) für den Header-Namenx-api-key
an und legen Sie den Schwellenwert auf80
fest.Policy-2: Geben Sie Header-Werte (
"key3"
) für den Header-Namenx-api-key
an und legen Sie den Schwellenwert auf30
fest.
Wenn Sie keinen Header-Wert angeben, gilt der Schwellenwert für den angegebenen HTTP-Headernamen.
Zeitscheibe- Das in Mikrosekunden angegebene Intervall. Während dieses Intervalls werden die Anforderungen anhand der konfigurierten Limits überwacht. Standardmäßig ist er auf 1000 Mikrosekunden (1 Millisekunde) eingestellt.
Limit-Typ- Der Modus, in dem Sie die Ratenlimit-Richtlinie anwenden möchten. Sie können den GrenztypBurstoderSmoothauswählen.
Aktion- Definiert eine Aktion, die Sie für den Traffic ausführen möchten, der den Schwellenwert überschreitet. Sie können eine der folgenden Aktionen festlegen:
- DROP: Löscht die Anfragen, die über den konfigurierten Traffic-Limits liegen.
- RESET: Setzt die Verbindung für die Anfragen zurück.
- REDIRECT: Leitet den Datenverkehr auf die konfigurierte redirect_url um.
- RESPOND: Reagiert mit der Standardantwort (
429 Too many requests
).
WAF
Diese Richtlinie verhindert Sicherheitsverletzungen, Datenverlust und mögliche unbefugte Änderungen an Websites, die auf sensible Geschäfts- oder Kundeninformationen zugreifen.
Bevor Sie eine WAF-Richtlinie konfigurieren,erstellen Sie mit dem StyleBook ein WAF-Profil in NetScaler ADM.
Wählen Sie inWAF-Profilnamedas von Ihnen erstellte WAF-Profil aus oder geben Sie es an.
Bot
Diese Richtlinie identifiziert schlechte Bots und schützt Ihre Appliance vor erweiterten Sicherheitsangriffen.
Bevor Sie eine BOT-Richtlinie konfigurieren,erstellen Sie mit dem StyleBook ein BOT-Profil in NetScaler ADM.
Geben Sie unterBot-Profilnamedas BOT-Profil an, das Sie erstellt haben.
Header Rewrite
Diese Richtlinie hilft Ihnen, den Header von API-Anfragen und -Antworten zu ändern. Wenn Sie den Wert im HTTP-Header ersetzen möchten, geben Sie Folgendes an:
HTTP-Header-Name: Der abgerufene Name, den Sie im Anforderungsheader ändern möchten.
Beispiel:
Host
Header-Wert: Optional ist die Wertzeichenfolge, die Sie im angegebenen Header-Namen ändern möchten.
Beispiel:
sample.com
Header neuer Wert: Der neue Wert, der den angegebenen Header-Wert ersetzt.
Wenn keinHeader-Wertangegeben wird, ersetzt es jeden empfangenen Wert durch den angegebenen Wert für denHTTP-Header-Namen.
Beispiel:
example.com
In diesem Beispiel wird die Richtliniesample.com
zum Umschreiben von Kopfzeilenexample.com
imHost
Feld einer API-Anforderung ersetzt.
URI Path Rewrite
Diese Richtlinie hilft Ihnen, den URI-Pfad von API-Anfragen und -Antworten zu ändern. Wenn Sie ein Segment im URI-Pfad ersetzen möchten, fügen Sie eine Regel hinzu, um einen der folgenden Schritte auszuführen:
Pfadsegment ersetzen— Wenn Sie diesen Aktionstyp auswählen, geben Sie Folgendes an:
- Aktuelles Pfadsegment— Das Pfadsegment, das Sie ersetzen möchten.
- Neues Pfadsegment— Neues Pfadsegment, das nur das aktuelle Pfadsegment ersetzt.
Um beispielsweise ein Gebietsschema im URI-Pfad von Englisch in Chinesisch zu ändern, geben Sie
/en-us/
inCurrent Path Segmentan. Und geben Sie unter/zh-zh
Neues Pfadsegmentan. Es ersetzt nur das Pfadsegment und behält den verbleibenden URI-Pfad bei.Vollständigen Pfad ersetzen— Dieser Aktionstyp ersetzt den URI-Pfad von API-Anfragen und -Antworten vollständig durch den angegebenen Pfad. Wenn Sie unterNeues Pfadsegmentangeben
/example.html
, wird der URI-Pfad einer API-Anfrage oder -Antwort in den angegebenen Pfad geändert.Pfadsegment entfernen— Diese Aktion entfernt das angegebene Segment aus dem URI. Um beispielsweise das englische Gebietsschema aus dem URI-Pfad zu entfernen, geben Sie
/en-us/
inCurrent Path Segmentan.Pfadsegment einfügen— Mit dieser Aktion wird das angegebene Segment in den URI-Pfad eingefügt. Um diese Regel anzuwenden, geben Sie die Position an, an der Sie das Segment einfügen möchten. Und welches Segment Sie einfügen möchten.
Wenn Sie beispielsweise ein Segment direkt nach einem Text einfügen möchten, gehen Sie wie folgt vor:
- Geben Sie die Position an, an der Sie ein neues Segment einfügen möchten.
- Geben Sieunter Aktuelles Pfadsegmentden Text an, nach dem ein neues Segment hinzugefügt werden soll.
- Geben Sieunter Neues Pfadsegmentdas Segment an, das Sie hinzufügen möchten.
Verweigern
Mit dieser Richtlinie können Sie verhindern, dass API-Anfragen Ihre API-Ressourcen erreichen.