-
Low-touch onboarding of NetScaler instances using Console Advisory Connect
-
-
Importing and synchronizing StyleBooks from an external repository
-
Create and use custom StyleBooks
-
Create a StyleBook to upload files to NetScaler Console service
-
Create a StyleBook to upload SSL certificate and certificate key files to NetScaler Console service
-
Enable analytics and configure alarms on a virtual server defined in a StyleBook
-
Allow special characters with their literal form in StyleBooks
-
Use API to create configurations from StyleBooks
-
This content has been machine translated dynamically.
Dieser Inhalt ist eine maschinelle Übersetzung, die dynamisch erstellt wurde. (Haftungsausschluss)
Cet article a été traduit automatiquement de manière dynamique. (Clause de non responsabilité)
Este artículo lo ha traducido una máquina de forma dinámica. (Aviso legal)
此内容已经过机器动态翻译。 放弃
このコンテンツは動的に機械翻訳されています。免責事項
이 콘텐츠는 동적으로 기계 번역되었습니다. 책임 부인
Este texto foi traduzido automaticamente. (Aviso legal)
Questo contenuto è stato tradotto dinamicamente con traduzione automatica.(Esclusione di responsabilità))
This article has been machine translated.
Dieser Artikel wurde maschinell übersetzt. (Haftungsausschluss)
Ce article a été traduit automatiquement. (Clause de non responsabilité)
Este artículo ha sido traducido automáticamente. (Aviso legal)
この記事は機械翻訳されています.免責事項
이 기사는 기계 번역되었습니다.책임 부인
Este artigo foi traduzido automaticamente.(Aviso legal)
这篇文章已经过机器翻译.放弃
Questo articolo è stato tradotto automaticamente.(Esclusione di responsabilità))
Translation failed!
Use APIs to manage API Security
You can access the APIs to create, configure, and deploy an API Security.
Note:
To understand how to use API Security APIs to configure the feature, see the Nitro API documentation.
| Steps | Resource URL | ||
|---|---|---|---|
| 1 | Create an API Definition | https://adm.cloud.com/{customerid}/apisec/nitro/v1/config/apidefs |
|
| 2 | Add an API proxy | https://adm.cloud.com/apiproxies |
|
| 3 | Deploy an API instance using the API Proxy | https://adm.cloud.com/apiproxies/{customerid}/deployments |
|
| 4 | Add API policies | https://adm.cloud.com/{customerid}/apisec/nitro/v1/config/policies/{id} |
|
Each API policy has a different config_spec object. It is an opaque object that contains a JSON dictionary to configure a policytype with specific values.
In this object, you can select an API resource and its methods using the following options:
-
api-resource-paths- Specify the API resource paths and methods that are defined in an API definition.Example:
{ "endpoints": ["/pet", "/pet/findByStatus", "/pet/findByTags"], "get": true, "post": false, "put": false, "delete": false } <!--NeedCopy--> -
custom-rules- Specify the custom API resource paths and methods that might not exist in an API definition.Example:
{ "endpoints": ["/pet/categories", "/pet/findByName"], "get": true, "post": false, "put": false, "delete": false } <!--NeedCopy-->
With this configuration, the policy filters the incoming traffic requests that match the specified API resource paths.
For information about config_spec of each policy type, see API examples for policy types.
API examples for policy types
This section describes the supported API policy types and their configuration:
- Rate limit
- OAuth
- Basic authentication
- No authentication
- Bot
- WAF
- Header Rewrite
- URI Path Rewrite
- Authorization
- Deny
Rate limit
The following is an example configuration for the Ratelimit policy type. Specify the following configuration in the config_spec object:
{
"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"
}
<!--NeedCopy-->
For more information on each attribute, see Rate limit policy.
OAuth
The following is an example API configuration for the JWT Auth validation policy type. Specify the following configuration in the config_spec object:
{
"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"
}
<!--NeedCopy-->
For more information on each attribute, see OAuth policy
Basic authentication
The following is an example API configuration for the BasicAuth policy type:
{
"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"
}
<!--NeedCopy-->
For more information on each attribute, see Basic authentication policy.
No authentication
The following is an example API configuration for the NoAuth policy type:
{
"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"
}
<!--NeedCopy-->
Bot
The following is an example API configuration for the Bot policy type:
{
"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"
}
<!--NeedCopy-->
For more information on each attribute, see Bot policy.
WAF
The following is an example API configuration for the WAF policy type:
{
"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"
}
<!--NeedCopy-->
For more information on each attribute, see WAF policy.
Header Rewrite
The following is an example API configuration for the Header Rewrite policy type, specify this configuration in the config_spec object:
{
"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"
}
<!--NeedCopy-->
For more information about each attribute, see Header Rewrite policy.
URI Path Rewrite
The following is an example API configuration for the URI Path Rewrite policy type:
{
"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”
}
<!--NeedCopy-->
For more information about each attribute, see URI Path Rewrite policy.
Authorization
The following is an example API configuration for the Authorization policy type. Specify the following configuration in the config_spec object:
{
"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"
}
<!--NeedCopy-->
For more information about each attribute, see Authorization policy.
Deny
The following is an example API configuration for the Deny policy type. Specify the following configuration in the config_spec object:
{
"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"
}
<!--NeedCopy-->
In api-denytype, you can specify one of the following values:
- RESPONDWITH
- RESET
For more information about each attribute, see Deny rule.
Share
Share
In this article
This Preview product documentation is Cloud Software Group Confidential.
You agree to hold this documentation confidential pursuant to the terms of your Cloud Software Group Beta/Tech Preview Agreement.
The development, release and timing of any features or functionality described in the Preview documentation remains at our sole discretion and are subject to change without notice or consultation.
The documentation is for informational purposes only and is not a commitment, promise or legal obligation to deliver any material, code or functionality and should not be relied upon in making Cloud Software Group product purchase decisions.
If you do not agree, select I DO NOT AGREE to exit.