Defender for Cloud アプリ REST API

この記事では、HTTPS を使用して Defender for Cloud Apps を操作する方法について説明します。

Microsoft Defender for Cloud Apps API を使用すると、REST API エンドポイントを通じて Defender for Cloud Apps にプログラムからアクセスできます。 アプリケーションでは、API を使用して、Defender for Cloud Apps のデータとオブジェクトに対する読み取りと更新の操作を実行できます。 たとえば、Defender for Cloud Apps API では、ユーザー オブジェクトに対する次の一般的な操作がサポートされています。

  • Cloud Discovery のログ ファイルをアップロードします
  • ブロック スクリプトを生成します
  • アクティビティとアラートを一覧表示する
  • アラートを無視または解決します

API URL の構造

Defender for Cloud Apps API を使用するには、最初にテナントから API の URL を取得する必要があります。 API URL には次の形式を使用します: https://<portal_url>/api/<endpoint>

テナントの Defender for Cloud Apps API URL を取得するには、次の手順を実行します。

  1. Microsoft Defender Portal で、[設定] を選択します。 次に、[クラウド アプリ] を選択します。 [システム] で [バージョン情報] を選択します。

  2. Defender for Cloud Apps のバージョン情報画面で、API URL を確認できます。

    View your data center.

API URL を取得したら、そこに /api サフィックスを追加して API URL を取得します。 たとえば、ポータルの URL が https://mytenant.us2.contoso.com の場合、API URL は https://mytenant.us2.portal.cloudappsecurity.com/api になります。

API トークン

Defender for Cloud Apps では、サーバーへのすべての API 要求のヘッダーで、API トークンを指定する必要があります。次に例を示します。

Authorization: Token <your_token_key>

ここでは <your_token_key> は個人用 API トークンです。

API トークンの詳細については、「API トークンの管理」を参照してください。

API トークン - 例

curl -XGET -H "Authorization:Token <your_token_key>" "https://<tenant_id>.<tenant_region>.portal.cloudappsecurity.com/api/example-endpoint"

サポートされているアクション

次の表ではサポートされているアクションについて説明します。

リソース HTTP 動詞 URI ルート
活動 GET または POST /api/v1/activities/
警告 GET または POST /api/v1/alerts/
データ エンリッチメント GET、POST、または DELETE /api/subnet/
エンティティ GET または POST /api/v1/entities/
Files GET または POST /api/v1/files/

ここで、リソース は関連エンティティのグループを表します。

サポートされているフィールドの種類は何ですか?

次の表に、サポートされているフィールドの種類について説明します。

フィールド 説明
string テキスト文字列
boolean true/false を表すブール値
integer 32 ビット符号付き整数
timestamp エポックからの経過ミリ秒

タイムスタンプ

Defender for Cloud Apps API によって言及されるタイムスタンプは、Unix のタイムスタンプ (ミリ秒) を指しています。 このタイムスタンプは、1970-01-01 0:00:00 からのミリ秒数によって決まります。 get-date PowerShell コマンドレットを使用して、日付をタイムスタンプに変換できます。

制限

要求に制限パラメーターを指定することで、要求を制限することができます。

次のメソッドは、制限パラメーターの指定にサポートされています。

  • URL エンコードされたもの (Content-Type: application/x-www-form-urlencoded ヘッダーあり)
  • データを形成する
  • JSON 本文 (Content-Type: multipart/form-data と適切な境界ヘッダーあり)

Note

  • 制限を指定しない場合、既定で 100 に設定されます。
  • API トークンを使用して行われたすべての要求に対する応答は、最大 100 アイテムに制限されます。
  • すべての API 要求のスロットリング制限は、1 テナントに付き 1 分あたり 30 要求です。

フィルター

結果の数が多い場合は、フィルターを使用して要求を微調整すると便利です。 このセクションでは、フィルターの構造と、フィルターで使用できる演算子について説明します。

構造

一部の API エンドポイントでは、クエリ実行時のフィルターがサポートされています。 関連するセクションには、使用可能なすべてのフィルター可能なフィールドとそのリソースでサポートされている演算子の一覧が記載されたリファレンスが表示されます。

ほとんどのフィルターでは、強力なクエリを提供するために複数の値がサポートされています。 フィルターと演算子を組み合わせる場合は、フィルター間の論理演算子として AND を使用します。

フィルター - 例

curl -XGET -H "Authorization:Token <your_token_key>" "https://<tenant_id>.<tenant_region>.portal.cloudappsecurity.com/api/example-endpoint" -d '{
  "filters": {
    "some.field": {
      "eq": ["value1", "value2"],
      "isset": true
    },
    "some.field2": {
      "gte": 5
    }
  },
  "skip": 5,
  "limit": 10
}'

演算子

Note

すべての演算子がすべてのフィルターと互換性があるわけではありません。

次の表に、サポートされている演算子について説明します。

演算子 応答の種類 説明
contains 文字列のリスト 指定した文字列のいずれかを含むすべての関連レコードを返します
deq 値の一覧 指定された値と等しくない 1 つの値を含むすべてのレコードを返します
descendantof 値の一覧 値またはそれらの子孫に一致するすべての関連レコードを返します
doesnotstartwith 文字列のリスト 指定された各文字列で始まれていないすべての関連レコードを返します
指定の値で終わる 文字列のリスト 指定された文字列の 1 つで終わる関連するすべてのレコードを返します
eq 値の一覧 指定された値のいずれかを含むすべての関連レコードを返します
gt 単一値 指定された値より大きい値を持つすべてのレコードを返します
gte 単一値 指定された値以上の値を持つすべてのレコードを返します
gte_ndays 数値 N 日前より後の日付であるすべてのレコードを返します
isnotset boolean "true" に設定すると、指定したフィールドに値がないすべての関連レコードを返します
isset boolean "true" に設定すると、指定したフィールドに値があるすべての関連レコードを返します
lt 単一値 指定した値より小さい値を持つすべてのレコードを返します
lte 単一値 指定された値以下の値を持つすべてのレコードを返します
lte_ndays 数値 N 日前より前の日付であるすべてのレコードを返します
ncontains 文字列のリスト 指定した文字列のいずれかを含まないすべての関連レコードを返します
ndescendantof 値の一覧 値またはそれらの子孫と一致しないすべての関連レコードを返します
neq 値の一覧 指定されたすべての値が含まれていないすべての関連レコードを返します
範囲 "start" (開始) フィールドと "end" (終了) フィールドを含むオブジェクトの一覧 指定した範囲のいずれか内のすべてのレコードを返します
startswith 文字列のリスト 指定された文字列の 1 つから始まる関連するすべてのレコードを返します
startswithsingle string 指定された文字列で始まる関連するすべてのレコードを返します
text string すべてのレコードのフルテキスト検索を実行します

次のステップ

問題が発生した場合は、ここにお問い合わせください。 お使いの製品の問題について支援やサポートを受けるには、サポート チケットを作成してください。