次の方法で共有


Azure Key Vault のログ記録

1つ以上のキー保管庫を作成した後は、次に誰が、いつどのようにキー保管庫にアクセスするかを監視したくなるでしょう。 Azure Key Vault のログ記録を有効にすると、指定した Azure ストレージ アカウントにこの情報が保存されます。 詳細なガイダンスについては、「 Key Vault のログ記録を有効にする方法」を参照してください。

キー ボールト操作の後、最大 10 分でログ情報にアクセスできます。 ほとんどの場合、より速くなります。 ストレージ アカウントでのログの管理はお客様に委ねられます。

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

Key Vault の概要については、「 Azure Key Vault とは」を参照してください。 Key Vault を使用できる場所については、 価格ページを参照してください。 Azure Monitor for Key Vault の使用について説明します。

Key Vault ログを解釈する

ログ記録を有効にすると、指定したストレージ アカウントに 対して insights-logs-auditevent という名前の新しいコンテナーが自動的に作成されます。 この同じストレージ アカウントを使用して、複数のキー ボールトのログを収集できます。

個々の BLOB はテキストとして格納され、JSON BLOB として書式設定されます。 ログ エントリの例を見てみましょう。

    {
        "records":
        [
            {
                "time": "2016-01-05T01:32:01.2691226Z",
                "resourceId": "/SUBSCRIPTIONS/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/RESOURCEGROUPS/CONTOSOGROUP/PROVIDERS/MICROSOFT.KEYVAULT/VAULTS/CONTOSOKEYVAULT",
                "operationName": "VaultGet",
                "operationVersion": "2015-06-01",
                "category": "AuditEvent",
                "resultType": "Success",
                "resultSignature": "OK",
                "resultDescription": "",
                "durationMs": "78",
                "callerIpAddress": "104.40.82.76",
                "correlationId": "",
                "identity": {"claim":{"http://schemas.microsoft.com/identity/claims/objectidentifier":"d9da5048-2737-4770-bd64-XXXXXXXXXXXX","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"live.com#username@outlook.com","appid":"00001111-aaaa-2222-bbbb-3333cccc4444"}},
                "properties": {"clientInfo":"azure-resource-manager/2.0","requestUri":"https://control-prod-wus.vaultcore.azure.net/subscriptions/361da5d4-a47a-4c79-afdd-XXXXXXXXXXXX/resourcegroups/contosoresourcegroup/providers/Microsoft.KeyVault/vaults/contosokeyvault?api-version=2015-06-01","id":"https://contosokeyvault.vault.azure.net/","httpStatusCode":200}
            }
        ]
    }

次の表にフィールド名と説明を示します。

フィールド名 説明
time 日付と時刻 (UTC)。
resourceId Azure Resource Manager リソース ID。 Key Vault ログの場合、これは常に Key Vault リソース ID です。
operationName 操作の名前は、次の表に示されています。
オペレーションバージョン クライアントによって要求された REST API バージョン。
カテゴリー 結果の種類。 Key Vault ログの場合、 AuditEvent は単一の使用可能な値です。
結果タイプ REST API 要求の結果です。
resultSignature HTTP の状態です。
resultDescription 結果に関する追加の説明です (使用可能な場合)。
durationMs REST API 要求を処理するのにかかった時間 (ミリ秒単位) です。 時間にはネットワーク待機時間が含まれていないため、クライアント側で測定する時間が今回と一致しない可能性があります。
callerIpAddress 要求を行ったクライアントの IP アドレスです。
correlationId クライアント側のログをサービス側 (Key Vault) ログに関連付けるためにクライアントが渡すことができるオプションの GUID。
同一性 REST API 要求に提示されたトークンからの ID です。 要求が Azure PowerShell コマンドレットから送信された場合など、通常は "ユーザー"、"サービス プリンシパル"、または組み合わせ "user+appId" です。
プロパティ 操作 (operationName) に基づいて異なる情報。 ほとんどの場合、このフィールドには、クライアント情報 (クライアントから渡されたユーザー エージェント文字列)、正確な REST API 要求 URI、および HTTP 状態コードが含まれます。 さらに、オブジェクトが要求の結果として返される場合 ( KeyCreateVaultGet など)、キー URI ( idとして)、コンテナー URI、またはシークレット URI も含まれます。

operationName フィールドの値は ObjectVerb 形式です。 例えば次が挙げられます。

  • キー コンテナーに関するすべての操作は、Vault<action> 形式となります (VaultGetVaultCreate など)。
  • すべてのキー操作には、KeySignKeyListなどのKey<action>形式があります。
  • すべてのシークレット操作には、SecretGetSecretListVersionsなどのSecret<action>形式があります。

次の表に、 operationName 値と対応する REST API コマンドを示します。

操作名テーブル

操作名 REST API コマンド
認証 Microsoft Entra エンドポイント経由で認証する
VaultGet キー コンテナーに関する情報を取得します
VaultPut キー ヴォールトを作成または更新する
VaultDelete キー コンテナーを削除する
VaultPatch キーボールトを更新する
VaultList リソース グループ内のすべてのキー コンテナーを一覧表示する
VaultPurge 削除されたコンテナーを消去する
VaultRecover 削除された保管庫を回復する
VaultGetDeleted 削除されたボールトを取得する
VaultListDeleted 削除されたボールトを一覧表示する
VaultAccessPolicyChangedEventGridNotification コンテナーのアクセス ポリシーの変更イベントが発行されました。 Event Grid サブスクリプションが存在するかどうかに関係なく、ログに記録されます。

Azure Monitor ログの使用

Azure Monitor ログの Key Vault ソリューションを使用して、Key Vault AuditEvent ログを確認できます。 Azure Monitor ログでは、ログ クエリを使用してデータを分析し、必要な情報を取得します。

設定方法など、詳細については、 Azure Monitor の Azure Key Vault を参照してください。

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

次のステップ