5 ユーザーの管理とデータベースのセキュリティ保護

各データベースのセキュリティ・ポリシーを設定します。

5.1 データベースに対するセキュリティ・ポリシー設定の重要性

すべてのデータベースに対してセキュリティ・ポリシーを設定することが重要です。セキュリティ・ポリシーによって、不慮または不正によるデータの破壊またはデータベース・インフラストラクチャの損傷からデータベースを保護する方法が設定されます。

各データベースに、データベースのセキュリティ・ポリシーを実装および維持するセキュリティ管理者と呼ばれる管理者を設定します。データベース・システムが小さい場合は、データベース管理者がセキュリティ管理者を担当することもできます。ただし、データベース・システムが大きい場合は、指定したユーザーまたはユーザーのグループが単独でセキュリティ管理者として担当することもあります。

データベースに対するセキュリティ・ポリシー設定の詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。

5.2 ユーザーとリソースの管理

データベースに接続するには、各ユーザーが、データベースに事前に定義された有効なユーザー名を指定する必要があります。ユーザーにはアカウントが設定され、ユーザーに関する情報がデータベース・ディクショナリに格納されている必要があります。

データベース・ユーザー(アカウント)を作成するときは、ユーザーに関する次の属性を指定します。

  • ユーザー名

  • 認証方式

  • デフォルト表領域

  • 一時表領域

  • その他の表領域および割当て制限

  • ユーザー・プロファイル

ユーザーの作成および管理方法を学習するには、『Oracle Databaseセキュリティ・ガイド』を参照してください。

5.3 ユーザー権限とロール

権限とロールは、ユーザーのデータへのアクセスおよび実行可能なSQL文のタイプを制御するために使用します。

次の表は、権限とロールの、3つのタイプを示しています。

タイプ 説明

システム権限

通常は管理者によってのみ付与される、システムが定義する権限。これらの権限は、ユーザーによる特定のデータベース操作の実行を許可します。

オブジェクト権限

システムによって定義された権限。特定のオブジェクトへのアクセスを制御します。

ロール

権限や他のロールの集合。システムによって定義されたロールも存在しますが、大部分は管理者によって作成されます。権限や他のロールをグループ化するロールによって、複数の権限またはロールをユーザーに容易に付与できます。

権限とロールを付与する権限を所有しているユーザーは、権限とロールを他のユーザーに付与できます。権限とロールの付与は、管理者レベルで開始します。データベースの作成時に、管理ユーザーSYSが作成され、システム権限およびOracle Databaseで事前定義されたロールがすべて付与されます。次に、ユーザーSYSは、権限とロールを他のユーザーに付与し、そのユーザーが別のユーザーに対して特定の権限を付与できる権限を与えることもできます。

ユーザーの権限とロールの管理方法を学習するには、『Oracle Databaseセキュリティ・ガイド』を参照してください。

5.4 データベース・アクティビティの監査

選択したユーザーのデータベース操作は、管理者が実行した操作も含めて、監視および記録できます。システム全体の処理および個々のデータベース・オブジェクトで実行された処理を監視できます。このタイプの監視は、データベース監査と呼ばれます。

統合監査ポリシーを作成し、SQL文を使用してそれらの監査ポリシーを管理できます。Oracle Databaseには標準監査設定を含むデフォルトの統合監査ポリシーが用意されており、カスタム統合監査ポリシーを作成できます。DBMS_FGA PL/SQLパッケージを使用して、ファイングレイン監査ポリシーを作成することもできます。

関連項目:

データベース監査の詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。

ノート:

Oracle Databaseリリース21c以降、従来の監査はサポートされていません。Oracleでは、統合監査を使用して、Oracle Database内で選択的でより効果的な監査を行うことをお薦めします。

5.5 事前定義されたユーザー・アカウント

Oracle Databaseには、いくつかの事前定義のユーザー・アカウントが用意されています。

次の3種類の事前定義のアカウントがあります。

  • 管理アカウント(SYSSYSTEMSYSBACKUPSYSDGSYSKMSYSRACSYSMANDBSNMP)

    SYSSYSTEMSYSBACKUPSYSDGSYSKMSYSRACの詳細は、「データベース管理者のセキュリティと権限について」を参照してください。SYSMANは、Oracle Enterprise Manager Cloud Control (Cloud Control)の管理タスクの実行に使用されます。DBSNMPアカウントは、データベースを監視および管理するためにCloud Controlの管理エージェントで使用されます。これらのアカウントは削除することができません。

  • サンプル・スキーマのアカウント

    これらのオプションのアカウントは、Oracle Databaseのマニュアルや説明書の例で使用されます。サンプル・スキーマのアカウントは、HRSHおよびOEです。

  • 内部アカウント

    個々のOracle Database機能またはコンポーネントが独自のスキーマを持てるよう、これらのアカウントが作成されます。内部のアカウントを削除しないでください。また内部のアカウントでログインしないでください。

ノート:

Oracle Database 19c以上では、SYSおよびサンプル・スキーマを除き、Oracle Databaseで提供されるユーザー・アカウントのほとんどはスキーマ専用アカウント(つまり、これらのアカウントはパスワードなしで作成される)です。これにより、悪質なユーザーがこれらのアカウントにログインできなくなります。これらのアカウントには、認証する必要が生じたときにいつでもパスワードを割り当てることができますが、セキュリティを強化するために、認証が必要なくなった場合にはこれらのアカウントをスキーマ専用アカウントに戻すことをお薦めします。

関連項目:

5.6 Oracle Database Telemetry Streamingの管理

DBAは、Oracle Database Telemetry Streamingワークスペースおよびワークスペース管理者の設定を担当します。

Oracle Database Telemetry Streamingは、メトリックのストリーミングと可観測性のためにOracle Database上に構築された時系列データベースです。Telemetry Streamingは、時系列データの格納、取得および管理専用に設計されています。Oracle DatabaseでTelemetry Streamingを使用して、時系列データベース・アプリケーションを構築できます。

デフォルトでは、Telemetry StreamingはOracle Databaseとともにインストールされません。Oracle Database Telemetry Streamingのインストール、設定および使用の情報については、Oracle AI Database Telemetry Streaming開発者ガイドを参照してください。

このセクションでは、DBAがTelemetry Streamingを管理するために実行する必要があるいくつかのタスクについて説明します。

5.6.1 Oracle Database Telemetry Streamingワークスペースの追加

DBAは、DBMS_TELEMETRY_WORKSPACE PL/SQLパッケージを使用して、Oracle Database Telemetry Streamingワークスペースを追加できます。

Oracle Database Telemetry Streamingワークスペースを追加するには、次の手順を実行します:
  1. DBAとして、ワークスペースを作成するPDBに接続します。
  2. ワークスペース名を選択します。
  3. ワークスペースを作成する表領域を決定します。
  4. 次のPL/SQLプロシージャを実行します。
    SYS.DBMS_TELEMETRY_WORKSPACE.CREATE_WORKSPACE( 'workspace_name', 'tablespace_name' );

詳細は、Oracle AI Database PL/SQLパッケージおよびタイプ・リファレンスを参照してください。

5.6.2 Oracle Database Telemetry Streamingワークスペースの削除

DBAは、DBMS_TELEMETRY_WORKSPACE PL/SQLパッケージを使用して、Oracle Database Telemetry Streamingワークスペースを削除できます。

Oracle Database Telemetry Streamingワークスペースを削除するには、次の手順を実行します:
  1. DBAとして、削除するワークスペースを含むPDBに接続します。
  2. 次のPL/SQLプロシージャを実行します。
    SYS.DBMS_TELEMETRY_WORKSPACE.DROP_WORKSPACE( 'workspace_name', force_option );

FORCE_OPTIONのデフォルトはFALSEです。TRUEの場合、ワークスペースに関連付けられているすべてのユーザーが削除されます。

詳細は、Oracle AI Database PL/SQLパッケージおよびタイプ・リファレンスを参照してください。

5.6.3 Oracle Database Telemetry Streamingワークスペース管理者の有効化

DBAは、DBMS_TELEMETRY_WORKSPACE PL/SQLパッケージを使用して、Oracle Database Telemetry Streamingのワークスペース管理者を有効にできます。

Oracle Database Telemetry Streamingのワークスペース管理者を有効にするには、次の手順を実行します:
  1. DBAとして、ワークスペース管理者を有効にするPDBに接続します。
  2. 既存のワークスペース名を確認します。
  3. ワークスペース管理者にする既存のPDBユーザーを選択します。
  4. 次のPL/SQLプロシージャを実行します。
    SYS.DBMS_TELEMETRY_WORKSPACE.ENABLE_WORKSPACE_ADMIN( 'workspace_name', 'admin_user' );

詳細は、Oracle AI Database PL/SQLパッケージおよびタイプ・リファレンスを参照してください。

5.6.4 Oracle Database Telemetry Streamingワークスペース管理者の無効化

DBAは、DBMS_TELEMETRY_WORKSPACE PL/SQLパッケージを使用して、Oracle Database Telemetry Streamingのワークスペース管理者を無効にできます。

Oracle Database Telemetry Streamingのワークスペース管理者を無効にするには、次の手順を実行します:
  1. DBAとして、無効にするワークスペース管理者を含むPDBに接続します。
  2. 既存のワークスペース名を確認します。
  3. 無効にする既存のワークスペース管理者を選択します。
  4. 次のPL/SQLプロシージャを実行します。
    SYS.DBMS_TELEMETRY_WORKSPACE.DISABLE_WORKSPACE_ADMIN( 'workspace_name', 'admin_user' );

詳細は、Oracle AI Database PL/SQLパッケージおよびタイプ・リファレンスを参照してください。