ヘッダーをスキップ

Oracle Database プラットフォーム・ガイド
10gリリース2(10.2) for Microsoft Windows(x64)

B25695-04
目次
目次
索引
索引

戻る 次へ

9 Windowsでの外部ユーザーおよびロールの管理

外部ユーザーおよびロールは、一般にOracle Databaseの外部のものによって定義されます。Windows環境では、オペレーティング・システムによって定義されます。

この章では、Oracle Administration Assistant for Windowsを使用するか、またはOracle Databaseコマンドライン・ツール、レジストリ エディタおよびその他のWindowsツールを組み合せて使用した、外部ユーザーおよび外部ロールの作成と管理について説明します。


注意

どちらの方法でも、Windows 2000ドメインで外部ユーザーおよびロールを管理できますが、エンタープライズ・ユーザーまたはエンタープライズ・ロールの管理には使用できません。エンタープライズ・ユーザーおよびエンタープライズ・ロールの管理に使用できるツールの詳細は、『Oracle Database Advanced Security管理者ガイド』を参照してください。 


この章の項目は次のとおりです。

9.1 Oracle Administration Assistant for Windows

Oracle Administration Assistant for Windowsは、Microsoft管理コンソールから実行するツールです。このツールを使用すると、Windowsオペレーティング・システムで認証を行い、パスワードなしでOracle Databaseにアクセスできる、次のOracle Databaseユーザーおよびロールを構成できます。

また、Oracle Administration Assistant for Windowsでは、ローカルおよび外部データベース・ロールを作成し、Windowsドメイン・ユーザーおよびグローバル・グループに付与できます。

Oracle Administration Assistant for Windowsを使用すると、次のいずれも手動で実行する必要はありません。

この項では、Oracle Administration Assistant for Windowsを使用した、次のタスクの実行方法について説明します。

9.1.1 リモート・コンピュータの管理

Oracle Administration Assistant for Windowsを使用してリモート・コンピュータを管理する場合は、そのリモート・コンピュータに対して管理者権限を持っている必要があります。Oracle Administration Assistant for WindowsによってOracle Databaseで作成されるユーザーの名前には、常に接頭辞としてドメイン名が付けられます。Oracle7リリース7.x以上のデータベースをリモート管理する場合は、リモート・コンピュータのレジストリ・パラメータ
OSAUTH_PREFIX_DOMAINtrueに設定する必要があります。このパラメータは次のキーにあります。

HKEY_LOCAL_MACHINE¥SOFTWARE¥ORACLE¥KEY_HOME_NAME  

Windows 2000環境のコンピュータがドメイン・ネーム・システム(DNS)のドメイン名で識別されない場合は、次のエラー・メッセージが表示されます。

Calling query w32RegQueries1.7.0.17.0  RegGetValue
Key = HKEY_LOCAL_MACHINE
SubKey = SYSTEM¥CurrentControlSet¥Services¥Tcpip¥Parameters
Value = Domain
Query Exception: GetValueKeyNotFoundException
Query Exception Class: class oracle.sysman.oii.oiil.OiilQueryException
...

DNS名を割り当てるには、次のようにします。

  1. 「スタート」「設定」「コントロール パネル」「システム」「ネットワークID」「プロパティ」「詳細」「このコンピュータのプライマリDNSサフィックス」を選択します。

  2. ドメイン名を入力します(US.ORACLE.COMなど)。

9.1.2 コンピュータの追加と構成の保存

Oracle Administration Assistant for Windowsを初めて使用すると、ローカル・コンピュータがナビゲーション・ツリーに追加されます。その後で、他のコンピュータを追加できます。

Microsoft管理コンソールのツリーにコンピュータを追加するには、次のようにします。

  1. 「スタート」「プログラム」「Oracle - HOME_NAME「Configuration and Migration Tools」「Administration Assistant for Windows」を選択します。

    Microsoft管理コンソールが起動します。

  2. 「Oracle Managed Objects」をダブルクリックします。

    コンピュータ・アイコンが表示されます。

  3. 「コンピュータ」を右クリックします。

  4. 「新規」「コンピュータ」を選択します。

    「コンピュータの追加」ダイアログが表示されます。


    画像の説明

  5. Oracle Databaseがインストールされているコンピュータのドメイン名およびコンピュータ名を指定します。

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

  7. 「コンピュータ」をダブルクリックし、追加したコンピュータを表示します。

  8. 追加したコンピュータをダブルクリックします。データベース管理者およびオペレータを認証するためのノードがいくつか表示されます。

    「OSデータベース管理者 - コンピュータ」ノードでは、コンピュータ上のすべてのデータベース・インスタンスに対するSYSDBA権限を持つ、オペレーティング・システムで認証されたデータベース管理者を作成します。「OSデータベース・オペレータ - コンピュータ」ノードでは、コンピュータ上のすべてのデータベース・インスタンスに対するSYSOPER権限を持つ、オペレーティング・システムで認証されたデータベース・オペレータを作成します。

  9. 「コンソール」メイン・メニューの「保存」をクリックして、コンソール・ファイルに構成を保存します。これにより、コンピュータ上のすべてのインスタンスに対するデータベース管理者およびオペレータを認証できます。

9.1.3 コンピュータ上のすべてのデータベースに対する管理者権限の付与

コンピュータ上のすべてのデータベースに対するデータベース管理者(SYSDBA)権限をデータベース管理者(DBA)に付与するには、次のようにします。

  1. 「スタート」「プログラム」「Oracle - HOME_NAME「Configuration and Migration Tools」「Administration Assistant for Windows」を選択します。

    Oracle Administration Assistant for Windowsが起動します。

  2. 「OSデータベース管理者 - コンピュータ」を右クリックします。

  3. 「追加/削除」をクリックします。

    「OSデータベース管理者 - コンピュータ: hostname」ダイアログ・ボックスが表示されます。


    画像の説明

  4. 「ドメイン」リストで、SYSDBA権限を付与するユーザーのドメインを選択します。

  5. ユーザーを選択します。

  6. 「追加」をクリックします。

    ユーザーが「OSデータベース管理者 - コンピュータ」ウィンドウに表示されます。

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

9.1.4 コンピュータ上のすべてのデータベースに対するオペレータ権限の付与

コンピュータ上のすべてのデータベースに対するデータベース・オペレータ(SYSOPER)権限をDBAに付与するには、次のようにします。

  1. 「スタート」「プログラム」「Oracle - HOME_NAME「Configuration and Migration Tools」「Administration Assistant for Windows」を選択します。

    Oracle Administration Assistant for Windowsが起動します。

  2. 「OSデータベース・オペレータ - コンピュータ」を右クリックします。

  3. 「追加/削除」をクリックします。

    「OSデータベース・オペレータ - コンピュータ: hostname」ダイアログ・ボックスが表示されます。


    画像の説明

  4. 「ドメイン」リストで、SYSOPER権限を付与するユーザーのドメインを選択します。

  5. ユーザーを選択します。

  6. 「追加」をクリックします。

    ユーザーが「OSデータベース・オペレータ - コンピュータ」ウィンドウに表示されます。

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

9.1.5 データベースへの接続

Oracle Databaseへの接続時にSecure Sockets Layer(SSL)を使用できるようにするには、Oracle Wallet Managerで作成されたウォレットと同じユーザー・アカウントでOracle Databaseサービスおよびリスナー・サービスを開始します。Windowsの「サービス」ダイアログに表示されるデフォルトのユーザー・アカウントを使用しないでください。Oracle Databaseサービスおよびリスナー・サービスがデフォルトのユーザー・アカウントで開始されると、SSLは有効にならず、リスナーは起動しません。SSLのサポートは、Oracle Advanced Securityの機能の1つです。また、Oracle Wallet ManagerもOracle Advanced Securityの機能の1つです。

関連項目

SSLサポートの詳細は、『Oracle Database Advanced Security管理者ガイド』を参照 

データベースに接続するには、次のようにします。

  1. Microsoft管理コンソールのスコープ・ペインで、アクセスするデータベース・インスタンスを右クリックします。次に示す例では、ORCLへ接続します。


    画像の説明

  2. 「データベースの接続」を選択します。

    Oracle Databaseに接続すると、インスタンスの下に次のようなWindowsのノードが表示されます。これらのノードが表示されない場合は、そのインスタンスをダブルクリックしてください。

    • 外部OSユーザー

    • ローカル・ロール

    • 外部OSロール

    • OSデータベース管理者

    • OSデータベース・オペレータ

9.1.5.1 接続に関する問題のトラブルシューティング

ローカル・コンピュータに接続する場合、Oracle Administration Assistant for Windowsは、最初にBequeathネットワーク・プロトコルを使用して、SYSDBAとしてデータベースへの接続を試みます。リモート・コンピュータに接続する場合、Oracle Administration Assistant for Windowsは、最初にTCP/IPネットワーク・プロトコル(ポート番号1521または非推奨の1526)でWindows認証を使用して、SYSDBAとしてデータベースへの接続を試みます。正常に接続できない場合、1つ以上のダイアログ・ボックスが表示され、データベースに接続するための情報を入力するよう要求されます。

次に示すダイアログ・ボックスは、Oracle Databaseへの接続を試みるときに使用したWindowsドメイン・ユーザーが、SYSDBA権限を持つ認証済のユーザーとして認識されていないために表示されます。データベースにアクセスするには、Oracle Databaseユーザー名およびパスワードを入力します。このダイアログ・ボックスを再度表示しないようにするには、ドメイン・ユーザーをWindowsオペレーティング・システムにより認証されたデータベース管理者として構成します。


画像の説明

次のダイアログ・ボックスは、リモートのOracle Databaseヘの接続にTCP/IPネットワーク・プロトコルを使用していないか、Oracle Databaseが稼働していないために表示されます。TCP/IP以外のプロトコル(たとえばNamed Pipesなど)を使用すると、リモート接続を試みるたびにこのダイアログが表示されます。


画像の説明

このダイアログ・ボックスを再度表示しないようにするには、TCP/IPプロトコルに変更して、データベースのOracle Net Servicesリスナーが、デフォルト・ポートの1521(または非推奨のデフォルト・ポートの1526)でリスニングするように設定されていることを確認します。プロトコルを変更しないと、このダイアログ・ボックスが毎回表示されます。Oracle Databaseが起動していることも確認します。

  1. Oracle Databaseに接続するためのネット・サービス名を入力します。ネット・サービス名は、選択する認証方式にかかわらず入力する必要があります。

  2. Oracle Databaseユーザー名およびパスワードを使用してデータベースにアクセスする場合は、「データベース認証」オプションを選択します。このユーザー名およびパスワードは、Oracle Database内に存在し、SYSDBA権限を持っている必要があります。

  3. 現在ログオンしているWindowsドメイン・ユーザーとしてデータベースにアクセスする場合は、「SYSDBAとしてのOS認証接続」オプションを選択します。このドメイン・ユーザーは、SYSDBA権限を持つ認証済のユーザーとしてWindowsで認識されている必要があります。認識されていない場合、ログオンできません。


    注意

    Oracle Net Servicesには、トレース・アシスタント・ツールが用意されています。このツールを使用すると、既存のトレース・ファイル・テキストを読みやすい形式に変換し、接続の問題を診断できます。『Oracle Database Net Services管理者ガイド』のトレース・アシスタントを使用したトレース・ファイルの検証に関する項を参照してください。 


9.1.6 データベース認証用パラメータ設定の表示

データベース認証用パラメータ設定を表示するには、次のようにします。

  1. データベースを右クリックします。

  2. 「プロパティ」を選択します。

  3. 「プロパティ」ダイアログが表示され、次のパラメータ値が表示されます。

    • OS_AUTHENT_PREFIX

    • OS_ROLES

OS_AUTHENT_PREFIXは、init.oraファイルのパラメータで、Windowsユーザー名およびパスワードを使用してOracle Databaseへの接続を試みる外部ユーザーを認証します。このパラメータの値は、各ユーザーのWindowsユーザー名の先頭に付加されます。

デフォルトでは、このパラメータはOracle Databaseの作成中になし("")に設定されます。したがって、frankというWindowsドメイン・ユーザー名は、ユーザー名frankとして認証されます。このパラメータをxyzに設定すると、Windowsドメイン・ユーザーのfrankは、ユーザーxyzfrankとして認証されます。

OS_ROLESは、init.oraファイルのパラメータで、trueに設定すると、Windowsオペレーティング・システムでデータベース・ユーザーの外部ロール認可を管理できます。デフォルトでは、OS_ROLESfalseに設定されています。外部ロールを作成する前に、OS_ROLEStrueに設定し、Oracle Databaseを再起動する必要があります。OS_ROLESfalseに設定されている場合は、Oracle Databaseでデータベース・ユーザーに対するロールの付与および取消しを管理します。

OS_ROLEStrueに設定された状態で、Windowsグローバル・グループに外部ロールを割り当てる場合、外部ロールはWindowsグローバル・グループ・レベルでのみ付与され、このグローバル・グループ内の個別のユーザー・レベルでは付与されません。つまり、このグローバル・グループ内の個々のユーザーに割り当てられた外部ロールは、後でユーザー名のプロパティのダイアログの「ロール」タブを使用して取り消したり編集したりすることはできません。このグローバル・グループ(つまり、すべての個別ユーザー)から外部ロールを取り消すには、かわりに「外部OSロールのNTグローバル・グループへの割当」ダイアログのフィールドを使用する必要があります。

個々のドメイン・ユーザーに割り当てられた外部ロール、または(OS_ROLESfalseの状態で)個々のドメイン・ユーザーまたはWindowsグローバル・グループに割り当てられたローカル・ロールは、この影響を受けません。これらは編集または取消しが可能です。

OS_ROLEStrueに設定されている場合は、どのデータベース・ユーザーに対してもデータベース内のローカル・ロールを付与できません。Windowsを介してロールを付与する必要があります。詳細は、「ローカル・データベース・ロールの作成」および
「外部オペレーティング・システム・ロールの作成」を参照してください。

9.1.7 外部オペレーティング・システム・ユーザーの作成

Oracle Administration Assistant for Windowsの「外部OSユーザー」ノードにより、Windowsユーザーを認証し、パスワードを要求されずに外部ユーザーとしてOracle Databaseにアクセスできます。外部ユーザーは、通常のデータベース・ユーザー(データベース管理者以外)であり、このユーザーに対しては標準のデータベース・ロール(DBAなど)を割り当てますが、SYSDBA(データベース管理者)権限またはSYSOPER(データベース・オペレータ)権限は割り当てません。

外部オペレーティング・システム・ユーザーを作成するには、次のようにします。

  1. 「データベースへの接続」の手順に従って、データベースに接続します。

  2. 「外部OSユーザー」を右クリックします。コンテキスト・メニューが表示されます。


    画像の説明

  3. 「作成」を選択します。

    外部OSユーザーの作成ウィザードが起動し、ウィザードのステップ1のダイアログ・ボックスが表示されます。ステップ1のダイアログ・ボックスは、「外部OSユーザーの作成ウィザード、ステップ1/3: Windowsユーザーとグループ」です。


    画像の説明

  4. 「NTドメイン・ユーザーとグループ」で、Windowsドメイン・ユーザーおよびグローバル・グループが含まれるドメインを選択します。

  5. データベースヘのアクセス権限を付与するWindowsドメイン・ユーザーおよびグローバル・グループを選択します。

  6. 「追加」をクリックします。選択されたユーザーおよびグループが「新規外部OSユーザー」リストに表示されます。

  7. 「次へ」をクリックします。「外部OSユーザーの作成ウィザード、ステップ2/3: プロファイルと表領域」ダイアログ・ボックスが表示されます。


    画像の説明

  8. 「割当済プロファイル」ドロップダウン・リストで、新規外部ユーザー用プロファイルを選択します。プロファイルは、名前の付いたリソース制限のセットです。リソース制限が有効な場合、ユーザーのプロファイルでの定義に基づいて、Oracle Databaseによりデータベースの使用およびインスタンスのリソースが制限されます。各ユーザーにプロファイルを割り当てることができます。また、特定のプロファイルを持たないすべてのユーザーに対してはデフォルト・プロファイルを割り当てることができます。

  9. 「表領域割当て制限」で、表領域をダブルクリックし、表領域の割当て制限を設定します。

  10. 「次へ」をクリックします。「ロール」ダイアログ・ボックスが表示されます。


    画像の説明

  11. 「使用可能なロール」で、新規外部ユーザーに付与するデータベース・ロールを選択します。

  12. 「権限付与」をクリックします。

  13. 「終了」をクリックします。

  14. 詳細を表示する外部ユーザーを右クリックし、「プロパティ」を選択します。

    割り当てられたプロパティが表示されます。


    注意

    Oracle Administration Assistant for Windowsを使用した認証でWindowsグローバル・グループを選択する場合、そのグループに現在含まれるすべてのユーザーがOracle Databaseに追加されます。後で、Windowsのツールを使用してこのWindowsグローバル・グループのユーザーを追加または削除しても、その更新内容はOracle Databaseに反映されません。新たに追加または削除されたユーザーは、Oracle Administration Assistant for Windowsを使用して、Oracle Databaseに対して明示的に追加または削除する必要があります。  


9.1.8 ローカル・データベース・ロールの作成

Oracle Administration Assistant for Windowsの「ローカル・ロール」ノードにより、ロールを作成し、そのロールをデータベースで管理できます。一度ローカル・ロールを作成すると、データベース・ユーザーに対してそのロールを付与したり、取り消したりできます。ローカル・データベース・ロールを作成するには、次のようにします。

  1. 「データベースへの接続」の手順に従って、データベースに接続します。

  2. ローカル・ロールを作成するデータベースの「ローカル・ロール」を右クリックします。

  3. 「作成」を選択します。

    ローカル・ロールの作成ウィザードが起動し、ウィザードのステップ1のダイアログ・ボックスが表示されます。ステップ1のダイアログ・ボックスは、「ローカル・ロールの作成ウィザード、ステップ1/3: 名前と認証」です。


    画像の説明

  4. 使用するローカル・ロール名を入力します。

  5. ユーザーがパスワードを入力せずにこのローカル・ロールを使用できるようにする場合は、「認証」「なし」を選択します。

    パスワードでこのロールを保護する場合は、「パスワード」を選択します。これらのロールは、SET ROLEコマンドでパスワードを指定した場合にのみ使用できます。詳細は、『Oracle Database 2日でデータベース管理者』を参照してください。

    このロールで使用するパスワードを入力します。

    確認のためにパスワードを再度入力します。

  6. 「次へ」をクリックします。「システム権限」ダイアログ・ボックスが表示されます。


    画像の説明

  7. 「使用可能なシステム権限」で、ローカル・ロールに割り当てるシステム権限を選択します。

  8. 「権限付与」をクリックして、選択したシステム権限をローカル・ロールに付与します。

    「付与されたシステム権限」フィールドに、ローカル・ロールに付与されたシステム権限のリストが表示されます。システム権限を取り消すには、その権限を選択して「取消」を選択します。

  9. このロールに管理者オプションを付与するには、「管理オプション」列の値をクリックして、リストを表示します。「はい」が選択できます。

  10. 「次へ」をクリックします。「ロール」ダイアログ・ボックスが表示されます。


    画像の説明

  11. 「使用可能なロール」で、ローカル・ロールに割り当てるロールを選択します。ローカル・ロールおよび外部ロールの両方がこのリストに表示されます。

  12. 「権限付与」をクリックして、ロールに選択したロールを付与します。

    「権限付与されたロール」フィールドに、ロールに付与されたロールのリストが表示されます。ローカル・ロールおよび外部ロールの両方がこのリストに表示されます。ロールを取り消すには、そのロールを選択して「取消」を選択します。

  13. 「終了」をクリックします。

9.1.9 外部オペレーティング・システム・ロールの作成

Oracle Administration Assistant for Windowsの「外部OSロール」ノードにより、外部ロールを作成し、そのロールをWindowsオペレーティング・システムで管理できます。一度外部ロールを作成すると、データベース・ユーザーに対してそのロールを付与したり、取り消したりできます。外部ロールを作成するには、次のようにします。

  1. 「データベースへの接続」の手順に従って、データベースに接続します。

  2. 外部ロールを作成するデータベースの「外部OSロール」を右クリックします。

  3. 「作成」を選択します。

    外部OSロールの作成ウィザードが起動し、ウィザードのステップ1のダイアログ・ボックスが表示されます。ステップ1のダイアログ・ボックスは、「外部OSロールの作成ウィザード、ステップ1/3: 名前」です。このダイアログ・ボックスには「認証: 外部」と表示され、外部ロールのみを作成できることが示されます。


    注意

    外部OSロールの作成ウィザードは、init.oraのパラメータ
    OS_ROLEStrueに設定されている場合のみ使用できます。falseに設定されている場合、最初にtrueに変更し、次にOracle Databaseを再起動します。 



    画像の説明

  4. 使用する外部ロール名を入力します。外部ロールは、Windowsオペレーティング・システムにより管理されるロールです。

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

    「システム権限」ダイアログ・ボックスが表示されます。


    画像の説明

  6. 「使用可能なシステム権限」で、外部ロールに割り当てるシステム権限を選択します。

  7. 「権限付与」を選択して、外部ロールに選択したシステム権限を付与します。

  8. 「付与されたシステム権限」フィールドに、外部ロールに付与されたシステム権限のリストが表示されます。システム権限を取り消すには、その権限を選択して「取消」をクリックします。

  9. このロールに管理者オプションを付与するには、「管理オプション」列の値をクリックして、リストを表示します。「はい」が選択できます。

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

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


    画像の説明

  11. 「使用可能なロール」で、外部ロールに割り当てるロールを選択します。ローカル・ロールおよび外部ロールの両方がこのリストに表示されます。

  12. 「権限付与」を選択して、外部ロールに選択したロールを付与します。

    「権限付与されたロール」フィールドに、外部ロールに付与されたロールのリストが表示されます。

  13. 「終了」をクリックします。

9.1.10 単一データベースに対する管理者権限の付与

Oracle Administration Assistant for Windowsの「OSデータベース管理者」ノードにより、コンピュータ上の特定のインスタンスに対するSYSDBA権限を持つWindowsユーザーを認証できます。単一データベースに対する管理者(SYSDBA)権限を付与するには、次のようにします。

  1. 「データベースへの接続」の手順に従って、データベースに接続します。

  2. 「OSデータベース管理者」を右クリックします。

  3. 「追加/削除」を選択します。

    「OSデータベース管理者: instance」ダイアログ・ボックスが表示されます。次に示す例では、インスタンスはMARKです。


    画像の説明

  4. 「NTドメイン・ユーザーとグループ」で、「ドメイン」リストからSYSDBA権限を付与するユーザーのドメインを選択します。

  5. ユーザーを選択します。

    ユーザーが「OSデータベース管理者」フィールドに表示されます。

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

9.1.11 単一データベースに対するオペレータ権限の付与

Oracle Administration Assistant for Windowsの「OSデータベース・オペレータ」ノードにより、コンピュータ上の特定のインスタンスに対するSYSOPER権限を持つWindowsユーザーを認証できます。単一データベースに対するオペレータ(SYSOPER)権限を付与するには、次のようにします。

  1. 「データベースへの接続」の手順に従って、データベースに接続します。

  2. 「OSデータベース・オペレータ」を右クリックします。

  3. 「追加/削除」を選択します。

    「OSデータベース・オペレータ: instance」ダイアログ・ボックスが表示されます。次に示す例では、インスタンスはMARKです。


    画像の説明

  4. 「NTドメイン・ユーザーとグループ」で、「ドメイン」リストからSYSOPER権限を付与するユーザーのドメインを選択します。

  5. ユーザーを選択します。

  6. 「追加」をクリックします。

    ユーザーが「OSデータベース・オペレータ」フィールドに表示されます。

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

9.2 外部ユーザーおよびロールの手動による管理

Oracle Administration Assistant for Windowsを使用するかわりに、管理者、オペレータ、ユーザーおよびロールを手動で構成して、オペレーティング・システムに認証させることができます。手動による構成では、Oracle Databaseのコマンドライン・ツールを使用して、レジストリを編集し、「Active Directoryユーザーとコンピュータ」でローカル・グループを作成します。

次のものはすべて、Oracle Databaseにパスワードなしでアクセスできるように手動で構成することができます。

また、ローカルおよび外部データベース・ロールを手動で作成し、Windowsドメイン・ユーザーおよびグローバル・グループに付与できます。

この項では、次の内容について説明します。

9.2.1 外部オペレーティング・システム・ユーザーの手動による作成

この項では、Windowsを使用して外部オペレーティング・システム・ユーザー(データベース管理者以外)を認証し、パスワードなしでデータベースにアクセスできるようにする方法を説明します。Windowsを使用して外部オペレーティング・システム・ユーザーを認証する場合、データベースのユーザー名へのアクセス制限は、オペレーティング・システムにのみ依存します。

次の手順では、2つのWindowsユーザー名が認証されます。

ローカル・ユーザーfrankは、ローカルのWindowsクライアント・コンピュータにログオンし、Oracle Databaseサーバーにアクセスします。Oracle Databaseサーバーは、別のコンピュータにあっても構いません。他のコンピュータ上にある他のデータベースおよびリソースにアクセスする場合、ローカル・ユーザーは毎回ユーザー名およびパスワードを入力する必要があります。

ドメインsalesのドメイン・ユーザーfrankは、多数の他のWindowsコンピュータおよびリソースを含み、そのうちの1つにOracle Databaseサーバーがあるsalesドメインにログオンします。ドメイン・ユーザーは、ドメインのすべてのリソースに1つのユーザー名およびパスワードでアクセスできます。

手順には次の2つがあり、作業が実行されるコンピュータにより異なります。

9.2.1.1 Oracle Databaseサーバーでの外部ユーザー認証タスク

  1. パラメータOS_AUTHENT_PREFIXinit.oraファイルに追加します。

    OS_AUTHENT_PREFIXの値は、オペレーティング・システムのユーザー名およびパスワードを使用してサーバーに接続を試みる、ローカルまたはドメインのユーザー名に接頭辞として付けられます。この接頭辞付きのユーザー名は、接続要求が試行された場合にデータベース内のOracle Databaseユーザー名と比較されます。クライアントからサーバーへの安全で信頼性の高い接続を実行するために、Windows認証方式では、パラメータ
    OS_AUTHENT_PREFIXを使用することをお薦めします。

  2. OS_AUTHENT_PREFIXの値を設定します。選択肢は次のとおりです。

    • 文字列

      たとえば、xyzと指定すると、Windowsのユーザー名の先頭に、接頭辞としてxyzが付きます(たとえば、ローカル・ユーザーfrankxyzfrankになり、ドメインsalesのドメイン・ユーザーfrankxyzsales¥frankになります)。文字列値には、大文字と小文字の区別がありません。

    • "" (間にスペースのない2つの二重引用符)

      推奨値。この値を使用すると、Windowsのユーザー名に接頭辞を付ける必要がなくなります(たとえば、ローカル・ユーザーfrankfrankになり、ドメインsalesのドメイン・ユーザーfranksales¥frankになります)。

    • 値の指定なし

      OS_AUTHENT_PREFIXに値を指定しないと、デフォルトでOPS$に設定されます(たとえば、ローカル・ユーザーfrankOPS$frankになり、ドメインsalesのドメイン・ユーザーfrankOPS$sales¥frankになります)。

  3. 「コンピュータの管理」ツールでfrankのWindowsローカル・ユーザー名を作成するか、「Active Directoryユーザーとコンピュータ」でfrankのドメイン・ユーザー名を作成します(適切な名前が現在存在しない場合)。詳細は、オペレーティング・システムのドキュメントを参照してください。

  4. 認証対象がドメイン名付きのユーザーではない場合(ドメインsalesfrankではなく、単にfrankの場合など)のみ、次の手順を実行します。それ以外の場合は、手順8に進みます。

    1. コマンド・プロンプトから、レジストリ エディタを起動します。

      C:¥> regedit
      
      
    2. ¥HKEY_LOCAL_MACHINE¥SOFTWARE¥ORACLE¥HOMEIDに移動します。IDは、編集するOracleホーム・ディレクトリです。

    3. 「編集」「値の追加」を選択します。

      「値の追加」ダイアログが表示されます。


      画像の説明

    4. 「値の名前」フィールドにOSAUTH_PREFIX_DOMAINと入力します。

    5. 「データ型」リストで、REG_EXPAND_SZを選択します。

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

      「文字列エディタ」ダイアログが表示されます。


      画像の説明

  5. 「文字列」フィールドにtrueと入力し、ドメイン・レベルでの認証を可能にします。

    ローカル・ユーザーfranksalesのドメイン・ユーザーfrank、あるいはその他のドメインのドメイン・ユーザーfrankなど、ネットワーク上に複数のfrankというユーザー名が存在する場合があります。trueに設定すると、サーバーではそれぞれが区別されます。falseに設定すると、ドメインは無視され、ローカル・ユーザーfrankがオペレーティング・システム・ユーザーのデフォルト値になり、サーバーに返されます。

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

    レジストリ エディタによりそのパラメータが追加されます。

  7. 「レジストリ」メニューから「レジストリ エディタの終了」を選択します。

    レジストリ エディタが終了します。

  8. ファイルsqlnet.oraのパラメータSQLNET.AUTHENTICATION_SERVICESに、ntsが含まれていることを確認します。

  9. SQL*Plusを起動します。

    C:¥> sqlplus /NOLOG
    
    
  10. SYSTEMデータベース管理者(DBA)名でデータベースに接続します。

    SQL> CONNECT 
    Enter user-name: SYSTEM/password
    
    

    変更がなければ、SYSTEMのパスワードは、デフォルトではMANAGERです。

  11. 次のように入力して、ローカル外部ユーザーを作成します。

    SQL> CREATE USER xyzfrank IDENTIFIED EXTERNALLY;
    
    

    xyzは初期化パラメータOS_AUTHENT_PREFIXに対して選択した値です。また、frankはWindowsローカル・ユーザー名です。

  12. 次のように入力して、ローカル外部ユーザーにデータベース・ロールを付与します。

    SQL> GRANT DBA TO xyzfrank;
    
    
  13. 次のように入力して、ドメイン外部ユーザーを作成します。

    SQL> CREATE USER "XYZSALES¥FRANK" IDENTIFIED EXTERNALLY;
    
    

    XYZは初期化パラメータOS_AUTHENT_PREFIXに対して選択した値です。また、SALES¥FRANKはドメイン名およびWindowsドメイン・ユーザー名です。二重引用符は必須で、構文はすべて英大文字で入力する必要があります。

  14. 次のように入力して、ドメイン外部ユーザーにデータベース・ロールを付与します。

    SQL> GRANT DBA TO "XYZSALES¥FRANK";
    
    

    二重引用符は必須で、構文はすべて英大文字で入力する必要があります。

  15. SYSDBA名でデータベースに接続します。

    SQL> CONNECT / AS SYSDBA
    
    
  16. データベースを停止します。

    SQL> SHUTDOWN
    
    
  17. データベースを再起動します。

    SQL> STARTUP
    
    

    これにより、パラメータOS_AUTHENT_PREFIXの変更が有効になります。

9.2.1.2 クライアント・コンピュータでの外部ユーザー認証タスク

  1. Windowsサーバー上にある同じユーザー名とパスワードで、Windowsローカル・ユーザー名またはドメイン・ユーザー名frankを作成します(適切な名前が現在存在しない場合)。

  2. ファイルsqlnet.oraのパラメータSQLNET.AUTHENTICATION_SERVICESに、ntsが含まれていることを確認します。

  3. Oracle Net Configuration Assistantを使用して、クライアント・コンピュータからOracle DatabaseがインストールされているWindowsサーバーへのネットワーク接続を構成します。詳細は、『Oracle Database Net Services管理者ガイド』を参照してください。

  4. SQL*Plusを起動します。

    C:¥> sqlplus /NOLOG
    
    
  5. Windowsサーバーに接続します。

    SQL> CONNECT /@connect_identifier
    
    

    connect_identifierは、Oracle Databaseのネット・サービス名です。

    Oracle Databaseにより、Windowsローカル・ユーザー名またはドメイン・ユーザー名に対応する自動ログオン・ユーザー名がデータ・ディクショナリで検索および検証され、xyzfrankまたはxyzsales¥frankでの接続が可能になります。

  6. ローカル・ユーザーまたはドメイン・ユーザーfrankでOracle Databaseに接続できたことは、「Oracle Databaseサーバーでの外部ユーザー認証タスク」の手順12または手順14で割り当てられたロールを参照することで確認できます。

    SQL> SELECT * FROM USER_ROLE_PRIVS;
    
    

    ローカル・ユーザーfrankの出力

    USERNAME                       GRANTED_ROLE                   ADM DEF OS_
    ------------------------------ ------------------------------ --- --- ---
    XYZFRANK                       DBA                            NO  YES NO 
    1 row selected.
    
    

    ドメイン・ユーザーfrankの出力

    USERNAME                       GRANTED_ROLE                   ADM DEF OS_
    ------------------------------ ------------------------------ --- --- ---
    XYZSALES¥FRANK                 DBA                            NO  YES NO 
    1 row selected.
    
    

    Oracle Databaseユーザー名は、xyzfrankまたはxyzsales¥frankであるため、xyzfrankまたはxyzsales¥frankにより作成される各オブジェクト(表、ビュー、索引など)には、この名前が接頭辞として付きます。たとえば、別のユーザーがxyzfrankの所有する表sharkを参照するには、次のように入力する必要があります。

    SQL> SELECT * FROM xyzfrank.shark 
    


    注意

    自動認証機能は、すべてのOracle Netプロトコルでサポートされています。 


9.2.2 複数のデータベースに対する管理者権限およびオペレータ権限の手動による付与

この項では、Windowsにより、データベース管理者(SYSDBA)権限およびデータベース・オペレータ(SYSOPER)権限を、データベース管理者に対して付与する方法を説明します。この権限が付与されると、データベース管理者はクライアント・コンピュータから次のコマンドを発行し、パスワードを入力せずにOracle Databaseに接続できます。

CONNECT / AS SYSOPER
CONNECT / AS SYSDBA

この機能を使用できるようにするには、データベース管理者のWindowsローカル・ユーザー名またはドメイン・ユーザー名が、表9-1に示されたWindowsローカル・グループのいずれかに属している必要があります。

表9-1    SYSDBA権限およびSYSOPER権限を持つWindowsローカル・グループ 
ローカル・グループ  権限 

ORA_OPER 

コンピュータ上のすべてのデータベースに対するSYSOPER権限 

ORA_DBA1 

コンピュータ上のすべてのデータベースに対するSYSDBA権限 

ORA_SID_OPER 

単一データベースに対するSYSOPER権限(SIDにより識別) 

ORA_SID_DBA 

単一データベースに対するSYSDBA権限(SIDにより識別) 

1 ORA_DBAはインストール中に自動的に作成されます。詳細は、「インストール時に使用可能になるオペレーティング・システムの認証」を参照してください。

データベース管理者がSYSOPERまたはSYSDBAとしてパスワードなしで接続できるように手動で設定する手順には次の2つがあり、タスクが実行されるコンピュータにより異なります。

9.2.2.1 Oracle DatabaseサーバーでのSYSDBAまたはSYSOPER認証タスク

  1. Windowsで付与する権限に対応するWindowsローカル・グループを作成します
    表9-1を参照)。

  2. データベース管理者ユーザー名をこのグループに追加します。

    関連項目

    ユーザーおよびグループの管理方法は、オペレーティング・システムのドキュメントを参照 

  3. ファイルsqlnet.oraのパラメータSQLNET.AUTHENTICATION_SERVICESに、ntsが含まれていることを確認します。

  4. コマンド・プロンプトから、レジストリ エディタを起動します。

    C:¥>regedit
    
    
  5. ¥HKEY_LOCAL_MACHINE¥SOFTWARE¥ORACLE¥HOMEIDに移動します。

    IDは、編集するOracleホームです。

  6. パラメータOSAUTH_PREFIX_DOMAINtrueに設定します。

9.2.2.2 クライアント・コンピュータでのSYSDBAまたはSYSOPER認証タスク

  1. Windowsサーバー上にある同じユーザー名とパスワードで、Windowsローカル・ユーザー名またはドメイン・ユーザー名を作成します(適切なユーザー名が現在存在しない場合)。

  2. ファイルsqlnet.oraのパラメータSQLNET.AUTHENTICATION_SERVICESに、ntsが含まれていることを確認します。

  3. Oracle Net Configuration Assistantを使用して、クライアント・コンピュータからOracle DatabaseがインストールされているWindowsサーバーへのネットワーク接続を構成します。詳細は、『Oracle Database Net Services管理者ガイド』を参照してください。

  4. SQL*Plusを起動します。

    C:¥> sqlplus /NOLOG
    
    
  5. Oracle Databaseに接続します。

    SQL> SET INSTANCE net_service_name
    
    

    net_service_nameは、Oracle DatabaseのOracle Netのネット・サービス名です。

  6. 「Oracle DatabaseサーバーでのSYSDBAまたはSYSOPER認証タスク」の手順1で
    ORA_DBAまたはORA_SID_DBAを指定した場合、次のいずれかを入力します。

    SQL> CONNECT / AS SYSOPER
    SQL> CONNECT / AS SYSDBA
    
    

    手順1でORA_OPERまたはORA_SID_OPERを指定した場合、次のように入力します。

    SQL> CONNECT / AS SYSOPER
    
    

    これで、Windowsサーバーに接続されます。SYSDBAで接続すると、DBA権限が付与されます。

9.2.3 外部ロールの手動による作成

この項では、WindowsでOracle Databaseロール(外部ロールとも呼ばれます)をユーザーに直接付与する方法を説明します。Windowsを使用してユーザーを認証する場合、Windowsローカル・グループによりこれらのユーザーに外部ロールを付与できます。

ユーザーが接続すると、これらのロールに対するすべての権限がアクティブになります。外部ロールを使用する場合、すべてのロールはオペレーティング・システムを介して付与および管理されます。外部ロールとOracle Databaseロールの両方を同時に使用することはできません。

次の例を考えてみます。外部ロールを使用できるように設定し、ドメイン・ユーザー名sales¥franksalesはドメイン名、frankはドメイン・ユーザー名)でWindowsドメインにログオンします。次に、Oracle Databaseユーザーscottとして、Oracle Databaseに接続します。この場合、sales¥frankに付与されたロールは割り当てられますが、scottに付与されたロールは割り当てられません。

外部ロールを手動で作成する手順には次の2つがあり、認証タスクが実行されるコンピュータにより異なります。

9.2.3.1 Oracle Databaseサーバーでの外部ロール認証タスク

  1. 初期化パラメータOS_ROLESinit.oraファイルに追加します。

  2. OS_ROLEStrueに設定します。

    デフォルトの設定では、このパラメータはfalseです。

  3. ファイルsqlnet.oraのパラメータSQLNET.AUTHENTICATION_SERVICESに、ntsが含まれていることを確認します。

  4. SQL*Plusを起動します。

    C:¥> sqlplus /NOLOG
    
    
  5. Windowsサーバーに接続します。

    SQL> CONNECT / AS SYSDBA
    
    
  6. 新規のデータベース・ロールを作成します。この新規のロールにはどのような名前でも指定できます。次の例では、DBSALES3というロール名を使用します。

    SQL> CREATE ROLE DBSALES3 IDENTIFIED EXTERNALLY;
    
    
  7. データベース環境に対応するOracle DatabaseロールをDBSALES3に付与します。

    SQL> GRANT DBA TO DBSALES3 WITH ADMIN OPTION;
    
    
  8. SYSDBAでデータベースに接続します。

    SQL> CONNECT / AS SYSDBA
    
    
  9. データベースを停止します。

    SQL> SHUTDOWN
    
    
  10. データベースを再起動します。

    SQL> STARTUP
    
    
  11. 次の構文でWindowsローカル・グループを作成します。

    ORA_sid_rolename[_D][_A] 
    
    

    それぞれの意味は次のとおりです。

    • sidは、データベース・インスタンスを示します。

    • rolenameは、付与されるデータベース・ロールを示します。

    • Dは、このデータベース・ロールをデータベース・ユーザーのデフォルト・ロールにすることを示します。

    • Aは、このデータベース・ロールがADMIN OPTIONを含むことを示します。

    文字DおよびAはオプションです。指定する場合は、これらの文字の前にアンダースコアが必要です。

    この例では、ORA_orcl_dbsales3_Dが作成されます。

  12. このグループに、1つ以上のWindowsローカル・ユーザー名またはドメイン・ユーザー名を追加します。

    関連項目

    ユーザーおよびグループの管理方法は、オペレーティング・システムのドキュメントを参照 

    複数のデータベース・ロールを作成し、次の表に示すように、それぞれ異なるオプションで複数のWindowsグループに付与できます。ORCLインスタンスに接続し、Windowsにより次の4つのWindowsローカル・グループすべてのメンバーとして認証されたユーザーは、デフォルトでdbsales3およびdbsales4に関連付けられた権限を付与されます(オプション_Dが指定されているためです)。このようなユーザーが最初にdbsales3またはdbsales4のメンバーとして接続し、SET ROLEコマンドを使用すると、データベース・ロールdbsales1およびdbsales2にもアクセスできます。ただし、ユーザーが最初にデフォルトのロールで接続せずに、dbsales1またはdbsales2で接続を試みても、接続できません。また、このようなユーザーは、dbsales2およびdbsales4をその他のロールに付与できます(オプション_Aが指定されているためです)。

    データベース・ロール  Windowsグループ 

    dbsales1 

    ORA_ORCL_dbsales1 

    dbsales2 

    ORA_ORCL_dbsales2_a 

    dbsales3 

    ORA_ORCL_dbsales3_d 

    dbsales4 

    ORA_ORCL_dbsales4_da 


    注意

    Oracle Databaseでグループ名がロール名に変換されるとき、名前は大文字に変換されます。 


9.2.3.2 クライアント・コンピュータでの外部ロール認証タスク

  1. Windowsサーバー上にある同じユーザー名とパスワードで、Windowsローカル・ユーザー名またはドメイン・ユーザー名を作成します(適切なユーザー名が現在存在しない場合)。

  2. ファイルsqlnet.oraのパラメータSQLNET.AUTHENTICATION_SERVICESに、ntsが含まれていることを確認します。

  3. Oracle Net Configuration Assistantを使用して、クライアント・コンピュータからOracle Databaseへのネットワーク接続を構成します。詳細は、『Oracle Database Net Services管理者ガイド』を参照してください。

  4. SQL*Plusを起動します。

    C:¥> sqlplus /NOLOG
    
    
  5. 正しいインスタンスに接続します。

    SQL> SET INSTANCE connect_identifier
    
    

    connect_identifierは、手順3で作成した、Oracle Database接続のネット・サービス名です。

  6. Oracle Databaseに接続します。

    SQL> CONNECT scott/tiger AS SYSDBA
    
    

    これで、Net Servicesを使用して、Oracle Databaseユーザー名scott/tigerでWindowsサーバーに接続されます。Oracle Databaseユーザー名scottに適用されるロールは、すでにデータベース・ロールにマップされたWindowsユーザー名に対して定義されるすべてのロールで構成されます(この例では、ORA_DBSALES3_D)。認証された接続で使用可能なすべてのロールは、Windowsユーザー名、およびユーザーが属しているOracle固有のWindowsローカル・グループ(ORA_SID_DBSALES1または
    ORA_SID_DBSALES4_DAなど)により決定されます。


    注意

    OSDBAおよびOSOPERは、2つの特別なオペレーティング・システム・グループの汎用名で、オペレーティング・システムの認証を使用する場合にデータベース管理者のログオンを制御します。OSDBAおよびOSOPERのWindows固有の名前は、 「複数のデータベースに対する管理者権限およびオペレータ権限の手動による付与」に記載されています。OSDBAおよびOSOPERの詳細は、『Oracle Database管理者ガイド』を参照してください。 


9.2.4 ユーザーの手動による移行

ローカル・ユーザーまたは外部ユーザーは、User Migration Utilityを使用してエンタープライズ・ユーザーに移行できます。データベース・ユーザー・モデルからエンタープライズ・ユーザー・モデルに移行することで、企業の環境における管理、セキュリティおよびユーザビリティの問題への解決策が提供されます。エンタープライズ・ユーザー・モデルでは、すべてのユーザー情報がLDAPディレクトリ・サービスに移動されるため、次のような利点があります。

User Migration Utilityはコマンドライン・ツールです。次のような形式の構文です。

C:¥ umu parameters

User Migration Utilityパラメータのリストを取得するには、次のように入力します。

C:¥ umu help=yes

関連項目

『Oracle Databaseエンタープライズ・ユーザー管理者ガイド』の「ユーザー移行ユーティリティの使用」 


戻る 次へ
Oracle
Copyright © 1996, 2008 Oracle Corporation.

All Rights Reserved.
目次
目次
索引
索引