はじめに
このドキュメントでは、Cisco FMCおよびCisco FDMのアプリケーションプログラミングインターフェイス(API)エクスプローラを使用したナビゲーションについて説明します。
前提条件
REST APIの基本的な知識。
要件
このデモンストレーションでは、少なくとも1つのデバイスをこのFirepower管理センター(FMC)で管理しているFirepower管理センター(FMC)のGUIにアクセスできることが必要です。 このデモのFDM部分では、FDM GUIにアクセスするには、Firepower脅威対策(FTD)をローカルで管理する必要があります。
使用するコンポーネント
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
FMC APIエクスプローラでのナビゲーションの確認
FMC APIエクスプローラにアクセスするには、次のURLに移動します。
https://<FMC_mgmt_IP>/api/api-explorer
FMC GUIで使用したのと同じクレデンシャルでログインする必要があります。これらのクレデンシャルは、APIエクスプローラのURLを入力すると、次のようなウィンドウに入力されます。
ログインすると、APIクエリが、APIを使用して実行できるコールに対応するカテゴリに分割されていることが確認できます。
注:GUIまたはCLIから使用できるすべての設定機能がAPIから使用できるわけではありません。
カテゴリをクリックすると、そのカテゴリで使用可能なさまざまなコールが表示されます。これらのコールは、それぞれのRESTメソッドおよびそのコールのUniversal Resource Identifier(URI)とともに表示されます。
次の例では、FMCで設定されているアクセスポリシーを表示するように要求します。対応する方法をクリックして展開し、Try it outボタンをクリックします。
重要なのは、各API呼び出しで使用可能なパラメータを使用してクエリをパラメータ化できることです。赤いアスタリスクが付いているものだけが必須です、他は空のままにしておくことができます。
たとえば、domainUUIDはすべてのAPI呼び出しに必須ですが、APIエクスプローラでは自動的に入力されます。
次に、Executeをクリックしてこのコールを発信します。
「実行」をクリックする前に、コールに対する応答の例を確認して、要求が正しいかどうかによって可能な応答を把握できます。
APIコールが実行されると、応答ペイロードとともに応答コードが取得されます。この例では、OK要求に対応する200です。 また、作成したコールのcURLとURLも取得します。この情報は、外部のクライアント/ソフトウェアを使用してこのコールを発信する場合に役立ちます。
取得した応答は、FMCで設定されているACPをobjectIDとともに返します。この場合、次の図の赤いボックスに次の情報が表示されます。
このobjectIDは、このACPへの参照が必要なコールで入力する値です。たとえば、このACP内でルールを作成します。
中かっこ{}で囲まれた値を含むURIは、この呼び出しに必要な値です。 domainUUIDは自動的に入力される唯一の値であることに注意してください。
これらのコールに必要な値は、コールの説明で指定されます。ACPのルールを作成するには、次の図に示すようにpolicyIDが必要です。
このpolicyIDは、containerUUIDとして指定されたフィールドに入力されます。POSTメソッドのもう1つの必須フィールドは、ペイロードまたは要求本文です。必要に応じて、ここで示す例を使用して変更できます。
変更されたペイロードの例:
{ "action": "ALLOW", "enabled": true, "type": "AccessRule", "name": "Testing API rule", "sendEventsToFMC": false, "logFiles": false, "logBegin": false, "logEnd": false, "sourceZones": { "objects": [ { "name": "Inside_Zone", "id": "8c1c58ec-8d40-11ed-b39b-f2bc2b448f0d", "type": "SecurityZone" } ] }, "destinationZones": { "objects": [ { "name": "Outside_Zone", "id": "c5e0a920-8d40-11ed-994a-900c72fc7112", "type": "SecurityZone" } ] }, "newComments": [ "comment1", "comment2" ] }
注:使用可能なゾーンとそのIDは、次のクエリを使用して取得できます。
前のコールを実行すると、要求が成功してリソースの作成につながったことを示す201応答コードが表示されます。
最後に、ACPが変更されたFTDでこれらの変更を有効にするために、展開を行う必要があります。
そのためには、導入する準備ができている変更があるデバイスのリストを取得する必要があります。
この例には、ハイアベイラビリティに設定されたデバイスのペアが含まれています。このHAのIDを取得する必要があります。スタンドアロンデバイスの場合、そのデバイスのIDを取得する必要があります。
HAのデバイスIDを取得するために必要なクエリは次のとおりです。
デバイスIDと導入バージョン番号を使用して、次のコール例のペイロードを変更し、この導入を実行するためのコールを発信できます。
このコールが実行されると、すべてが正しければ、コード202で応答が返されます。
FDM APIエクスプローラでのナビゲーションの確認
FDM APIエクスプローラにアクセスするには、次の図に示すように、FDM GUIのボタンを使用して直接移動できます。
APIエクスプローラで、クエリがカテゴリに分割されていることがわかります。
カテゴリを展開するには、そのカテゴリをクリックする必要があります。次に、いずれかの操作をクリックして展開できます。各操作の中で最初に見つかるのは、このコールに対するOK応答の例です。
次に、コールの応答を制限するために使用できるパラメータが表示されます。このようなコールを発信するには、必須としてマークされたフィールドのみが必須であることに注意してください。
最後に、このコールが返すことができる応答コードを確認します。
この通話を発信するには、「発信する」をクリックする必要があります。このボタンは各コールの一番下にあるため、このボタンを見つけるには、下にスクロールする必要があります。
Try It Outボタンをクリックすると、それ以上のフィールドを必要としないコールの場合は即座に実行され、応答が返されます。
トラブルシュート
各コールは、HTTP応答コードと応答本文を生成します。これは、エラーの場所を特定するのに役立ちます。
次に、セッションの期限が切れたときに発生する一般的なエラーです。これは、トークンが期限切れであるために無効であることを示します。
次に、コールが返すことができるHTTP応答コードの例を示します。
- 2xxシリーズ:成功。200(GETおよびPUT)、201(POST)、202、204(DELETE)などのステータスコードがあります。API呼び出しが成功したことを示します。
- 30xシリーズ:リダイレクションクライアントが最初にHTTPを使用し、HTTPSにリダイレクトされたときに使用できます。
- 4xxシリーズ:クライアントからサーバに送信されたAPIコールのクライアント側の障害。2つの例として、セッションが認証されていないことを示す401ステータスコードと、アクセスが禁止されていることを示す403コードがあります。
- 5xxシリーズ:サーバ、デバイス、サービス側の障害。これは、デバイスAPIサービスが無効になっているか、IPネットワーク経由でアクセスできない結果である可能性があります