Oracle Databaseは、サポートされる認証および承認方法、ネットワーク暗号化、権限分析、Real Application Security、統合的な監査、Oracle Virtual Private Databaseなど、独自のニーズに対応するための主要なセキュリティ機能を 提供します。
ユーザー認証と認可を一元的に構成することで、ユーザー管理を簡素化します。Oracle Databaseは、Microsoft Active Directory、Microsoft Entra ID、Oracle Cloud Infrastructure Identity and Access Managementなど、さまざまな認証方法を使用するエンタープライズ・アイデンティティ・サービスとシームレスな統合が可能です。多要素認証は、外部 ID サービスまたは RADIUS API を使用して構成することができます。
堅牢なアクセシビティ戦略を導入することで、従業員が組織を離れた後も不正なデータベース・ユーザー・アカウントがアクティベーションされるのを防ぎ、機密データへの不正なアクセスのリスクを低減できます。
Oracle Databaseにあるブロックチェーン表は、改ざんや削除ができない挿入専用の暗号化チェーンレコードを作成することでデータの整合性を支援し、改ざん防止の監査証跡を提供し、データベースを迂回して行われる不正な変更に対しても堅牢に保護します。
ブロックチェーン・テクノロジーを活用することで、改ざんや削除ができない不変の取引記録を作成することができます。財務監査、サプライチェーンのトレーサビリティ、セキュアな投票システムなど、データの整合性、監査可能性、改ざん防止記録が重要な場合に、堅牢なソリューションを提供します。
コードベースのアクセス制御(CBAC)を使用して、特定のPL/SQLビジネス・ロジックへのデータ・アクセスを制限します。データベース・ロールを関数、プロシージャ、パッケージなどのPL/SQLプログラム単位に直接アタッチすることにより、これらのロールが特定のコードの実行中にのみ有効になるように支援することができます。プログラム・ユニットは、呼び出し元のユーザー権限に関係なく、必要な権限で実行され、それらの権限や元となるオブジェクトをユーザーに直接公開することはありません。CBACを導入することで、最小特権の原則が適用され、個々のユーザーやスキーマではなく、特定のビジネス・ロジックにのみ必要な権限を付与することができます。
DBMS_CRYPTO PL/SQL パッケージは暗号運用に使用されます。暗号化、復号化、ハッシュ化の機能を提供し、キー管理のためにOracle Key Vaultと統合することができます。DBMS_CRYPTO は、カラム、アプリケーション、または個々のデータ要素レベルでの暗号運用をより制御する必要がある場合に特に役立ちます。これは透過的なデータの暗号化とは異なり、DBMS_CRYPTOパッケージが呼び出されてデータの復号化が行われるまでデータは暗号化されたままであるため、過剰な特権ユーザーや悪意のある管理者からデータを保護することができます。
DbNestを使用すると、Linuxカーネルの機能を使用して、マルチテナントのコンテナ・データベース(CDB)およびプラガブル・データベース(PDB)用の階層化されたコンテナ化された実行環境を作成することにより、オラクル・データベースのマルチテナント環境におけるセキュリティと分離の課題に対処することができ、各テナントのリソースが他のテナントから確実に分離されるように支援します。
DbNest の導入により、マルチテナント・データベース環境のセキュリティと分離を改善し、横 断的な移動と権限昇格攻撃のリスクを低減することができます。
DB_DEVELOPER_ROLE を使用して、開発チームに適切なレベルのアクセスを与えます。このロールは、データベース運用への潜在的な影響を制限しつつ、開発者がデータベース・オブジェクトを作成、変更、導入できるよう、バランスの取れた権限セットを提供します。
この役割を導入することで、過剰な権限を持つ開発者がデータベースのセキュリティや整合性を損なう変更を行うリスクを低減し、開発チームがシステム全体のセキュリティを損なうことなく、アプリケーションの構築やテストを行うのに十分なアクセス権を確保できるように支援します。
組織は、セキュリティとコンプライアンスの要求を満たすために、機密データ・アクセスに関する正確なインサイトを必要としています。綿密な監査(FGA)により、データベース内の行および列レベルで、ターゲットとなる条件ベースの監査が可能になり、疑わしいアクティビティに対してアラートをトリガーできるカスタム・ハンドラーを指定できます。これにより、機密データに対する不正な活動を検出するのに役立つ、価値の高い重点的な監査が実現します。FGAは、パフォーマンスへの影響と監査のオーバーヘッドを最小限に抑えながら、セキュリティの可視性を向上させます。価値ベースの監査(たとえば、従業員の給与が特定のしきい値を超えた場合にのみ監査を行う)やカスタム・ハンドラといったFGA独自の機能は、Oracle Databaseのセキュリティを強化し、カスタマー・データベースの高度な監査要件への対応を支援します。
複数のアプリケーションやデータベースにわたりパスワードを管理することは複雑であり、綿密な計画と同期を行ってもダウンタイムにつながることがよくあります。
オラクルの段階的なパスワードのロールオーバーにより、管理者はサービスを中断することなくパスワードを変更できます。ロールオーバー期間中は古いパスワードも新しいパスワードも機能するため、アプリケーションチームはダウンタイムなしに認証情報を更新できます。これにより、継続的なアクセスを確保し、パスワードの定期的なローテーションに関するコンプライアンス要件を満たせるよう支援し、管理を簡素化し、障害を軽減します。
不変表を使用して、内部脅威や偶発的なデータ破損からOracle Database表を保護します。これらの追記専用表は、内部関係者による不正なデータ変更や、ヒューマンエラーによる偶発的なデータ変更を防止し、データの整合性とセキュリティを維持しながら、正確で最新のデータを維持することを支援します。不変表は、挿入後にデータを変更できない必要な要件に対応する上で役立ちます。
CDB管理者が特定の運用や機能を制限できるように、ロックダウンプロファイルでPDBごとに緻密なセキュリティ制御を導入します。たとえば、ロックダウン・プロファイルは、PDBユーザーが特定のSQL文を実行しないようにしたり、ネットワークにアクセスするプロシージャを実行しないようにすることができます。
アクセス制御リスト(ACL)は、UTL_TCP、UTL_HTTP、UTL_SMTP、UTL_INADDRなどのPL/SQLユーティリティパッケージを通して、データベースからのネットワーク・アクセスを制御します。ホスト名、ポートおよび権限に基づいてファイングレイン・ルールを定義して、ユーザー・アクセスを制御し、認可されていない接続を防止します。これにより、データの流出に対する追加の保護レイヤーが提供されます。
クライアント・サーバー間のデータベース接続を暗号化することは、セキュアな通信の確保を支援するセキュリティのベストプラクティスです。
Oracle Databaseには、転送中のデータを保護するための2つの方法(Transport Layer Security (TLS)とネイティブ・ネットワーク暗号化)があります。TLSは、強力な暗号化、認証および否認防止を提供する業界標準のプロトコルです。クライアント・サイドとサーバー・サイドの両方でサーバー認定資格と構成が必要なため、コンプライアンスやセキュリティ要件が厳しい環境に最適です。一方、ネイティブなネットワーク暗号化は導入がよりシンプルで、サーバー側のパラメータが必要なだけで、ほとんどのアプリケーションで透過的に動作します。認定資格やクライアントの変更を必要とせず、自動的に最も強力なサポートされているアルゴリズムを使用します。
ウォレット(またはキーストア)はパスワードで保護され、暗号化されたコンテナで、秘密キー、証明書、データベース認証情報などの認証および署名情報をセキュアに保存するために使用します。Oracle Database環境では、ウォレットは、クライアントとサーバーの両方に対してTLSをサポートし、透過的データ暗号化(TDE)マスター・キーを格納し、Microsoft Active Directoryなどの外部サービスとの統合を容易にすることで、ネットワーク全体にわたるセキュアな通信を可能にします。また、ウォレットはセキュアな外部パスワードストアを提供し、アプリケーションは認証情報をコードに埋め込む必要なくデータベースに接続できます。ウォレットはTDEマスター・キーを保持することができますが、オラクルはセキュリティ強化とキーの一元管理のため、Oracle Key Vaultで管理することを推奨しています。
特に複雑な環境やレガシー・アプリケーションでは、アプリケーション・ユーザーに過剰な権限が与えられることがよくあります。このため、管理者が中断のリスクなしに安全にアクセスを取り消すことは困難です。特権分析では、実行時に使用する特権とロールを動的にキャプチャします。これにより、管理者は不要な特権を自信を持って失効させ、最小特権モデルを適用させることができ、攻撃対象領域を縮小することができます。
読み取り専用ユーザーでは、権限を取り消したり再許可したりすることなく、ユーザーやセッションの書き込み機能を無効にしたり、再び有効にすることができます。読み取り専用ユーザーでは、テスト、管理、アプリケーション開発のために、ユーザーまたはセッションの権限を一時的に制御できます。
Real Application Securityは、最新のエンタープライズ・アプリケーションやAIによるアプリケーションにおいて、従来のセキュリティモデルでは不十分であった、きめ細かくコンテキストを考慮したアクセス制御の要求を満たします。Real Application Security は、宣言型のデータベース適用されるフレームワークを提供します。このフレームワークは、セキュアにアイデンティティを伝達する機能と、行レベルおよび列レベルのアクセス制御を組み合わせたものです。属性ベースのアクセス制御を活用することで、Real Application Security は実行時にユーザー属性(役割、部門、地域など)を評価してアクセス権を決定します。たとえば、看護師は担当患者のカルテのみを閲覧することができ、医師は診断の詳細情報にアクセスすることができますが、メンタルヘルス履歴や生殖に関するデータなどの機密性の高いフィールドは、役割上明示的に許可されない限り表示されません。従来、Oracle Databaseにおける特権は、オブジェクト・レベル(たとえば、SELECT ON hr.employees)で付与されるか、あるいはシステム特権 (たとえば、SELECT ANY TABLE)でより広いレベルで付与されていました。
従来、Oracle Database における権限は、オブジェクト・レベル(たとえば、SELECT ON hr.employees)か、またはシステム権限 (たとえば、 SELECT ANY TABLE)を持つ広範なレベルで付与されていました。ユーザーがスキーマ内のすべての表やすべてのプロシージャにアクセスする必要がある場合、DBAは明示的に各オブジェクトに個別にアクセス権を付与するか、SELECT ANY TABLEのような過度に広範なシステム特権を使用しなければならず、セキュリティ・リスクが発生しました。
スキーマレベルの権限機能は、特に新しいオブジェクトを頻繁に追加するスキーマにおいて、データベースオブジェクトの権限を簡素化することでセキュリティを向上させます。
DBAは、データベース全体に適用される広範なシステム権限を付与する代わりに、スキーマレベルで権限を付与できるようになりました。シェーマ・レベルのシステム特権は、スキーマ内の現在のオブジェクトと将来のオブジェクトの両方に適用されます。スキーマ・レベルの特権は、頻繁に進化し、ユーザーに特権を過剰に与えることなくスキーマに新しいオブジェクトを追加する必要があるアプリケーションに役立ちます。
最新のアプリケーションでは、機密データを保護し、コンプライアンス要件を満たすために、コンテキストを意識したセキュリティが求められます。オラクルのセキュアなアプリケーション・ロールは、管理されたデータベース定義の条件下でのみロールのアクティベーションを許可することで、不正な権限の使用を防止します。従来の役割とは異なり、直接ログインや外部ツールによって悪用されることはありません。セキュアにアプリケーション・ロールを実現できるのは、理想的にはアプリケーション・コンテキストに結びついたロジックを持つPL/SQLパッケージまたはプロシージャだけです。セキュアなアプリケーション・ロールは、アクセス・ポリシーの適用を強化し、攻撃対象領域を縮小し、一貫したセキュリティの維持を支援します。
透過的な機密データ保護により、ユーザーはデータベース・テーブル内の機密データを迅速に識別・分類し、そのデータを保護するポリシーを作成することができます。ポリシーは列レベルで適用され、特定のデータ型を対象とし、Oracle Data RedactionまたはOracle Virtual Private Databaseの設定を使用して、クレジット・カード番号や社会保障番号などの機密情報を保護します。この機能により、ユーザーは複数の Oracle Database間で統一されたポリシーを作成することができ、コンプライアンス規制の変更に応じてポリシーを変更することができます。透過的な機密データ保護ポリシーは、大規模組織全体にわたり簡単にアプリケーションを提供し、監査を簡素化し、一貫したポリシーを適用します。
Oracle Database の包括的な監査機能は、権限の使用、高い権限を持つユーザーの活動、機密データへのアクセス、データベース・オブジェクトに対して実行されたアクション、およびデータベース設定に対する変更を追跡します。統合監査は、特定の条件下で機密データのアクティビティを監査するための条件付きおよび列レベルの監査機能を提供します。監査記録は改ざん防止の証跡として保存されます。
特に、ユーザーによって同じ表に対する異なるビューが必要な場合、組織はしばしば綿密なデータアクセスの適用に苦労します。従来の方法は、複雑なアプリケーション・ロジックや静的ビューに依存しており、管理、監査、セキュアを行うことが困難でした。
Oracle Virtual Private Database は、データベース内で行および列レベルのセキュリティを直接適用させることで、この問題に対処しています。Virtual Private Databaseは、ユーザーIDまたはセッションコンテキストに基づいて、SQLクエリにフィルタリング述語を動的に追加します。これにより、ユーザーがどのような方法で接続しても、アクセス許可されたデータしか表示されないように支援します。セキュリティ・ポリシーは一元化され、アプリケーションに対して透過的で、実行時の状況に適応するため、一貫した適用を支援します。仮想プライベート・データベースは、データ漏洩を防ぎ、規制コンプライアンスをサポートし、アプリケーション開発を簡素化します。Virtual Private Databaseは、スケーラブルで文脈を考慮したデータ・アクセス制御ソリューションです。仮想プライベート・データベースでは、データが存在する場所でセキュリティが適用されます。