Microsoft Graph Security APIエラー応答
名前空間: microsoft.graph
Microsoft Graph Security APIのエラーは、標準の HTTP 206 Partial Content 状態コードを使用して返され、警告ヘッダーを介して配信されます。
エラー
Microsoft Graph Security APIは、すべてのデータ プロバイダーから複数の応答を受け取るフェデレーション サービスです。 Microsoft Graph Security APIによって HTTP エラーが受信されると、次の形式で警告ヘッダーが返されます。
{Vendor}/{Provider}/{StatusCode}/{LatencyInMs}
この警告ヘッダーは、データ プロバイダーの 1 つが 2xx または 404 以外のエラー コードを返す場合にのみクライアントに送信されます。 以下に例を示します。
- リソースへのアクセスが許可されていない場合、HttpStatusCode.Forbidden (403) が返される可能性があります。
- プロバイダーがタイムアウトすると、HttpStatusCode.GatewayTimeout (504) が警告ヘッダーに返されます。
- 内部プロバイダー エラーが発生した場合は、警告ヘッダーで HttpStatusCode.InternalServerError (500) が使用されます。
データ プロバイダーが 2xx または 404 を返す場合、これらのコードは成功すると予想されるため、またはデータが見つからない場合は警告ヘッダーに表示されません。 フェデレーション システムでは、404 が見つからないことが予想されます。データは 1 つまたは複数のプロバイダーにのみ認識されますが、すべてのプロバイダーには認識されません。
例
ユーザーが を security/alerts/{alert_id}
要求します。
Provider 1: 404 (provider does not have a record of this alert ID)
Provider 2: 504 (provider timed out)
Provider 3: 200 (success)
Provider 4: 403 (customer has not licensed this provider)
404 と 200 の両方が想定される条件であるため、警告ヘッダーには次のものが含まれます。
Warning : 199 - "{Vendor2}/{Provider 2}/504/10000", (usual timeout limit is set at 10 seconds)
199 - "{Vendor4}/{Provider 4}/403/10" (Provider 4 rejected the request in 10 ms)
メモ:各 HTTP ヘッダーはサブ項目のコレクションであるため、ユーザーは Warning ヘッダーを列挙し、すべての項目をチェックできます。
脅威インジケーターの一括アクション エラー
一括アクション (作成、更新、削除) では、次の 2 つの異なるエラー コードが発生する可能性があります。
- 400 エラー コードは、シリアル化中に指定された本文にエラーが発生したことを示します。
- 206 エラー コードは、プロバイダーにフェデレーションされたときに 1 つ以上の一括アクションが失敗したことを示します。 応答には、各脅威インテリジェンス インジケーターの個々のプロバイダーからの成功/エラー データが含まれます。 アラートとは異なり、すべての潜在的なエラー情報は、tiIndicator 一括アクションの応答本文に含まれます。
制約
$top
OData クエリ パラメーターには、1000 個のアラートの制限があります。 最初の GET クエリには、$top
のみ含め、$skip
は含めないことをお勧めします。 改ページには @odata.nextLink
を使用することができます。
$skip
を使用する必要がある場合は、500 件のアラートという制限があります。 例えば、/security/alerts?$top=10&$skip=500
は応答コード 200 OK
を返しますが、/security/alerts?$top=10&$skip=501
は応答コード 400 Bad Request
を返します。 詳細については、「Microsoft グラフ セキュリティ API のエラー応答」を参照してください。
この制限の回避策は、OData クエリ パラメーターを Microsoft Graph Security APIのアラート エンティティの と共eventDateTime
に使用$filter
し、dateTime 値を最後の (1500 番目の) アラートに使用?$filter=eventDateTime gt {YYYY-MM-DDT00:00:00.000Z}
して置き換えることです。 の範囲 eventDateTime
(例: alerts?$filter=eventDateTime **gt** 2018-11-**11**T00:00:00.000Z&eventDateTime **lt** 2018-11-**12**T00:00:00.000Z
) を設定することもできます。
関連コンテンツ
承認に問題がある場合は、「承認と Microsoft Graph Security API」を参照してください。