次の方法で共有


Managed HSM のログ

1 つまたは複数のマネージド HSM の作成後、いつ、どのように、だれによって HSM がアクセスされるかを監視することがあります。 そうするには、ログを有効にします。これにより、指定した Azure ストレージ アカウントに情報が保存されます。 指定したストレージ アカウント用の insights-logs-auditevent という名前の新しいコンテナーが自動的に作成されます。 この同じストレージ アカウントを使用して、複数のマネージド HSM のログを収集することができます。 ログ分析ワークスペースにログを送信することもできます。これを使用して、Microsoft Sentinel で疑わしいアクティビティを自動的に検出できるようにすることができます。

マネージド HSM の操作を行ってから最大 10 分後には、ログ情報にアクセスできます。 ほとんどの場合、より早くなります。 ストレージ アカウントでのログの管理はお客様に委ねられます。

  • 標準的な Azure アクセス制御メソッドを使用してアクセスできるユーザーを制限することで、ログをセキュリティで保護します。
  • ストレージ アカウントに保持する必要がなくなったログは削除します。

このチュートリアルを使用すると、Managed HSM のログを簡単に開始できます。 ログ記録を有効にして収集されたログ情報を解釈する前に、ストレージ アカウントまたはログ分析ワークスペースが既に作成されている必要があります。

前提条件

この記事の手順を完了するには、次のものが必要です。

Azure Cloud Shell

Azure では、ブラウザーを介して使用できる対話型のシェル環境、Azure Cloud Shell がホストされています。 Cloud Shell で Bash または PowerShell を使用して、Azure サービスを操作できます。 ローカル環境に何もインストールしなくても、Cloud Shell にプレインストールされているコマンドを使用して、この記事のコードを実行できます。

Azure Cloud Shell を開始するには、以下のようにします。

オプション 例とリンク
コードまたはコマンド ブロックの右上隅にある [使ってみる] を選択します。 [使ってみる] を選択しても、コードまたはコマンドは Cloud Shell に自動的にはコピーされません。 Azure Cloud Shell の [使ってみる] の例を示すスクリーンショット。
https://shell.azure.com に移動するか、[Cloud Shell を起動する] ボタンを選択して、ブラウザーで Cloud Shell を開きます。 Azure Cloud Shell を起動するボタン。
Azure portal の右上にあるメニュー バーの [Cloud Shell] ボタンを選択します。 Azure portal の [Cloud Shell] ボタンを示すスクリーンショット

Azure Cloud Shell を使用するには、以下のようにします。

  1. Cloud Shell を開始します。

  2. コード ブロック (またはコマンド ブロック) の [コピー] ボタンを選択し、コードまたはコマンドをコピーします。

  3. Windows と Linux では Ctrl+Shift+V キーを選択し、macOS では Cmd+Shift+V キーを選択して、コードまたはコマンドを Cloud Shell セッションに貼り付けます。

  4. Enter キーを選択して、コードまたはコマンドを実行します。

Azure サブスクリプションへの接続

Azure CLI az login コマンドを使用して、Azure サブスクリプションにサインインします。

az login

CLI を使用したログイン オプションの詳細については、「Azure CLI を使用してサインインする」を参照してください

マネージド HSM、ストレージ アカウント、およびログ分析ワークスペースを特定する

キーのログの最初の設定手順は、ログに記録するマネージド HSM を見つけることです。

Azure CLI az keyvault show コマンドを使用して、ログに記録するマネージド HSM を見つけます。

Azure CLI azure CLI az storage account show コマンドを使用して、ログ記録に使用するストレージ アカウントを見つけたり、Azure CLI az monitor log-analytics workspace show コマンドを使って、ログ記録に使用するログ分析ワークスペースを見つけることもできます。

hsmresource=$(az keyvault show --hsm-name ContosoMHSM --query id -o tsv)
storageresource=$(az storage account show --name ContosoMHSMLogs --query id -o tsv)
loganalyticsresource=$(az monitor log-analytics workspace show --resource-group ContosoResourceGroup --workspace-name ContosoLogs --query id -o tsv)

ログ記録を有効化する

マネージド HSM のログ記録を有効にするには、Azure CLI az monitor diagnostic-settings create コマンドと、前のコマンドの変数を使用します。 また、-Enabled フラグを "true" に設定し、category を "AuditEvent" (マネージド HSM ログの唯一のカテゴリ) に設定します。

ログをストレージ アカウントに送信するには:

az monitor diagnostic-settings create --name ContosoMHSM-Diagnostics --resource $hsmresource --logs '[{"category": "AuditEvent","enabled": true}]' --storage-account $storageresource

ログを Log Analytics ワークスペースに送信するには:

az monitor diagnostic-settings create --name "ContosoMHSM-Diagnostics" --resource $hsmresource --logs '[{"category": "AuditEvent","enabled": true}]' --workspace $loganalyticsresource

ログに記録されるもの

マネージド HSM では、次の種類の操作とイベントがログに記録されます。

  • 認証されたすべての REST API 要求。これには、アクセス許可がないため、システム エラーのため、ファイアウォール ブロックのため、または不正な要求の結果として、失敗した要求が含まれます。
  • マネージド HSM リソース自体に対するマネージド プレーン操作。これには、タグなどの属性の作成、削除、および更新が含まれます。
  • 初期化とダウンロード、復旧の初期化、アップロードなど、セキュリティ ドメイン関連の操作
  • HSM の完全なバックアップ、復元、および選択的復元の操作
  • ロールの割り当ての作成、表示、削除、およびカスタム ロール定義の作成、表示、削除などのロール管理操作
  • 以下のような、キーに対する操作
    • キーの作成、変更、または削除。
    • 署名、確認、暗号化、復号化、キーのラップとラップ解除、キーの一覧表示。
    • キーのバックアップ、復元、消去
    • キー リリース
  • 404 応答が返される無効なパス。

ログへのアクセス

ストレージ アカウント

Managed HSM ログは、自分が指定したストレージ アカウントの insights-logs-auditevent コンテナーに格納されます。 ログを表示するには、BLOB をダウンロードする必要があります。 Azure Storage の詳細については、「Azure CLI を使用して BLOB を作成、ダウンロード、一覧表示する」を参照してください。

個々の BLOB はテキストとして格納されます (JSON 形式)。 ログ エントリの例を見てみましょう。 この例では、完全バックアップを作成する要求がマネージド HSM に送信されるときのログ エントリが示されています。

[
  {
    "TenantId": "{tenant-id}",
    "time": "2020-08-31T19:52:39.763Z",
    "resourceId": "/SUBSCRIPTIONS/{subscription-id}/RESOURCEGROUPS/CONTOSORESOURCEGROUP/PROVIDERS/MICROSOFT.KEYVAULT/MANAGEDHSMS/CONTOSOMHSM",
    "operationName": "BackupCreate",
    "operationVersion": "7.0",
    "category": "AuditEvent",
    "resultType": "Success",
    "properties": {
        "PoolType": "M-HSM",
        "sku_Family": "B",
        "sku_Name": "Standard_B1"
    },
    "durationMs": 488,
    "callerIpAddress": "X.X.X.X",
    "identity": "{\"claim\":{\"appid\":\"{application-id}\",\"http_schemas_microsoft_com_identity\":{\"claims\":{\"objectidentifier\":\"{object-id}\"}},\"http_schemas_xmlsoap_org_ws_2005_05_identity\":{\"claims\":{\"upn\":\"admin@contoso.com\"}}}}",
    "clientInfo": "azsdk-python-core/1.7.0 Python/3.8.2 (Linux-4.19.84-microsoft-standard-x86_64-with-glibc2.29) azsdk-python-azure-keyvault/7.2",
    "correlationId": "aaaa0000-bb11-2222-33cc-444444dddddd",
    "subnetId": "(unknown)",
    "httpStatusCode": 202,
    "PoolName": "mhsmdemo",
    "requestUri": "https://ContosoMHSM.managedhsm.azure.net/backup",
    "resourceGroup": "ContosoResourceGroup",
    "resourceProvider": "MICROSOFT.KEYVAULT",
    "resource": "ContosoMHSM",
    "resourceType": "managedHSMs"
  }
]

Log Analytics ワークスペース

マネージド HSM ログは、指定した Log Analytics ワークスペースに格納されます。 Azure portal を使用してログのクエリを実行できます。 詳細については、「Log Analytics のチュートリアル」を参照してください。

Azure Monitor ログの使用

Azure Monitor ログの Key Vault ソリューションを使用して、Managed HSM の AuditEvent ログを調査することができます。 Azure Monitor ログでは、ログ クエリを使用してデータを分析し、必要な情報を取得します。 設定方法などの詳細については、「Azure Managed HSM を監視する」を参照してください。

ログの分析方法については、Kusto ログ クエリのサンプルに関するページを参照してください。

ログ分析ワークスペースにログを送信する場合は、Microsoft Sentinel を使用して疑わしいアクティビティを自動的に検出できます。 Azure Managed HSM の Microsoft Sentinel に関するページを参照してください。

次のステップ