Upgrade to Pro — share decks privately, control downloads, hide ads and more …

DBセキュリティ入門【アクセス制御編】

Avatar for oracle4engineer oracle4engineer PRO
May 28, 2026
16

 DBセキュリティ入門【アクセス制御編】

本資料は、Oracle Databaseのセキュリティ機能概要を紹介する以下の4編構成の資料群のうち、「アクセス制御編」を説明するものです。
・暗号化・マスキング編
・アクセス制御編
・監査・評価編
・認証編

Avatar for oracle4engineer

oracle4engineer PRO

May 28, 2026

More Decks by oracle4engineer

Transcript

  1. データ漏洩が起きるリスクパターンと対策 全体のセキュリティ対策 Copyright © 2024, Oracle and/or its affiliates 2

    リ ス ク 対 策 分 野 第三者の バイパスしたアクセスに よる不当なデータ奪取 例)ディスク盗難、 通信の盗聴、など 正規ユーザーの 業務範囲外の データ持ち出し 例)ユーザー乗っ取り、 内部不正、など 正規ユーザーの 業務範囲内の データ持ち出し 例)ユーザー乗っ取り、 内部不正、など 運用において 後から発生する 潜在的なリスク 例)権限設定の不備、 システムの脆弱性など ・暗号化 ・データ・マスキング ・認証 ・ユーザ管理 ・認可 (アクセス制御) ・監査 ・ログ監視 ・定期的な セキュリティ評価 ・パッチ適用 1 2 3 4
  2. データ漏洩が起きるリスクパターンと対策 全体のセキュリティ対策 Copyright © 2024, Oracle and/or its affiliates 3

    リ ス ク 対 策 分 野 第三者の バイパスしたアクセスに よる不当なデータ奪取 正規ユーザーの 業務範囲外の データ持ち出し 正規ユーザーの 業務範囲内の データ持ち出し 構成変更等によって 後から発生する 潜在的なリスク ・暗号化 ・データ・マスキング ・認証 ・ユーザ管理 ・認可 (アクセス制御) ・監査 ・ログ監視 ・定期的な セキュリティ評価 ・パッチ適用 機 能 ・ サ ー ビ ス TDE(透過的データ暗号化) ネットワーク暗号化 Data Redaction 統合監査 DB Vault SQL Firewall Label Security VPD DBSAT CMU クラウドIAM 認証 Data Masking and Subsetting 1 2 3 4 Oracle Data Safe OCI Logging Analytics Oracle Data Safe Autonomous Database ファイングレイン監査
  3. データ漏洩が起きるリスクパターンと対策 全体のセキュリティ対策 Copyright © 2024, Oracle and/or its affiliates 4

    リ ス ク 対 策 分 野 第三者の バイパスしたアクセスに よる不当なデータ奪取 正規ユーザーの 業務範囲外の データ持ち出し 正規ユーザーの 業務範囲内の データ持ち出し 構成変更等によって 後から発生する 潜在的なリスク ・暗号化 ・データ・マスキング ・認証 ・ユーザ管理 ・認可 (アクセス制御) ・監査 ・ログ監視 ・定期的な セキュリティ評価 ・パッチ適用 機 能 ・ サ ー ビ ス TDE(透過的データ暗号化) ネットワーク暗号化 Data Redaction 統合監査 DB Vault SQL Firewall Label Security VPD DBSAT CMU クラウドIAM 認証 Data Masking and Subsetting 1 2 3 4 Oracle Data Safe OCI Logging Analytics Oracle Data Safe Autonomous Database ファイングレイン監査 暗号化編 本資料 の対象
  4. 1. アクセス制御概要 ✓ アクセス制御とは ✓ Oracle Database における基本のアクセス制御 ✓ アクセス制御の種類

    • データ保護 • アクセス防止・検出 目次 Copyright © 2024, Oracle and/or its affiliates 5 2. 機能 ✓ データ保護 • Oracle Label Security • SQL Firewall ✓ アクセス防止・検出 • Database Vault • Virtual Private Database
  5. データにアクセスする経路 ◼ データを取得する経路は主に2通り 1. 正規ユーザーでアクセス ← アクセス制御で対処 2. 不正経路でアクセス ←

    暗号化で対処 アクセス制御 Copyright © 2024, Oracle and/or its affiliates 7 アクセス制御 = 正規ユーザーでアクセスできる経路、アクセス可能な範囲を制御する DBMS OS APP 暗号化で対処 アクセス制御で対処
  6. 最終的に目指すこと • 社員によるデータ持ち出しを未然に防止する • 業務で使用しないデータにはアクセスできない • 業務時間外にはアクセスできない • 登録されたクライアントからのみのアクセスを許可する •

    監査も行う • ユーザーが乗っ取りにあった際に漏洩する影響範囲を小さくする • DBAユーザーなどの強力な権限のユーザーはデータにアクセスできないようにする • オペレーションミスによる事故を防ぐ アクセス制御による対策例 Copyright © 2024, Oracle and/or its affiliates 8 「最小権限の原則」 正当な目的だけの必要なデータとリソースのみにアクセスできるような設定 なんでもできるユーザーは狙われがちに
  7. SALESスキーマ HRスキーマ オブジェクト認可方法 ◼ システム権限 • データベース全体に対しての権限 例)GRANT SELECT ANY

    TABLE TO <user> ◼ オブジェクト権限 • 他のユーザーが所有するオブジェクトへの権限 例)GRANT SELECT ON HR.EMPLOYEES, HR.SALARIES TO <user> ◼ スキーマ権限(23ai~) • 特定のスキーマ全体に対する権限 例)GRANT SELECT ANY TABLE ON SCHEMA HR TO <user> Oracle Database における基本のアクセス制御 Copyright © 2024, Oracle and/or its affiliates 9 new!
  8. データ保護 と アクセス防止・検出 データ保護 • アクセスできるデータの範囲を制限し、 誰が何にアクセスできるかを細かく制御 • 各ユーザーが必要なデータだけにアクセスできるように することで、データの漏洩や誤用を防ぐ

    ユースケース • 個人情報の保護 • 部門別データ管理 機能 ✓ Virtual Private Vault (VPD) ✓ Label Security アクセス防止・検出 • データへの不正アクセスを未然に防ぎ、セキュリティ上 の問題を早期に検出 • 不正なアクセスや攻撃を防ぐ ユースケース • 特権アクセスの防止・検出 • 不正アクセスの防止・検出 機能 ✓ Database Vault ✓ SQL Firewall 追加のアクセス制御機能の種類 Copyright © 2024, Oracle and/or its affiliates 10
  9. Copyright © 2024, Oracle and/or its affiliates 11 2. 機能

    対象機能 ・ Virtual Private Database ・ Oracle Label Security ・ SQL Firewall ・ Database Vault
  10. 概要 • SQL文に動的に WHERE 句を追加し、透過的に行・列レベルで出力を制御 • アプリケーションに対して透過的な処理 • ユーザーやセッションに応じて自動で WHERE

    句を追加 • 非定型の問合せに対しても機密データを保護 • ユーザーの業務上必要のないデータへの参照・操作を防止 Virtual Private Database(VPD) Copyright © 2024, Oracle and/or its affiliates 13 SELECT * FROM CUSTOMERS WHERE team_id = 34 SELECT * FROM CUSTOMERS WHERE team_id = 57 VPDポリシー SELECT * FROM CUSTOMERS user A user B
  11. 列制御を行う場合 ◆NULL(デフォルト) 指定した列に関連するフィルタリングが有効 フィルタに一致しない行は結果に表示されない ◆dbms_rls.ALL_ROWS すべての行が返されるが、フィルタに一致しない行の対象 列はNULLとして表示される VPD(Virtual Private Database)

    Copyright © 2024, Oracle and/or its affiliates 14 ポリシー作成時の sec_relevant_cols_opt パラメータによって、出力結果が変化 SQL> select first_name, salary from hr.employees; no rows selected SQL> select first_name, salary from hr.employees; "FIRST_NAME","SALARY" "John", "Karen", … salary列に対してフィルタ条件 ’1=2’ を指定した場合
  12. 概要 • 各データに割り当てられたラベルを使用した、行レベルの精密なアクセス制御 • 分類や機密度、グループに応じたラベルによってデータをラベリングし、階層的なデータアクセスを実現 • ユーザーやセッションに設定された権限ラベルとデータのラベルに応じて、出力される行を自動で制御 • SQL は透過的に処理されるため、アプリケーションの変更は不要

    • Enterprise Manager Cloud Control や APIを使用して管理 • 他のOracleセキュリティ機能である、Database Vault や Data Redaction と統合 一貫したセキュリティポリシーの設定が可能に Oracle Label Security Copyright © 2024, Oracle and/or its affiliates 16 Data Label Sensitive Confidential Public Sensitive … Sensitive Confidential
  13. ラベルの概念 ユーザーやセッションに付与されたラベルと、データに付与されたラベルを比較し、 適切なアクセス権限を自動的に調整することで、データの安全なアクセス管理を実現 Oracle Label Security Copyright © 2024, Oracle

    and/or its affiliates 17 HS : : JP ユーザー・ラベル or セッション・ラベル HS : : JP データ・ラベル ユーザーまたはセッションの 権限に基づくラベルを付与 機密性や区分に応じて ラベルを付与 お互いのラベルに応じて 自動でアクセス範囲を調整 Label Security
  14. 動作イメージ Label Securityのポリシーを設定した表には、ラベル列が作成される SELECT * やdescribeでラベル列を表示させたくない場合は、HIDEオプションを表に適用する ラベルは、最終的にNumber型で格納されるため、範囲指定などの条件を組み合わせることも可能 Oracle Label Security

    Copyright © 2024, Oracle and/or its affiliates 18 First Name Last Name Country City Label John Smith USA New York HS::US Harry Davis EMEA London HS::EMEA Ichiro Suzuki Japan Tokyo HS::TY Shinjo Tsuyoshi Japan Osaka HS::OS HS : : JP ユーザー・ラベル アクセス 可能な範囲 実行SQL: SELECT firstname, lastname, country, city FROM customers;
  15. ユーザー・ラベル/セッション・ラベル HS S C Oracle Label Security Copyright © 2024,

    Oracle and/or its affiliates 19 ユーザー・ラベル 最大 最小 ユーザー レベル SS DO ST 区分 GL US EM JP TY グループ ユーザー・ラベルは、ユーザーがアクセス可能なレベルを定義する - 読み取りの最大レベル、書き込みの最大・最小レベル、区分、グループ - ログイン時にデフォルトの初期ラベルとして設定される セッション・ラベルは、データーベース接続時に生成され、動的なアクセス制御を提供する - ユーザーラベルの範囲内で管理者が動的に変更可能 - データを書き込む際は、セッション・ラベルの情報が使用される。行ラベルとして定義することも可能 HS S C セッション・ラベル レベル SS DO ST 区分 GL US EM JP TY グループ 接続時に ユーザー・ラベルを継承 Down S : SS : JP C : SS: TY
  16. データ・ラベル Oracle Label Security Copyright © 2024, Oracle and/or its

    affiliates 20 区分(オプション) レベル (必須) Highly SENSITIVE SENSITIVE CONFIDENTIAL SALES グループ(オプション) DEVOPS SUPPORT GLOBAL USA EMEA JAPAN TOKYO データ・ラベルは、レベル : 区分 : グループで構成される PUBLIC 数値 詳細名 短縮名 40 HIGHLY_SENSITIVE HS 30 SENSITIVE S 20 CONFIDENTIAL C 10 PUBLIC P 機密度 高 低 詳細名 短縮名 SALES SS DEVOPS DO SUPPORT ST 詳細名 短縮名 親グループ GLOBAL GL USA GL_US GL EMEA GL_EM GL JAPAN GL_JP GL TOKYO GL_JP_TY GL_JP HIGHLY_SENSITIVE : SALES: JAPAN SENSITIVE : DEVOPS C : GLOBAL PUBLIC データ・ラベル
  17. 行列レベルのアクセス制御 Oracle Label Security(OLS) Virtual Private Database(VPD) 制御基準 データの機密性に応じたラベル SQLのwhere句に動的に追加された述語

    ライセンス EEの追加セキュリティオプション EEに無償で付属 設定 ・各データに対し、ラベルを設定する必要がある ・EMにてGUIで設定が可能 ・PL/SQLでwhere句の述語部分をコーディングする必 要がある 強み 組織やデータの機密性によるデータ分類 クライアントによって出力する行・列を制御したい場合 ユースケース 機密データ管理、組織内のデータ共有制限 顧客ごとのデータ隔離、時間帯によるアクセス制限 Oracle Label SecurityとVirtual Private Databaseの違い Copyright © 2024, Oracle and/or its affiliates 21
  18. 不正なSQLでのアクセスをリアルタイムで防御 • SQLトラフィックの許可リストを作成し、明示的に承認されたSQLのみを許可 • インラインで動作し、すべてのSQLを包括的にスキャン • SQLインジェクションとアカウント侵害からデータを保護 • すべてのデータベース接続を検査し、不正なSQLを遮断 •

    信頼できるIPアドレス、OSユーザー名、プログラムのみ接続を許可し、エンドポイントからのアクセスを保証 • クラウドサービスのOracle Data Safeに対応、GUIベースで設定および集中管理が可能 SQL Firewall Copyright © 2024, Oracle and/or its affiliates 23 SQL Firewall IPアドレス プログラム OS SQL 許可リスト
  19. SQL Firewall SQL Firewallを使用する基本的な流れ 24 Learning Stage Protecting Stage キャプチャした

    SQLを評価 許可リスト の生成及び チューニング 許可リストを 有効化 SQL違反を モニタリング DB管理者や アプリケーションが 実行するSQLを 一定期間網羅的に キャプチャ キャプチャログから 許可するSQLや セッション情報を 許可リストとして 生成とチューニング データディクショナリ からキャプチャした SQLを確認 SQL Firewallの デフォルトアクション (ブロック有/無)を指定して 許可リストを有効化 許可リストに違反した SQLやセッションは、 データ・ディクショナリに 違反ログが記録される Copyright © 2024, Oracle and/or its affiliates SQLを キャプチャ
  20. 強力なアクセス制御と職務分離 ◼ 保護領域を作成し、領域内のオブジェクトに対する無認可アクセスや不正な変更を防止 • 特権ユーザーもアクセス制御の対象にすることで職務に応じたアクセス制御を実現 ◼ IPアドレス、認証方法、プログラムなどのファクタによるアクセスパスの制限も可能 ◼ EMにてグラフィカルな画面での設定が可能 Database

    Vault Copyright © 2024, Oracle and/or its affiliates 26 DB管理者 SYS, SYSTEM ・ DBの設定・管理 ・ DBの起動・停止 ・ データ閲覧不可 データ利用者 ・ 業務に必要な オブジェクトへのアクセス データ利用者 ・ 業務に必要な オブジェクトへのアクセス データディクショナリ HRデータ 顧客データ
  21. realm_type => 0 or 1 ◼ [0] 必須レルムの無効(デフォルト) • システム権限による表へのアクセスを拒否

    • オブジェクト権限を所有または保持するユーザーは レルム認可を受けずにアクセスを許可 • ルールセットを適用したい場合はシステム権限を 使用 ◼ [1] 必須レルムの有効(12c R1~) • システム権限およびオブジェクト権限を有する ユーザーに対してレルム認可を適用 • 強制アクセス制御(MAC:Mandatory Access Control) を実現 必須レルム(Mandatory Realm)機能 Copyright © 2024, Oracle and/or its affiliates 28 レルム認可 (ルールセット) システム 権限 オブジェクト 権限 レルム認可 (ルールセット) オブジェクト 権限 or システム 権限
  22. アクセス制御機能 サービス名 機能 主な制御基準 ライセンス・オプション デ ー タ 保 護

    Virtual Private Database セッションに応じた動的なWhere句の追 加による透過的な行列アクセス制御 セッション EE Oracle Label Security データに紐づけられたラベルによる分離 ラベル EE + Label Security ア ク セ ス 防 止 Database Vault レルムによる強力なアクセス分離 権限 EE + Database Vault SQL Firewall(23ai~) SQLレベルで認可するアクセス制御 SQL EE + Database Vault or AVDF Audit Vault and Database Firewall データベースの監査とアクティビティの 監視を行う統合的ソリューション ネットワーク 通信 AVDF 各機能のまとめ・ライセンス Copyright © 2024, Oracle and/or its affiliates 31
  23. Oracle Databaseのセキュリティ機能を利用できるEditionと必要なOption Oracle Database機能 利用可能Edition, Option 暗号化 Transparent Data Encryption

    Enterprise Edition + Advanced Security ネットワーク暗号化 All Edition マスキング Data Masking and Subsetting EE + Data Masking Pack and Subsetting Data Redaction EE + Advanced Security アクセス制御 Virtual Private Database Enterprise Edition Label Security EE + Label Security Database Vault EE + Database Vault SQL Firewall EE (23c~) + Database VaultまたはAVDF 監査 Unified Audit All Edition Audit Vault and Database Firewall All Edition + AVDF 認証強化 Centrally Managed Users Enterprise Edition トークン・ベース認証(Azure AD, OCI IAM) Enterprise Edition クラウド・サービス Data Safe All Edition Log Analytics All Edition リスク・アセスメント Database Security Assessment All Edition Copyright © 2024, Oracle and/or its affiliates 32
  24. Oracle Databaseのセキュリティ機能を利用できるEditionと必要なOption Oracle Database機能 BaseDB SE BaseDB EE BaseDB EE-HP

    BaseDB EE-EP ExaCS /CC 暗号化 Transparent Data Encryption ◦ (列×) ◦ (列×) ◦ ◦ ◦ ネットワーク暗号化 ◦ ◦ ◦ ◦ ◦ マスキング Data Redaction × × ◦ ◦ ◦ Data Masking and Subsetting × ◦ ◦ ◦ 〇 アクセス制御 Virtual Private Database × ◦ ◦ ◦ ◦ Label Security × × ◦ ◦ ◦ Database Vault × × ◦ ◦ ◦ SQL Firewall(23ai) ー × ◦ ◦ ー 監査 Unified Audit ◦ ◦ ◦ ◦ ◦ Audit Vault and Database Firewall AVDFライセンスが必要 認証強化 Centrally Managed Users × ◦ ◦ ◦ ◦ トークン・ベース認証(Azure AD, OCI IAM) ◦ ◦ ◦ ◦ ◦ リスク・アセスメント Database Security Assessment ◦ ◦ ◦ ◦ ◦ Copyright © 2024, Oracle and/or its affiliates 33
  25. サービスごとに利用可能なオプション機能 Database Cloud Serviceでのセキュリティ機能 DB-SE Exadata DB-HP Autonomous Database DB-EE

    DB EP Advanced Security Label Security Database Vault OLAP 一部機能 制限あり Bare Metal VM Infiniband Offload SQL to Storage Smart Flash Cache/log Storage Index IORM/Network RM In-Memory Fault Tolerance ExaFusion Columnar Flash Cache Real Application Clusters Active Data Guard Database In-Memory Advanced Analytics Spatial & Graph Database Lifecycle Management Pack Cloud Management Pack for Oracle Database Bare Metal VM Bare Metal VM Bare Metal VM Multitenant Partitioning Advanced Compression Oracle Database Enterprise Edition, Diagnostics and Tuning Packs , Real Application Testing Data Masking and Subsetting Pack , Virtual Private Database, Centrally Managed Users, トークン・ベース認証 Oracle Database Standard Edition 2, ネットワーク暗号化, Transparent Data Encryption , Unified Audit Database Lifecycle Management Pack Cloud Management Pack for Oracle Database Database Vault , Label Security , Data Redaction, SQL Firewall ※Audit Vault and Database Firewall, Data Safe, OCI Logging Analyticsはそれぞれのサービス利用料が必要 Copyright © 2024, Oracle and/or its affiliates 34
  26. 26ai FREE では従来の無償版 XE では使えなかった機能含め、セキュリティの機能の多くが解放されており、 簡単にお試しいただくことが可能です • Deep Data Security

    • Data Redaction • Oracle Label Security • Virtual Private Vault • Database Vault • SQL Firewall • ファイングレイン監査 …など その他 FREE で使用できる機能は以下リンクよりご確認いただけます。 https://apex.oracle.com/database-features/ また、簡単試していただくためのデモ手順を以下サイトで公開しています。ご興味がありましたら是非ご覧ください。 https://koi141.github.io/dbsec-tutorials/ Oracle Database 26ai FREE でセキュリティ機能を試す Copyright © 2024, Oracle and/or its affiliates 35