この章では、Windowsオペレーティング・システム環境におけるOracle Databaseユーザーの認証について説明します。
この章の項目は次のとおりです。
Oracle Databaseでは、データベース・ユーザーの認証にWindowsのユーザー・ログオン資格証明を使用できます。これには次の利点があります。
ユーザーは、ユーザー名またはパスワードを入力しなくても、Oracle Databaseに接続できます。
Oracle Databaseのユーザー認証およびロール認可の情報を、Windowsで一元管理することにより、ユーザー・パスワードまたはロールの情報をOracle Databaseに格納して管理する必要がなくなります。
Windowsネイティブ認証アダプタ(Oracle Net Servicesとともに自動的にインストールされます)を使用して、Windowsによるデータベース・ユーザー認証を有効にすることができます。これにより、クライアント・コンピュータはWindowsサーバー上のOracle Databaseに安全に接続できます。その後、サーバーではユーザーによるデータベース・アクションの実行が許可されます。
注意:
|
Windows固有の認証アダプタは、Windowsの認証プロトコルと連動して、Oracle Databaseへのアクセスを可能にします。
Oracle Database 12cリリース1 (12.1)から、NTS認証アダプタはWindowsドメイン・ユーザーの認証にNTLMの使用をサポートしなくなりました。そのため、NTSを使用して、古いWindows NTドメインまたは古いWindows NTドメイン・コントローラを含むドメインのユーザーを認証することはできません。ただし、ローカル接続およびWindowsローカル・ユーザーとして実行しているOracle Databaseサービスは、引き続きNTLMを使用して認証されます。
Windowsローカル・ユーザー・アカウントをOracle DatabaseホームのOracleホーム・ユーザーとして使用する場合、Windows Native Authentication (NTS)をWindowsドメイン・ユーザーまたはリモート・コンピュータからのユーザーの認証に使用することはできません。
クライアントでは、Oracle Databaseへの接続を試みるときに、認証プロトコルを指定する必要はありません。使用されるプロトコルは、Oracle Databaseによりユーザーに対して完全に透過的に判断されます。Oracle Database側の唯一の要件は、クライアントとデータベース・サーバーで、次のファイル内のパラメータSQLNET.AUTHENTICATION_SERVICES
にnts
が含まれていることです。
ORACLE_HOME\network\admin\sqlnet.ora
これはクライアント・コンピュータとサーバーの両方の、インストール後のデフォルトの設定です。
通常のインストールでは、Oracle Databaseのネットワークにクライアント・コンピュータとデータベース・サーバーが存在し、そのネットワーク上のコンピュータが使用しているOracle Databaseソフトウェア・リリース、その下のWindowsオペレーティング・システムのドメインがそれぞれ異なっていることがあります。異なるリリースの組合せがあるということは、使用している認証プロトコルも異なっている可能性があります。
関連項目: 認証プロトコルの詳細は、オペレーティング・システムのドキュメントを参照してください。 |
この項では、Windowsドメインにおいて、ユーザー・ログオン資格証明が認証される方式、およびデータベース・ロールが認可される方式を説明します。表10-1に、ユーザー認証およびロール認可の定義を示します。
表10-1 ユーザー認証およびロール認可の定義
機能 | 説明 | 詳細情報の参照先 |
---|---|---|
ユーザー認証 |
データベースが、ユーザーのWindowsログオン資格証明を使用してユーザーを認証するプロセス。 |
『Oracle Database 2日でデータベース管理者』 |
ロール認可 |
割り当てられた一連のロールを認証済のユーザーに対して付与するプロセス。 |
『Oracle Database 2日でデータベース管理者』 |
Oracle Databaseでは、Windowsドメインにおけるユーザー認証およびロール認可がサポートされています。表10-2では、これらの基本的な機能について説明します。
機能 | 説明 |
---|---|
外部ユーザーの認証 |
ユーザーは、Windowsログオン資格証明を使用してデータベースにより認証され、追加のログオン資格証明を要求されずにOracle Databaseにアクセスできます。 |
外部ロールの認可 |
ロールは、Windowsローカル・グループを使用して認可されます。一度外部ロールを作成すると、データベース・ユーザーに対してそのロールを付与したり、取り消したりできます。初期化パラメータ |
表10-3では、Oracle Database環境に基づいた、ユーザー認証およびロール認可の方式について説明します。
表10-3 ユーザー認証およびロール認可の方式
方式 | データベース環境 |
---|---|
エンタープライズ・ユーザーおよびロール |
複数のデータベースに多数のユーザーが接続する場合。 エンタープライズ・ユーザーは、複数のデータベース間で同じ識別情報を持ちます。エンタープライズ・ユーザーは、ディレクトリ・サーバーを使用する必要があります。 エンタープライズ・ロールは、ロールが割り当てられたエンタープライズ・ユーザーが地理的に多数の場所に存在しており、複数のデータベースにアクセスする必要がある場合に使用します。各エンタープライズ・ロールは、ディレクトリ内の複数のエンタープライズ・ユーザーに割り当てることができます。エンタープライズ・ロールを使用しない場合は、各データベース・ユーザーに手動でデータベース・ロールを割り当てる必要があります。エンタープライズ・ロールは、ディレクトリ・サーバーを使用する必要があります。 |
外部ユーザーおよびロール |
限定された数のデータベースに少数のユーザーが接続する場合。外部ユーザーは個別に各データベースで作成する必要があり、ディレクトリ・サーバーを使用する必要はありません。 外部ロールも個別に各データベースで作成する必要があり、ディレクトリ・サーバーを使用する必要はありません。外部ロールは、システムのローカル・グループ内のユーザーのグループ・メンバーシップを使用して認可されます。 |
関連項目: エンタープライズ・ユーザーおよびロールの詳細は、『Oracle Databaseエンタープライズ・ユーザー・セキュリティ管理者ガイド』を参照してください。 |
Oracle Databaseをインストールすると、ORA_DBA
という特別なWindowsローカル・グループが作成され(過去のOracle Databaseインストールで作成されていない場合)、Windowsのユーザー名が自動的に追加されます。ローカル・グループORA_DBA
のメンバーには、自動的にSYSDBA権限が付与されます。Oracle Database 12cリリース1 (12.1)から、ORA_DBA
グループも、ORA_
HOMENAME
_DBA
グループと呼ばれる、各Oracleホームに対して作成されます。このグループにはOracleホームのOracleホーム・ユーザーが自動的に移入されます。
注意: データベース管理のためにドメイン・アカウントを使用する場合は、そのドメイン・アカウントにローカル管理権限とORA_DBAメンバーシップを明示的に付与する必要があります。ドメイン・アカウントが別のグループからこれらのメンバーシップを継承していても不十分です。インストールを実行するユーザーが必ず、このドメイン・アカウントと同じドメインにいるようにしてください。そうでない場合は、NTS認証が失敗します。 |
ORA_DBA
のメンバーシップにより、次のことが可能です。
次のコマンドを使用し、パスワードなしでOracle Databaseのローカル・インスタンスに接続できます。
SQL> CONNECT / AS SYSDBA
次のコマンドを使用し、パスワードなしでOracle Databaseのリモート・サーバーに接続できます。
SQL> CONNECT /@net_service_name AS SYSDBA
net_service_name
は、Oracle Databaseのリモート・サーバーのネット・サービス名です。
ローカル・データベースの起動および停止など、データベース管理手順を実行できます。
別のWindowsユーザーをORA_DBA
に追加し、そのユーザーにSYSDBA
権限を付与できます。