キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 
cancel
775
閲覧回数
0
いいね!
0
コメント
junakaga
Cisco Employee
Cisco Employee

WSAではAPIを利用してレポーティングやトラッキングのデータを取得することができます。この記事ではcurlコマンドを使ったAPIの利用例を紹介します。APIの有効化の方法や機能の詳細につきましては、各バージョンのAPIドキュメントをご参照ください。また、本記事のコマンド例は、以下の環境で動作確認を行なっております。お使いの環境に合わせて適宜書き換えてご利用ください。

 

クライアント:
   AlmaLinux 8.6
WSA: 
   モデル: S100V
   バージョン: 14.5.0
   ホスト名: wsa.example.com
   HTTPS用API port: 6443
   ID: admin
   Password: ironport

 

APIの認証について

APIの認証方法として、Basic認証を使いリクエストの度にID/Passwordの情報を送る方法と、ID/Passwordの代わりにJSON Web Token(JWT)を利用する方法があります。WSAでは、一定期間が経過するとJWTを無効化するため、Basic認証と比較してセキュリティ面で優位です。

JWTは、以下のようにbase64でエンコードしたIDとPasswordをリクエストボディとして、curlコマンドでトークン取得用のエンドポイントにリクエストを送信することで取得することができます。"jwtToken": "eyJhbGciOiJIUzI1.............4Qv6Lq0GNxA" の部分がJWTになります。

 

$ echo -n admin | base64 # idをbase64でエンコード
YWRtaW4=
$ echo -n ironport | base64 # passwordをbase64でエンコード
aXJvbnBvcnQ=
$ curl -X POST -H 'Content-Type: application/json' -d '{"data":{"userName":"YWRtaW4=", "passphrase":"aXJvbnBvcnQ="}}' https://wsa.example.com:6443/wsa/api/v2.0/login

Response:
{"data": {"userName": "admin", "is2FactorRedirectRequired": "false", "role": "Administrator", "email": [], "jwtToken": "eyJhbGciOiJIUzI1.............4Qv6Lq0GNxA"}}

 

APIの利用例

JWTを利用する場合

jwtTokenヘッダーを付加し、値には上記で取得したJWTをセットしてリクエストします。APIのエンドポイントや各パラメータ等の詳細は各バージョンのAPIドキュメントをご参照ください。

以下の例では、2022/5/1から2022/6/30までのWebトラッキングのプロキシサービスの情報を取得しています。

 

$ curl -X GET -H 'jwtToken: eyJhbGciOiJIUzI1.............4Qv6Lq0GNxA' 'https://wsa.example.com:6443/wsa/api/v2.0/web-tracking/web_transaction?startDate=2022-05-01T00:00:00.000Z&endDate=2022-07-01T00:00:00.000Z&filterBy=proxy_services&filterOperator=is&limit=20&offset=0&device_type=wsa&orderBy=timestamp&orderDir=desc&transactionStatus=all&'

Response:
{"meta": {"totalCount": 20}, "data": [{"attributes": {"webCategory": "URL Filtering Bypassed", "contentType": "-", "pageResources": "tunnel://............"Allow", "ampVerdict": "1"}}]}

 

Basic認証を利用する場合

Basic認証を利用する場合は、jwtTokenヘッダーの代わりに-uオプションでIDとPasswordを指定します。

 

$ curl -X GET -u 'admin:ironport' 'https://wsa.example.com:6443/wsa/api/v2.0/web-tracking/web_transaction?startDate=2022-05-01T00:00:00.000Z&endDate=2022-07-01T00:00:00.000Z&filterBy=proxy_services&filterOperator=is&limit=20&offset=0&device_type=wsa&orderBy=timestamp&orderDir=desc&transactionStatus=all&'

Response:
{"meta": {"totalCount": 20}, "data": [{"attributes": {"webCategory": "URL Filtering Bypassed", "contentType": "-", "pageResources": "tunnel://............"Allow", "ampVerdict": "1"}}]}

 

Getting Started

検索バーにキーワード、フレーズ、または質問を入力し、お探しのものを見つけましょう

シスコ コミュニティをいち早く使いこなしていただけるよう役立つリンクをまとめました。みなさんのジャーニーがより良いものとなるようお手伝いします