4 Oracle Label Securityの登録とログイン

Oracle Label Securityを使用する前に、Oracle Label Securityをデータベースに登録(構成)する必要があります。そうすることで、Oracle Label Securityにログインできるようになります。

4.1 Oracle DatabaseでのOracle Label Securityの登録

Oracle Label Securityを、その使用場所のデータベースに登録する必要があります。

4.1.1 Oracle Label Securityの登録について

Oracle Databaseをインストールする場合、デフォルトではOracle Label Securityは有効になっていません。

Oracle Label Securityをデータベースに登録する必要があります。その後、デフォルトのOracle Label Securityユーザー・アカウントLBACSYSを有効にする必要があります。Oracle Label Securityを登録した後で、必要に応じて無効化および再有効化できます。

マルチテナント環境を使用している場合は、Oracle Label Securityポリシーの作成を計画しているプラガブル・データベース(PDB)でのみOracle Label Securityを登録します。Oracle Label Securityはデータ・ディクショナリ・オブジェクトを保護するように設計されていないため、ルートではポリシーを保護できません。

4.1.2 Oracle Label Securityが登録されて有効になっているかどうかの確認

DBA_OLS_STATUSデータ・ディクショナリ・ビューを問い合せて、Oracle Label Securityがすでに登録され有効になっているかどうかを確認できます。

  1. SYSDBA管理権限を持つユーザーSYSとして、データベース・インスタンスにログインします。
    sqlplus sys as sysdba
    Enter password: password
    
  2. マルチテナント環境を使用している場合は、適切なPDBに接続します。

    たとえば、PDB hrpdbに接続するには、次のようにします。

    CONNECT SYS@hrpdb AS SYSDBA
    Enter password: password
    

    利用可能なPDBを検索するには、DBA_PDBSデータ・ディクショナリ・ビューを問い合せます。現在のPDBを確認するには、show con_nameコマンドを実行します。

  3. 次の問合せを実行します。
    SELECT * FROM DBA_OLS_STATUS;
    
    NAME                 STATUS  DESCRIPTION        
    -------------------- ------- -------------------------------------
    OLS_CONFIGURE_STATUS TRUE    Determines if OLS is configured
    OLS_DIRECTORY_STATUS FALSE   Determines if OID is enabled with OLS
    OLS_ENABLE_STATUS    TRUE    Determines if OLS is enabled

4.1.3 SQL*PlusからのOracle Label Securityの登録および有効化

Oracle Label Securityの登録と有効化はどちらも、SQL*Plusから実行できます。

  1. SYSDBA管理権限を持つユーザーSYSとして、データベース・インスタンスにログインします。

    たとえば:

    sqlplus sys as sysdba
    Enter password: password 
    
  2. マルチテナント環境を使用している場合は、適切なPDBに接続します。

    たとえば、PDB hrpdbに接続するには、次のようにします。

    CONNECT SYS@hrpdb AS SYSDBA
    Enter password: password
    

    利用可能なPDBを検索するには、DBA_PDBSデータ・ディクショナリ・ビューを問い合せます。現在のPDBを確認するには、show con_nameコマンドを実行します。

  3. 次のように、Oracle Label Securityを登録して有効にします。
    EXEC LBACSYS.CONFIGURE_OLS; -- This procedure registers Oracle Label Security.
    EXEC LBACSYS.OLS_ENFORCEMENT.ENABLE_OLS; -- This procedure enables it.
    
  4. SYSOPER権限を持つユーザーSYSとして接続します。
    CONNECT SYS AS SYSOPER -- Or, CONNECT SYS@hrpdb AS SYSOPER
    Enter password: password
    
  5. データベースを再起動します。

    たとえば:

    SHUTDOWN IMMEDIATE
    STARTUP

4.1.4 DBCAを使用したOracle Label Securityの登録および有効化

Database Configuration Assistantを使用してOracle Label Securityの登録と有効化の両方を行うことができます。

  1. Database Configuration Assistant(DBCA)を開始します。
    • UNIX: 次のコマンドを実行します。

      $ORACLE_HOME/bin/dbca
      
    • Windows: 「スタート」メニューから「すべてのプログラム」をクリックします。次に、「Oracle - ORACLE_HOME」「Configuration and Migration Tools」「Database Configuration Assistant」の順にクリックします。

    「ようこそ」画面が表示されます。

  2. 「次へ」をクリックします。

    「操作」画面が表示されます。

  3. 「データベース・オプションの構成」を選択します。「次へ」をクリックします。

    「データベース」画面が表示されます。

  4. リストから、OLSを構成および有効化する必要のあるデータベースを選択します。「次へ」をクリックします。

    「データベース・コンテンツ」画面が表示されます。

  5. 「Oracle Label Security」を選択します。「次へ」をクリックします。

    「接続モード」画面が表示されます。

  6. 「専用サーバー・モード」または「共有サーバー・モード」を選択します。「終了」をクリックします。

    操作にはデータベースの再起動が必要があることを知らせるダイアログ・ボックスが表示されます。

  7. 「OK」をクリックします。

    「確認」ダイアログ・ボックスが表示されます。

  8. 「OK」をクリックします。

    DBCAの進捗状況を示す画面が表示されます。

  9. 操作が完了すると、別の操作を実行するためのプロンプトが表示されます。「いいえ」をクリックしてDBCAを終了します。

4.2 LBACSYSユーザーおよびLBAC_DBAロールを管理するためのセキュリティ・ガイドライン

日常的な使用では、Oracle Label Securityを管理する信頼できるユーザーにLBAC_DBAデータベース・ロールを付与することをお薦めします。

Enterprise Manager Cloud Controlを使用してOracle Label Securityを管理することを計画している場合は、LBAC_DBAロールを付与したユーザーがSELECT ANY DICTIONARY権限も持っていることを確認します。

LBAC_DBAロールを付与されているユーザーには、2つのアカウントを保持することをお薦めします。一方のアカウントはユーザーのプライマリ・アカウントであり、日常的に使用されます。他方のアカウントは、プライマリ・アカウントのパスワードを忘れてしまいリセットする必要がある場合に備えたバックアップ・アカウントとして使用されます。

4.3 Oracle Label SecurityのためのCloud ControlまたはSQL*Plusへのログイン

Oracle Label Securityの登録および有効化プロセスを完了すると、Oracle Label Securityを使用できるようになります。

4.3.1 Enterprise Manager Cloud ControlからのOracle Label Securityへのログイン

Enterprise Manager Cloud Controlから、Oracle Label Securityページを使用してOracle Label Securityポリシーを作成および管理します。

  1. Oracle Label Securityで使用する予定のCloud Controlターゲット・データベースが構成されていることを確認します。

    ターゲット・データベースの構成の詳細は、Oracle Enterprise Managerのオンライン・ヘルプを参照してください。

  2. ブラウザでCloud Controlのログイン・ページを開きます。

    たとえば:

    https://myserver.example.com:7799/em
    
  3. SYSMANユーザーとしてCloud Controlにログインします。
  4. Cloud Controlのホーム・ページで、「ターゲット」メニューから「データベース」を選択します。
  5. 「データベース」ページで、接続先のデータベースのリンクを選択します。

    データベースのホームページが表示されます。

  6. 「セキュリティ」メニューで、「Label Security」を選択します。

    「データベース・ログイン」ページが表示されます。

  7. 次の情報を入力します。
    • ユーザー名: LBAC_DBAデータベース・ロールを付与されたユーザーのユーザー名を入力するか、LBACSYSと入力します。

    • パスワード: パスワードを入力します。

    • ロール: リストから「通常」を選択します。

    • 別名保存: 次回このページが表示されるときに、これらの資格証明が自動入力されているようにするには、このチェック・ボックスを選択します。資格証明は、Enterprise Managerに安全な方法で格納されます。これらの資格証明へのアクセスは、現在ログインしているユーザーによって異なります。

4.3.2 SQL*PlusからのOracle Label Securityへのログイン

LBAC_DBAデータベース・ロールを付与されている場合は、SQL*PlusからOracle Label Securityにログインできます。

  • SQL*PlusからOracle Label Securityを使用するには、ユーザーLBACSYSまたはLBAC_DBAデータベース・ロールを付与されたユーザーとして接続します。ユーザーがこのロールを付与されているかどうかを調べるには、DBA_ROLE_PRIVSデータ・ディクショナリ・ビューのGRANTEEおよびGRANTED_ROLE列を問い合せます。

たとえば:

sqlplus psmith_ols -- Or, sqlplus psmith_ols@hrpdb for a PDB named hrpdb
Enter password: password

利用可能なPDBを検索するには、DBA_PDBSデータ・ディクショナリ・ビューを問い合せます。現在のPDBを確認するには、show con_nameコマンドを実行します。