SQL監査機能は、実行ユーザー、アクセスIP、操作タイプごとに現在のクラスタのSQL文を検索することをサポートしており、検索結果のエクスポートも可能です。これにより、セキュリティ監査の能力を向上させることができます。本記事では、具体的な操作手順について説明します。
注意点
SQL監査は有料機能です。クラウドプロバイダー、リージョン、課金項目によって料金が異なります。料金の詳細については、SQL監査の課金説明を参照してください。
同一インスタンス内のすべてのテナントのSQL監査ストレージ設定は同じです。ストレージ設定を変更する必要がある場合は、インスタンスページにアクセスしてください。テナントページでは変更できません。
説明
SQL監査機能は現在、MySQLモードとOracleモードのテナントをサポートしています。監査ルールの設定機能(SQLタイプとターゲットデータベースアカウント)は、クラスタバージョンが >= 4.2.5 のインスタンスでのみサポートされます。
SQL監査の有効化
説明
SQL監査を有効にしたテナントでは、監査データをOB Cloud、カスタムログサービス、またはオブジェクトストレージに保存することができます。
OB Cloudデータベースコンソールにログインします。
左側のナビゲーションバーで、インスタンス をクリックします。
インスタンスリストで対象のインスタンスを見つけ、インスタンス名をクリックしてインスタンスのダッシュボードに入ります。
左側のナビゲーションバーで 診断 をクリックし、リアルタイム診断 タブを選択します(診断 ページにあります)。
ページの中央で SQL監査 タブをクリックします。
SQL監査 タブの左上でテナントを選択します。
SQL監査 タブで SQL監査を有効にする をクリックします。
ポップアップウィンドウで 対象範囲 を設定します。チェックを入れると、このインスタンス内のすべてのテナントのSQL監査が同時に有効になります。
ポップアップウィンドウでSQL監査のプッシュ設定を完了し、有効にする をクリックします:
OB Cloud
総ストレージ期間:7日から720日の総ストレージ期間を設定できます。この期間を超えるSQL実行レコードは自動的に削除されます。
カスタムログサービス
| パラメータ | 説明 | |----------|-----------------------------------------------| | プロジェクト(Project) | ログサービスのプロジェクト名。 | | ログストア(Logstore) | ログサービスのLogstore名。 | | AccessKey ID | ログサービスのアクセスIDであり、ユーザーを識別するために使用されます。 | | AccessKey Secret | 署名文字列を暗号化し、ログサービスが署名文字列を検証するために使用される秘密鍵です。必ず機密にしてください。 |説明
SQL監査データをカスタムログサービスにプッシュすることは、Alibaba Cloudインスタンスでのみサポートされます。
オブジェクトストレージ
パラメータ説明Bucket オブジェクトストレージのBucket名です。 ディレクトリ オブジェクトストレージのBucket内のディレクトリです。複数レベルのディレクトリをサポートします。 Access Key ID オブジェクトストレージへのアクセス用AccessKey IDです。 Access Key Secret オブジェクトストレージへのアクセス用AccessKey Secretです。 説明
- SQL監査データをオブジェクトストレージにプッシュする機能は、Alibaba CloudインスタンスとAWSインスタンスでのみサポートされています。
- SQL監査データは、指定したオブジェクトストレージのBucketに保存されます。
MySQL
ストレージターゲットをオブジェクトストレージに設定する場合、監査ルールを構成する必要があります。
パラメータ説明ターゲットデータベースアカウント 監査対象のデータベースアカウントを選択します。すべてのアカウント(現在および将来新規作成されるものを含む)または特定のアカウントを選択できます。 - デフォルトではすべてのアカウントが選択されています
- 特定のアカウントに切り替えると、アカウント選択ダイアログが表示されます。複数選択や検索機能をサポートしています。
SQLタイプ 記録するSQLタイプを選択します。 - バージョン4.2.5~4.4.1:
- 接続:ログイン/ログアウト/接続/接続切断
- テーブルアクセス:クエリ/DML(SELECT/INSERT/UPDATE/DELETE)
- 汎用イベント:DDL/権限変更/システム管理
Oracle
ストレージターゲットをオブジェクトストレージに設定する場合、監査ルールを構成する必要があります。
パラメータ説明ターゲットデータベースアカウント 監査対象のデータベースアカウントを選択します。すべてのアカウント(現在および将来新規作成されるものを含む)または特定のアカウントを選択できます。 - デフォルトではすべてのアカウントが選択されています
- 特定のアカウントに切り替えると、アカウント選択ダイアログが表示されます。複数選択や検索機能をサポートしています。
SQLタイプ 記録するSQLタイプを選択します。SQLの大分類は、接続、テーブルアクセス、DDL、権限変更です。Oracleテナントの監査ルールでは、SQLステートメントのタイプを指定する必要があります。デフォルトでは、各サブタイプまで展開してサポートされています。例えば、テーブルアクセスの下にはDELETE TABLE/INSERT TABLE/SELECT SEQUENCE/SELECT TABLE/UPDATE TABLE、DDLの下にはINDEX/OUTLINE/PROCEDURE/PROFILE/ROLE/SEQUENCE/SYNONYM/TABLE/TABLESPACE、権限変更の下にはALTER SYSTEM/CLUSTER/SYSTEM AUDIT/SYSTEM GRANT/EXECUTE PROCEDURE/GRANT PROCEDURE/GRANT SEQUENCE/GRANT TABLEなどが含まれます。 - サポートされているデータベースバージョン:V4.4.2.1~4.5.0.0およびV4.6.1.0以上のバージョン。
説明
- SQLタイプはデフォルトですべて選択されており、すべてのタイプのSQLが記録されます。
- ストレージがオブジェクトストレージに設定されている場合にのみ、監査ルールの設定がサポートされます。
- この機能は、クラスタバージョンが4.2.5以上のMySQLモードおよびOracleモードのテナントでのみサポートされます。
ストレージ設定の確認
**SQL監査**ページでは、現在のSQL監査データのストレージ設定を確認できます。
ストレージ設定エリアには、現在の監査データが保存されるターゲットサービスが表示されます:
- OB Cloud:OB Cloudが提供するデフォルトのストレージに保存されます。
- カスタムログサービス:ログサービスに保存され、プロジェクト(Project)とログストア(Logstore)の情報が表示されます。
- オブジェクトストレージ:オブジェクトストレージに保存され、Bucket名が表示されます。
プッシュ設定の変更をクリックすると、ストレージターゲットおよび関連パラメータを変更できます。
説明
ストレージ設定を変更すると、新しい監査データは新しいストレージターゲットにプッシュされます。既存のストレージにあるデータは影響を受けません。
SQL監査レコードの表示とダウンロード
説明
SQL監査データがOB Cloudに保存されている場合にのみ、ページ上で直接監査レコードを表示およびダウンロードできます。ストレージターゲットがログサービスまたはオブジェクトストレージに設定されている場合は、該当するプラットフォームにアクセスしてデータを表示またはダウンロードしてください。
**SQL監査タブで、展開する**をクリックします。
条件に基づいてフィルタリングします。以下の項目はすべてオプションです。
フィルタオプション説明データベース 対象テナント内で表示するデータベースを1つ以上選択します。 ノード 表示するノードを1つ以上選択します。 キーワード 表示するSQLステートメントに含まれる可能性のあるキーワードを選択します。複数のキーワードを入力でき、「and」または「or」の関係を指定できます。 ユーザー名 表示するテナント名を1つ以上入力します。 操作タイプ ドロップダウンリストから、表示する操作タイプを1つ以上選択します。 クライアントIP 表示するクライアントIPを入力します。 スキャンされたレコード 表示するスキャンレコード数の範囲を入力します。 実行時間(ミリ秒) 表示するSQLステートメントの実行時間範囲を入力します。 時間範囲 SQLの実行時間範囲を選択します。期間は最大6時間です。 クエリ結果で以下の情報を確認します:SQL文、データベース、ユーザー、クライアントIP、操作タイプ、実行結果、リクエスト時間、実行時間(ミリ秒)、スキャンされた行、更新された行数。
右上のアイコン
をクリックして、クエリ結果リストをダウンロードします。説明
現在、最大100件の監査レコードのダウンロードをサポートしています。クエリレコード数が100件を超える場合、ダウンロード時にページのソート順序に従って最初の100件のレコードのみがダウンロードされます。
ストレージ期間の変更
説明
SQL監査データがOB Cloudに保存されている場合にのみ、ストレージ期間の変更をサポートしています。ストレージターゲットがログサービスまたはオブジェクトストレージに設定されている場合は、該当するプラットフォームにアクセスしてストレージ設定を変更してください。
**SQL監査**タブのテナントリストで、対象テナントの操作列にある **ストレージの保存期間を変更する**をクリックします。
ポップアップウィンドウで関連パラメータを設定します:
- オブジェクトの設定:現在のテナント名が表示されます。
- インスタンス内の他のテナントも同時に変更:オプションです。チェックすると、設定がインスタンス内でSQL監査が有効な他のテナントに同期されます。
- 合計保存期間:7日から720日まで設定できます。設定した期間を超えるSQL実行レコードは削除されます。
**OK**をクリックします。
SQL監査の無効化
**SQL監査タブのテナントリストで、対象テナントの操作列にあるSQL監査を無効にする**をクリックします。
ポップアップウィンドウのテキストボックスにcloseと入力し、**閉じる**をクリックします。