📑
Defender EASM REST API を使う
はじめに
Defender EASM で可視化したアセットをエクスポートしたいとなった場合、現状だと CSV エクスポートの機能が実装されていません。Log Analytics ワークスペースに一旦エクスポートして、そこから取得する方法はありますが、今回は直接 Defender EASM REST API を叩いてみます。
アクセス トークン取得
今回はアセットを取得するので、以下を参考に Defender EASM のデータ プレーンへのアクセス トークンを取得します。(Azure CLI から Azure PowerShell に置き換えています)
- Azure CLI に接続します。
az login
- Defender EASM アクセス用のトークンを取得します。
$accesstoken = az account get-access-token --scope 'https://easm.defender.microsoft.com/.default' | ConvertFrom-Json
REST API 実行
アセットの一覧を取得します。
- リクエストに必要な要素を作成します。
$token = "Bearer " + $accesstoken.accessToken
$header = @{
"Authorization" = $token;
}
$uri = "https://{region}.easm.defender.microsoft.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/workspaces/{workspaceName}/assets?api-version=2023-03-01-preview"
- リクエストを作成します。
$getRequest = @{
Uri = $uri
Headers = $header
Method = 'GET'
}
- REST API を実行します。
$response = Invoke-WebRequest @getRequest
- レスポンスを出力します。
Write-Output $response.content | Out-File assetList.json
Discussion