Oracle Label Security
Amazon RDS は OLS オプションの使用を通じて Oracle Database の Oracle Enterprise Edition 用のOracle Label Security をサポートします。
ほとんどのデータベースセキュリティでは、オブジェクトレベルでアクセスを制御します。Oracle Label Security は、個別のテーブル行へのアクセスのきめ細かい制御を提供します。例えば、Label Security を使用して、ポリシーベースの管理モデルで規制コンプライアンスを適用できます。Label Security ポリシーを使用して機密データへのアクセスを制御し、適切なクリアランスレベルを持つユーザーのみにアクセスを制限できます。詳細については、Oracle ドキュメントの「Introduction to Oracle Label Security
トピック
Oracle Label Security の要件
Oracle Label Security に関する次の要件を理解してください。
-
DB インスタンスでは Bring-Your-Own-License モデルを使用する必要があります。詳細については、「RDS for Oracle のライセンスオプション」を参照してください。
-
Oracle Enterprise Edition の有効なライセンスと、ソフトウェア更新ライセンスおよびサポートが必要です。
-
Oracle ライセンスには、Label Security オプションが必要です。
Oracle Label Security を使用する際の考慮事項
Oracle Label Security を使用するには、テーブルの特定の行へのアクセスを制御するポリシーを作成します。詳細については、Oracle ドキュメントの「Creating an Oracle Label Security Policy
以下の点を考慮します。
-
Oracle Label Security は、固定かつ永続オプションです。このオプションは固定的なものであり、オプショングループから削除することはできません。Oracle Label Security をオプショングループに追加して DB インスタンスに関連付けた場合、後で DB インスタンスに別のオプショングループを関連付けることはできますが、このグループには Oracle Label Security オプションも含める必要があります。
-
Label Security を操作する場合、すべてのアクションを
LBAC_DBA
ロールとして実行します。DB インスタンスのマスターユーザーにはLBAC_DBA
ロールが付与されます。他のユーザーが Label Security ポリシーを管理できるように、LBAC_DBA
ロールを他のユーザーに付与できます。 -
Oracle Label Security へのアクセスが必要な新規ユーザーに
OLS_ENFORCEMENT
パッケージへのアクセス権を付与するようにしてください。OLS_ENFORCEMENT
パッケージへのアクセス権を付与するには、DB インスタンスにマスターユーザーとして接続し、次の SQL ステートメントを実行します。GRANT ALL ON LBACSYS.OLS_ENFORCEMENT TO
username
; -
Oracle Enterprise Manager (OEM) Cloud Control を使用して、Label Security を設定することができます。Amazon RDS は Management Agent オプションを通じて OEM Cloud Control をサポートします。詳細については、「Enterprise Manager Cloud Control 向け Oracle Management Agent」を参照してください。
Oracle Label Security オプションの追加
DB インスタンスに Oracle Label Security オプションを追加する一般的な手順は以下のとおりです。
新しいオプショングループを作成するか、既存のオプショングループをコピーまたは変更します。
オプショングループにオプションを追加します。
重要
Oracle Label Security は、固定かつ永続オプションです。
オプショングループを DB インスタンスに関連付けます。
Label Security オプションの追加後、オプショングループがアクティブになるとすぐに、Label Security がアクティブになります。
Label Security オプションを DB インスタンスに追加するには
-
使用するオプショングループを決定します。新しいオプショングループを作成することも、既存のオプショングループを使用することもできます。既存のオプショングループを使用する場合は、次のステップは飛ばしてください。または、次の設定でカスタム DB オプショングループを作成します。
-
[Engine] で、[oracle-ee] を選択します。
-
[メジャーエンジンのバージョン] で、DB インスタンスのバージョンを選択します。
詳細については、「オプショングループを作成する」を参照してください。
-
-
オプショングループに [OLS] オプションを追加します。オプションの追加方法の詳細については、「オプショングループにオプションを追加する」を参照してください。
重要
すでに 1 つ以上の DB インスタンスにアタッチされている既存のオプショングループに Label Security を追加すると、すべての DB インスタンスが再起動されます。
-
新規または既存の DB インスタンスに、DB オプショングループを適用します。
-
新規 DB インスタンスの場合は、インスタンスを起動するときにオプショングループを適用します。詳細については、「Amazon RDS DB インスタンスの作成」を参照してください。
-
既存の DB インスタンスの場合は、インスタンスを修正し、新しいオプショングループを添付することで、オプショングループを適用します。既存の DB インスタンスに Label Security オプションを追加すると、DB インスタンスを自動的に再起動している間に短い停止が発生します。詳細については、「Amazon RDS DB インスタンスを変更する」を参照してください。
-
トラブルシューティング
Oracle Label Security を使用するときに発生する可能性のある問題を次に示します。
問題 | トラブルシューティングの推奨事項 |
---|---|
ポリシーを作成しようとすると、次のようなエラーメッセージが表示されます: |
Oracle の Label Security 機能の既知の問題により、16~24 文字のユーザーネームを持つユーザーは、Label Security のコマンドを実行することができません。文字数が異なる新しいユーザーを作成し、LBAC_DBA を新しいユーザーに付与し、新しいユーザーとしてログインして、新しいユーザーとして OLS コマンドを実行します。詳細については、Oracle サポートにお問い合わせください。 |