1. Data Safeの準備#
セキュリティ評価(セキュリティ評価、ユーザー評価)
ユーザーのアクティブ監視
監査ログの可視化
機密データの検出
マスキングデータの作成
SQLファイアウォールの設定・管理(ターゲットDBが23aiのときのみ)
関連リンク: Data Safeの機能詳細 - Speaker Deck
DATASAFEユーザーの作成#
Oracle公式の登録手順:https://docs.oracle.com/cd/E83857_01/paas/data-safe/admds/target-database-registration.html
Data Safe用のDBユーザーとして DATASAFE$ADMIN を作成します。
このユーザーの名前は自由ですが、OCIコンソールでの登録画面では DATASAFE$ADMIN ユーザー名がデフォルトでセットされてるため、この名前を使用しています。
CREATE USER DATASAFE$ADMIN IDENTIFIED BY "<password>"
DEFAULT TABLESPACE "USERS"
TEMPORARY TABLESPACE "TEMP";
GRANT CONNECT, RESOURCE TO DATASAFE$ADMIN;
重要
注釈
DS$ADMIN というユーザーがすでに作成されています。DATASAFEユーザーにロールを追加する#
non-ADBの場合、スクリプト datasafe_privileges.sql を実行することで、ロールを付与または取り消しができます。
このスクリプトはOCIコンソールの [メニューバー] → [Oracle Database] → [データ・セーフ - データベース・セキュリティ] と移動し、「ターゲットDBの登録」ボタンを選択した画面から入手することができます。
DBサーバーにスクリプトファイルを移し、SQL*Plusで接続。以下のコマンドで実行すると、上記画像のすべての権限を付与し、すべてのOracle Data Safe機能が使用可能になります。
@datasafe_privileges.sql <DataSafeユーザー> GRANT ALL -VERBOSE
参考
構文 sqlスクリプトの構文は以下の通りです。
@datasafe_privileges.sql <DATASAFE_ADMIN> <GRANT|REVOKE> <AUDIT_COLLECTION|AUDIT_SETTING|DATA_DISCOVERY|MASKING|ASSESSMENT|ALL> [-RDSORACLE][-VERBOSE]
今回はData Safeのすべての機能を使用する権限を与えるため ALL を選択していますが、上記の通りData Safeの特定の機能に必要な権限だけを与えるもしくは剥奪することも可能です。
SQL> @datasafe_privileges.sql DATASAFE$ADMIN GRANT ALL -VERBOSE
Enter value for USERNAME (case sensitive matching the username from dba_users)
Setting USERNAME to DATASAFE$ADMIN
Enter value for TYPE (grant/revoke)
Setting TYPE to GRANT
Enter value for MODE (audit_collection/audit_setting/data_discovery/masking/assessment/sql_firewall/all)
Setting MODE to ALL
Granting AUDIT_COLLECTION privileges to "DATASAFE$ADMIN" ...
CREATE ROLE "ORA_DSCS_AUDIT_COLLECTION"
GRANT CREATE SESSION to "ORA_DSCS_AUDIT_COLLECTION"
GRANT AUDIT_VIEWER TO "ORA_DSCS_AUDIT_COLLECTION"
GRANT READ ON SYS.DBA_AUDIT_MGMT_CLEANUP_JOBS TO "ORA_DSCS_AUDIT_COLLECTION"
GRANT READ ON SYS.V_$PWFILE_USERS TO "ORA_DSCS_AUDIT_COLLECTION"
GRANT READ ON SYS.DBA_TABLES TO "ORA_DSCS_AUDIT_COLLECTION"
GRANT SELECT ON SYS.DUAL TO "ORA_DSCS_AUDIT_COLLECTION"
GRANT READ ON SYS.V_$OPTION TO "ORA_DSCS_AUDIT_COLLECTION"
GRANT EXECUTE ON SYS.DEFAULT_JOB_CLASS TO "ORA_DSCS_AUDIT_COLLECTION"
GRANT EXECUTE ON SYS.DBMS_OUTPUT TO "ORA_DSCS_AUDIT_COLLECTION"
GRANT READ ON SYS.STMT_AUDIT_OPTION_MAP TO "ORA_DSCS_AUDIT_COLLECTION"
GRANT EXECUTE ON SYS.XMLTYPE TO "ORA_DSCS_AUDIT_COLLECTION"
...
GRANT AUDIT_VIEWER TO "ORA_DSCS_ASSESSMENT"
GRANT CAPTURE_ADMIN TO "ORA_DSCS_ASSESSMENT"
GRANT SELECT ON AUDSYS.AUD$UNIFIED TO "ORA_DSCS_ASSESSMENT"
GRANT "ORA_DSCS_ASSESSMENT" to "DATASAFE$ADMIN"
Disconnected from Oracle Database 23ai Free Release 23.0.0.0.0 - Develop, Learn, and Run for Free
Version 23.6.0.24.10
Tip
DS$DATA_MASKING_ROLE 以外のすべてのロールがすでにデフォルトで付与されています。
Data SafeにDBを登録する#
Data Safeの画面より、該当するターゲットDBの「ウィザードの起動」を選択します。今回はコンピュート上の23ai FREEをターゲットとするので、「コンピュート上のOracleデータベース」を選択した手順となります。
ヒント
「ウィザードによるデータベースの登録」からDBを登録すると、プライベートエンドポイントの作成とセキュリティ・リストまたはネットワーク・セキュリティ・グループの設定を同時に行うことができます。
ターゲット・データベース情報を入力する画面では以下の項目を入力します。
- サービス名:
FREEPDB1
- ポート番号:
1521
すでにプライベートエンドポイントがある時の画面#
新規にプライベートエンドポイントを作成する時の画面#
次にファイアウォール(セキュリティ・リストまたはネットワーク・セキュリティ・グループ)の設定を行うことができます。
最後に項目を確認し、「登録」をクリックします。
そして無事登録され、ステータスが「ACTIVE」になっていることを確認します。
以上でData SafeへのDB登録は終了です。