アクティビティ ログ アラートを取得するように Webhook を構成する
アクション グループの定義の一部として、アクティビティ ログ アラート通知を受信するように webhook エンドポイントを構成することができます。 webhook を使用すると、後処理やカスタム アクションのために、これらの通知を他のシステムにルーティングすることができます。 この記事では、webhook に対する HTTP POST のペイロードの概要について説明します。
アクティビティ ログ アラートについて詳しくは、「アクティビティ ログ アラートの作成」をご覧ください。
アクション グループについて詳しくは、アクション グループを作成する方法をご覧ください。
Note
また、Webhook の統合に共通アラート スキーマを使用することもできます。 これには、Azure Monitor のすべてのアラート サービスで、1 つの拡張可能で統合されたアラート ペイロードを使用できる利点があります。 共通アラート スキーマについて確認してください。
webhook の認証
webhook は、認証のためにトークンベースの承認を使用することもできます。 webhook URI は https://mysamplealert/webcallback?tokenid=sometokenid&someparameter=somevalue
のようなトークン ID を使用して保存されます。
ペイロード スキーマ
POST 操作に含まれる JSON ペイロードは、ペイロードの data.context.activityLog.eventSource
フィールドによって異なります。
Note
現時点では、アクティビティ ログ イベントの一部である説明は、発生した Alert Description
プロパティにコピーされます。
アクティビティ ログのペイロードを他のアラートの種類に合わせるために、2021 年 4 月 1 日以降は、発生したアラートの Description
プロパティにアラート ルールの説明が代わりに含まれています。
その変更に向けた準備として、アクティビティ ログの発生したアラートに新しいプロパティ Activity Log Event Description
が作成されました。 この新しいプロパティには、既に使用可能な Description
プロパティが入力されます。 そのため、新しいフィールド Activity Log Event Description
には、アクティビティ ログ イベントの一部である説明が含まれています。
発生したアラートの Description
プロパティを使用している可能性のあるアラート ルール、アクション ルール、Webhook、ロジック アプリ、またはその他の構成を確認します。 Description
プロパティを Activity Log Event Description
プロパティに置き換えます。
現在、アクション ルール、Webhook、ロジック アプリ、またはその他の構成の状態が、アクティビティ ログ アラートの Description
プロパティに基づいている場合は、代わりに Activity Log Event Description
プロパティに基づくように変更することが必要になる可能性があります。
新しい Description
プロパティに入力するには、アラート ルールの定義に説明を追加します。
共通
{
"schemaId": "Microsoft.Insights/activityLogs",
"data": {
"status": "Activated",
"context": {
"activityLog": {
"channels": "Operation",
"correlationId": "aaaa0000-bb11-2222-33cc-444444dddddd",
"eventSource": "Administrative",
"eventTimestamp": "2017-03-29T15:43:08.0019532+00:00",
"eventDataId": "8195a56a-85de-4663-943e-1a2bf401ad94",
"level": "Informational",
"operationName": "Microsoft.Insights/actionGroups/write",
"operationId": "aaaa0000-bb11-2222-33cc-444444dddddd",
"status": "Started",
"subStatus": "",
"subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"submissionTimestamp": "2017-03-29T15:43:20.3863637+00:00",
...
}
},
"properties": {}
}
}
管理
{
"schemaId": "Microsoft.Insights/activityLogs",
"data": {
"status": "Activated",
"context": {
"activityLog": {
"authorization": {
"action": "Microsoft.Insights/actionGroups/write",
"scope": "/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourceGroups/CONTOSO-TEST/providers/Microsoft.Insights/actionGroups/IncidentActions"
},
"claims": "{...}",
"caller": "me@contoso.com",
"description": "",
"httpRequest": "{...}",
"resourceId": "/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourceGroups/CONTOSO-TEST/providers/Microsoft.Insights/actionGroups/IncidentActions",
"resourceGroupName": "CONTOSO-TEST",
"resourceProviderName": "Microsoft.Insights",
"resourceType": "Microsoft.Insights/actionGroups"
}
},
"properties": {}
}
}
Security
{
"schemaId":"Microsoft.Insights/activityLogs",
"data":{"status":"Activated",
"context":{
"activityLog":{
"channels":"Operation",
"correlationId":"2518408115673929999",
"description":"Failed SSH brute force attack. Failed brute force attacks were detected from the following attackers: [\"IP Address: 01.02.03.04\"]. Attackers were trying to access the host with the following user names: [\"root\"].",
"eventSource":"Security",
"eventTimestamp":"2017-06-25T19:00:32.607+00:00",
"eventDataId":"Sec-07f2-4d74-aaf0-03d2f53d5a33",
"level":"Informational",
"operationName":"Microsoft.Security/locations/alerts/activate/action",
"operationId":"Sec-07f2-4d74-aaf0-03d2f53d5a33",
"properties":{
"attackers":"[\"IP Address: 01.02.03.04\"]",
"numberOfFailedAuthenticationAttemptsToHost":"456",
"accountsUsedOnFailedSignInToHostAttempts":"[\"root\"]",
"wasSSHSessionInitiated":"No","endTimeUTC":"06/25/2017 19:59:39",
"actionTaken":"Detected",
"resourceType":"Virtual Machine",
"severity":"Medium",
"compromisedEntity":"LinuxVM1",
"remediationSteps":"[In case this is an Azure virtual machine, add the source IP to NSG block list for 24 hours (see https://azure.microsoft.com/documentation/articles/virtual-networks-nsg/)]",
"attackedResourceType":"Virtual Machine"
},
"resourceId":"/subscriptions/12345-5645-123a-9867-123b45a6789/resourceGroups/contoso/providers/Microsoft.Security/locations/centralus/alerts/Sec-07f2-4d74-aaf0-03d2f53d5a33",
"resourceGroupName":"contoso",
"resourceProviderName":"Microsoft.Security",
"status":"Active",
"subscriptionId":"12345-5645-123a-9867-123b45a6789",
"submissionTimestamp":"2017-06-25T20:23:04.9743772+00:00",
"resourceType":"MICROSOFT.SECURITY/LOCATIONS/ALERTS"
}
},
"properties":{}
}
}
推奨
{
"schemaId":"Microsoft.Insights/activityLogs",
"data":{
"status":"Activated",
"context":{
"activityLog":{
"channels":"Operation",
"claims":"{\"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress\":\"Microsoft.Advisor\"}",
"caller":"Microsoft.Advisor",
"correlationId":"bbbb1111-cc22-3333-44dd-555555eeeeee",
"description":"A new recommendation is available.",
"eventSource":"Recommendation",
"eventTimestamp":"2017-06-29T13:52:33.2742943+00:00",
"httpRequest":"{\"clientIpAddress\":\"0.0.0.0\"}",
"eventDataId":"1bf234ef-e45f-4567-8bba-fb9b0ee1dbcb",
"level":"Informational",
"operationName":"Microsoft.Advisor/recommendations/available/action",
"properties":{
"recommendationSchemaVersion":"1.0",
"recommendationCategory":"HighAvailability",
"recommendationImpact":"Medium",
"recommendationName":"Enable Soft Delete to protect your blob data",
"recommendationResourceLink":"https://portal.azure.com/#blade/Microsoft_Azure_Expert/RecommendationListBlade/recommendationTypeId/12dbf883-5e4b-4f56-7da8-123b45c4b6e6",
"recommendationType":"12dbf883-5e4b-4f56-7da8-123b45c4b6e6"
},
"resourceId":"/subscriptions/12345-5645-123a-9867-123b45a6789/resourceGroups/contoso/providers/microsoft.storage/storageaccounts/contosoStore",
"resourceGroupName":"CONTOSO",
"resourceProviderName":"MICROSOFT.STORAGE",
"status":"Active",
"subStatus":"",
"subscriptionId":"12345-5645-123a-9867-123b45a6789",
"submissionTimestamp":"2017-06-29T13:52:33.2742943+00:00",
"resourceType":"MICROSOFT.STORAGE/STORAGEACCOUNTS"
}
},
"properties":{}
}
}
ServiceHealth
{
"schemaId": "Microsoft.Insights/activityLogs",
"data": {
"status": "Activated",
"context": {
"activityLog": {
"channels": "Admin",
"correlationId": "cccc2222-dd33-4444-55ee-666666ffffff",
"description": "Active: Virtual Machines - Australia East",
"eventSource": "ServiceHealth",
"eventTimestamp": "2017-10-18T23:49:25.3736084+00:00",
"eventDataId": "6fa98c0f-334a-b066-1934-1a4b3d929856",
"level": "Informational",
"operationName": "Microsoft.ServiceHealth/incident/action",
"operationId": "cccc2222-dd33-4444-55ee-666666ffffff",
"properties": {
"title": "Virtual Machines - Australia East",
"service": "Virtual Machines",
"region": "Australia East",
"communication": "Starting at 02:48 UTC on 18 Oct 2017 you have been identified as a customer using Virtual Machines in Australia East who may receive errors starting Dv2 Promo and DSv2 Promo Virtual Machines which are in a stopped "deallocated" or suspended state. Customers can still provision Dv1 and Dv2 series Virtual Machines or try deploying Virtual Machines in other regions, as a possible workaround. Engineers have identified a possible fix for the underlying cause, and are exploring implementation options. The next update will be provided as events warrant.",
"incidentType": "Incident",
"trackingId": "0NIH-U2O",
"impactStartTime": "2017-10-18T02:48:00.0000000Z",
"impactedServices": "[{\"ImpactedRegions\":[{\"RegionName\":\"Australia East\"}],\"ServiceName\":\"Virtual Machines\"}]",
"defaultLanguageTitle": "Virtual Machines - Australia East",
"defaultLanguageContent": "Starting at 02:48 UTC on 18 Oct 2017 you have been identified as a customer using Virtual Machines in Australia East who may receive errors starting Dv2 Promo and DSv2 Promo Virtual Machines which are in a stopped "deallocated" or suspended state. Customers can still provision Dv1 and Dv2 series Virtual Machines or try deploying Virtual Machines in other regions, as a possible workaround. Engineers have identified a possible fix for the underlying cause, and are exploring implementation options. The next update will be provided as events warrant.",
"stage": "Active",
"communicationId": "636439673646212912",
"version": "0.1.1"
},
"status": "Active",
"subscriptionId": "cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a",
"submissionTimestamp": "2017-10-18T23:49:28.7864349+00:00"
}
},
"properties": {}
}
}
サービス正常性通知のアクティビティ ログ アラートの特定のスキーマについて詳しくは、「サービス正常性通知」をご覧ください。 また、既存の問題管理ソリューションでサービス正常性の Webhook 通知を構成する方法についてご確認ください。
ResourceHealth
{
"schemaId": "Microsoft.Insights/activityLogs",
"data": {
"status": "Activated",
"context": {
"activityLog": {
"channels": "Admin, Operation",
"correlationId": "dddd3333-ee44-5555-66ff-777777aaaaaa",
"eventSource": "ResourceHealth",
"eventTimestamp": "2018-09-04T23:09:03.343+00:00",
"eventDataId": "2b37e2d0-7bda-4de7-ur8c6-1447d02265b2",
"level": "Informational",
"operationName": "Microsoft.Resourcehealth/healthevent/Activated/action",
"operationId": "2b37e2d0-7bda-489f-81c6-1447d02265b2",
"properties": {
"title": "Virtual Machine health status changed to unavailable",
"details": "Virtual machine has experienced an unexpected event",
"currentHealthStatus": "Unavailable",
"previousHealthStatus": "Available",
"type": "Downtime",
"cause": "PlatformInitiated"
},
"resourceId": "/subscriptions/<subscription Id>/resourceGroups/<resource group>/providers/Microsoft.Compute/virtualMachines/<resource name>",
"resourceGroupName": "<resource group>",
"resourceProviderName": "Microsoft.Resourcehealth/healthevent/action",
"status": "Active",
"subscriptionId": "<subscription Id>",
"submissionTimestamp": "2018-09-04T23:11:06.1607287+00:00",
"resourceType": "Microsoft.Compute/virtualMachines"
}
}
}
}
要素名 | 説明 |
---|---|
status | メトリック アラートで使用されます。 アクティビティ ログ アラートでは常に activated に設定されます。 |
context | イベントのコンテキスト。 |
resourceProviderName | 影響を受けるリソースのリソース プロバイダー。 |
conditionType | 常に Event 。 |
name | アラート ルールの名前。 |
id | アラートのリソース ID。 |
description | アラートの作成時に設定したアラートの説明。 |
subscriptionId | Azure サブスクリプション ID。 |
timestamp | 要求を処理した Azure サービスによってイベントが生成された時刻。 |
resourceId | 影響を受けるリソースのリソース ID。 |
resourceGroupName | 影響を受けるリソースのリソース グループの名前。 |
properties | イベントの詳細を含む <Key, Value> ペア (つまり、Dictionary<String, String> ) のセット。 |
イベント | イベントに関するメタデータを含む要素。 |
authorization | イベントの Azure ロールベースのアクセス制御プロパティ。 これらのプロパティには通常、action、role、scope が含まれます。 |
category | イベントのカテゴリ。 サポートされている値: Administrative 、Alert 、Security 、ServiceHealth 、Recommendation 。 |
caller | 操作、UPN 要求、または可用性に基づく SPN 要求を実行したユーザーの電子メール アドレス。 一部のシステム呼び出しでは、null の場合があります。 |
correlationId | 通常は GUID (文字列形式)。 correlationId を含むイベントは、より大きな同じアクションに属し、通常は correlationId を共有します。 |
eventDescription | イベントを説明する静的テキスト。 |
eventDataId | イベントの一意識別子。 |
eventSource | イベントを生成した Azure サービスまたはインフラストラクチャの名前。 |
httpRequest | 要求には通常、clientRequestId 、clientIpAddress 、HTTP メソッド (たとえば PUT) が含まれます。 |
レベル | Critical 、Error 、Warning 、Informational のうちいずれかの値です。 |
operationId | 通常、単一の操作に対応する複数のイベントで共有される GUID。 |
operationName | 操作の名前。 |
properties | イベントのプロパティ。 |
status | 文字列 をオンにします。 操作の状態。 一般的な値には、Started 、In Progress 、Succeeded 、Failed 、Active 、Resolved があります。 |
subStatus | 通常、対応する REST 呼び出しの HTTP 状態コードが含まれます。 また、subStatus を説明する他の文字列を含めることもできます。 一般的な substatus の値は、OK (HTTP 状態コード: 200)、Created (HTTP 状態コード: 201)、Accepted (HTTP 状態コード: 202)、No Content (HTTP 状態コード: 204)、Bad Request (HTTP 状態コード: 400)、Not Found (HTTP 状態コード: 404)、Conflict (HTTP 状態コード: 409)、Internal Server Error (HTTP 状態コード: 500)、Service Unavailable (HTTP 状態コード: 503)、Gateway Timeout (HTTP 状態コード: 504) です。 |
その他のすべてのアクティビティ ログ アラートの特定のスキーマについて詳しくは、Azure アクティビティ ログの概要に関するページをご覧ください。
次のステップ
- アクティビティ ログについて詳しく学習します。
- Azure アラートで Azure Automation スクリプト (Runbook) を実行します。
- ロジック アプリを使用して、Azure アラートから Twilio 経由で SMS を送信します。 この例はメトリック アラートのためのものですが、変更を加えてアクティビティ ログ アラートで使用できます。
- ロジック アプリを使用して、Azure アラートから Slack メッセージを送信します。 この例はメトリック アラートのためのものですが、変更を加えてアクティビティ ログ アラートで使用できます。
- ロジック アプリを使用して、Azure アラートから Azure キューにメッセージを送信します。 この例はメトリック アラートのためのものですが、変更を加えてアクティビティ ログ アラートで使用できます。