NetScaler Console を API プロキシサーバーとして
-
API リクエストの検証。NetScaler Console は、構成されたセキュリティポリシーとロールベースのアクセス制御 (RBAC) ポリシーに対してすべての API リクエストを検証します。NetScaler Console はテナントを認識しており、API アクティビティがテナントの境界を越えないようにします。
-
集中監査。NetScaler Console は、管理対象インスタンスに関連するすべての API アクティビティの監査ログを保持します。
-
セッション管理。NetScaler Console は、API クライアントが管理対象インスタンスとのセッションを維持する手間を省きます。
NetScaler Console が API プロキシサーバーとして機能する方法
| ヘッダー値 | 説明 |
|---|---|
| MPS-API-PROXY-MANAGED-INSTANCE-NAME | 管理対象インスタンスの名前。 |
| MPS-API-PROXY-MANAGED-INSTANCE-IP | 管理対象インスタンスの IP アドレス。 |
| MPS-API-PROXY-MANAGED-INSTANCE-ID | 管理対象インスタンスのID。 |
| MPS-API-PROXY-TIMEOUT | NITRO APIリクエストのタイムアウト値。タイムアウト値を秒単位で設定します。プロキシタイムアウトを設定すると、NetScaler Consoleは、リクエストがタイムアウトするまで指定された期間待機します。 |
| MPS-API-PROXY-MANAGED-INSTANCE-USERNAME | 管理対象のNetScalerインスタンスにアクセスするためのユーザー名。 |
| MPS-API-PROXY-MANAGED-INSTANCE-PASSWORD | 管理対象のNetScalerインスタンスにアクセスするためのパスワード。 |
| MPS-API-PROXY-MANAGED-INSTANCE-SESSID | 管理対象インスタンスにアクセスするためのセッションID。 |
-
リクエストを変更せずに、NetScaler ConsoleはリクエストをインスタンスAPIプロキシエンジンに転送します。
-
インスタンスAPIプロキシエンジンは、APIリクエストをバリデーターに転送し、APIリクエストの詳細を監査ログに記録します。
-
バリデーターは、リクエストが設定されたセキュリティポリシー、RBACポリシー、テナンシー境界などに違反しないことを保証します。また、管理対象インスタンスが利用可能かどうかを判断するチェックなど、追加のチェックを実行します。
-
設定 > 管理に移動します。
-
システム構成で、システム、タイムゾーン、許可されたURL、および今日のメッセージを選択します。
NetScaler ConsoleをAPIプロキシサーバーとして使用する方法
-
NetScaler Consoleにログインする
-
セッションIDを取得する
-
後続のAPIリクエストにセッションIDを含める。
POST /nitro/v1/config/login
Content-Type: application/json
{
"login": {
"username":"nsroot",
"password":"nsroot"
}
}
{
"errorcode": 0,
"message": "Done",
"operation": "add",
"resourceType": "login",
"username": "***********",
"tenant_name": "Owner",
"resourceName": "nsroot",
"login": [
{
"tenant_name": "Owner",
"permission": "superuser",
"session_timeout": "36000",
"challenge_token": "",
"username": "",
"login_type": "",
"challenge": "",
"client_ip": "",
"client_port": "-1",
"cert_verified": "false",
"sessionid": "##D2BF9C5F40E5B2E884A9C45C89F0ADE24DA8A8169BE6358D39F5D471B73D",
"token": "b2f3f935e93db6a"
}
]
}
例1:負荷分散仮想サーバーの統計情報を取得する
GET /nitro/v1/stat/lbvserver
Content-type: application/json
MPS-API-PROXY-MANAGED-INSTANCE-IP: 192.0.2.10
SESSID: ##D2BF9C5F40E5B2E884A9C45C89F0ADE24DA8A8169BE6358D39F5D471B73D
例2:負荷分散仮想サーバーを作成する
POST /nitro/v1/config/lbvserver/sample_lbvserver
Content-type: application/json
Accept-type: application/json
MPS-API-PROXY-MANAGED-INSTANCE-IP: 192.0.2.10
SESSID: ##D2BF9C5F40E5B2E884A9C45C89F0ADE24DA8A8169BE6358D39F5D471B73D
{
"lbvserver":{
"name":"sample_lbvserver",
"servicetype":"HTTP",
"ipv46":"10.102.1.11",
"port":"80"
}
}
例3:負荷分散仮想サーバーを変更する
PUT /nitro/v1/config/lbvserver
Content-type: application/json
Accept-type: application/json
MPS-API-PROXY-MANAGED-INSTANCE-IP: 192.0.2.10
SESSID: ##D2BF9C5F40E5B2E884A9C45C89F0ADE24DA8A8169BE6358D39F5D471B73D
{
"lbvserver":{
"name":"sample_lbvserver",
"appflowlog":"DISABLED"
}
}
例4:負荷分散仮想サーバーを削除する
DELETE /nitro/v1/config/lbvserver/sample_lbvserver
Accept-type: application/json
MPS-API-PROXY-MANAGED-INSTANCE-IP: 192.0.2.10
SESSID: ##D2BF9C5F40E5B2E884A9C45C89F0ADE24DA8A8169BE6358D39F5D471B73D
例5:NetScalerでCLI実行中の構成をダウンロードする
GET /nitro/v1/config/nsrunningconfig
Accept-type: application/json
MPS-API-PROXY-MANAGED-INSTANCE-IP: 192.0.2.10
SESSID: ##D2BF9C5F40E5B2E884A9C45C89F0ADE24DA8A8169BE6358D39F5D471B73D