Tip
Microsoft Fabric Data Warehouse は、将来のアーキテクチャ、組み込みの AI、および新機能を備えた、Data Lake 基盤上のエンタープライズ 規模のリレーショナル ウェアハウスです。 データ ウェアハウスを初めて使用する場合は、Fabric Data Warehouseから始めます。 既存の dedicated SQL プール ワークロードは、Fabric にアップグレードして、データ サイエンス、リアルタイム分析、レポートの新機能にアクセスできます。
- Fabric無料試用版を開始します。
- Fabric Data Warehouseの移行アシスタント。
Azure Synapse Analytics監査はデータベースイベントを追跡し、Azure Storageに書き込むか、Azure Event HubsやAzure Monitor Log Analyticsに送って下流の処理と分析を行います。
名前付け規則
ブロブ監査
Azure Blob Storageに保存された監査ログは「sqldbauditlogs」というコンテナに保存されます。 コンテナ内のディレクトリ階層は <ServerName>/<DatabaseName>/<AuditName>/<Date>/です。 ブロブファイル名形式は <CreationTime>_<FileNumberInSession>.xelで、 CreationTime はUTC hh_mm_ss_ms 形式を使用し、セッションが複数のブロブファイルにまたがる際 FileNumberInSession 実行中のインデックスです。
例えば、以下のパスはサーバーServer1のデータベースDatabase1に有効です。
Server1/Database1/SqlDbAuditing_ServerAudit_NoRetention/2019-02-03/12_23_30_794_0.xel
Event Hubs
監査イベントは名前空間に書き込み、監査用に設定されたイベントハブに送信されます。 イベントは Apache Avro のイベント本体に記録され、UTF-8エンコーディングを用いたJSONフォーマットを使用します。
Log Analytics
監査イベントは、設定されたLog Analyticsワークスペース内のAzureDiagnosticsテーブルに書き込みます。 データベース監査イベントはSQLSecurityAuditEventsカテゴリを使用し、Microsoftサポート操作はDevOpsOperationsAuditカテゴリを使用します。 クエリのガイダンスについては、Log Analyticsクエリを参照してください。
監査ログフィールド
| 名前(ブロブ) | 名称(Event Hubs/Log Analytics) | Description | BLOB の種類 | Event Hubs/Log Analytics タイプ |
|---|---|---|---|---|
action_id |
action_id_s |
アクションの ID | varchar(4) |
string |
action_name |
action_name_s |
アクションの名称 | N/A | string |
additional_information |
additional_information_s |
イベントに関する追加情報はXMLとして保存されます | nvarchar(4000) |
string |
affected_rows |
affected_rows_d |
クエリの影響を受ける行数 | bigint |
int |
application_name |
application_name_s |
クライアントアプリケーションの名前 | nvarchar(128) |
string |
audit_schema_version |
audit_schema_version_d |
常に1 | int |
int |
class_type |
class_type_s |
監査が行われる監査対象事業体の種類 | varchar(2) |
string |
class_type_desc |
class_type_description_s |
監査が行われる監査対象事業体の説明 | N/A | string |
client_ip |
client_ip_s |
クライアント アプリケーションのソース IP | nvarchar(128) |
string |
connection_id |
N/A | サーバー内の接続の ID | GUID |
N/A |
data_sensitivity_information |
data_sensitivity_information_s |
データベースにある分類済みの列に基づく、監査済みクエリが返す情報の種類と機密ラベル。 詳細については、Azure Synapse Analytics security: Threat protectionをご覧ください。 | nvarchar(4000) |
string |
database_name |
database_name_s |
この動作が発生したデータベースコンテキスト | sysname |
string |
database_principal_id |
database_principal_id_d |
アクションが行われるデータベースのユーザーコンテキストのID | int |
int |
database_principal_name |
database_principal_name_s |
アクションが行われるデータベースのユーザーコンテキストの名前 | sysname |
string |
duration_milliseconds |
duration_milliseconds_d |
クエリ実行時間 (ミリ秒) | bigint |
int |
event_time |
event_time_t |
監査可能なアクションが実行される日時 | datetime2 |
datetime |
host_name |
N/A | クライアント ホスト名 | string |
N/A |
is_column_permission |
is_column_permission_s |
これが列レベルのアクセス許可であるかどうかを示すフラグ。 1 = true、0 = false | bit |
string |
| N/A | is_server_level_audit_s |
この監査がサーバーレベルで行われているかどうかを示すフラグ | N/A | string |
object_ id |
object_id_d |
監査が発生したエンティティの ID。 これにはサーバーオブジェクト、データベース、データベースオブジェクト、スキーマオブジェクトが含まれます。 エンティティがサーバー自体である場合や、監査がオブジェクトレベルで行われていない場合は0です | int |
int |
object_name |
object_name_s |
監査が発生したエンティティの名前。 これにはサーバーオブジェクト、データベース、データベースオブジェクト、スキーマオブジェクトが含まれます。 エンティティがサーバー自体である場合や、監査がオブジェクトレベルで行われていない場合は0です | sysname |
string |
obo_middle_tier_app_id |
obo_middle_tier_app_id_s |
OBOアクセスを使ってAzure Synapse Analyticsに接続した中間層アプリケーションのアプリケーションID。 | varchar(120) |
string |
permission_bitmask |
permission_bitmask_s |
該当する場合、許可、拒否、または取り消されたアクセス許可を表示します。 | varbinary(16) |
string |
response_rows |
response_rows_d |
結果セットで返される行数 | bigint |
int |
schema_name |
schema_name_s |
アクションが発生したスキーマ コンテキスト。
NULL スキーマ外で行われる監査の場合 |
sysname |
string |
| N/A | securable_class_type_s |
監査対象の class_type にマッピングされるセキュラブルオブジェクト |
N/A | string |
sequence_group_id |
sequence_group_id_g |
ユニーク識別子 | varbinary |
GUID |
sequence_number |
sequence_number_d |
大きすぎて監査の書き込みバッファーに収まらなかった 1 つの監査レコード内のレコードの順序を追跡します。 Azure Synapse Analytics 監査は、監査レコードの文字フィールドに対して4000文字のデータを保存します。 4000文字を超える場合、最初の4000文字を超えるデータは切り詰められます | int |
int |
server_instance_name |
server_instance_name_s |
監査が行われたサーバーインスタンスの名前 | sysname |
string |
server_principal_id |
server_principal_id_d |
アクションが行われるログインコンテキストのID | int |
int |
server_principal_name |
server_principal_name_s |
現在のログイン | sysname |
string |
server_principal_sid |
server_principal_sid_s |
現在のログインSID | varbinary |
string |
session_id |
session_id_d |
事件が発生したセッションのID | smallint |
int |
session_server_principal_name |
session_server_principal_name_s |
セッション用サーバープリンシパル | sysname |
string |
statement |
statement_s |
実行されたT-SQL文(もしあれば) | nvarchar(4000) |
string |
succeeded |
succeeded_s |
イベントをトリガーしたアクションが成功したかどうかを示します。 ログインやバッチ以外のイベントについては、権限チェックが成功したか失敗したかのみを報告し、操作自体は報告しません。 1 = 成功、0 = 失敗 | bit |
string |
target_database_principal_id |
target_database_principal_id_d |
GRANT
/
DENY
/
REVOKE操作が実行されるデータベースプリンシパル。適用できない場合は0です。 |
int |
int |
target_database_principal_name |
target_database_principal_name_s |
アクションの対象ユーザー。
NULL 該当しない場合は |
string |
string |
target_server_principal_id |
target_server_principal_id_d |
GRANT
/
DENY
/
REVOKE操作が実行されるサーバー プリンシパル。 該当しない場合は0の返還 |
int |
int |
target_server_principal_name |
target_server_principal_name_s |
アクションの対象ログイン。
NULL 該当しない場合は |
sysname |
string |
target_server_principal_sid |
target_server_principal_sid_s |
対象ログインのセキュリティ ID。
NULL 該当しない場合は |
varbinary |
string |
transaction_id |
transaction_id_d |
Not populated for Azure Synapse Analytics | bigint |
int |
user_defined_event_id |
user_defined_event_id_d |
sp_audit_writeの引数として渡されるユーザー定義のイベント ID。
NULL システム イベント (既定) の場合は 0 以外、ユーザー定義イベントの場合は 0 以外。 詳細については、 sp_audit_write(Transact-SQL) |
smallint |
int |
user_defined_information |
user_defined_information_s |
ユーザー定義情報は sp_audit_writeに引数として渡されます。 システムイベントにはNULL(デフォルト)、ユーザー定義イベントにはnon-zeroを割り当てます。 詳細については、 sp_audit_write(Transact-SQL) |
nvarchar(4000) |
string |