【アプリケーションコンテナ】ORACLE MASTER Gold DBA 2019

概要

アプリケーション・コンテナ(Application Container)は、主にOracle Cloud上で提供されるPaaS (Platform as a Service) の一部であり、特にクラウド環境でのマルチテナント・アーキテクチャに対応したデータベース機能を提供してます。

「多くのアプリを1つのデータベースにまとめて管理したいけれど、それぞれのデータや動作環境は独立させたい」です。これにより、各アプリケーションが独立していながら、同じデータベースのリソースを共有して使うことが出来ます。

イメージ

あなたが1つのデータベースサーバーを持っているとして、その中で「営業アプリ」「経理アプリ」「在庫アプリ」といった複数のアプリケーションを動かしたいとします。でも、それぞれのアプリが独立してデータを持ち、動作する必要がある場合、別々に管理するのは面倒ですし、データベースもたくさん必要です。

そこでOracleのアプリケーション・コンテナを使うと、1つのデータベースの中に複数の「アプリ用の部屋(コンテナ)」を作成でき、それぞれが独自のデータと設定を持ちながらも、全体のリソースを効率よく共有できるようになります。

特徴

マルチテナント・アーキテクチャ

アプリケーション・コンテナは、1つのデータベース環境に複数の「コンテナ」を配置し、個々のアプリケーションがそれぞれ独立して実行されます。これにより、1つの物理データベースで多くのアプリケーションの管理やデータの保持が可能です。各アプリケーションは、独自のスキーマを持ちつつも、共通のアーキテクチャや機能を共有できます。

リソースの分離と共有

アプリケーションごとにリソースを分離できるため、異なるアプリケーション間でのデータやリソースの競合が発生しにくくなります。同時に、基本的な設定やバージョン管理などは共通のリソースとして扱われ、効率的なリソース管理が可能です。

スケーラビリティ

アプリケーションの増加や負荷の変化に応じて、リソースの割り当てやスケールアウト(追加リソースを活用する拡張)を柔軟に行えるため、システムの運用が容易になります。

コスト効率

アプリケーションごとに完全に独立したデータベースを持つのではなく、1つのマルチテナント環境を利用してリソースを共有するため、インフラにかかるコストを抑えつつ、多数のアプリケーションの運用が可能です。

利用シーン

クラウド上で複数のクライアント企業にサービスを提供するSaasでは、各クライアントが独自のデータベースを持っているかのように使えることが重要です。アプリケーション・コンテナを利用すると、1つのデータベースで各クライアントのデータとアプリケーションを分けられるので、簡単に効率よく管理できるようになります。

セキュリティポリシー

アプリケーション・コンテナ内でのセキュリティは、データの独立性、アクセス管理、監視、暗号化などを中心に、各アプリケーションやユーザーが安全に利用できるように設計されています。

データの独立性と隔離

アプリケーション・コンテナは1つのデータベースの中に複数のアプリケーションやユーザーを保持しますが、それぞれのテナント間のデータは厳格に隔離されます。

これにより、あるアプリケーションのユーザーが他のテナントのデータにアクセスすることはできません。

各テナントは独自のスキーマとデータ領域を持つため、仮に1つのテナントでセキュリティ問題が発生しても、他のテナントに影響を及ぼさないように設計されています。

アクセス制御(ユーザー管理と権限)

Oracleのアプリケーション・コンテナには、ユーザーごとにアクセス権限を設定できる機能が用意されています。

  • ロールベースアクセス制御(RBAC):各ユーザーにロール(役割)を割り当て、そのロールごとにアクセス範囲や権限が設定されます。これにより、異なるユーザーが持つ権限が明確になり、不正アクセスを防ぎます。
  • ポリシーベースアクセス制御:管理者は特定のポリシーに基づいて、テナント内のデータへのアクセス権をさらに細かく設定できます
データの暗号化

アプリケーション・コンテナでは、データのセキュリティを高めるために暗号化が実装されています。特にOracle Database Transparent Data Encryption(TDE)を用いることで、保存中のデータを暗号化し、データ漏洩のリスクを減らします。さらに、データ転送時には通信を暗号化し、安全性を強化しています。

モニタリングと監査ログ

Oracleアプリケーション・コンテナは、データベースの利用状況やアクセス履歴を監査ログとして保存します。これにより、不審なアクセスや活動があった場合、すぐに調査が行えるようになっています。監査ログには以下の情報が記録されます

  • 誰がいつどのデータにアクセスしたか
  • 不正なアクセスが試みられた場合の詳細
  • 管理操作や設定の変更履歴

監査機能により、コンプライアンスやセキュリティ標準に基づいた運用が可能です。

ネットワークセキュリティ

ネットワークレベルでもセキュリティ対策が施されています。Oracle Cloud Infrastructure (OCI) などと組み合わせることで、仮想ネットワーク(VCN)やファイアウォール設定を活用し、テナントごとにネットワーク制御が可能です。これにより、特定のIPアドレスやネットワーク範囲からのアクセスのみを許可するなど、外部からの不正アクセスを防止できます。

多層防御アプローチ

Oracleのアプリケーション・コンテナ内のセキュリティは、物理的、ネットワーク、データベース、アプリケーションの各レイヤーで複数の防御が組み合わされています。多層防御(Defense in Depth)によって、1つのレイヤーにセキュリティ侵害が発生しても、他のレイヤーがさらなる保護を提供する仕組みです。

まとめ

Oracleのアプリケーション・コンテナ内では、データの隔離とアクセス管理、暗号化、監査ログ、ネットワーク制御などが行われ、複数のテナントやユーザーが同じデータベースを安全に利用できるよう設計されています。これらの多層的なセキュリティ対策によって、アプリケーション・コンテナ内でのデータと操作が保護され、不正アクセスやデータ漏洩のリスクを最小限に抑えられるようになっています。

コメント

タイトルとURLをコピーしました