Azure Active Directory サインイン アクティビティ レポート API のサンプルAzure Active Directory sign-in activity report API samples

このトピックは Azure Active Directory Reporting API に関するトピックのコレクションの一部です。This topic is part of a collection of topics about the Azure Active Directory reporting API.
Azure AD レポートは、コードまたは関連ツールを使用してサインイン アクティビティ データにアクセスできるようにする API を提供します。Azure AD reporting provides you with an API that enables you to access sign-in activity data using code or related tools.
このトピックでは、 サインイン アクティビティ APIのサンプル コードを提供します。The scope of this topic is to provide you with sample code for the sign-in activity API.

参照:See:

前提条件Prerequisites

このトピックに掲載されているサンプルを使用するには、事前に、 Azure AD レポート API にアクセスするための前提条件を完了する必要があります。Before you can use the samples in this topic, you need to complete the prerequisites to access the Azure AD reporting API.

PowerShell スクリプトPowerShell script

# This script will require the Web Application and permissions setup in Azure Active Directory
$ClientID       = "<clientId>"             # Should be a ~35 character string insert your info here
$ClientSecret   = "<clientSecret>"         # Should be a ~44 character string insert your info here
$loginURL       = "https://login.microsoftonline.com/"
$tenantdomain   = "<tenantDomain>"
$ daterange            # For example, contoso.onmicrosoft.com

$7daysago = "{0:s}" -f (get-date).AddDays(-7) + "Z"
# or, AddMinutes(-5)

Write-Output $7daysago

# Get an Oauth 2 access token based on client id, secret and tenant domain
$body       = @{grant_type="client_credentials";resource=$resource;client_id=$ClientID;client_secret=$ClientSecret}

$oauth      = Invoke-RestMethod -Method Post -Uri $loginURL/$tenantdomain/oauth2/token?api-version=1.0 -Body $body

if ($oauth.access_token -ne $null) {
$headerParams = @{'Authorization'="$($oauth.token_type) $($oauth.access_token)"}

$url = "https://graph.windows.net/$tenantdomain/activities/signinEvents?api-version=beta&`$filter=signinDateTime ge $7daysago"

$i=0

Do{
    Write-Output "Fetching data using Uri: $url"
    $myReport = (Invoke-WebRequest -UseBasicParsing -Headers $headerParams -Uri $url)
    Write-Output "Save the output to a file SigninActivities$i.json"
    Write-Output "---------------------------------------------"
    $myReport.Content | Out-File -FilePath SigninActivities$i.json -Force
    $url = ($myReport.Content | ConvertFrom-Json).'@odata.nextLink'
    $i = $i+1
} while($url -ne $null)

} else {

    Write-Host "ERROR: No Access Token"
}

スクリプトの実行Executing the script

スクリプトの編集が完了したら、実行して、監査ログ レポートから予期したデータが返されることを確認します。Once you finish editing the script, run it and verify that the expected data from the Audit logs report is returned.

スクリプトからは、サインイン レポートの出力が JSON 形式で返されます。The script returns output from the sign-in report in JSON format. また、同じ出力内容を使って SigninActivities.json ファイルも作成されます。It also creates an SigninActivities.json file with the same output. 他のレポートからデータを返すようにスクリプトを変更してテストしたり、必要のない出力形式をコメント化したりできます。You can experiment by modifying the script to return data from other reports, and comment out the output formats that you do not need.

次のステップNext Steps