API プロキシサーバーとしてのNetScaler® ADM
-
APIリクエストの検証。NetScaler ADMは、構成されたセキュリティポリシーおよびロールベースのアクセス制御 (RBAC) ポリシーに対してすべてのAPIリクエストを検証します。NetScaler ADMはテナントを認識しており、APIアクティビティがテナント境界を越えないようにします。
-
集中監査。NetScaler ADMは、管理対象インスタンスに関連するすべてのAPIアクティビティの監査ログを保持します。
-
セッション管理。NetScaler ADMは、APIクライアントが管理対象インスタンスとのセッションを維持するタスクから解放します。
NetScaler ADM の API プロキシサーバーとしての動作
| Header values | Description |
|---|---|
| _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リクエストのタイムアウト値。タイムアウト値を秒単位で設定します。プロキシタイムアウトを設定すると、ADMはリクエストがタイムアウトするまで指定された期間待機します |
| _MPS_API_PROXY_MANAGED_INSTANCE_USERNAME | 管理対象ADCインスタンスにアクセスするためのユーザー名 |
| _MPS_API_PROXY_MANAGED_INSTANCE_PASSWORD | 管理対象ADCインスタンスにアクセスするためのパスワード |
| _MPS_API_PROXY_MANAGED_INSTANCE_SESSID | 管理対象インスタンスにアクセスするためのセッションID |
-
リクエストを変更せずに、NetScaler ADMはリクエストをインスタンスAPIプロキシエンジンに転送します。
-
インスタンスAPIプロキシエンジンはAPIリクエストをバリデーターに転送し、APIリクエストの詳細を監査ログに記録します。
-
バリデーターは、リクエストが構成されたセキュリティポリシー、RBACポリシー、テナンシー境界などに違反しないことを保証します。また、管理対象インスタンスが利用可能であるかどうかのチェックなど、追加のチェックを実行します。
-
Settings > Administration に移動します。
-
System Configurations で、System, Time zone, Allowed URLs and Message of the day を選択します。
NetScaler ADM を API プロキシサーバーとして使用する方法
_MPS_API_PROXY_MANAGED_INSTANCE_IP ヘッダーを使用しています。
-
NetScaler ADMにログインします
-
セッション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
_MPS_API_PROXY_MANAGED_INSTANCE_IP の値はADCのIPアドレスです。
例 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: ADC 上の CLI 実行コンフィグのダウンロード
GET /nitro/v1/config/nsrunningconfig
Accept-type: application/json
_MPS_API_PROXY_MANAGED_INSTANCE_IP: 192.0.2.10
SESSID: ##D2BF9C5F40E5B2E884A9C45C89F0ADE24DA8A8169BE6358D39F5D471B73D