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 zu Sicherheit > API-Sicherheit > Richtlinien.
-
Klicken Sie auf Hinzufügen.
-
Geben Sie den Namen für eine Richtliniengruppe an.
-
Wählen Sie eine Bereitstellung aus der Liste aus.
-
Wählen Sie einen Upstream-Dienst aus der Liste aus, für den Sie Richtlinien konfigurieren möchten.
-
Klicken Sie auf Hinzufü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 — Auf dieser Registerkarte können Sie 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 die No-Auth-Richtlinie für die API-Ressourcen, die das Präfix
/bill
und die MethodeGET
haben.
Wählen Sie unter Richtlinieeine 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 unter Richtlinientypen.
-
-
Optional können Sie Richtlinientypen verschieben, um eine Priorität festzulegen. Die Richtlinientypen mit höherer Priorität gelten zuerst.
-
Klicken Sie auf Speichern, um eine Richtlinie hinzuzufügen. Wenn Sie die Richtlinie sofort anwenden möchten, klicken Sie auf Speichern 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 der API-Sicherheit mithilfe von APIs finden Sie unter APIs zum Verwalten der API-Sicherheit verwenden.
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 unter OAuth-Konfiguration für undurchsichtige Zugriffstoken.
Nachdem Sie Introspect-URIangegeben haben, geben Sie die Client-ID und den Client Secret fü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.
Nach erfolgreicher Validierung gewährt API Security dem Client Zugriff.
Wichtig:
Wenn Sie eine OAuth- oder Auth-Basic-Richtlinie für die ausgewählten API-Ressourcen konfigurieren, konfigurieren Sie die Richtlinie „ Keine Authentifizierung“ fü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 Sie Neuen Anspruch hinzufügen aus und geben Sie Folgendes an:
- Bezeichnung des Antrags
- Werte einfordern
Wichtig:
API-Sicherheit erfordert sowohl Authentifizierungs- als auch Autorisierungsrichtlinien für den API-Verkehr. Daher müssen Sie eine Autorisierungsrichtlinie mit einer Authentifizierungsrichtlinie konfigurieren. Die Authentifizierungsrichtlinie kann OAuth oder sein.
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 Sie Header-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 Grenztyp Burst oder Smooth auswä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 die konfigurierten Datenverkehrslimits überschreiten.
- 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 StyleBooks ein WAF-Profil in NetScaler Console.
Wählen Sie in WAF-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 StyleBooks ein BOT-Profil in NetScaler Console.
Geben Sie unter Bot-Profilname das 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 kein Header-Wert angegeben wird, ersetzt es jeden empfangenen Wert durch den angegebenen Wert für den HTTP-Header-Namen.
Beispiel:
example.com
In diesem Beispiel wird die Richtlinie sample.com
zum Umschreiben von Kopfzeilen example.com
im Host
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/
in Current Path Segment an. 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 unter Neues 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/
in Current 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 Sie unter Aktuelles Pfadsegmentden Text an, nach dem ein neues Segment hinzugefügt werden soll.
- Geben Sie unter 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.