Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - データベース管理 » セキュリティ » 安全なデータの管理 » データベース・アクティビティの監査

 

監査の例

この例では、権限のない情報へのアクセス試行を、Sybase Central または Interactive SQL を使用して、監査機能がどのようにして記録するかを示します。

♦  監査の例 (Sybase Central の場合)
  1. Sybase Central を起動し、SQL Anywhere 11 Demo データ・ソースを使用してサンプル・データベースに接続します。

    このとき DBA ユーザとして接続します。

  2. 監査を有効にします。

    1. データベースを右クリックし、[プロパティ] を選択します。

    2. [監査] タブをクリックします。

    3. [このデータベースの監査情報をすべて収集する] をクリックします。

    4. [適用] をクリックします。

    5. [OK] をクリックします。

  3. パスワードを welcome にして、Test1 というユーザをサンプル・データベースに追加します。

    1. [ユーザとグループ] を右クリックし、[新規] - [ユーザ] を選択します。

    2. プロンプトが表示されたら、ユーザ名に Test1、パスワードに welcome を入力します。

    3. ユーザに [プロファイル] 権限を付与します。

    4. [完了] をクリックします。

    5. サンプル・データベースを切断します。

  4. Sybase Central を使用して、Test1 としてサンプル・データベースに接続し、Employees テーブル内の機密情報へのアクセスを試みます。

    1. [テーブル] を選択し、Employees テーブルを選択します。

    2. [データ] タブをクリックします。

      パーミッションがありません:"Employees" から選択するためのパーミッションがありません。」というエラー・メッセージが表示されます。

    3. [OK] をクリックします。

    4. サンプル・データベースを切断します。

  5. このアクティビティの監査情報を表示します。

    1. Sybase Central を使用して、DBA 権限を持つユーザとしてサンプル・データベースに接続します。

    2. データベースを選択し、右ウィンドウ枠の [監査] タブをクリックします。

    3. [監査メッセージの取得] をクリックします。

    4. [閉じる] をクリックします。

      監査情報が表示されます。

    5. フィルタリング・オプションを使用して、監査情報テーブル内のエラーを探します。[エラーのみ] オプションを選択することによって、BadUser のエラーを見つけることができます。日付と時刻の情報を使用して、エラーを特定します。たとえば、2007 年 11 月 6 日 10:07:14 に BadUser が Employees テーブルへのアクセスを試みた場合、対応する監査エントリは次のようになります。

      2007-11-06 10:07:14 | Permission
  6. サンプル・データベースを元の状態にリストアします。

    1. データベースを右クリックし、[プロパティ] を選択します。

    2. [監査] タブで、[このデータベースの監査情報を収集しない] を選択します。

    3. [OK] をクリックします。

    4. [ユーザとグループ] を選択します。

      Test1 を右クリックし、[削除] を選択します。

♦  監査の例 (Interactive SQL の場合)
  1. Interactive SQL を起動し、SQL Anywhere 11 Demo データ・ソースを使用してサンプル・データベースに接続します。

    このとき DBA ユーザとして接続します。

  2. 次のように SET OPTION 文を指定して、監査を有効にします。

    SET OPTION PUBLIC.auditing = 'On';
  3. 次のように CREATE USER 文を指定して、サンプル・データベースにユーザ Test1 を追加します。

    CREATE USER Test1
    IDENTIFIED BY welcome;
  4. 新しい Interactive SQL ウィンドウを開き、BadUser としてサンプル・データベースに接続し、次の SELECT 文を使用して Employees テーブルの機密情報へのアクセスを試みます。

    SELECT Surname, Salary
       FROM GROUPO.Employees;

    パーミッションがありません:"Employees" から選択するためのパーミッションがありません。」というエラー・メッセージが表示されます。

  5. 次のコマンドを実行して、このアクティビティの監査情報を表示します。

    dbtran -g -c "DSN=SQL Anywhere 11 Demo" -n demo.sql
  6. サンプル・データベースを元の状態にリストアします。

    • DROP USER 文を使用して、データベースから Test1 ユーザを削除します。

      DROP USER Test1;
    • 次の SET OPTION 文を使用して、監査を無効にします。

      SET OPTION PUBLIC.auditing = 'Off';