Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Data Safeの機能詳細
Search
oracle4engineer
PRO
November 18, 2024
0
4.7k
Data Safeの機能詳細
Oracle Databaseをよりセキュアにするクラウドサービス。
Oracle Database Cloud だけでなくオンプレミスのデータベースも同様にセキュアに。
oracle4engineer
PRO
November 18, 2024
Tweet
Share
More Decks by oracle4engineer
See All by oracle4engineer
OCI Vault 概要
oracle4engineer
PRO
0
9.7k
OCI Security サービス 概要
oracle4engineer
PRO
0
6.4k
OCI 運用監視サービス 概要
oracle4engineer
PRO
0
4.7k
OCI Network Firewall 概要
oracle4engineer
PRO
0
4.1k
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
2
3.1k
ExaDB-D dbaascli で出来ること
oracle4engineer
PRO
0
3.8k
【Oracle Cloud ウェビナー】クラウド上のMySQLの性能やコストでお困りの方向け データ活用・分析を爆速で安価に実現するHeatWaveのご紹介
oracle4engineer
PRO
1
32
[OCI Technical Deep Dive] Oracle Cloud VMware Solution が開くVMware仮想環境モダナイゼーションへの道(2024年10月29日開催)
oracle4engineer
PRO
0
95
[OCI Technical Deep Dive] オラクルのエンタープライズAI(2024年10月29日開催)
oracle4engineer
PRO
0
62
Featured
See All Featured
Side Projects
sachag
452
42k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
Code Review Best Practice
trishagee
64
17k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
4
370
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
7
620
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
27
4.2k
What's new in Ruby 2.0
geeforr
343
31k
Visualization
eitanlees
145
15k
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.3k
The Art of Programming - Codeland 2020
erikaheidi
52
13k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Transcript
Data Safe 機能詳細 2024年11月 日本オラクル株式会社
Safe harbor statement 以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。また、 情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはできません。以 下の事項は、マテリアルやコード、機能を提供することを確約するものではないため、購買 決定を行う際の判断材料になさらないで下さい。 オラクル製品に関して記載されている機能の開発、リリース、時期及び価格については、弊 社の裁量により決定され、変更される可能性があります。 2
Copyright © 2024, Oracle and/or its affiliates
Oracle Databaseのセキュリティを強化するクラウドベースのデータベース・セキュリティ・サービス OCIコンソールから一元的にデータベースのセキュリティ状態を可視化 • 構成やユーザー情報からセキュリティ・リスクを評価 • データベース監査ログの可視化 • テスト用のマスキングデータを生成 •
SQLレベルで制御するファイアウォールの管理 ターゲットとなるOracle Database • Autonomous Database, Base Database, Exadata Databased • オンプレミスまたは他社クラウド上のOracle Database • データベースのVersionは11.2~、Standard Editionでも利用可能 価格 • 対象がOracle Cloud Databaseの場合は無償 (※ログは100万件/月まで) • オンプレミス、他社クラウド上のOracle Database有償 Data Safe 3 Oracle Cloud Database オンプレミス上の Oracle Database AWS, Azure上の Oracle Database Protect Audit Users Discover Assess Mask Copyright © 2024, Oracle and/or its affiliates
Data Safeが提供する機能 4 セキュリティ アセスメント ユーザー アセスメント 機密データの 検出 データ
マスキング アクテビティ 監査 SQL Firewall データディクショナリ からデータベース 全体のリスク評価 過度な権限付与 や休眠アカウント 等のリスク評価 監査ログの収集 やレポート、アラー ト等のモニタリング 23aiの新機能 SQL Firewallを GUIで管理 列定義や実デー タのフォーマットか ら機密列を検出 数値や文字列を テスト用に任意の 値へとマスキング Copyright © 2024, Oracle and/or its affiliates
セキュリティ・アセスメント 5 Copyright © 2024, Oracle and/or its affiliates
データベースの設定をスキャンし、STIG, CIS Benchmarkなどのセキュリティ要件と比較してリスクを評価 基本構成、ユーザーアカウント、権限・ロール、アクセス制御、監査、暗号化等のカテゴリで評価 データ・ディクショナリから必要な情報を収集するため、データベースへの影響はなし アセスメントは、定期的なスケジュール実行が可能 アセスメント結果は、ベースラインとして登録することができ、比較分析や過去の実行結果履歴が参照可能 セキュリティ・アセスメント 6 Copyright
© 2024, Oracle and/or its affiliates
セキュリティ・アセスメント 7 データベースを評価した詳細レポート 設定で明らかな不備のある設定は高リスクとして評価される 評価レポートは、履歴として記録され、過去との差分把握が 容易にできる Copyright © 2024, Oracle
and/or its affiliates
セキュリティ・アセスメント 8 設定したベースラインと特定の実行結果を比較 設定された構成の追加・変更、削除の詳細を把握できる Copyright © 2024, Oracle and/or its
affiliates
ユーザー・アセスメント 9 Copyright © 2024, Oracle and/or its affiliates
ユーザー・アカウントをスキャンし、アカウントの使用状況や付与された権限・ロールからリスクを分析 DBAやDatabase Vault、Auditなどの管理者権限の付与状況を一括で可視化 アカウントに付与された不要になる可能性があるシステム権限やロールを識別 休眠アカウントやパスワードが失効しているユーザーを特定 セキュリティアセスメントど同様に、スケジュール実行、ベースラインとの比較分析、実行履歴の参照が可能 ユーザー・アセスメント 10 Copyright ©
2024, Oracle and/or its affiliates
ユーザー・アセスメント 11 検出されたユーザー・アカウント一覧 付与されたロールやシステム権限ごとにリスク評価され 総合的なアカウント評価になる Copyright © 2024, Oracle and/or
its affiliates
アクティビティ監査 12 Copyright © 2024, Oracle and/or its affiliates
Oracle Databaseの監査ログを定期的に収集し、ログ分析やレポートを提供 対象は、データベースの監査表のみ (Unified Audit, Database Vault, SQL Firewallの違反ログ等) Data
Safeまたはオンプレミス・コネクターがターゲットDBに直接アクセスして監査ログを収集 Data Safeのコンソールからデータベースへの監査ポリシーの設定が可能 • 変更履歴やログイン失敗などの定義済みポリシー • ユーザー・アクティビティ • CISベンチマークやSTIGなどのコンプラインス対応向けポリシー コンプライアンス要件に対応する監査ログの長期保管 • オンライン保持期間は1~12カ月 • リストア可能なアーカイブとして最大6年保持可能 目的ごとにプリセットされたアクティビティ・レポート アラートによるプロアクティブな情報連携 月あたり100万レコードまでは無償 (超えると1万レコードごとに課金) アクティビティ監査 13 Data Safe Oracle Database AUD$ FGA_LOG$ Unified Audit On-Premises Connector 監査ポリシーの 取得・反映 監査ログの収集 アップロード 監査ポリシーと ログの取得 ※オンプレミスの場合は必要 Copyright © 2024, Oracle and/or its affiliates
監査およびアラート構成のウィザード 14 2024年10月新機能 ①アラート・ポリシーの選択 ②監査ポリシーの作成 ユーザー・アクテビティ監査は ログ量の増大・パフォーマンスへの 影響があるため使用には注意 (※後述の補足資料参照) Data
Safeユーザーの アクティビティは出力させない Data Safeが提供する 独自の監査ポリシー Oracle Databaseの デフォルト監査ポリシー Copyright © 2024, Oracle and/or its affiliates
監査およびアラート構成のウィザード 15 2024年10月新機能 ③監査ログ取得の開始日の指定 ④監査ログの保持期間の指定 ⑤ターゲットDBに設定を反映 100万レコードを超える 有料利用の場合はチェック 監査レコードが多い場合 表示に時間がかかる
Copyright © 2024, Oracle and/or its affiliates
プリセットされた監査レポート 16 Copyright © 2024, Oracle and/or its affiliates
カスタム・アラートの作成と通知 17 ユーザー自身によるカスタム・アラートの作成が可能に アラート条件の指定が可能な監査ログ・フィールド • クライアント・ホスト名、IPアドレス、プログラム名 • DB/OSユーザ、オブジェクト名 • イベント
(CREATE/DROP/ALTER TABLE, LOGON, SELECT/UPDATEなど) • エラーコード (ORA-XXXX)、 実行結果 (SUCCESS/FAILURE) INやLIKE演算子、複数フィールドの組み合わせをサポート SQLテキスト・フィールドへの条件指定はできない しきい値を設定しアラート通知を制限 • 例)1000を超えるアラートが5分間で発生した等 生成されたアラートは、Eventsのアラート生成として検知され Notificationsと連携し、アラート・メール等の外部連携が可能 Events Notifications フィールド値に対する アラート設定 監査ログ Data Safe アラート生成の イベントを検知 <独自ルール> 例)特定の表に対するDML 2024年8月新機能 Copyright © 2024, Oracle and/or its affiliates
補足 : Oracle Databaseの監査について 18 ※ユーザーアクティビティの監査は、パフォーマンスや監査レコードを抑制するために 条件指定した監査ポリシーをOracle Database側で設定することが必要 Copyright ©
2024, Oracle and/or its affiliates
Unified Audit オブジェクト、権限、ユーザー・アクション等、監査対象をグループ化したポリシーベースの監査 必要な監査項目を包括した定義済みの監査ポリシーを提供 監査ログはAUDSYSスキーマのAUD$UNIFIED表に格納され、UNIFIED_AUDIT_TRAILビューで参照可 パフォーマンスの影響やストレージの肥大を抑制するために、監査対象をできるだけ限定するのが推奨 • 特定の操作(SELECTやINSERT等DMLやDDL)、機密表・列を対象に限定 • アプリケーションの通常アクセスは除くなど、セッション情報(IPアドレス、プログラム名等)を組み合わせて対象を限定
Recovery Manager、Data Pump、SQL*Loader等のユーティリティのログも対象 DBMS_AUDIT_MGMTパッケージでログの定期削除をスケジューリング Data SafeやLogging Analytics等のサービスと連携したログのビジュアライズや長期保管 CREATE AUDIT POLICY Policy1 ACTIONS UPDATE ON HR.EMP, DELETE ON HR.EMP_EXD; AUDIT POLICY Policy1; 例) 表に対するDML監査ポリシー 19 Copyright © 2024, Oracle and/or its affiliates
Unified Auditの定義済みポリシー ポリシー名 ポリシーの内容 デフォルト ORA_LOGON_FAILURES ログイン失敗のみ Yes (DBCAでDB作成時) ORA_SECURECONFIG
セキュリティ監査の必須要件として求められる基本的なデータ ベースの構成管理に関連した操作 Yes (DBCAでDB作成時) ORA_DATABASE_PARAMETER データベースのパラメータ変更に関連した操作 No ORA_ACCOUNT_MGMT ユーザー・アカウントの変更や権限に関連した操作 No ORA_CIS_RECOMMENDATIONS CISベンチマークで求められる監査要件に関連した操作 No ORA_RAS_POLICY_MGMT, ORA_RAS_SESSION_MGMT Real Application Securityに関連した操作 No ORA_DV_AUDPOL Oracle Database Vaultの DVSYS, LBACSYSスキーマのオブ ジェクトに関連した操作 No ORA_DV_AUDPOL2 Database Vaultのレルムやコマンドルールに関連した操作 No 20 Copyright © 2024, Oracle and/or its affiliates
ORA_SECURECONFIGポリシー 主にデータベース管理に関連する操作に対して監査ポリシー 表などのオブジェクトに対する監査設定はされていないので、ユーザー用途に応じたDML監査を追加する ALTER ANY TABLE CREATE ANY TABLE DROP
ANY TABLE ALTER ANY PROCEDURE CREATE ANY PROCEDURE DROP ANY PROCEDURE GRANT ANY PRIVILEGE GRANT ANY OBJECT PRIVILEGE GRANT ANY ROLE CREATE USER DROP USER ALTER USER ALTER DATABASE ALTER SYSTEM AUDIT SYSTEM ALTER ANY SQL TRANSLATION PROFILE CREATE ANY SQL TRANSLATION PROFILE DROP ANY SQL TRANSLATION PROFILE CREATE ANY LIBRARY CREATE ANY JOB CREATE EXTERNAL JOB CREATE SQL TRANSLATION PROFILE CREATE PUBLIC SYNONYM DROP PUBLIC SYNONYM EXEMPT ACCESS POLICY EXEMPT REDACTION POLICY TRANSLATE ANY SQL PURGE DBA_RECYCLEBIN LOGMINING ADMINISTER KEY MANAGEMENT BECOME USER CREATE PROFILE ALTER PROFILE DROP PROFILE CREATE ROLE ALTER ROLE DROP ROLE SET ROLE CREATE DATABASE LINK ALTER DATABASE LINK DROP DATABASE LINK CREATE DIRECTORY DROP DIRECTORY EXECUTE ON DBMS_RLS ALTER DATABASE DICTIONARY CREATE PLUGGABLE DATABASE DROP PLUGGABLE DATABASE ALTER PLUGGABLE DATABASE 21 Copyright © 2024, Oracle and/or its affiliates
条件による監査対象の絞り込み WHEN句で、IPアドレスがNULL(ローカル接続)の場合のみの条件を 追加 CREATE AUDIT POLICY Policy1 ACTIONS UPDATE ON
EMPLOYEES, DELETE ON EMP_EXTENDED; AUDIT POLICY Policy1 BY UserX, UserY; CREATE AUDIT POLICY Policy2 ACTIONS UPDATE ON EMPLOYEES, DELETE ON EMP_EXTENDED WHEN 'SYS_CONTEXT(''USERENV'',''IP_ADDRESS'') IS NULL’ AUDIT POLICY Policy2; 特定のユーザーのUPDATE,DELETE文のDMLを監査 Actions ALLだけれども、JDBC接続の特定のAPサーバのアクセスは除く条件を指定 CREATE AUDIT POLICY Policy3 ACTIONS ALL ON EMPLOYEES WHEN 'SYS_CONTEXT(''USERENV'',''HOST'') IN ‘’xxxxx.jp.oracle.com,xxxxx.jp.oracle.com‘’ AND SYS_CONTEXT(''USERENV'',''MODULE'') NOT IN ''JDBC Thin Client''' AUDIT POLICY Policy3; 22 Copyright © 2024, Oracle and/or its affiliates
表の列に限定した監査 (23ai~) SELECT * from EMPLOYEES; SELECT ID FROM EMPLOYEES;
SELECT ID, SALARY FROM EMPLOYEES; EMPLOYEES SALARY列 監査アクションの対象を従来の表単位から列単位での特定が可能 CREATE AUDIT POLICY ポリシー名 ACTIONS DML(カラム名) ON テーブル名 例) EMPLOYEES表のSALARY列のSELECT, UPDATEを対象 CREATE AUDIT POLICY policy1 ACTIONS SELECT(SALARY), UPDATE(SALARY) ON HR.EMPLOYEES; AUDIT POLICY policy1; 23 Copyright © 2024, Oracle and/or its affiliates
SQL Firewall 24 Copyright © 2024, Oracle and/or its affiliates
SQL Firewall SQLレベルで制御するデータベース・ネイティブのファイアーウォール SQL単位でデータベースのアクセスを制御するファイアーウォール データベース・ネイティブなので如何なる手段でもバイパスできない アクセス許可されるSQLは、列名や条件を含めて完全一致しなければならず SQLインジェクションや不必要なデータ参照を防止 実行されるSQLを収集しファイアーウォール・ポリシーを作成 • SQL:
DDL, DML • セッション・コンテキスト: IPアドレス、OSユーザー名、プログラム名 非常に軽微なCPUオーバーヘッド ポリシー違反のアクセスをブロックまたはログ記録だけの検知としても使用可能 違反したログは、 DBA_SQL_FIREWALL_VIOLATIONSビューで参照 Oracle Database 23aiから利用可 AVDFまたはDatabase Vaultオプションが必要 (※Cloudの場合、FreeもしくはBaseDB EE-HP以上) 25 Oracle Database 23ai SQL Firewall Program OS User IP Address Copyright © 2024, Oracle and/or its affiliates
SQL Firewallの管理インターフェース 26 2つの管理オプション DBMS_SQL_FIREWALL パッケージ • PL/SQLによる基本のCLI管理 Oracle Data
SafeのSQL Firewall管理機能 • Data SafeのインタフェースからGUI管理 • SQL Firewallの設定や違反ログなどビジュアライズ されたGUIによる直感的な操作 • EventsとNotificationsと連携することで、違反が 発生した場合のアラート通知が可能 Copyright © 2024, Oracle and/or its affiliates
Data Safeを利用したSQL Firewallの設定フロー 1 Collect DB管理者やアプリケー ションが実行するSQLを 一定期間網羅的に キャプチャする 2
Review & Modify キャプチャログから SQLおよびユーザー接続 情報をレビューし SQL Firewallポリシーを 作成する 3 Enforce デフォルト・アクション (ブロックの有無)を指定 を指定してポリシーを 有効化する 4 Monitor ポリシー違反したSQL やセッション情報をレ ビューし、必要に応じて チューニングする 27 Copyright © 2024, Oracle and/or its affiliates
Collect Data Safeを利用したSQL Firewallの設定フロー 28 Data Safeに登録している ターゲットDBのSQL Firewallの ステータスが有効になっていること
SQLをキャプチャするユーザーを 選択して収集開始 Copyright © 2024, Oracle and/or its affiliates
Review & Modify Data Safeを利用したSQL Firewallの設定フロー 29 Collectにて収集した SQLとセッション情報をベースに ポリシーのひな型を作成
許可しないSQLはポリシー から削除 許可するセッション情報を 追加・削除 Copyright © 2024, Oracle and/or its affiliates
Enforce Data Safeを利用したSQL Firewallの設定フロー 30 SELECT ID, NAME, EMAIL, PHONE,
SALARY EMPLOYEES SELECT ID, PHONE, EMAIL EMPLOYEES SELECT ID, SALARY EMPLOYEES SQLリスト 172.16.0.0/21 %user% sqlplus@db4demo (TNS V1-V3), JDBC% セッション情報 ポリシーのデプロイ 違反ログ スコープ, Blockの有無, 監査 ログの有無を選択してデプロイ SQL> select * from employees; ERROR at line 1: ORA-47605: SQL Firewall violation Help: https://docs.oracle.com/error-help/db/ora-47605/ Copyright © 2024, Oracle and/or its affiliates
Monitor Data Safeを利用したSQL Firewallの設定フロー 31 ブロックされたSQLを選択 してポリシーに追加できる 違反ログの一覧を参照可能 予期せぬSQLのブロックのチューニングとして 以下の方法がある
- 違反ログからSQLをポリシーに追加 - 再度Collectを実行してSQLを収集、 ポリシーを更新する Copyright © 2024, Oracle and/or its affiliates
機密データの検出 32 Copyright © 2024, Oracle and/or its affiliates
データベース内の機密データの列を検出する 検出方法は、以下の2パータン • NAME, ID, PASSWORDといった機密列を示すキーワードを含んでいる列 • メールやクレジット番号といったデータ形式が一般的に固定化されており かつ推測できる列 200以上の定義済みの機密タイプ
ユーザー独自の機密タイプの定義を追加可能 • マイナンバー, 運転免許証番号, 携帯電話, 社員番号など 日本語の列名にも対応 検出された機密タイプは、機密データ・モデルとしてData Safeに 登録され任意の値にマスキングができる 機密データ検出 33 ABC Table Emp No 1234567 Column 2 xxxxxxx First Name Oracle Last Name Taro Column 5 xxxxxxx Card No 4123123488990121 Copyright © 2024, Oracle and/or its affiliates
200以上の定義済みの機密タイプ 34 氏名, 住所, 電話番号, EMAIL, 性別, 銀行口座, ID, 生年月日,
学歴, 職歴, パスポート番号, 社会保障番号(US) マイナンバー, 社員番号, ユーザーID等 Identification Biographic IT Financial Healthcare Employment Academic SSN Name Email Phone Passport DL Tax ID … Age Gender Race Citizenship Address Family Data Date of Birth Place of Birth … IP Address User ID Password Hostname GPS location … Credit Card CC Security PIN Bank Name Bank Account IBAN Swift Code … Provider Insurance Height Blood Type Disability Pregnancy Test Results ICD Code … Employee ID Job Title Department Hire Date Salary Stock … College Name Grade Student ID Financial Aid Admission Date Graduation Date Attendance … Copyright © 2024, Oracle and/or its affiliates
機密データ・タイプの設定例 35 列名のパターン: 列名に含まれるキーワードを特定する正規表現 列データのパターン: データのフォーマットを特定する正規表現 ※列データのパターンは5行フェッチし4/5(80%)が 正規表現と一致する場合に機密タイプとして検出 検索タイプ: 列名と列データの条件がAND
or ORで一致 日本独自の機密タイプ: 運転免許証番号、マイナンバー Copyright © 2024, Oracle and/or its affiliates
機密データ・モデル 36 機密データの検出を実行すると 結果は機密データ・モデルとして作成される Copyright © 2024, Oracle and/or its
affiliates
データ・マスキング 37 Copyright © 2024, Oracle and/or its affiliates
機密性の高いデータを不可逆な形式にてマスキング データベースの特性を考慮したアーキテクチャ • 表の制約や表の親子関係を認識した一貫性のあるマスキング • 列データの要素数、分布、件数など、本番データの特性を維持 • マスキングはデータベース内でPL/SQLスクリプトとして実行される GUIで自由に定義できる様々なマスキング・タイプを提供 60を超える定義済みのマスキング・テンプレート
• 各ブランドのクレジット・カード番号, Eメール, URL, 郵便番号, マイナンバー ユーザー独自のマスキング定義を作成可能 • 携帯番号, 社員番号, パスポート番号等の日本独自のデータ形式 条件分岐や日本語を含む複雑なマスキングはユーザー定義関数で対応 注意事項 • マスキング中は一時的にマスキングする表の数倍の表領域の空きが必要 • マスキング実行前にはDBのバックアップ、表の複製等の対応が必須 データ・マスキング 38 Oracle Database Data Safe Copyright © 2024, Oracle and/or its affiliates
様々なマスキング形式を提供 39 固定数値 固定文字列 ランダム桁数 ランダム数値 ランダム文字列 配列リスト シャッフル 置換
SQL式 NULL値 切り捨て 部分文字列 表の列の値 ユーザ定義関数 正規表現 暗号化 ランダム文字 ランダム数値+固定文字列 シャッフル ID NAME 1 SMITH 2 ALLEN 3 JONES 4 CLARK 5 ADAMS : : ID NAME 1 akeskaf 2 oweiks 3 daikels 4 ilekdik 5 oetdjgqk : : ID CARDNUMBER 1 7488-2984-1736-7400 2 4033-6177-0089-6401 3 6141-5126-0475-8802 4 1139-4145-6222-3703 5 8337-6263-1608-0104 : : ID CARDNUMBER 1 5870-2967-9149-5700 2 9634-7334-4874-2301 3 8430-8214-6445-1102 4 1573-9537-1503-5503 5 0606-3321-6271-8304 : : ID COUNTRY 1 US 2 JP 3 US 4 UK 5 FR : : ID COUNTRY 1 US 2 FR 3 UK 4 FR 5 JP : : Copyright © 2024, Oracle and/or its affiliates
正規表現を用いたマスキング 40 正規表現 置換 する値 意味 対象データ マスキング結果 ¥d *
すべての数字を *で置換 東京都港区1-992 Oracleビル103号室 東京都港区*-*** Oracleビル***号室 ¥d{4} * 連続した4桁の数字を *で置換 080-1234-5678 080-****-**** ¥d{4}/¥d{2}/¥d{2} ¥1/**/** 西暦はそのままで 年月日を*で置換 1975/10/12 1975/**/** ¥w+@(¥w) ****@¥1 @より前方は *で置換
[email protected]
m ****@oracle.com Copyright © 2024, Oracle and/or its affiliates
ユーザー定義関数を用いたマスキング 41 /* ランダムでひらがな5文字を生成する関数 CREATE OR REPLACE FUNCTION RANDOM_HIRAGANA( RID
IN VARCHAR2 , COLUMN_NAME IN VARCHAR2 , ORIG_VAL IN VARCHAR2 ) RETURN VARCHAR2 AS data varchar2(1000); type array1 is array(999) of varchar2(4); data_array array1 := array1(); i number:=0; max_num number:=0; return_str varchar2(10); ID フリガナ 1 あべたろう 2 とうきょうはなこ 3 すずきいちろう ID フリガナ 1 あきこしさ 2 なにとあい 3 さとしあい ランダムひらがなで マスキング BEGIN data := 'あいうえおかきくけこさしすせそたちつてとはひふへほはひふへほ やゆよつわあいうえおかきくけこさしすせそたちつてとはひふへほはひふ へほやゆよつわ'; max_num :=LENGTH(data); For i IN 1..max_num loop data_array.extend; data_array(i) := SUBSTR(data,i,1); End loop; for i IN 1..5 loop return_str := return_str || data_array(round(dbms_random.value(1,max_num))); end loop; RETURN return_str; END RANDOM_HIRAGANA; Copyright © 2024, Oracle and/or its affiliates
定義済みのマスキング・フォーマット 42 カード番号のマスキング・フォーマット 先頭はVISA, MasterCard, Amexなどの それぞれのブランドを表す番号に対応し 残りはランダム数値で生成される Copyright ©
2024, Oracle and/or its affiliates
独自マスキング・フォーマットの作成 43 作成する携帯番号のマスキング形式 070 – 1234 - 6789 Random List
[070-, 080-, 090-] Random Number [4 digit] Fixed String [-] Random Number [4 digit] Copyright © 2024, Oracle and/or its affiliates
データマスキングの特徴 44 ID NAME CID 1 SMITH 1 2 ALLEN
4 3 JONES 1 4 CLARK 2 5 ADAMS 3 : : : CID COUNTRY_NAME 1 UNITED_KINGDOM 2 UNITED_STATES 3 AUSTRALIA 4 IRELAND 5 CANADA : : ID NAME CID 1 Aaafeh 83 2 Aafhed 65 3 Aaaafhe 83 4 Bodofa 39 5 aaahfied 9 : : : CID COUNTRY_NAME 83 UNITED_KINGDOM 39 UNITED_STATES 9 AUSTRALIA 65 IRELAND 7 CANADA : : 参照整合性を維持したマスキング (ランダム文字列+ランダム数値) 外部キー制約を自動的に検知し 一貫性のあるマスキングを実行 キー / 一意 / 参照整合性制約を維持したマスキング Copyright © 2024, Oracle and/or its affiliates
データマスキングの特徴 45 ID NAME CID 1 ABC Material SMITH 2
ZZZ Manifacture CLARK 3 B&C Inc JONES 4 OPQ World CLARK 5 YYY Corp ADAMS : : : CID COUNTRY_NAME CLARK UNITED_KINGDOM JONES UNITED_STATES SMITH AUSTRALIA KEITH IRELAND ADAMS CANADA : : ID NAME CID 1 ABC Material cccchfk 2 ZZZ Manifacture aaaafdk 3 B&C Inc bbbeoh 4 OPQ World aaaafdk 5 YYY Corp 99999k : : : CID COUNTRY_NAME aaaafdk UNITED_KINGDOM bbbeoh UNITED_STATES cccchfk AUSTRALIA 1234akf IRELAND 99999k CANADA : : 参照関係を維持したマスキング (ランダム文字列) 外部キー制約を指定していないが アプリケーションで関連付けている場合は 手動で参照関係を指定することで 一貫性のあるマスキングを実行 明示的な参照関係によるマスキング Copyright © 2024, Oracle and/or its affiliates
構成 46 Copyright © 2024, Oracle and/or its affiliates
OCIにあるOracle Databaseへの接続 (プライベート・エンドポイント) 47 Autonomous DB, Cloud Database System, Database
on Compute Oracle Cloud Infrastructure Customer VCN Private Subnet Oracle Data Safe Private Endpoint Data Safeは、プライベート・エンドポイントを経由して使ってターゲットDBに接続する Oracle Cloud内のクローズドなアクセス Security ListもしくはNetwork Security GroupにData Safeとのinbound/outbound通信の許可が必要 Copyright © 2024, Oracle and/or its affiliates
オンプレミスにあるOracle Databaseへの接続 (プライベート・エンドポイント) 48 On-premises, Cloud@Customer Oracle Cloud Infrastructure Customer
VCN Private Subnet Private Endpoint FastConnect / VPN Connect Oracle Data Safe FastConnectまたはVPN接続で、オンプレミス上にあるデータベースはOCIのPrivateサブネットの 延長線上にあるという構成 Data Safeは、プライベート・エンドポイントを経由して使ってターゲットDBに直接接続する ターゲットDBのネットワークは、 Data Safeからのinbound/outbound通信の許可が必要 Copyright © 2024, Oracle and/or its affiliates
オンプレミスにあるOracle Databaseへの接続 (オンプレミス・コネクター) 49 On-premises, Cloud@Customer Oracle Cloud Infrastructure Oracle
Data Safe Data Safe On- Premises Connector TLS Tunnel Data Safe On- Premises Connector On-Premises Connectorをインターネット通信が可能なサーバにインストールする On-Premises Connectorは、オンプレミス上のターゲットDBにアクセスし、その情報をData Safeにアップロードする 通信はOn-Premises Connectorが起点となるため、Data SafeからのInbound通信は発生しない On-Premise ConnectorターゲットDBのネットワークは、 Data Safeへのoutbound通信の許可が必要 Copyright © 2024, Oracle and/or its affiliates
ハードウェア要件 • 2CPU, Memory: 16GB, Storage: 5GB, Network: 1GBps 以上
• Port: 443 Data Safeとの通信で利用 ソフトウェア要件 • Oracle Linux 7, Python 3.5, Java 7 以上 インストール手順 1. On-Premises ConnectorをData Safeコンソールからダウンロード 2. zipファイルをターゲットのデータベースにコピーし解凍 3. 以下コマンドを実行 $ python setup.py install --connector-port=<port> [--https-proxy=<proxy:port>] 例) $ python setup.py install --connector-port=1560 --https-proxy=https://www-proxy.domain.com:80 On-Premises Connectorのインストール要件 50 Copyright © 2024, Oracle and/or its affiliates
価格 51 Copyright © 2024, Oracle and/or its affiliates
サポートされるターゲット・データベース 52 Oracle Cloud Database Versions Autonomous Data (Shared Exadata
Infrastructure) latest version Autonomous Data (Dedicated Exadata Infrastructure) latest version Base Database, Exadata on Dedicated Infrastructure - Oracle Database Edition (SE, EE, EEHP, EEEP) 11.2.0.4*, 12.1*, 12.2.0.1 or later Oracle Database on Compute instance - Oracle Database Edition (Standard, Enterprise) 11.2.0.4*, 12.1*, 12.2.0.1 or later On-Premises Oracle Database - Oracle Database Edition (Standard, Enterprise) 11.2.0.4*, 12.1*, 12.2.0.1 or later Oracle Databae@Azure 19c Amazon RDS for Oracle 19c, 21c Copyright © 2024, Oracle and/or its affiliates
価格 53 サービス名 単価 単位 1 Data Safe for Database
Cloud Service (*) 無償 2 Data Safe for Database Cloud Service – Audit Record Collection Over 1 Million Records ¥15.5 1万レコード/ターゲット/月 3 Oracle Cloud Infrastructure - Data Safe for On-Premises Databases (**) ¥31,000 1DBあたり 4 Oracle Cloud Infrastructure - Data Safe for On-Premises Databases – 10,000 Audit Records Per Target Per Month ¥15.5 1万レコード/ターゲット/月 * 監査機能は、 100万レコード/ターゲット/月まで無償、その他の機能は無償 **監査機能は、 100万レコード/ターゲット/月まで利用可能、その他の機能は追加コストなく利用可能 最初の100ターゲットまで。100ターゲット以上は単価が下がるため、詳しくは価格リストを参照 Copyright © 2024, Oracle and/or its affiliates
OCI上のDatabase Cloudサービス群は無償 Data Safe Oracle databases on compute and in
3rd party clouds Oracle cloud databases Oracle on-premises databases Oracle Cloud@Customer databases 無償※ 1DBごとに有償 ※1DBあたり100万レコード/ターゲット/月まで New! Oracle Database @Azure 無償※ 1DBごとに有償 54 Copyright © 2024, Oracle and/or its affiliates
None
Appendix 56 Copyright © 2024, Oracle and/or its affiliates
TIPS 57 OCI DataSafeでBaseDB/ExaDB-Dの監査ログを取り込んで分析する 以下の内容は古くなっていますので、OCIのコンソールが異なる場合があります Oracle Data Safeを有効化する https://qiita.com/western24/items/ce12012acfc429b363a7 Data
Safeのデータ・マスキングを試してみる https://qiita.com/western24/items/3fb5bfd0515864b06b22 Data Safeのアクティビティ監査で操作ログを記録する https://qiita.com/western24/items/ca090b9b40509e7449ba プライベートIPアドレスでData SafeにDBを登録する https://qiita.com/western24/items/d3b10acf3fcb15b8687c Oracle Data SafeでオンプレミスのOracle Databaseを管理する https://qiita.com/western24/items/7b9a43a5bf63f5590403 Copyright © 2024, Oracle and/or its affiliates