Power BI で次の API 呼び出しを使用して、365 から Advanced Hunting データにアクセスしています。
https://api.securitycenter.windows.com/api/advancedqueries
この API を使用すると、Power BI の一部のテーブルでは機能しますが、他のテーブルでは機能しません。
例えば:
DeviceEvents | limit 10
10 の結果が返されます。
AlertInfo | limit 10
400 Bad Request を返します。
上記の両方のクエリは、365 自体の高度なハンティング ツールで正常に機能します。
これは、 Advanced Hunting Schema内の他の多くのテーブルでも同じであることがわかりました。たとえば、IdentityInfo や EmailEvents などです。
私が行方不明であることは明らかですか?おそらく返品されるアイテムの数だと思ったので、制限は10ですが、それでも問題は解決しませんでした。
これは、Power BI 固有のクエリ メソッドに関するMicrosoft のドキュメントの例ですが、問題の解決には役立っていません。
let
AdvancedHuntingQuery = "DeviceEvents | where ActionType contains 'Anti' | limit 20",
HuntingUrl = "https://api.securitycenter.microsoft.com/api/advancedqueries",
Response = Json.Document(Web.Contents(HuntingUrl, [Query=[key=AdvancedHuntingQuery]])),
TypeMap = #table(
{ "Type", "PowerBiType" },
{
{ "Double", Double.Type },
{ "Int64", Int64.Type },
{ "Int32", Int32.Type },
{ "Int16", Int16.Type },
{ "UInt64", Number.Type },
{ "UInt32", Number.Type },
{ "UInt16", Number.Type },
{ "Byte", Byte.Type },
{ "Single", Single.Type },
{ "Decimal", Decimal.Type },
{ "TimeSpan", Duration.Type },
{ "DateTime", DateTimeZone.Type },
{ "String", Text.Type },
{ "Boolean", Logical.Type },
{ "SByte", Logical.Type },
{ "Guid", Text.Type }
}),
Schema = Table.FromRecords(Response[Schema]),
TypedSchema = Table.Join(Table.SelectColumns(Schema, {"Name", "Type"}), {"Type"}, TypeMap , {"Type"}),
Results = Response[Results],
Rows = Table.FromRecords(Results, Schema[Name]),
Table = Table.TransformColumnTypes(Rows, Table.ToList(TypedSchema, (c) => {c{0}, c{2}}))
in Table
ありがとう