Oracle Database プラットフォーム・ガイド
10gリリース2(10.2) for Microsoft Windows(x64) B25695-04 |
|
外部ユーザーおよびロールは、一般にOracle Databaseの外部のものによって定義されます。Windows環境では、オペレーティング・システムによって定義されます。
この章では、Oracle Administration Assistant for Windowsを使用するか、またはOracle Databaseコマンドライン・ツール、レジストリ エディタおよびその他のWindowsツールを組み合せて使用した、外部ユーザーおよび外部ロールの作成と管理について説明します。
注意 どちらの方法でも、Windows 2000ドメインで外部ユーザーおよびロールを管理できますが、エンタープライズ・ユーザーまたはエンタープライズ・ロールの管理には使用できません。エンタープライズ・ユーザーおよびエンタープライズ・ロールの管理に使用できるツールの詳細は、『Oracle Database Advanced Security管理者ガイド』を参照してください。 |
この章の項目は次のとおりです。
Oracle Administration Assistant for Windowsは、Microsoft管理コンソールから実行するツールです。このツールを使用すると、Windowsオペレーティング・システムで認証を行い、パスワードなしでOracle Databaseにアクセスできる、次のOracle Databaseユーザーおよびロールを構成できます。
また、Oracle Administration Assistant for Windowsでは、ローカルおよび外部データベース・ロールを作成し、Windowsドメイン・ユーザーおよびグローバル・グループに付与できます。
Oracle Administration Assistant for Windowsを使用すると、次のいずれも手動で実行する必要はありません。
CREATE USER username IDENTIFIED EXTERNALLY
この項では、Oracle Administration Assistant for Windowsを使用した、次のタスクの実行方法について説明します。
Oracle Administration Assistant for Windowsを使用してリモート・コンピュータを管理する場合は、そのリモート・コンピュータに対して管理者権限を持っている必要があります。Oracle Administration Assistant for WindowsによってOracle Databaseで作成されるユーザーの名前には、常に接頭辞としてドメイン名が付けられます。Oracle7リリース7.x以上のデータベースをリモート管理する場合は、リモート・コンピュータのレジストリ・パラメータOSAUTH_PREFIX_DOMAIN
をtrue
に設定する必要があります。このパラメータは次のキーにあります。
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名を割り当てるには、次のようにします。
US.ORACLE.COM
など)。
Oracle Administration Assistant for Windowsを初めて使用すると、ローカル・コンピュータがナビゲーション・ツリーに追加されます。その後で、他のコンピュータを追加できます。
Microsoft管理コンソールのツリーにコンピュータを追加するには、次のようにします。
Microsoft管理コンソールが起動します。
コンピュータ・アイコンが表示されます。
「コンピュータの追加」ダイアログが表示されます。
「OSデータベース管理者 - コンピュータ」ノードでは、コンピュータ上のすべてのデータベース・インスタンスに対するSYSDBA
権限を持つ、オペレーティング・システムで認証されたデータベース管理者を作成します。「OSデータベース・オペレータ - コンピュータ」ノードでは、コンピュータ上のすべてのデータベース・インスタンスに対するSYSOPER
権限を持つ、オペレーティング・システムで認証されたデータベース・オペレータを作成します。
コンピュータ上のすべてのデータベースに対するデータベース管理者(SYSDBA
)権限をデータベース管理者(DBA)に付与するには、次のようにします。
Oracle Administration Assistant for Windowsが起動します。
「OSデータベース管理者 - コンピュータ: hostname
」ダイアログ・ボックスが表示されます。
SYSDBA
権限を付与するユーザーのドメインを選択します。
ユーザーが「OSデータベース管理者 - コンピュータ」ウィンドウに表示されます。
コンピュータ上のすべてのデータベースに対するデータベース・オペレータ(SYSOPER
)権限をDBAに付与するには、次のようにします。
Oracle Administration Assistant for Windowsが起動します。
「OSデータベース・オペレータ - コンピュータ: hostname
」ダイアログ・ボックスが表示されます。
SYSOPER
権限を付与するユーザーのドメインを選択します。
ユーザーが「OSデータベース・オペレータ - コンピュータ」ウィンドウに表示されます。
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つです。
データベースに接続するには、次のようにします。
ORCL
へ接続します。Oracle Databaseに接続すると、インスタンスの下に次のようなWindowsのノードが表示されます。これらのノードが表示されない場合は、そのインスタンスをダブルクリックしてください。
ローカル・コンピュータに接続する場合、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が起動していることも確認します。
SYSDBA
権限を持っている必要があります。
SYSDBA
権限を持つ認証済のユーザーとしてWindowsで認識されている必要があります。認識されていない場合、ログオンできません。データベース認証用パラメータ設定を表示するには、次のようにします。
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_ROLES
はfalse
に設定されています。外部ロールを作成する前に、OS_ROLES
をtrue
に設定し、Oracle Databaseを再起動する必要があります。OS_ROLES
がfalse
に設定されている場合は、Oracle Databaseでデータベース・ユーザーに対するロールの付与および取消しを管理します。
OS_ROLES
がtrue
に設定された状態で、Windowsグローバル・グループに外部ロールを割り当てる場合、外部ロールはWindowsグローバル・グループ・レベルでのみ付与され、このグローバル・グループ内の個別のユーザー・レベルでは付与されません。つまり、このグローバル・グループ内の個々のユーザーに割り当てられた外部ロールは、後でユーザー名のプロパティのダイアログの「ロール」タブを使用して取り消したり編集したりすることはできません。このグローバル・グループ(つまり、すべての個別ユーザー)から外部ロールを取り消すには、かわりに「外部OSロールのNTグローバル・グループへの割当」ダイアログのフィールドを使用する必要があります。
個々のドメイン・ユーザーに割り当てられた外部ロール、または(OS_ROLES
がfalse
の状態で)個々のドメイン・ユーザーまたはWindowsグローバル・グループに割り当てられたローカル・ロールは、この影響を受けません。これらは編集または取消しが可能です。
OS_ROLES
がtrue
に設定されている場合は、どのデータベース・ユーザーに対してもデータベース内のローカル・ロールを付与できません。Windowsを介してロールを付与する必要があります。詳細は、「ローカル・データベース・ロールの作成」および
「外部オペレーティング・システム・ロールの作成」を参照してください。
Oracle Administration Assistant for Windowsの「外部OSユーザー」ノードにより、Windowsユーザーを認証し、パスワードを要求されずに外部ユーザーとしてOracle Databaseにアクセスできます。外部ユーザーは、通常のデータベース・ユーザー(データベース管理者以外)であり、このユーザーに対しては標準のデータベース・ロール(DBA
など)を割り当てますが、SYSDBA
(データベース管理者)権限またはSYSOPER
(データベース・オペレータ)権限は割り当てません。
外部オペレーティング・システム・ユーザーを作成するには、次のようにします。
外部OSユーザーの作成ウィザードが起動し、ウィザードのステップ1のダイアログ・ボックスが表示されます。ステップ1のダイアログ・ボックスは、「外部OSユーザーの作成ウィザード、ステップ1/3: Windowsユーザーとグループ」です。
割り当てられたプロパティが表示されます。
Oracle Administration Assistant for Windowsの「ローカル・ロール」ノードにより、ロールを作成し、そのロールをデータベースで管理できます。一度ローカル・ロールを作成すると、データベース・ユーザーに対してそのロールを付与したり、取り消したりできます。ローカル・データベース・ロールを作成するには、次のようにします。
ローカル・ロールの作成ウィザードが起動し、ウィザードのステップ1のダイアログ・ボックスが表示されます。ステップ1のダイアログ・ボックスは、「ローカル・ロールの作成ウィザード、ステップ1/3: 名前と認証」です。
パスワードでこのロールを保護する場合は、「パスワード」を選択します。これらのロールは、SET ROLE
コマンドでパスワードを指定した場合にのみ使用できます。詳細は、『Oracle Database 2日でデータベース管理者』を参照してください。
このロールで使用するパスワードを入力します。
確認のためにパスワードを再度入力します。
「付与されたシステム権限」フィールドに、ローカル・ロールに付与されたシステム権限のリストが表示されます。システム権限を取り消すには、その権限を選択して「取消」を選択します。
「権限付与されたロール」フィールドに、ロールに付与されたロールのリストが表示されます。ローカル・ロールおよび外部ロールの両方がこのリストに表示されます。ロールを取り消すには、そのロールを選択して「取消」を選択します。
Oracle Administration Assistant for Windowsの「外部OSロール」ノードにより、外部ロールを作成し、そのロールをWindowsオペレーティング・システムで管理できます。一度外部ロールを作成すると、データベース・ユーザーに対してそのロールを付与したり、取り消したりできます。外部ロールを作成するには、次のようにします。
外部OSロールの作成ウィザードが起動し、ウィザードのステップ1のダイアログ・ボックスが表示されます。ステップ1のダイアログ・ボックスは、「外部OSロールの作成ウィザード、ステップ1/3: 名前」です。このダイアログ・ボックスには「認証: 外部」と表示され、外部ロールのみを作成できることが示されます。
「システム権限」ダイアログ・ボックスが表示されます。
「ロール」ダイアログ・ボックスが表示されます。
「権限付与されたロール」フィールドに、外部ロールに付与されたロールのリストが表示されます。
Oracle Administration Assistant for Windowsの「OSデータベース管理者」ノードにより、コンピュータ上の特定のインスタンスに対するSYSDBA
権限を持つWindowsユーザーを認証できます。単一データベースに対する管理者(SYSDBA
)権限を付与するには、次のようにします。
「OSデータベース管理者: instance
」ダイアログ・ボックスが表示されます。次に示す例では、インスタンスはMARK
です。
SYSDBA
権限を付与するユーザーのドメインを選択します。
ユーザーが「OSデータベース管理者」フィールドに表示されます。
Oracle Administration Assistant for Windowsの「OSデータベース・オペレータ」ノードにより、コンピュータ上の特定のインスタンスに対するSYSOPER権限を持つWindowsユーザーを認証できます。単一データベースに対するオペレータ(SYSOPER)権限を付与するには、次のようにします。
「OSデータベース・オペレータ: instance
」ダイアログ・ボックスが表示されます。次に示す例では、インスタンスはMARK
です。
SYSOPER
権限を付与するユーザーのドメインを選択します。
ユーザーが「OSデータベース・オペレータ」フィールドに表示されます。
Oracle Administration Assistant for Windowsを使用するかわりに、管理者、オペレータ、ユーザーおよびロールを手動で構成して、オペレーティング・システムに認証させることができます。手動による構成では、Oracle Databaseのコマンドライン・ツールを使用して、レジストリを編集し、「Active Directoryユーザーとコンピュータ」でローカル・グループを作成します。
次のものはすべて、Oracle Databaseにパスワードなしでアクセスできるように手動で構成することができます。
また、ローカルおよび外部データベース・ロールを手動で作成し、Windowsドメイン・ユーザーおよびグローバル・グループに付与できます。
この項では、次の内容について説明します。
この項では、Windowsを使用して外部オペレーティング・システム・ユーザー(データベース管理者以外)を認証し、パスワードなしでデータベースにアクセスできるようにする方法を説明します。Windowsを使用して外部オペレーティング・システム・ユーザーを認証する場合、データベースのユーザー名へのアクセス制限は、オペレーティング・システムにのみ依存します。
次の手順では、2つのWindowsユーザー名が認証されます。
ローカル・ユーザーfrank
は、ローカルのWindowsクライアント・コンピュータにログオンし、Oracle Databaseサーバーにアクセスします。Oracle Databaseサーバーは、別のコンピュータにあっても構いません。他のコンピュータ上にある他のデータベースおよびリソースにアクセスする場合、ローカル・ユーザーは毎回ユーザー名およびパスワードを入力する必要があります。
ドメインsales
のドメイン・ユーザーfrank
は、多数の他のWindowsコンピュータおよびリソースを含み、そのうちの1つにOracle Databaseサーバーがあるsales
ドメインにログオンします。ドメイン・ユーザーは、ドメインのすべてのリソースに1つのユーザー名およびパスワードでアクセスできます。
手順には次の2つがあり、作業が実行されるコンピュータにより異なります。
OS_AUTHENT_PREFIX
をinit.ora
ファイルに追加します。OS_AUTHENT_PREFIX
の値は、オペレーティング・システムのユーザー名およびパスワードを使用してサーバーに接続を試みる、ローカルまたはドメインのユーザー名に接頭辞として付けられます。この接頭辞付きのユーザー名は、接続要求が試行された場合にデータベース内のOracle Databaseユーザー名と比較されます。クライアントからサーバーへの安全で信頼性の高い接続を実行するために、Windows認証方式では、パラメータOS_AUTHENT_PREFIX
を使用することをお薦めします。
OS_AUTHENT_PREFIX
の値を設定します。選択肢は次のとおりです。
たとえば、xyz
と指定すると、Windowsのユーザー名の先頭に、接頭辞としてxyz
が付きます(たとえば、ローカル・ユーザーfrank
はxyzfrank
になり、ドメインsales
のドメイン・ユーザーfrank
はxyzsales¥frank
になります)。文字列値には、大文字と小文字の区別がありません。
""
(間にスペースのない2つの二重引用符)推奨値。この値を使用すると、Windowsのユーザー名に接頭辞を付ける必要がなくなります(たとえば、ローカル・ユーザーfrank
はfrank
になり、ドメインsales
のドメイン・ユーザーfrank
はsales¥frank
になります)。
OS_AUTHENT_PREFIX
に値を指定しないと、デフォルトでOPS$
に設定されます(たとえば、ローカル・ユーザーfrank
はOPS$frank
になり、ドメインsales
のドメイン・ユーザーfrank
はOPS$sales¥frank
になります)。
frank
のWindowsローカル・ユーザー名を作成するか、「Active Directoryユーザーとコンピュータ」でfrank
のドメイン・ユーザー名を作成します(適切な名前が現在存在しない場合)。詳細は、オペレーティング・システムのドキュメントを参照してください。
sales
のfrank
ではなく、単にfrank
の場合など)のみ、次の手順を実行します。それ以外の場合は、手順8に進みます。
true
と入力し、ドメイン・レベルでの認証を可能にします。ローカル・ユーザーfrank
、sales
のドメイン・ユーザーfrank
、あるいはその他のドメインのドメイン・ユーザーfrank
など、ネットワーク上に複数のfrank
というユーザー名が存在する場合があります。true
に設定すると、サーバーではそれぞれが区別されます。false
に設定すると、ドメインは無視され、ローカル・ユーザーfrank
がオペレーティング・システム・ユーザーのデフォルト値になり、サーバーに返されます。
レジストリ エディタによりそのパラメータが追加されます。
レジストリ エディタが終了します。
sqlnet.ora
のパラメータSQLNET.AUTHENTICATION_SERVICES
に、nts
が含まれていることを確認します。
C:¥> sqlplus /NOLOG
SQL> CONNECT Enter user-name: SYSTEM/password
変更がなければ、SYSTEM
のパスワードは、デフォルトではMANAGER
です。
SQL> CREATE USER xyzfrank IDENTIFIED EXTERNALLY;
xyz
は初期化パラメータOS_AUTHENT_PREFIX
に対して選択した値です。また、frank
はWindowsローカル・ユーザー名です。
SQL> GRANT DBA TO xyzfrank;
SQL> CREATE USER "XYZSALES¥FRANK" IDENTIFIED EXTERNALLY;
XYZ
は初期化パラメータOS_AUTHENT_PREFIX
に対して選択した値です。また、SALES¥FRANK
はドメイン名およびWindowsドメイン・ユーザー名です。二重引用符は必須で、構文はすべて英大文字で入力する必要があります。
SQL> GRANT DBA TO "XYZSALES¥FRANK";
二重引用符は必須で、構文はすべて英大文字で入力する必要があります。
SYSDBA
名でデータベースに接続します。
SQL> CONNECT / AS SYSDBA
SQL> SHUTDOWN
SQL> STARTUP
これにより、パラメータOS_AUTHENT_PREFIX
の変更が有効になります。
frank
を作成します(適切な名前が現在存在しない場合)。
sqlnet.ora
のパラメータSQLNET.AUTHENTICATION_SERVICES
に、nts
が含まれていることを確認します。
C:¥> sqlplus /NOLOG
SQL> CONNECT /@connect_identifier
connect_identifier
は、Oracle Databaseのネット・サービス名です。
Oracle Databaseにより、Windowsローカル・ユーザー名またはドメイン・ユーザー名に対応する自動ログオン・ユーザー名がデータ・ディクショナリで検索および検証され、xyzfrank
またはxyzsales¥frank
での接続が可能になります。
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
この項では、Windowsにより、データベース管理者(SYSDBA
)権限およびデータベース・オペレータ(SYSOPER
)権限を、データベース管理者に対して付与する方法を説明します。この権限が付与されると、データベース管理者はクライアント・コンピュータから次のコマンドを発行し、パスワードを入力せずにOracle Databaseに接続できます。
CONNECT / AS SYSOPER CONNECT / AS SYSDBA
この機能を使用できるようにするには、データベース管理者のWindowsローカル・ユーザー名またはドメイン・ユーザー名が、表9-1に示されたWindowsローカル・グループのいずれかに属している必要があります。
ローカル・グループ | 権限 |
---|---|
|
コンピュータ上のすべてのデータベースに対する |
|
コンピュータ上のすべてのデータベースに対する |
|
単一データベースに対する |
|
単一データベースに対する |
1
ORA_DBA はインストール中に自動的に作成されます。詳細は、「インストール時に使用可能になるオペレーティング・システムの認証」を参照してください。 |
データベース管理者がSYSOPER
またはSYSDBA
としてパスワードなしで接続できるように手動で設定する手順には次の2つがあり、タスクが実行されるコンピュータにより異なります。
sqlnet.ora
のパラメータSQLNET.AUTHENTICATION_SERVICES
に、nts
が含まれていることを確認します。
C:¥>regedit
¥HKEY_LOCAL_MACHINE¥SOFTWARE¥ORACLE¥HOME
ID
に移動します。ID
は、編集するOracleホームです。
OSAUTH_PREFIX_DOMAIN
をtrue
に設定します。
sqlnet.ora
のパラメータSQLNET.AUTHENTICATION_SERVICES
に、nts
が含まれていることを確認します。
C:¥> sqlplus /NOLOG
SQL> SET INSTANCE net_service_name
net_service_name
は、Oracle DatabaseのOracle Netのネット・サービス名です。
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権限が付与されます。
この項では、WindowsでOracle Databaseロール(外部ロールとも呼ばれます)をユーザーに直接付与する方法を説明します。Windowsを使用してユーザーを認証する場合、Windowsローカル・グループによりこれらのユーザーに外部ロールを付与できます。
ユーザーが接続すると、これらのロールに対するすべての権限がアクティブになります。外部ロールを使用する場合、すべてのロールはオペレーティング・システムを介して付与および管理されます。外部ロールとOracle Databaseロールの両方を同時に使用することはできません。
次の例を考えてみます。外部ロールを使用できるように設定し、ドメイン・ユーザー名sales¥frank
(sales
はドメイン名、frank
はドメイン・ユーザー名)でWindowsドメインにログオンします。次に、Oracle Databaseユーザーscott
として、Oracle Databaseに接続します。この場合、sales¥frank
に付与されたロールは割り当てられますが、scott
に付与されたロールは割り当てられません。
外部ロールを手動で作成する手順には次の2つがあり、認証タスクが実行されるコンピュータにより異なります。
OS_ROLES
をinit.ora
ファイルに追加します。
OS_ROLES
をtrue
に設定します。 デフォルトの設定では、このパラメータはfalse
です。
sqlnet.ora
のパラメータSQLNET.AUTHENTICATION_SERVICES
に、nts
が含まれていることを確認します。
C:¥> sqlplus /NOLOG
SQL> CONNECT / AS SYSDBA
DBSALES3
というロール名を使用します。
SQL> CREATE ROLE DBSALES3 IDENTIFIED EXTERNALLY;
DBSALES3
に付与します。
SQL> GRANT DBA TO DBSALES3 WITH ADMIN OPTION;
SYSDBA
でデータベースに接続します。
SQL> CONNECT / AS SYSDBA
SQL> SHUTDOWN
SQL> STARTUP
ORA_sid_rolename[_D][_A]
それぞれの意味は次のとおりです。
sid
は、データベース・インスタンスを示します。
rolename
は、付与されるデータベース・ロールを示します。
D
は、このデータベース・ロールをデータベース・ユーザーのデフォルト・ロールにすることを示します。
A
は、このデータベース・ロールがADMIN
OPTION
を含むことを示します。
文字D
およびA
はオプションです。指定する場合は、これらの文字の前にアンダースコアが必要です。
この例では、ORA_orcl_dbsales3_D
が作成されます。
複数のデータベース・ロールを作成し、次の表に示すように、それぞれ異なるオプションで複数のWindowsグループに付与できます。ORCL
インスタンスに接続し、Windowsにより次の4つのWindowsローカル・グループすべてのメンバーとして認証されたユーザーは、デフォルトでdbsales3
およびdbsales4
に関連付けられた権限を付与されます(オプション_D
が指定されているためです)。このようなユーザーが最初にdbsales3
またはdbsales4
のメンバーとして接続し、SET ROLE
コマンドを使用すると、データベース・ロールdbsales1
およびdbsales2
にもアクセスできます。ただし、ユーザーが最初にデフォルトのロールで接続せずに、dbsales1
またはdbsales2
で接続を試みても、接続できません。また、このようなユーザーは、dbsales2
およびdbsales4
をその他のロールに付与できます(オプション_A
が指定されているためです)。
データベース・ロール | Windowsグループ |
---|---|
|
|
|
|
|
|
|
|
sqlnet.ora
のパラメータSQLNET.AUTHENTICATION_SERVICES
に、nts
が含まれていることを確認します。
C:¥> sqlplus /NOLOG
SQL> SET INSTANCE connect_identifier
connect_identifier
は、手順3で作成した、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管理者ガイド』を参照してください。 |
ローカル・ユーザーまたは外部ユーザーは、User Migration Utilityを使用してエンタープライズ・ユーザーに移行できます。データベース・ユーザー・モデルからエンタープライズ・ユーザー・モデルに移行することで、企業の環境における管理、セキュリティおよびユーザビリティの問題への解決策が提供されます。エンタープライズ・ユーザー・モデルでは、すべてのユーザー情報がLDAPディレクトリ・サービスに移動されるため、次のような利点があります。
User Migration Utilityはコマンドライン・ツールです。次のような形式の構文です。
C:¥ umu parameters
User Migration Utilityパラメータのリストを取得するには、次のように入力します。
C:¥ umu help=yes
|
Copyright © 1996, 2008 Oracle Corporation. All Rights Reserved. |
|