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 状態コードが含まれます。 さらに、オブジェクトが要求の結果として返される場合 ( KeyCreate や VaultGet など)、キー URI ( id として)、コンテナー URI、またはシークレット URI も含まれます。 |
operationName フィールドの値は ObjectVerb 形式です。 例えば次が挙げられます。
- キー コンテナーに関するすべての操作は、
Vault<action>
形式となります (VaultGet
やVaultCreate
など)。 - すべてのキー操作には、
KeySign
やKeyList
などのKey<action>
形式があります。 - すべてのシークレット操作には、
SecretGet
やSecretListVersions
などの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 ログ クエリのサンプルを参照してください
次のステップ
- Key Vault のログ記録を有効にする方法
- Azure モニター
- .NET Web アプリケーションで Azure Key Vault を使用するチュートリアルについては、「Web アプリケーション から Azure Key Vault を使用する」を参照してください。
- プログラミングリファレンスについては、 Azure Key Vault 開発者ガイドを参照してください。
- Azure Key Vault の Azure PowerShell 1.0 コマンドレットの一覧については、 Azure Key Vault コマンドレットに関するページを参照してください。