Danke für das Feedback

Dieser Artikel wurde maschinell übersetzt. (Haftungsausschluss)

APIs zum Verwalten der API-Sicherheit verwenden

Sie können auf die APIs zugreifen, um eine API-Sicherheit zu erstellen, zu konfigurieren und bereitzustellen.

Hinweis:

Informationen zur Verwendung von API-Sicherheits-APIs zur Konfiguration der Funktion finden Sie in der Nitro-API-Dokumentation.

Schritte Ressourcen-URL
  1 Erstellen Sie eine API-Definition https://adm.cloud.com/{customerid}/apisec/nitro/v1/config/apidefs
  2 Einen API-Proxy hinzufügen https://adm.cloud.com/apiproxies
  3 Stellen Sie eine API-Instanz mithilfe des API-Proxys bereit https://adm.cloud.com/apiproxies/{customerid}/deployments
  4 API-Richtlinien hinzufügen https://adm.cloud.com/{customerid}/apisec/nitro/v1/config/policies/{id}

Jede API-Richtlinie hat ein anderes config_spec-Objekt. Es ist ein undurchsichtiges Objekt, das ein JSON-Wörterbuch enthält, um einen policytype mit bestimmten Werten zu konfigurieren.

In diesem Objekt können Sie eine API-Ressource und ihre Methoden mithilfe der folgenden Optionen auswählen:

  • api-resource-paths - Geben Sie die API-Ressourcenpfade und -Methoden an, die in einer API-Definition definiert sind.

    Beispiel:

    { "endpoints": ["/pet", "/pet/findByStatus", "/pet/findByTags"], "get": true, "post": false, "put": false, "delete": false }
  • custom-rules - Geben Sie die benutzerdefinierten API-Ressourcenpfade und -Methoden an, die in einer API-Definition möglicherweise nicht vorhanden sind.

    Beispiel:

    { "endpoints": ["/pet/categories", "/pet/findByName"], "get": true, "post": false, "put": false, "delete": false }

Bei dieser Konfiguration filtert die Richtlinie die eingehenden Verkehrsanfragen, die den angegebenen API-Ressourcenpfaden entsprechen.

Informationen zu den config_spec für die einzelnen Richtlinientypen finden Sie in den API-Beispielen für Richtlinientypen.

API-Beispiele für Richtlinientypen

In diesem Abschnitt werden die unterstützten API-Richtlinientypen und ihre Konfiguration beschrieben:

Ratenlimit

Im Folgenden finden Sie eine Beispielkonfiguration für den Richtlinientyp Ratelimit. Geben Sie die folgende Konfiguration im config_spec-Objekt an:

{ "policytype": "Ratelimit", "config_spec": { "api-resource-paths": { "endpoints": ["/pet", "/pet/findByStatus", "/pet/findByTags"], "get": true, "post": false, "put": false, "delete": false }, "custom-rules": {}, "threshold": "10", "timeslice": "20000", "limittype": "BURSTY", "api-respondertype": "DROP", "header_name": "x-api-key", "per_client_ip": true }, "order_index": 1, "policy_name": "ratelimit_policy" }

Weitere Informationen zu den einzelnen Attributen finden Sie unter Ratenbegrenzungsrichtlinie.

OAuth

Im Folgenden finden Sie ein Beispiel für eine API-Konfiguration für den Richtlinientyp JWT Auth validation. Geben Sie die folgende Konfiguration im config_spec-Objekt an:

{ "policytype": "JWT Auth Validation", "config_spec": { "api-resource-paths": { "endpoints": ["/pet", "/pet/findByStatus", "/pet/findByTags"], "get": true, "post": true, "put": false, "delete": false }, "custom-rules": {}, "jwks-uri": "https://uri.petstore.com", "issuer": "https://issuer.petstore.com", "audience": "petstore", "introspect-uri": "https://introspect.uri.com", "clientid": "client", "clientsecret": "clientsecret", "claims-to-save": ["scope", "scope2"], "allowed-algorithms": { "hs256": true, "rs256": true, "rs512": true } }, "order_index": 2, "policy_name": "Jwt_auth_policy" }

Weitere Informationen zu den einzelnen Attributen finden Sie in der OAuth-Richtlinie

Grundlegende Authentifizierung

Im Folgenden finden Sie ein Beispiel für eine API-Konfiguration für den Richtlinientyp BasicAuth:

{ "config_spec": { "api-resource-paths": { "delete": false, "endpoints": ["/pet", "/pet/findByStatus", "/pet/findByTags"], "get": true, "post": true, "put": false }, "custom-rules": {} }, "order_index": 3, "policy_name": "Auth_BaSIC", "policytype": "BasicAuth" }

Weitere Informationen zu den einzelnen Attributen finden Sie unter Grundlegende Authentifizierungsrichtlinie.

Keine Authentifizierung

Im Folgenden finden Sie ein Beispiel für eine API-Konfiguration für den Richtlinientyp NoAuth:

{ "config_spec": { "api-resource-paths": { "delete": false, "endpoints": ["/pet", "/pet/findByStatus", "/pet/findByTags"], "get": true, "post": false, "put": false }, "custom-rules": {} }, "order_index": 4, "policy_name": "no_auth_policy", "policytype": "NoAuth" }

Bot

Im Folgenden finden Sie ein Beispiel für eine API-Konfiguration für den Richtlinientyp Bot:

{ "config_spec": { "api-resource-paths": { "delete": false, "endpoints": ["/pet", "/pet/findByStatus", "/pet/findByTags"], "get": false, "post": false, "put": false }, "bot-prof-name": "apisec_test_profile", "custom-rules": {} }, "order_index": 5, "policy_name": "bot_policy", "policytype": "Bot" }

Weitere Informationen zu den einzelnen Attributen finden Sie unter Bot-Richtlinie.

WAF

Im Folgenden finden Sie ein Beispiel für eine API-Konfiguration für den WAF-Richtlinientyp:

{ "config_spec": { "api-resource-paths": { "delete": false, "endpoints": ["/pet", "/pet/findByStatus", "/pet/findByTags"], "get": false, "post": false, "put": false }, "waf-prof-name": "apisec_waf_profile", "custom-rules": {} }, "order_index": 6, "policy_name": "waf_policy", "policytype": "WAF" }

Weitere Informationen zu den einzelnen Attributen finden Sie in der WAF-Richtlinie.

Header Rewrite

Im Folgenden finden Sie ein Beispiel für eine API-Konfiguration für den Richtlinientyp Header Rewrite. Geben Sie diese Konfiguration im config_spec-Objekt an:

{ "policytype": "Header Rewrite", "config_spec": { "api-resource-paths": { "endpoints": ["/pet", "/pet/findByStatus", "/pet/findByTags"], "get": true, "post": true, "put": false, "delete": false }, "custom-rules": {}, "rewrite-policy-header-field-name": "org", "rewrite-policy-header-field-val": "Citrix", "rewrite-policy-header-field-new-val": "Citrite" }, "order_index": 7, "policy_name": "header_rewrite_pol" }

Weitere Informationen zu den einzelnen Attributen finden Sie unter Header Rewrite-Richtlinie.

URI Path Rewrite

Im Folgenden finden Sie ein Beispiel für eine API-Konfiguration für den Richtlinientyp URI Path Rewrite:

{ "config_spec": { "api-resource-paths": { "endpoints": ["/store/order", "/store/inventory"], "delete": false, "get": true, "post": true, "patch": false, "put": false }, "custom-rules": { "delete": false, "endpoints": [], "get": false, "post": false, "patch": false, "put": true }, "path-rewrite-params": [ { "insert-segment-position": "beginning", "new-path-value": "v3", "old-path-value": "v2", "action-type": "replace path segment" }, { "insert-segment-position": "beginning", "new-path-value": "begin", "action-type": "insert path segment" }, { "insert-segment-position": "end", "new-path-value": "end", "action-type": "insert path segment" }, { "insert-segment-position": "before", "new-path-value": "before", "old-path-value": "store", "action-type": "insert path segment" }, { "insert-segment-position": "after", "new-path-value": "after", "old-path-value": "store", "action-type": "insert path segment" } ] }, "order_index": 24, "policy_name": "eats_uripathrewrite", "policytype": "URI Path Rewrite” }

Weitere Informationen zu den einzelnen Attributen finden Sie unter URI Path Rewrite-Richtlinie.

Autorisierung

Im Folgenden finden Sie ein Beispiel für eine API-Konfiguration für den Richtlinientyp Authorization. Geben Sie die folgende Konfiguration im config_spec-Objekt an:

{ "policytype": "Authorization", "config_spec": { "api-resource-paths": { "endpoints": ["/pet", "/pet/findByStatus", "/pet/findByTags"], "get": true, "post": true, "put": false, "delete": false }, "custom-rules": {}, "claims": [{ "name": "scope", "values": ["value1", "value2"] }] }, "order_index": 8, "policy_name": "authorization" }

Weitere Informationen zu den einzelnen Attributen finden Sie unter Autorisierungsrichtlinie.

Verweigern

Im Folgenden finden Sie ein Beispiel für eine API-Konfiguration für den Richtlinientyp Deny. Geben Sie die folgende Konfiguration im config_spec-Objekt an:

{ "policytype": "Deny", "config_spec": { "api-resource-paths": { "endpoints": ["/pet", "/pet/findByStatus", "/pet/findByTags"], "get": true, "post": true, "put": false, "delete": false }, "custom-rules": {}, "api-denytype": "RESPONDWITH" }, "order_index": 9, "policy_name": "deny_policy" }

In api-denytype können Sie einen der folgenden Werte angeben:

  • RESPONDWITH
  • RESET

Weitere Informationen zu den einzelnen Attributen finden Sie unter Regel ablehnen.

Die offizielle Version dieses Inhalts ist auf Englisch. Für den einfachen Einstieg wird Teil des Inhalts der Cloud Software Group Dokumentation maschinell übersetzt. Cloud Software Group hat keine Kontrolle über maschinell übersetzte Inhalte, die Fehler, Ungenauigkeiten oder eine ungeeignete Sprache enthalten können. Es wird keine Garantie, weder ausdrücklich noch stillschweigend, für die Genauigkeit, Zuverlässigkeit, Eignung oder Richtigkeit von Übersetzungen aus dem englischen Original in eine andere Sprache oder für die Konformität Ihres Cloud Software Group Produkts oder Ihres Diensts mit maschinell übersetzten Inhalten gegeben, und jegliche Garantie, die im Rahmen der anwendbaren Endbenutzer-Lizenzvereinbarung oder der Vertragsbedingungen oder einer anderen Vereinbarung mit Cloud Software Group gegeben wird, dass das Produkt oder den Dienst mit der Dokumentation übereinstimmt, gilt nicht in dem Umfang, in dem diese Dokumentation maschinell übersetzt wurde. Cloud Software Group kann nicht für Schäden oder Probleme verantwortlich gemacht werden, die durch die Verwendung maschinell übersetzter Inhalte entstehen können.
APIs zum Verwalten der API-Sicherheit verwenden