適用対象:Azure SQL Managed Instance
Azure SQL Managed Instanceで SQL Server Audit を構成できます。
- 監査は、法令順守を維持し、データベース アクティビティを理解し、ビジネス上の懸念やセキュリティ違反の疑いを示す差異や異常に対する分析情報を取得するのに役立ちます。
- 監査により、コンプライアンス標準への準拠が可能になり、容易になりますが、コンプライアンスは保証されません。 詳細については、Microsoft Azure セキュリティ センターを参照してください。最新のSQL Managed Instanceコンプライアンス認定の一覧を確認できます。
Azure SQL Managed InstanceでのSQL Server監査の構成を開始するには、「get started with Azure SQL Managed Instance auditing」を参照してください。
パフォーマンスの最適化
Azure SQL Managed Instanceの監査は、可用性とパフォーマンスのために最適化されています。 アクティビティが高い(ネットワーク負荷が高い)、Azure SQL Managed Instance操作を続行でき、監査されたイベントの一部が記録されない場合があります。
Microsoft サポート操作の監査
SQL Managed InstanceのMicrosoft サポート操作を監査すると、サポート要求中にサーバーにアクセスする必要があるときに、Microsoft supportエンジニアの操作を監査できます。 監査に伴い、この機能を使用することで、従業員の透明性が増し、異常検出、トレンドの視覚化、データ損失防止が可能になります。
Microsoft サポート操作の監査を有効にするには、 SQL マネージド インスタンスの Create AuditSecurity>Audit に移動し、Microsoft support 操作 を選択します。
注
Microsoft操作を監査するには、別のサーバー監査を作成する必要があります。 既存の監査に対してこのチェック ボックスを有効にすると、監査が上書きされ、サポート操作がログに記録されます。
Azure SQL Managed Instanceでの内部操作
Azure SQL DatabaseおよびAzure SQL Managed Instanceでは、SQLDBControlPlaneFirstPartyApp によって開始されるイベントは、Azure SQL Database コントロール プレーンの内部Azure関数です。
SQLDBControlPlaneFirstPartyApp によって開始されるイベントは、SQL エンジンとAzure Resource Manager間の内部同期操作の一部です。 これらのイベントは、リソース管理の通常の部分であり、Azureでの適切なリソース表現と操作に必要です。
Azure SQL Managed Instance内のデータベースとSQL Server内のデータベースの違いを監査する
Azure SQL Managed InstanceのデータベースとSQL Serverのデータベースの監査の主な違いは次のとおりです。
- Azure SQL Managed Instanceでは、監査はサーバー レベルで機能し、
.xelログ ファイルAzure BLOB ストレージに格納されます。 - SQL Serverでは、監査はサーバーレベルで機能しますが、イベントはファイルシステムとWindowsのイベントログに格納されます。
マネージド インスタンスでの XEvent 監査では、Azure Blob Storage ターゲットがサポートされます。 ファイルログとWindowsログはサポートされていません。
Azure Blob Storage に対する監査のCREATE AUDIT構文の主な違いは次のとおりです。
- 新しい構文
TO URLが提供され、.xelファイルが配置される Azure Blob Storage コンテナーの URL を指定できます。 - Event Hubs とAzure Monitorログ ターゲットを有効にするために、新しい構文
TO EXTERNAL MONITORが提供されます。 - 構文
TO FILEはサポートされていません。これは、Azure SQL Managed Instance が Windows ファイル共有にアクセスできないためです。 - Shutdown オプションはサポートされていません。
-
queue_delayの値として 0 はサポートされていません。
アクセス許可
監査を設定するには、SQL マネージド インスタンス内のデータベースアクセス許可が必要です。また、監査ログの格納とアクセスに使用されるAzure リソースに対するアクセス許可も必要です。
SQL マネージド インスタンスの監査を設定するには、次のデータベースアクセス許可が必要です。
| データベース権限 | 監査の構成 | T-SQL を使用して監査ログを表示する |
|---|---|---|
VIEW DATABASE SECURITY AUDIT |
いいえ | はい |
ALTER ANY DATABASE AUDIT |
はい | いいえ |
CONTROL DATABASE |
はい | はい |
Azure ストレージ監査を構成するには、ストレージ アカウントのまたはそれ以上のアクセス許可に対する Storage BLOB データ共同作成者 ロールが必要です。 Event Hubs または Log Analytics への監査を構成するには、Event Hubs または Log Analytics ワークスペースがプロビジョニングされているリソース グループに対する監視共同作成者ロール以上のアクセス許可が必要です。
自動内部接続テスト
監査を有効にすると、Azure SQL Managed Instanceが自動内部接続テストを実行してサービスの信頼性を監視し、問題の検出を高速化することがわかります。 これらのテストは、SQL マネージド インスタンスのサブネット内の内部 IP アドレスから 10 秒ごとに実行され、ネットワーク のスループットとサービスのパフォーマンスに与えるパフォーマンスへの影響はごくわずかです。 1 つのテストでは、既知の失敗の資格情報 (AzureSQLConnectivityChecker) を使用してログインを試行することで、エンド ツー エンドの接続を検証します。この資格情報を使用すると、監査ログ、拡張イベント、および SQL エラー ログに予期される失敗したログイン エントリが生成されます。 これらのエントリは正常であり、セキュリティの問題を示すわけではありません。 ログ内のテスト署名を識別する方法など、詳細については、「 自動内部接続テスト」を参照してください。