はじめに
このドキュメントでは、Cisco Security Manager(CSM)で管理されているデバイスのアクセスコントロールリスト(ACL)をCSM API方式でカンマ区切り値(CSV)形式で抽出する方法について説明します。
前提条件
要件
次の項目に関する知識があることが推奨されます。
- Cisco Security Manager(CSM)
- CSMのAPI
- APIの基礎知識
使用するコンポーネント
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。
- CSMサーバ
- CSM APIライセンス
Product Name: L-CSMPR-API
Product Description: L-CSMPR-API : Cisco Security Manager Pro - License to enable API Access
- CSMで管理される適応型セキュリティアプライアンス(ASA)
- APIクライアント。cURL、Python、またはPostmanを使用できます。この記事では、Postmanでのプロセス全体を示します。
CSMクライアントアプリケーションを閉じる必要があるCSMクライアントアプリケーションが開いている場合、はAPIメソッドを使用するユーザとは別のユーザが開いている必要があります。それ以外の場合、APIはエラーを返します。API機能を使用するためのその他の前提条件については、次のガイドを参照してください。API前提条件
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
背景説明
Cisco Security Manager(CSM)には、APIを介して実装する必要がある管理対象デバイス設定用の機能がいくつかあります。
これらの設定オプションの1つは、CSMによって管理される各デバイスで設定されたアクセスコントロールリスト(ACL)のリストを抽出する方法です。CSM APIを使用することでこれまでにこの要件を満たすことができます。
これらの目的のために、PostmanはAPIクライアントおよびCSMバージョン4.19 SP1、ASA 5515バージョン9.8(4)として使用されます。
ネットワーク図

CSM APIライセンスのインストール/検証
CSM APIはライセンス機能です。CSMクライアントでTools > Security Manager Administration > Licensingページに移動し、CSMにAPIライセンスがあることを確認して、ライセンスがすでにインストールされていることを確認できます。



適用するAPIライセンスがないのに、ライセンスをインストールできる.licファイルがすでに存在する場合は、Install a Licenseボタンをクリックして、CSMサーバと同じディスクにライセンスファイルを保存する必要があります。
新しいCisco Security Managerライセンスをインストールするには、次の手順を実行します。
ステップ 1:添付されたライセンスファイル(.lic)を、受信した電子メールからファイルシステムに保存します。
ステップ 2:Cisco Security Manager のサーバ ファイル システムの既知の場所に、保存されたライセンス ファイルをコピーします。
ステップ 3:Cisco Security Manager クライアントを起動します。
ステップ 4:Tools->Security Manager Administration...の順に移動します。
ステップ 5:Cisco Security Manager - Administrationウィンドウから、Licensingを選択します
手順 6:Install a Licenseボタンをクリックします。
手順 7:Install Licenseダイアログで、Browseボタンを選択します。
ステップ 8:Cisco Security Managerサーバファイルシステムで、保存したライセンスファイルに移動して選択し、OKボタンを選択します。
ステップ 9:Install Licenseダイアログボックスで、OKボタンをクリックします。
ステップ 10:表示されたLicense Summary情報を確認し、Closeボタンをクリックします。



APIライセンスは、CSM Professional Edition用にライセンスされたサーバにのみ適用できます。このライセンスは、Standardエディションのライセンスを実行しているCSMには適用できません。APIライセンスの要件
設定手順
APIクライアントの設定
Postmanを使用する場合、設定が必要な設定がいくつかあります。設定は各APIクライアントによって異なりますが、似ている必要があります。
CSMの設定
- 有効なAPI。Tools > Security Manager Administration > APIの下で
API設定
CSM APIの使用
次の2つのコールをAPIクライアントで設定する必要があります。
1. ログイン方式
2. ACL値の取得
このプロセスを通じて参照するには、次の手順を実行します。
このラボで使用するCSMアクセスの詳細:
CSMホスト名(IPアドレス):192.168.66.116。APIでは、URLにホスト名を使用します。
ユーザ:admin
パスワード:Admin123
ログイン方法
このメソッドは、他のサービスで呼び出される他のメソッドよりも前に呼び出す必要があります。
CSM APIガイド:メソッドログイン
Request
1. HTTPメソッド:POST
2. URL:https://<hostname>/nbi/login
3. 本文:
1.0
123
admin
Admin123
true
https://192.168.66.116/nbi/login
場所:
Username:セッションに関連付けられているCSMクライアントのユーザ名
Password:セッションに関連付けられているCSMクライアントパスワード。
reqId:この属性は、クライアントによって実行された要求を一意に識別します。この値は、関連付けられた応答でCSMサーバによってエコーされます。ユーザが識別子として使用したいものすべてに設定できます。
heartbeatRequested:この属性は、オプションで定義できます。この属性がtrueに設定されている場合、CSMクライアントはCSMサーバからハートビートコールバックを受信します。サーバは、2分に近い頻度(非アクティビティタイムアウト)でクライアントへのpingを試行します。クライアントがハートビートに応答しない場合、APIは次の間隔でハートビートを再試行します。ハートビートに成功すると、セッションの非アクティブタイムアウトがリセットされます。
callbackUrl:CSMサーバがコールバックを行う場所のURL。heartbeatRequestedがtrueの場合は、これを指定する必要があります。HTTPSベースのコールバックURLのみが許可されます
(4)送信
この例のように表示するには、rawオプションを選択します。
応答
Login APIはユーザクレデンシャルを検証し、安全なCookieとしてセッショントークンを返します。セッション値はasCookieキーの下に保存されるため、このasCookie値を保存する必要があります。


ACLルールの取得
execDeviceReadOnlyCLICmdsメソッド。この方法で実行できる一連のコマンドは、統計情報などの読み取り専用コマンドや、特定のデバイスの動作に関する追加情報を提供するモニタリングコマンドです。
CSM APIユーザガイドのメソッドの詳細
Request
1. HTTPメソッド: POST
2. URL:https://hostname/nbi/ utilservice/execDeviceReadOnlyCLICmds
3. HTTPヘッダー:認証セッションを識別するログイン方式によって返されるCookie。
以前にメソッドログインから取得したasCookie値を入力します。
キー:「asCookie」と入力
値:取得した入力値。
チェックボックスをクリックして有効にします。
4. 本文:
1.0
123
192.168.66.1
show
access-list
注:上記のXML本文は、「show run all」、「show run object」、「show run nat」などの「show」コマンドの実行に使用できます。
XMLの「<deviceReadOnlyCLICmd>」要素は、「<cmd>」および「<argument>」内で指定されたコマンドが読み取り専用である必要があることを示します。
場所:
deviceIP:コマンドの実行対象となるデバイスのIPアドレス。
cmd:コマンド「show」を修正。正規表現では、大文字と小文字を混在させることができます[sS][hH][oO][wW]
argument: showコマンドの引数。「run」と同様にデバイスの実行コンフィギュレーションを表示するか、「access-list」と同様にアクセスリストの詳細を表示します。
5. 送信

応答

確認
応答をファイルとして保存するオプションがあります。Save Response > Save to a fileの順に移動します。次に、ファイルの場所を選択し、.csv形式で保存します。

次に、この.csvファイルをExcelアプリケーションで開くことができるようにする必要があります。.csvファイルタイプから、PDF、TXTなどの他のファイルタイプとして出力を保存できます。
トラブルシュート
APIを使用した潜在的なエラー応答。
1. APIライセンスがインストールされていません。
原因: APIライセンスの有効期限が切れているか、インストールされていないか、または有効になっていません。
解決策:Tools > Security Manager Administration > Licensing pageで、ライセンスの有効期限を確認します。
API機能がTools > Security Manager Administration > APIで有効になっていることを確認します。
このガイドの前述の「CSM APIライセンスのインストールと検証」セクションの設定を確認します。
2. APIログインに使用されるCSM IPアドレスが正しくありません。
原因: CSMサーバのIPアドレスがAPIコールのURLで間違っています。
考えられる解決方法:ホスト名がCSMサーバの正しいIPアドレスであることをAPIクライアントのURLで確認します。
URL:https://<hostname>/nbi/login
3. 誤ったASA IPアドレス。
原因: <deviceIP></deviceIP>タグの間の本文で定義されているIPアドレスは正しいものであってはなりません。
考えられる解決方法:正しいデバイスのIPアドレスがBody Syntax内で定義されていることを確認します。
4. ファイアウォールへの接続がない。
原因:デバイスがCSMに接続されていません
考えられる解決方法:CSMサーバから接続テストを実行し、デバイスへのさらなる接続のトラブルシューティングを行います。
エラーコードと説明の詳細については、次のリンクの『Cisco Security Manager API Specification Guide』を参照してください。