Azure Security Centerのレベル変更ユーザーを追跡する

Microsoft Azureのセキュリティ監視サービスの一つとして、Azure Security Center(以下、ASC)があります。

Azure Security Center
https://azure.microsoft.com/services/security-center/
Document
https://docs.microsoft.com/azure/security-center/
価格
https://azure.microsoft.com/pricing/details/security-center/

こちらのサービスにはFreeレベルとStandardレベルがあります。機能の違いは上記価格のリンクもしくは下図の通りです。その他主だった内容を記載しますが、詳細はドキュメントをご覧ください。

  • デフォルトはFreeレベル(無償)
  • Standardレベルを利用する場合には、明示的に変更する必要がある
    • 変更単位はサブスクリプション単位
    • Standardレベルを使う場合、下図の通り、どのサービス監視プランを有効にするか、利用者が決定できる(下図ではリソースが作成されていないため、0件のリソースになっていますが)。
  • Standardレベルで設定可能なプランすべてを有効化すると、フルカバレッジ、一部でも無効にしていると部分的なカバレッジとして、セキュリティセンター>カバレッジに表示

このエントリで解決したいことはタイトルの通りで、

管理者が複数人いる場合、誰がStandardレベルに上げたかを確認するにはどうすればよいか?

です。これはアクティビティログを見ましょう。ポータルの上部にある検索フィールドに「アクティビティ」と入れると、出てくるのでクリックして画面表示します。

今回のお題でチェックすべきログの内容は、Register SubscriptionUpdate pricing settingsです。ログを見ると、赤枠で囲んだ部分に出力されていることがわかります(Update pricing settingsはほかにもありますが、間単のため最古のものだけを赤枠で囲んでいます)。

まず、Register Subscriptionをクリックすると、概要タブが開いて、ローカルタイムで誰が操作したのかがわかります。

JSONタブをクリックすると、操作の詳細がわかります。この例では、Foo Barという人が、IPアドレスxxx.yyy.zzz.wwwからSubscription登録、つまりFreeレベルからStandardレベルに上げた、ということがわかります。

{
    "authorization": {
        "action": "Microsoft.Security/register/action",
        "scope": "/subscriptions/........"
    },
    "caller": "foo@bar.com",
    "channels": "Operation",
    "claims": {
        ...,
        "ipaddr": "xxx.yyy.zzz.www",
        "name": "Foo Bar",
        ...
    },
    ...,
    "eventName": {
        "value": "BeginRequest",
        "localizedValue": "要求の開始"
    },
    "category": {
        "value": "Administrative",
        "localizedValue": "管理"
    },
    "eventTimestamp": "2019-04-23T07:18:55.0175565Z",
    ...,
    "level": "Informational",
    "operationId": "xxxxxxxxxxxxxxxxxxxxxxxxxxx",
    "operationName": {
        "value": "Microsoft.Security/register/action",
        "localizedValue": "Register Subscription"
    },
    "resourceGroupName": "",
    "resourceProviderName": {
        "value": "Microsoft.Security",
        "localizedValue": "Microsoft.Security"
    },
    "resourceType": {
        "value": "",
        "localizedValue": ""
    },
    ...,
    "status": {
        "value": "Started",
        "localizedValue": "開始済み"
    },
    "subStatus": {
        "value": "",
        "localizedValue": ""
    },
    "submissionTimestamp": "2019-04-23T07:19:13.0767452Z",
    ...
}

続いて、赤枠で囲んだ「Update pricing settings」を見ると、下図のように、概要タブに時間と誰の操作によるものか記載されていることがわかります。

JSONタブをクリックすると、どのような操作が行われたのかがわかります。この例では、Virtual Machineのプランを有効化したことがわかります(最古のアクションゆえ、無効状態から有効にしかできないため)。

{
    "authorization": {
        "action": "Microsoft.Security/pricings/write",
        "scope": "/subscriptions/........"
    },
    "caller": "foo@bar.com",
    "channels": "Operation",
    "claims": {
        ...,
        "ipaddr": "xxx.yyy.zzz.www",
        "name": "Foo Bar",
        ...
    },
    ...
    "eventName": {
        "value": "BeginRequest",
        "localizedValue": "要求の開始"
    },
    "category": {
        "value": "Administrative",
        "localizedValue": "管理"
    },
    "eventTimestamp": "2019-04-23T07:22:34.1330276Z",
    "id": "/subscriptions/......../providers/Microsoft.Security/pricings/VirtualMachines/events/......."
    ...
    "level": "Informational",
    ...
    "operationName": {
        "value": "Microsoft.Security/pricings/write",
        "localizedValue": "Update pricing settings"
    },
    "resourceGroupName": "",
    "resourceProviderName": {
        "value": "Microsoft.Security",
        "localizedValue": "Microsoft.Security"
    },
    "resourceType": {
        "value": "Microsoft.Security/pricings",
        "localizedValue": "Microsoft.Security/pricings"
    },
    "resourceId": "/subscriptions/xxxxxxx/providers/Microsoft.Security/pricings/VirtualMachines",
    "status": {
        "value": "Started",
        "localizedValue": "開始済み"
    },
    "subStatus": {
        "value": "",
        "localizedValue": ""
    },
    "submissionTimestamp": "2019-04-23T07:22:55.0613027Z",
    ...
}

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください