SQL Database 監査の使用Get started with SQL database auditing

Azure SQL Database 監査では、データベース イベントを追跡し、Azure ストレージ アカウントの監査ログにイベントを書き込みます。Azure SQL database auditing tracks database events and writes them to an audit log in your Azure storage account. また、監査によって以下を行うことができます。Auditing also:

  • 規定コンプライアンスの維持、データベース活動の理解、およびビジネス上の懸念やセキュリティ違犯の疑いを示す差異や異常に対する洞察が容易になります。Helps you maintain regulatory compliance, understand database activity, and gain insight into discrepancies and anomalies that could indicate business concerns or suspected security violations.

  • コンプライアンスを保証するものではありませんが、標準へのコンプライアンスを強化します。Enables and facilitates adherence to compliance standards, although it doesn't guarantee compliance. 標準準拠をサポートする Azure プログラムの詳細については、 Azure セキュリティ センターのページを参照してください。For more information about Azure programs that support standards compliance, see the Azure Trust Center.

Azure SQL Database 監査の概要Azure SQL database auditing overview

SQL Database 監査を使用して、以下を行うことができます。You can use SQL database auditing to:

  • 保持Retain an audit trail of selected events. 監査するデータベース活動のカテゴリを定義できます。You can define categories of database actions to be audited.
  • レポートReport on database activity. 事前に構成したレポートとダッシュボードを使用して、活動とイベントのレポートをすぐに使用できます。You can use preconfigured reports and a dashboard to get started quickly with activity and event reporting.
  • 分析Analyze reports. 疑わしいイベント、異常な活動、および傾向を発見できます。You can find suspicious events, unusual activity, and trends.

データベースに対する監査を設定する」セクションの説明にあるように、さまざまな種類のイベント カテゴリの監査を構成できます。You can configure auditing for different types of event categories, as explained in the Set up auditing for your database section.

重要

監査ログは Azure サブスクリプションの Azure Blob Storage 内にある追加 BLOB に書き込まれます。Audit logs are written to Append Blobs in an Azure Blob storage on your Azure subscription.

  • Premium Storage は現在、追加 BLOB ではサポートされていませんPremium Storage is currently not supported by Append Blobs.
  • VNet 内の Storage は現在サポートされていませんStorage in VNet is currently not supported.

サーバー レベルおよびデータベース レベルの監査ポリシーを定義するDefine server-level vs. database-level auditing policy

特定のデータベースに対して、または既定のサーバー ポリシーとして、監査ポリシーを定義できます。An auditing policy can be defined for a specific database or as a default server policy:

  • サーバー ポリシーがサーバー上にある既存と新規作成のすべてのデータベースに適用されます。A server policy applies to all existing and newly created databases on the server.

  • "サーバー BLOB 監査が有効" な場合は、"常にデータベースに適用" されます。If server blob auditing is enabled, it always applies to the database. データベース監査設定に関係なく、データベースが監査されます。The database will be audited, regardless of the database auditing settings.

  • サーバー上だけでなくデータベース上でも BLOB 監査を有効にした場合であっても、サーバーの BLOB 監査の設定が無視されたり変更されたりすることは "ありません"。Enabling blob auditing on the database, in addition to enabling it on the server, does not override or change any of the settings of the server blob auditing. どちらの監査も並行して存在します。Both audits will exist side by side. つまり、データベースは並行して 2 回監査されることになります (1 回はサーバー ポリシー、もう 1 回はデータベース ポリシーによって監査されます)。In other words, the database is audited twice in parallel; once by the server policy and once by the database policy.

    注意

    次の場合を除き、サーバー BLOB 監査とデータベース BLOB 監査の両方を有効にすることは避けてください。You should avoid enabling both server blob auditing and database blob auditing together, unless:

    • 特定のデータベースに対して異なる "ストレージ アカウント" または "リテンション期間" を使用する場合。You want to use a different storage account or retention period for a specific database.
    • 特定のデータベースの監査対象とするイベントの種類またはカテゴリが、このサーバー上の他のデータベースの管理対象と異なる場合。You want to audit event types or categories for a specific database that differ from the rest of the databases on the server. たとえば、特定のデータベースに対してのみ監査が必要なテーブルの挿入がある場合など。For example, you might have table inserts that need to be audited only for a specific database.

    これらに該当しない場合は、サーバー レベルの BLOB 監査のみを有効にし、すべてのデータベースに対してデータベース レベルの監査を無効にすることをお勧めします。Otherwise, we recommended that you enable only server-level blob auditing and leave the database-level auditing disabled for all databases.

データベースに対する監査を設定するSet up auditing for your database

以下のセクションでは、Azure Portal を使用した監査の構成について説明します。The following section describes the configuration of auditing using the Azure portal.

  1. Azure ポータルにアクセスします。Go to the Azure portal.
  2. 監査する SQL Database または SQL Server の [設定] ブレードに移動します。Go to the Settings blade of the SQL database/SQL server you want to audit. [設定] ブレードで、[監査と脅威の検出] を選択します。In the Settings blade, select Auditing & Threat detection.

    ナビゲーション ウィンドウNavigation pane

  3. サーバーの監査ポリシーを設定する場合は、データベース監査ブレードの [サーバー設定を表示] リンクを選択できます。If you prefer to set up a server auditing policy, you can select the View server settings link in the database auditing blade. そうすると、サーバー監査設定を表示または修正することができます。You can then view or modify the server auditing settings. サーバー監視ポリシーは、このサーバー上にある既存のデータベースと新規作成されたデータベースのすべてに適用されます。Server auditing policies apply to all existing and newly created databases on this server.

    ナビゲーション ウィンドウ

  4. データベース レベルで BLOB 監査を有効にする場合は、[監査][オン] を選択し、[監査の種類][BLOB] を選択します。If you prefer to enable blob auditing on the database level, for Auditing, select ON, and for Auditing type, select Blob.

    サーバーの BLOB 監査が有効になっている場合、データベース構成監査とサーバー BLOB 監査が並行して存在します。If server blob auditing is enabled, the database-configured audit will exist side by side with the server blob audit.

    ナビゲーション ウィンドウ

  5. [監査ログの容量] ブレードを開くには、[容量の詳細] を選択します。To open the Audit Logs Storage blade, select Storage Details. ログを保存する Azure ストレージ アカウントを選択し、リテンション期間を選択します。Select the Azure storage account where logs will be saved, and then select the retention period. 古いログは削除されます。The old logs will be deleted. 次に、 [OK]をクリックしますThen click OK.

    ヒント

    監査レポートのテンプレートを最大限活用するには、すべての監査済みデータベースに同じストレージ アカウントを使用してください。To get the most out of the auditing reports templates, use the same storage account for all audited databases.

    ナビゲーション ウィンドウNavigation pane

  6. 監査対象イベントをカスタマイズする場合は、PowerShell または REST API を使用して行います。If you want to customize the audited events, you can do this via PowerShell or the REST API.
  7. 監査設定を構成した後に、新しい脅威の検出機能をオンにし、電子メールを構成してセキュリティの警告を受信します。After you've configured your auditing settings, you can turn on the new threat detection feature and configure emails to receive security alerts. 脅威の検出を使用すると、セキュリティ上の脅威になる可能性がある異常なデータベース アクティビティに対するプロアクティブ アラートを受信できます。When you use threat detection, you receive proactive alerts on anomalous database activities that can indicate potential security threats. 詳細については、脅威の検出の概要に関するページを参照してください。For more information, see Getting started with threat detection.
  8. [Save] をクリックします。Click Save.

監査ログとレポートを分析するAnalyze audit logs and reports

監査ログは、設定時に選択した Azure ストレージ アカウントで集計されます。Audit logs are aggregated in the Azure storage account you chose during setup. Azure ストレージ エクスプローラーなどのツールを使用して監査ログを調査できます。You can explore audit logs by using a tool such as Azure Storage Explorer.

BLOB 監査ログは sqldbauditlogs という名前のコンテナー内に BLOB ファイルのコレクションとして保存されます。Blob auditing logs are saved as a collection of blob files within a container named sqldbauditlogs.

ストレージ フォルダーの階層、命名規則、およびログ形式の詳細については、BLOB 監査ログ形式のリファレンスを参照してください。For further details about the hierarchy of the storage folder, naming conventions, and log format, see the Blob Audit Log Format Reference.

BLOB 監査ログを表示するには、いくつかの方法が使用できます。There are several methods you can use to view blob auditing logs:

  • Azure Portal を使用します。Use the Azure portal. 関連するデータベースを開きます。Open the relevant database. データベースの [監査と脅威検出] ブレードの上部にある [監査ログの表示] をクリックします。At the top of the database's Auditing & Threat detection blade, click View audit logs.

    ナビゲーション ウィンドウ

    [監査レコード] ブレードが開きます。ここからログを参照できます。An Audit records blade opens, from which you'll be able to view the logs.

    • [監査レコード] ブレードの上部にある [フィルター] をクリックすると、特定の日付を表示できます。You can view specific dates by clicking Filter at the top of the Audit records blade.
    • サーバー ポリシーまたはデータベース ポリシー監査によって作成された監査レコードを切り替えることができます。You can switch between audit records that were created by a server policy or database policy audit.

      ナビゲーション ウィンドウ

  • システム関数 sys.fn_get_audit_file (T-SQL) を使用して、表形式で監査ログ データを返します。Use the system function sys.fn_get_audit_file (T-SQL) to return the audit log data in tabular format. この関数の使用方法の詳細については、sys.fn_get_audit_file のドキュメントを参照してください。For more information on using this function, see the sys.fn_get_audit_file documentation.

  • SQL Server Management Studio (SSMS 17 以降) で[監査ファイルの統合] を使用します。Use Merge Audit Files in SQL Server Management Studio (starting with SSMS 17):

    1. SSMS のメニューから、[ファイル] > [開く] > [監査ファイルの統合] を選択します。From the SSMS menu, select File > Open > Merge Audit Files.

      ナビゲーション ウィンドウ

    2. [監査ファイルの追加] ダイアログ ボックスが表示されます。The Add Audit Files dialog box opens. [追加] オプションのいずれかを選択して、ローカル ディスクから監査ファイルをマージするか、Azure Storage からインポートするかを選択します。Select one of the Add options to choose whether to merge audit files from a local disk or import them from Azure Storage. Microsoft Azure Storage の詳細とアカウント キーを提供する必要があります。You are required to provide your Azure Storage details and account key.

    3. 統合するすべてのファイルを追加した後に、[OK] をクリックして統合の操作を完了します。After all files to merge have been added, click OK to complete the merge operation.

    4. 統合されたファイルを SSMS で開くと、ファイルを表示および分析し、XEL または CSV ファイルまたはテーブルにエクスポートすることができます。The merged file opens in SSMS, where you can view and analyze it, as well as export it to an XEL or CSV file or to a table.

  • 作成した同期アプリケーションを使用します。Use the sync application that we have created. アプリケーションは Azure で実行され、Log Analytics のパブリック API を使用して SQL 監査ログを Log Analytics にプッシュします。It runs in Azure and utilizes Log Analytics public APIs to push SQL audit logs into Log Analytics. 同期アプリケーションは Log Analytics ダッシュボード経由で、Log Analytics へ SQL 監査ログをプッシュして使用します。The sync application pushes SQL audit logs into Log Analytics for consumption via the Log Analytics dashboard.

  • Power BI を使用します。Use Power BI. Power BI で監査ログのデータを表示および分析できます。You can view and analyze audit log data in Power BI. Power BI の詳細を確認し、ダウンロード可能なテンプレートにアクセスしますLearn more about Power BI, and access a downloadable template.

  • ポータル経由で、あるいは Azure ストレージ エクスプローラーなどのツールを利用して Azure Storage BLOB コンテナーからログ ファイルをダウンロードします。Download log files from your Azure Storage blob container via the portal or by using a tool such as Azure Storage Explorer.

    • ログ ファイルをローカルでダウンロードした後に、ファイルをダブルクリックし、SSMS でログを開き、表示し、分析できます。After you have downloaded a log file locally, you can double-click the file to open, view, and analyze the logs in SSMS.
    • また、Azure ストレージ エクスプ ローラーを使用して、同時に複数のファイルをダウンロードすることもできます。You can also download multiple files simultaneously via Azure Storage Explorer. 特定のサブフォルダーを右クリックし、[名前を付けて保存] を選択してローカル フォルダーに保存します。Right-click a specific subfolder and select Save as to save in a local folder.
  • 他の方法:Additional methods:

    • 複数のファイルまたはログ ファイルが含まれるサブフォルダーをダウンロードした後、前述の SSMS 監査ファイルの統合の指示に従って、ローカルでマージすることができます。After downloading several files or a subfolder that contains log files, you can merge them locally as described in the SSMS Merge Audit Files instructions described earlier.

    • BLOB 監査ログをプログラムで表示します。View blob auditing logs programmatically:

運用方法Production practices

geo レプリケーション対応データベースの監査Auditing geo-replicated databases

Geo レプリケーション データベースでは、プライマリ データベースの監査を有効にすると、セカンダリ データベースにも同一の監査ポリシーが適用されます。With geo-replicated databases, when you enable auditing on the primary database the secondary database will have an identical auditing policy. プライマリ データベースとは別にセカンダリ サーバーで監査を有効にすることで、セカンダリ データベースに対する監査を設定することもできます。It is also possible to set up auditing on the secondary database by enabling auditing on the secondary server, independently from the primary database.

  • サーバーレベル (推奨): プライマリ サーバーセカンダリ サーバーの両方で監査を有効にします。プライマリ データベースとセカンダリ データベースは、それぞれのサーバーレベル ポリシーに基づいて個別に監査されます。Server-level (recommended): Turn on auditing on both the primary server as well as the secondary server - the primary and secondary databases will each be audited independently based on their respective server-level policy.

  • データベースレベル: セカンダリ データベースのデータベースレベルの監査は、プライマリ データベースの監査設定から構成する必要があります。Database-level: Database-level auditing for secondary databases can only be configured from Primary database auditing settings.

    • BLOB 監査は、サーバーではなくプライマリ データベース自体で有効にする必要があります。Blob auditing must be enabled on the primary database itself, not the server.
    • プライマリ データベースで BLOB 監査を有効にすると、セカンダリ データベースでも有効になります。After blob auditing is enabled on the primary database, it will also become enabled on the secondary database.

      重要

      データベースレベルの監査では、セカンダリ データベースのストレージ設定はプライマリ データベースと同じになるため、リージョンをまたいだトラフィックが発生します。With database-level auditing, the storage settings for the secondary database will be identical to those of the primary database, causing cross-regional traffic. サーバー レベルの監査のみを有効にし、すべてのデータベースでデータベース レベルの監査を無効なままにしておくことをお勧めします。We recommend that you enable only server-level auditing, and leave the database-level auditing disabled for all databases.

ストレージ キーの再生成Storage key regeneration

運用環境では、ストレージ キーを最新の情報に定期的に更新することが推奨されます。In production, you are likely to refresh your storage keys periodically. キーを最新の情報に更新する場合は、監査ポリシーを再度保存する必要があります。When refreshing your keys, you need to resave the auditing policy. このプロセスは次のとおりです。The process is as follows:

  1. [容量の詳細] ブレードを開きます。Open the Storage Details blade. [ストレージ アクセス キー] ボックスで [セカンダリ] をクリックし、[OK] をクリックします。In the Storage Access Key box, select Secondary, and click OK. 監査構成ブレードの上部にある [保存] をクリックします。Then click Save at the top of the auditing configuration blade.

    ナビゲーション ウィンドウ

  2. ストレージ構成ブレードに移動し、プライマリ アクセス キーを再生成します。Go to the storage configuration blade and regenerate the primary access key.

    ナビゲーション ウィンドウ

  3. 監査構成ブレードに戻り、[ストレージ アクセス キー] を [セカンダリ] から [プライマリ] に切り替え、[OK] をクリックします。Go back to the auditing configuration blade, switch the storage access key from secondary to primary, and then click OK. 監査構成ブレードの上部にある [保存] をクリックします。Then click Save at the top of the auditing configuration blade.
  4. ストレージ構成ブレードに戻り、セカンダリ アクセス キーを再生成 (次のキー更新サイクルの準備として) します。Go back to the storage configuration blade and regenerate the secondary access key (in preparation for the next key's refresh cycle).

Azure PowerShell を使用して SQL Database の監査を管理するManage SQL database auditing using Azure PowerShell

REST API を使用して SQL Database の監査を管理するManage SQL database auditing using REST API