次の方法で共有


Azure SQL Database および Azure Synapse Analytics の監査を設定する

適用対象:Azure SQL DatabaseAzure Synapse Analytics

この記事では、Azure SQL DatabaseAzure Synapse Analytics での論理サーバーまたはデータベースの監査の設定について説明します。

サーバーの監査を構成する

既定の監査ポリシーには、次のアクション グループのセットが含まれます。これにより、データベースに対して実行されたすべてのクエリとストアド プロシージャに加えて、成功および失敗したログインが監査されます。

  • BATCH_COMPLETED_GROUP (バッチ完了グループ)
  • データベース認証成功グループ
  • データベース認証グループの認証失敗

PowerShell を使用してさまざまな種類のアクションとアクション グループの監査を構成する場合は、「API を使用した Azure SQL Database 監査の管理」を参照してください。

以下のセクションでは、Azure portal を使用した監査の構成について説明します。

一時停止した専用 SQL プールで監査を有効にすることはできません。 監査を有効にするには、専用 SQL プールを再開します

Azure portal または PowerShell コマンドレットで Log Analytics ワークスペースまたはイベント ハブの宛先に対して監査が構成されている場合、診断設定SQLSecurityAuditEvents カテゴリが有効の状態で作成されます。

  1. Azure ポータルにアクセスします。

  2. [SQL データベース] または [SQL サーバー] ペインの [セキュリティ] 見出しの下にある [監査] に移動します。

  3. サーバーの監査ポリシーを設定する場合は、データベース監査ページの [サーバー設定を表示] リンクを選択できます。 そうすると、サーバー監査設定を表示または修正することができます。 サーバー監視ポリシーは、このサーバー上にある既存のデータベースと新規作成されたデータベースのすべてに適用されます。

    [データベース監査] ページで強調表示されている [サーバー設定を表示] リンクを示すスクリーンショット。

  4. データベース レベルで監査を有効にする場合は、 [監査][ON](オン) に切り替えます。 サーバーの監査が有効になっている場合、データベース構成監査とサーバー監査が並行して存在します。

  5. 監査ログを格納する場所を構成するときに、複数のオプションから選択できます。 ログは、Azure ストレージ アカウント、Log Analytics ワークスペース (Azure Monitor ログで使用)、イベント ハブ (イベント ハブで使用) に書き込むことができます。 これらのオプションは組み合わせて構成でき、それぞれの場所に監査ログが書き込まれます。

    監査のストレージ オプションを示すスクリーンショット。

ストレージ保存先への監査

監査ログをストレージ アカウントに書き込むように構成するには、 [監査] セクションが表示されたら、 [ストレージ] を選択します。 ログを保存する Azure ストレージ アカウントを選びます。 マネージド IDストレージ アクセス キーの 2 種類のストレージ認証を使用できます。 マネージド ID の場合、システム割り当ておよびユーザー割り当てマネージド ID がサポートされます。 既定では、サーバーに割り当てられているプライマリ ユーザー ID が選択されます。 ユーザー ID がない場合は、システム割り当てマネージド ID が作成され、認証のために使われます。 認証の種類を選んだ後、[詳細プロパティ] を開き、[保存] を選択して、保持期間を選びます。 保持期間よりも古いログは削除されます。

監査のストレージ アカウント認証の種類を示すスクリーン ショット。

Azure portal からデプロイする場合は、ストレージ アカウントがデータベースとサーバーと同じリージョンにあることを確認します。 他の方法でデプロイする場合は、ストレージ アカウントを任意のリージョンに配置できます。

警告

ストレージ認証の場合は、マネージド ID を使用します。 ストレージ アクセス キーは、侵害された場合、承認されていない個人がストレージ アカウントにアクセスしたり、データの読み取り、書き込み、または削除を行ったりする可能性があるため、セキュリティ リスクを引き起こす可能性があります。 これらのリスクを軽減するには、キーを定期的にローテーションし、Azure Key Vault を使用してキーを安全に管理およびローテーションすることが不可欠です。

  • リテンション期間の既定値は 0 (無制限のリテンション期間) です。 この値は、ストレージ アカウントを監査用に構成するときに [詳細プロパティ][保有期間 (日)] スライダーを移動して変更できます。
    • 保持期間を 0 (無制限の保持期間) から他の値に変更した場合、保持期間は、保持期間の値が変更された後に書き込まれたログにのみ適用されます。 保持期間が無制限に設定されている間に書き込まれたログは、保持期間が有効になった後も保持されます。

Log Analytics 保存先への監査

Log Analytics ワークスペースへの監査ログの書き込みを構成するには、 [Log Analytics] を選択して [Log Analytics の詳細] を開きます。 ログを格納する Log Analytics ワークスペースを選んでから、[OK] を選択します。 Log Analytics ワークスペースを作成していない場合は、Azure portal での Log Analytics ワークスペースの作成に関するページを参照してください。

Log Analytics で選択されたワークスペースを示すスクリーンショット。

イベント ハブ保存先への監査

イベント ハブへの監査ログの書き込みを構成するには、 [イベント ハブ] を選択します。 ログを格納するイベント ハブを選んでから、[保存] を選択します。 イベント ハブがお使いのデータベースおよびサーバーと同じリージョンにあることを確認します。

イベント ハブを示すスクリーンショット。

Azure 外部モニター (Event Hubs や Log Analytics など) をターゲットとして監査を構成すると、 SQLSecurityAuditEvents_XXXX-XXXX-XXX という名前の追加の診断設定リソースが作成されます。これは、監査を適切に機能させるために重要です。

診断設定が意図的または意図せずに削除された場合、監査機能は警告なしに失敗し、監査ログはターゲットの場所に送信されません。 これを回避するには、ユーザーに通知して必要なアクションを実行するように、診断設定を削除するためのアラートを構成します。 アクション グループの作成とアラートの構成の詳細については、「 アクション グループ 」および 「アクティビティ ログ、サービス正常性、またはリソース正常性アラート ルールの作成または編集」を参照してください。

ストレージ アカウント、Log Analytics、Event Hubs などの複数のターゲットを使用している場合は、すべてのターゲットに対するアクセス許可があることを確認してください。そうしないと、すべてのターゲットの設定を保存しようとして監査構成が失敗します。