この例では、権限のない情報へのアクセス試行を、Sybase Central または Interactive SQL を使用して、監査機能がどのようにして記録するかを示します。
Sybase Central を起動し、SQL Anywhere 12 Demo データソースを使用してサンプルデータベースに接続します。
DBA 権限のあるユーザーとして接続します。
監査を有効にします。
データベースを右クリックし、[プロパティ] をクリックします。
[監査] タブをクリックします。
[このデータベースの監査情報をすべて収集する] をクリックします。
[適用] をクリックします。
[OK] をクリックします。
パスワードを welcome にして、Test1 というユーザーをサンプルデータベースに追加します。
[ユーザーとグループ] を右クリックし、[新規] » [ユーザー] を選択します。
プロンプトが表示されたら、ユーザー名に Test1、パスワードに welcome を入力します。
ユーザーに [プロファイル] 権限を付与します。
[完了] をクリックします。
サンプルデータベースを切断します。
Sybase Central を使用して、Test1 としてサンプルデータベースに接続し、Employees テーブル内の機密情報へのアクセスを試みます。
[テーブル] を選択し、Employees テーブルをクリックします。
[データ] タブをクリックします。
"Employees" テーブルから選択するためのパーミッションがないことを示すエラーメッセージが表示されます。パーミッションがありません : %1を参照してください。
[OK] をクリックします。
サンプルデータベースを切断します。
このアクティビティの監査情報を表示します。
Sybase Central を使用して、DBA 権限を持つユーザーとしてサンプルデータベースに接続します。
データベースを選択し、右ウィンドウ枠の [監査] タブをクリックします。
[監査メッセージの取得] をクリックします。
[閉じる] をクリックします。
監査情報が表示されます。
フィルタリングオプションを使用して、監査情報テーブル内のエラーを探します。[エラーのみ] オプションを選択することによって、Test1 のエラーを見つけることができます。日付と時刻の情報を使用して、エラーを特定します。たとえば、2007 年 11 月 6 日 10:07:14 に Test1 が Employees テーブルへのアクセスを試みた場合、対応する監査エントリは次のようになります。
2007-11-06 10:07:14 | Permission |
サンプルデータベースを元の状態にリストアします。
データベースを右クリックし、[プロパティ] をクリックします。
[監査] タブで、[このデータベースの監査情報を収集しない] をクリックします。
[OK] をクリックします。
[ユーザーとグループ] をクリックします。
Test1 を右クリックし、[削除] をクリックします。
Interactive SQL を起動し、SQL Anywhere 12 Demo データソースを使用してサンプルデータベースに接続します。
このとき DBA ユーザーとして接続します。
次のように SET OPTION 文を指定して、監査を有効にします。
SET OPTION PUBLIC.auditing = 'On'; |
次のように CREATE USER 文を指定して、サンプルデータベースにユーザー Test1 を追加します。
CREATE USER Test1 IDENTIFIED BY welcome; |
新しい Interactive SQL ウィンドウを開き、Test1 としてサンプルデータベースに接続し、次の SELECT 文を使用して Employees テーブルの機密情報へのアクセスを試みます。
SELECT Surname, Salary FROM GROUPO.Employees; |
"Employees" テーブルから選択するためのパーミッションがないことを示すエラーメッセージが表示されます。パーミッションがありません : %1を参照してください。
次のコマンドを実行して、このアクティビティの監査情報を表示します。
dbtran -g -c "DSN=SQL Anywhere 12 Demo" -n demo.sql |
サンプルデータベースを元の状態にリストアします。
DROP USER 文を使用して、データベースから Test1 ユーザーを削除します。
DROP USER Test1; |
次の SET OPTION 文を使用して、監査を無効にします。
SET OPTION PUBLIC.auditing = 'Off'; |
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |