Azure Key Vault のログ記録Azure Key Vault logging

1 つまたは複数のキー コンテナーを作成したら、いつ、どのように、誰によってキー コンテナーがアクセスされるのかを監視するのが一般的です。After you create one or more key vaults, you'll likely want to monitor how and when your key vaults are accessed, and by whom. 監視を行うには、Azure Key Vault のログ記録を有効にします。これにより、指定した Azure ストレージ アカウントに情報が保存されます。You can do this by enabling logging for Azure Key Vault, which saves information in an Azure storage account that you provide. この設定の詳しい手順については、「Key Vault のログ記録を有効にする方法」を参照してください。For step by step guidance on setting this up, see How to enable Key Vault logging.

キー コンテナーの操作を行ってから最大 10 分後には、ログ情報にアクセスできます。You can access your logging information 10 minutes (at most) after the key vault operation. ほとんどの場合は、これよりも早く確認できます。In most cases, it will be quicker than this. ストレージ アカウントでのログの管理はお客様に委ねられます。It's up to you to manage your logs in your storage account:

  • ストレージ アカウントに標準的な Azure アクセス制御方法を使用し、ログにアクセスできるユーザーを制限することでログのセキュリティを保護します。Use standard Azure access control methods in your storage account to secure your logs by restricting who can access them.
  • ストレージ アカウントに保持する必要がなくなったログは削除します。Delete logs that you no longer want to keep in your storage account.

Key Vault の概要については、「Azure Key Vault とは」を参照してください。For overview information about Key Vault, see What is Azure Key Vault?. Key Vault が使用可能な場所については、価格に関するページをご覧ください。For information about where Key Vault is available, see the pricing page. Azure Monitor for Key Vault の使用に関する詳細です。For information about using Azure Monitor for Key Vault.

Key Vault のログを解釈するInterpret your Key Vault logs

ログ記録を有効にすると、指定したストレージ アカウント用の insights-logs-auditevent という名前の新しいコンテナーが自動的に作成されます。When you enable logging, a new container called insights-logs-auditevent is automatically created for your specified storage account. このストレージ アカウントを使用して複数のキー コンテナーのログを収集することができます。You can use this same storage account for collecting logs for multiple key vaults.

個々の BLOB はテキストとして格納されます (JSON BLOB 形式)。Individual blobs are stored as text, formatted as a JSON blob. ログ エントリの例を見てみましょう。Let's look at an example log entry.

    {
        "records":
        [
            {
                "time": "2016-01-05T01:32:01.2691226Z",
                "resourceId": "/SUBSCRIPTIONS/361DA5D4-A47A-4C79-AFDD-XXXXXXXXXXXX/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":"1950a258-227b-4e31-a9cf-XXXXXXXXXXXX"}},
                "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}
            }
        ]
    }

次の表にフィールド名と説明を示します。The following table lists the field names and descriptions:

フィールド名Field name 説明Description
timetime 日付と時刻 (UTC)。Date and time in UTC.
resourceIdresourceId Azure Resource Manager リソース ID。Azure Resource Manager resource ID. Key Vault のログの場合は、常に Key Vault リソース ID となります。For Key Vault logs, this is always the Key Vault resource ID.
operationNameoperationName 次の表に示すような操作の名前です。Name of the operation, as documented in the next table.
operationVersionoperationVersion クライアントによって要求された REST API バージョン。REST API version requested by the client.
categorycategory 結果の種類。Type of result. Key Vault のログの場合、AuditEvent は使用可能な唯一の値です。For Key Vault logs, AuditEvent is the single, available value.
resultTyperesultType REST API 要求の結果です。Result of the REST API request.
resultSignatureresultSignature HTTP の状態です。HTTP status.
resultDescriptionresultDescription 結果に関する追加の説明です (使用可能な場合)。Additional description about the result, when available.
durationMsdurationMs REST API 要求を処理するのにかかった時間 (ミリ秒単位) です。Time it took to service the REST API request, in milliseconds. これにネットワーク待機時間は含まれません。したがって、クライアント側で測定する時間はこの時間と一致しない場合があります。This does not include the network latency, so the time you measure on the client side might not match this time.
callerIpAddresscallerIpAddress 要求を行ったクライアントの IP アドレスです。IP address of the client that made the request.
correlationIdcorrelationId オプションの GUID であり、クライアント側のログとサービス側の (Key Vault) ログを対応付ける場合に渡します。An optional GUID that the client can pass to correlate client-side logs with service-side (Key Vault) logs.
identityidentity REST API 要求に提示されたトークンからの ID です。Identity from the token that was presented in the REST API request. これは、通常、Azure PowerShell コマンドレットの実行結果として生じる要求の場合と同様に、"user"、"service principal"、または組み合わせ "user+appId" となります。This is usually a "user," a "service principal," or the combination "user+appId," as in the case of a request that results from an Azure PowerShell cmdlet.
propertiesproperties 操作によって異なる情報です (operationName)。Information that varies based on the operation (operationName). ほとんどの場合、このフィールドには、クライアント情報 (クライアントから渡されたユーザー エージェント文字列)、正確な REST API 要求 URI、および HTTP 状態コードが含まれます。In most cases, this field contains client information (the user agent string passed by the client), the exact REST API request URI, and the HTTP status code. さらに、要求 (KeyCreateVaultGet など) を行った結果としてオブジェクトが返される場合、キーの URI (id として)、コンテナーの URI、またはシークレットの URI も含まれます。In addition, when an object is returned as a result of a request (for example, KeyCreate or VaultGet), it also contains the key URI (as id), vault URI, or secret URI.

operationName フィールドの値は、ObjectVerb 形式となります。The operationName field values are in ObjectVerb format. 次に例を示します。For example:

  • キー コンテナーに関するすべての操作は、Vault<action> 形式となります (VaultGetVaultCreate など)。All key vault operations have the Vault<action> format, such as VaultGet and VaultCreate.
  • キーに関するすべての操作は、Key<action> 形式となります (KeySignKeyList など)。All key operations have the Key<action> format, such as KeySign and KeyList.
  • シークレットに関するすべての操作は、Secret<action> 形式となります (SecretGetSecretListVersions など)。All secret operations have the Secret<action> format, such as SecretGet and SecretListVersions.

次の表に、operationName の値と、対応する REST API コマンドを示します。The following table lists the operationName values and corresponding REST API commands:

操作名の表Operation names table

operationNameoperationName REST API コマンドREST API command
認証Authentication Azure Active Directory エンドポイント経由で認証しますAuthenticate via Azure Active Directory endpoint
VaultGetVaultGet キー コンテナーに関する情報を取得しますGet information about a key vault
VaultPutVaultPut キー コンテナーを作成または更新しますCreate or update a key vault
VaultDeleteVaultDelete キー コンテナーを削除しますDelete a key vault
VaultPatchVaultPatch Key Vault を更新しますUpdate a key vault
VaultListVaultList リソース グループ内のすべてのキー コンテナーを一覧表示しますList all key vaults in a resource group
VaultPurgeVaultPurge 削除されたコンテナーを消去しますPurge deleted vault
VaultRecoverVaultRecover 削除されたコンテナーを復旧しますRecover deleted vault
VaultGetDeletedVaultGetDeleted 削除されたコンテナーを取得しますGet deleted vault
VaultListDeletedVaultListDeleted 削除されたコンテナーを一覧表示しますList deleted vaults
VaultAccessPolicyChangedEventGridNotificationVaultAccessPolicyChangedEventGridNotification コンテナーのアクセス ポリシーが変更されたイベントが公開されましたVault access policy changed event published

[キー]Keys

operationNameoperationName REST API コマンドREST API command
KeyCreateKeyCreate キーを作成しますCreate a key
KeyGetKeyGet キーに関する情報を取得しますGet information about a key
KeyImportKeyImport コンテナーにキーをインポートしますImport a key into a vault
KeyDeleteKeyDelete キーを削除しますDelete a key
KeySignKeySign キーで署名しますSign with a key
KeyVerifyKeyVerify キーで確認しますVerify with a key
KeyWrapKeyWrap キーをラップしますWrap a key
KeyUnwrapKeyUnwrap キーのラップを解除しますUnwrap a key
KeyEncryptKeyEncrypt キーで暗号化しますEncrypt with a key
KeyDecryptKeyDecrypt キーで復号化しますDecrypt with a key
KeyUpdateKeyUpdate キーを更新しますUpdate a key
KeyListKeyList コンテナー内のキーを一覧表示しますList the keys in a vault
KeyListVersionsKeyListVersions キーのバージョンを一覧表示しますList the versions of a key
KeyPurgeKeyPurge キーを消去しますPurge a key
KeyBackupKeyBackup キーをバックアップしますBackup a key
KeyRestoreKeyRestore キーを復元しますRestore a key
KeyRecoverKeyRecover キーを復旧しますRecover a key
KeyGetDeletedKeyGetDeleted 削除されたキーを取得しますGet deleted key
KeyListDeletedKeyListDeleted コンテナー内の削除されたキーを一覧表示しますList the deleted keys in a vault
KeyNearExpiryEventGridNotificationKeyNearExpiryEventGridNotification 有効期限が近づいているキー イベントが公開されましたKey near expiry event published
KeyExpiredEventGridNotificationKeyExpiredEventGridNotification 期限切れのキー イベントが公開されましたKey expired event published

Azure Monitor ログの使用Use Azure Monitor logs

Azure Monitor ログの Key Vault ソリューションを使用して、Key Vault の AuditEvent ログを調査することができます。You can use the Key Vault solution in Azure Monitor logs to review Key Vault AuditEvent logs. Azure Monitor ログでは、ログ クエリを使用してデータを分析し、必要な情報を取得します。In Azure Monitor logs, you use log queries to analyze data and get the information you need.

この設定方法などの詳細については、Azure Monitor の Azure Key Vault に関するページをご覧ください。For more information, including how to set this up, see Azure Key Vault in Azure Monitor.

次の手順Next steps