はじめに
このドキュメントでは、Cisco FMCおよびCisco FDMのアプリケーションプログラミングインターフェイス(API)エクスプローラを使用したナビゲーションについて説明します。
前提条件
REST APIの基本的な知識
要件
このデモンストレーションでは、このFirepower Management Center(FMC)で管理されるデバイスを1つ以上使用して、Firepower Management Center(FMC)のGUIにアクセスできることが必要です。 このデモンストレーションのFDM部分では、FDM GUIにアクセスするには、Firepower Threat Defense(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つの必須フィールドは、payloadまたはrequest bodyです。必要に応じて、ここで示した例を使用して変更できます。

変更されたペイロードの例:
{
"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ネットワーク経由でアクセスできない結果である可能性があります