OCI Data SafeでオンプレミスのOracle DBを管理する

Data Safeは、Oracle Database Cloud Serviceが主な管理対象でしたが、On-Premises Connectorという新しい機能によってオンプレミスのOracle Databaseも同様に管理することができるようになりました。On-premises Connectorは、Data Safeとオンプレミス側のOracle DBとの通信を中継するエージェントとして動作します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/9babcf30-8baf-ce9f-7c8d-7dc09bdfe999.png)

このようにOn-premises Connectorは、オンプレミス側のOracleDBにアクセスし、インターネットを経由してData Safeに情報をアップロードします。そのため、On-premises Connectorはインターネットにアクセスできるサーバーにインストール必要があります。また、通信は、TLSで暗号化されています。
Data Safeは、基本的にData SafeからターゲットのDBにアクセスするというサービスですが、このOn-premises Connectorを使った場合は、On-premises Connectorが起点となり、Data Safeからのinboud通信は発生しないというのが特徴です。
また、On-premises Connectorはひとつで複数のDBに対応できるので、オンプレミス内のStandard EditionやEnterprise Editionをまとめて管理させるということも可能です。オンプレミスだけでなくAWSやAzureにあるOracle DBも同様に管理させることが可能です。
それでは、実際に設定手順を説明します。

##On-premises Connectorのインストール要件
Oracle Linux 7
Python 3.5以上
Java 7以上

##On-premises Connectorの設定手順
- Data Safeのメニューからオンプレミス・コネクタの作成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/666dd8d6-2e60-dc3f-e14f-c190fcc7c3ed.png)

- On-premises Connectorのダウンロード (ダウンロード時に指定したパスワードをメモしておく)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/6758e0b1-1fde-607c-201d-9b23960eb321.png)

```
On-premises Connectorをインストールするサーバにコピーして解凍
$ ls
README  connector.conf  downloads  setup.py  util  wallet

#インストール・コマンド
python setup.py install --connector-port=<port> [--https-proxy=<proxy:port>]

$ python setup.py install --connector-port=1560
Enter install bundle password:
Data Safe on-premises connector installation in progress...
Connection Manager is not reachable on its port - for more details check /home/oracle/OC20210205/log/setup.log
Data Safe on-premises connector successfully installed
```

- インストールが正常に完了すればActiveになる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/abad1752-10e0-faf1-0532-686489dc305e.png)

- Data SafeにターゲットDBとして登録する。Registerをクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/fc9771a5-8bfe-a6d6-452c-04a2e956e7e4.png)

- ターゲットDBで実行するためのスクリプトをダウンロードする
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/a6cdf656-5b8b-832f-870b-cb699466fa19.png)

```
#ターゲットDBにData Safe用のユーザーと権限を付与してスクリプト実行
SQL> CREATE USER DATASAFE_ADMIN identified by oracle19c;
SQL> GRANT CONNECT, RESOURCE TO DATASAFE_ADMIN;
SQL> @datasafe_privileges.sql DATASAFE_ADMIN grant ALL
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/all)
Setting MODE to ALL

Granting AUDIT_COLLECTION privileges to "DATASAFE_ADMIN" ...
Granting AUDIT_SETTING privileges to "DATASAFE_ADMIN" ...
Granting DATA_DISCOVERY role to "DATASAFE_ADMIN" ...
Granting MASKING role to "DATASAFE_ADMIN" ...
Granting ASSESSMENT role to "DATASAFE_ADMIN" ...
Done.
Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
```
- 作成したユーザーを使用してターゲットDBの設定。Test Connectionで成功したらRegister Targetをクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/e6e12b91-8284-5fce-d662-48e0f5afe5cb.png)


- 完了
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/6066091f-9d6a-7b87-f46d-f298365b5200.png)

これでターゲットDBの登録は完了です。複数DBを登録する場合は、上記のターゲットDBの登録から繰り返してください。以降は、Data Safeの機能が使用できるようになりますのでこちらを試してみてください。

[Oracle Data Safeのデータ・マスキングを試してみる](https://qiita.com/western24/items/3fb5bfd0515864b06b22)
[Oracle Data Safeのアクティビティ監査で操作ログを記録する](https://qiita.com/western24/items/ca090b9b40509e7449ba)