Oracle
Label Security

マルチレベルのセキュリティを首尾よく実装する

高機能なセキュリティ製品の場合と同様に、Oracle Label Securityのデプロイ計画は非常に重要であり、それによって潜在的な問題の発生を防止できます。以下の手順は、Oracle Label Securityをデプロイする場合の基本的なガイドラインを示しています。この実装は、Oracle Enterprise ManagerまたはOracle Label Security API/コマンドライン・インタフェースを使用して実行します。まずはサンプルのデモ表で作業を開始し、データ・ラベルによってアクセス制御を仲介する仕組みと、Oracle Label Securityに組み込まれているさまざまな実施オプションについての理解を深めることをお勧めします。

 

ほとんどの場合、ラベル付けを必要とする情報が含まれる表の数は多くはありません。おもに候補となるのは、"個人を識別できる情報"(PII)、取引の秘密、検索結果、何らかの財務情報を含む表です。もしくは、物理的に分断された情報のサイロを1つのデータベースにまとめた統合プロジェクトの後には、ラベル付けによってセキュリティを同じレベルで維持することで、分断されたままのように見せつつ、非常に簡単に、制御された状態で互いに情報を交換できるようになります。

 

Oracle Label Securityでは、ラベルに3つのコンポーネントがあります。

  • レベル(1つ以上):データ行の機密性レベル、またはユーザーの認可レベルを定義します。例:"Public"、"Internal"、"Secret"、"Confidential"、"Proprietary"

  • コンパートメント(オプション。'知るべき人'を定義):レベルを細分化できます。階層構造ではありません。ユーザーがデータ行にアクセスするには、データ行のすべてのコンパートメントが必要です。例:"Marketing"、"Finance"、"Mergers and Acquisitions"、"Project X"、"SaaS Customer Y"

  • グループ(オプション。データの所有権を定義):階層構造です。ユーザーがデータ行にアクセスするには、少なくとも1つのグループが必要です。例:サブグループ"Italy"、"France"、"Northern Europe"の親グループが"EMEA"

 

上級の管理者やセキュリティ担当者は、どのユーザー・グループや個人ユーザーが、ラベル付け済みの情報にアクセスできるかを定義する必要があります。管理ユーザーについては、Oracle Label Securityは多数の特別な権限を用意しており、ポリシーのメンテナンスを委任できます(一般ユーザーのラベルなどを想定)。このような特別な権限を付与する前には、慎重に検討する必要があります。

 

2番目の手順で列挙されているラベルのコンポーネントのすべてが使用されるとは限りません。たとえば、"Mergers and Acquisitions"は常に"Top Secret"であり、国レベルで定義することはないため、グループは"EMEA"になります。この例のラベルは以下のようになります。

Top Secret:Mergers and Acquisitions:EMEA

 

Oracle Label Securityは、上記の手順で収集されたすべての情報を"Policy"で保持します。ポリシーはOracle Enterprise Manager Cloud Controlを使用して作成するか、多機能で柔軟性の高いAPIを使用して作成します。

 

OLSポリシーが表に適用されると、表には非表示列が追加され、そこには行("classification")ラベルが格納されます。最初はこの列の値はNULLで、READ_CONTROLが有効になると、READまたはFULL権限を持つ管理ユーザーを除き、この表には誰もアクセスできなくなります。各行のラベルは手動で検索するか、where句を使用して確認します。

SQL> update <table_name> set OLS_COLUMN =
char_to_label ('<policy_name>','<valid_label>')
where <condition>

新しい行が表に追加されると、ラベルはユーザーが書き込んだラベルによって決められるか、その行の他の列または他の表に基づいてラベルを定義するラベル付け機能によって決められます。