この章では、ユーザー・アカウントを作成および管理する方法について説明します。この章の内容は、次のとおりです。
データベースにアクセスするユーザーに対して、ユーザー・アカウントを作成し、適切なデータベースへのアクセス権限をこれらのアカウントに付与する必要があります。ユーザー・アカウントはユーザー名で識別されます。次のユーザー属性を定義します。
認証方式
データベース認証パスワード
永続および一時データ記憶域のデフォルト表領域
表領域の割当て制限
アカウント・ステータス(ロックまたはロック解除)
パスワード・ステータス(有効または無効)
ユーザー・アカウントを作成すると、ユーザー名、パスワード、アカウント用のデフォルト表領域を割り当てるのみでなく、次の手順を実行する必要があります。
アカウントに適切なシステム権限、オブジェクト権限およびロールを付与します。
ユーザーがデータベース・オブジェクトを作成する場合、オブジェクトが作成される各表領域のユーザー・アカウントに領域使用量の割当て制限を設定します。
各ユーザーには、担当する作業に必要な権限のみを付与する(それ以上は付与しない)ことをお薦めします。たとえば、データベース・アプリケーション開発者には、表、索引、ビューおよびストアド・プロシージャを作成および変更する権限が必要ですが、表領域を削除またはデータベースをリカバリする権限は必要ありません。データベース管理のためのユーザー・アカウントを作成し、一部の管理権限のみをそれらのアカウントに付与することができます。
また、アプリケーションからのみ使用できるユーザー・アカウントを作成することもできます。このアカウントでログインできるユーザーはいませんが、アプリケーションがこのアカウントを使用してデータベースに接続し、ユーザーがアプリケーションにログインします。このタイプのユーザー・アカウントでは、アプリケーション・ユーザーがデータベースに直接ログインして、不測の事態が発生することを防止します。詳細は、「ユーザー権限およびロールについて」を参照してください。
ユーザー・アカウントを作成すると、そのユーザーのためのスキーマも同時に作成されます。スキーマは、表やビュー、トリガーなどの、データベース・オブジェクトの論理的なコンテナです。スキーマ名はユーザー名と同一で、ユーザーが所有するオブジェクトを参照するときに確実に使用できます。たとえば、hr.employees
は、hr
スキーマでemployees
という名前の表を参照します。(employees
表はhr
によって所有されます。)データベース・オブジェクトおよびスキーマ・オブジェクトという用語は同じ意味で使用されます。
ユーザーを削除する場合は、同時にすべてのスキーマ・オブジェクトを削除するか、別の操作によってスキーマ・オブジェクトを事前に削除しておく必要があります。
事前定義されたユーザー・アカウント
データベースには、作成したユーザー・アカウントに加えて、インストール時に自動的に作成された複数のユーザー・アカウントが含まれます。
すべてのデータベースには、管理アカウントSYS
、SYSTEM
、SYSMAN
およびDBSNMP
が含まれています。管理アカウントは高度な権限を持つアカウントであり、データベースの起動と停止、データベース・メモリーと記憶域の管理、データベース・ユーザーの作成と管理などの管理タスクを実行する権限のあるユーザーのみに必要です。Oracle Enterprise Manager Database Control(Database Control)にログインする場合は、SYS
、SYSTEM
またはSYSMAN
を使用します。の管理エージェントは、DBSNMP
アカウントを使用してデータベースの監視および管理を行います。Database Configuration Assistant(DBCA)でデータベースを作成する際に、これらのアカウントのパスワードを割り当てます。これらのアカウントは削除することができません。
すべてのデータベースには、個別のOracle Databaseの機能またはコンポーネントが固有のスキーマを保持できるように自動的に作成される内部のアカウントも含まれます。これらのアカウントを権限のないアクセスから保護するために、これらは最初にロックされ、これらのパスワードは期限切れになります(ロックされたアカウントはログインを無効化するアカウントです)。内部アカウントを削除したり、内部アカウントを使用してデータベースにログインする必要はありません。
データベースにはサンプル・スキーマが含まれています。これは、連結されたスキーマのセットで、共通のデータベース・タスクに関するOracleドキュメントおよび資料を表示できます。また、このスキーマを使用して、本番データを危険にさらさずに試験を行えます。
各サンプル・スキーマには関連付けられたユーザー・アカウントがあります。たとえば、hr
ユーザー・アカウントはhr
スキーマを所有します。このスキーマには人事管理アプリケーションの簡単な表のセットがあります。サンプル・スキーマのアカウントは、最初はロックされていて、パスワードが期限切れになっています。データベース管理者は、これらのアカウントのロックを解除しパスワードを割り当てます。
関連項目:
|
ユーザー権限は基本レベルのデータベース・セキュリティを提供します。ユーザー権限はデータへのユーザーのアクセスの制御およびユーザーが拡張できるSQL文の種類の制限をするように設計されています。ユーザーを作成する場合は、権限を付与してユーザーのデータベースへの接続を有効化、問合せの実行と更新の作成、スキーマ・オブジェクトの作成などを行います。
システム権限: システム権限は、ユーザーが特定のアクションまたは特定の種類のスキーマ・オブジェクトでアクションを実行できるようにする権限です。たとえば、CREATE
TABLE
システム権限はユーザーと関連付けられたスキーマで表の作成を、CREATE
USER
システム権限はユーザーにデータベース・ユーザーの作成を可能にします。
オブジェクト権限: オブジェクト権限は、ユーザーが固有のスキーマ・オブジェクトに対して特定のアクションを実行できるようにする権限です。様々なオブジェクト権限が様々なタイプのスキーマ・オブジェクトに使用されます。例として、EMPLOYEES
表から行を選択する権限、またはDEPARTMENTS
表から行を削除する権限などがあります。
ロールを使用すると、権限の管理はより簡単になります。ロールは関連する権限のグループ名が付けられます。ユーザーはロールを作成し、ロールにシステムおよびオブジェクト権限を付与し、その後ユーザーにロールを付与できます。また、他のロールにロールを付与することもできます。スキーマ・オブジェクトとは異なり、ロールはいずれのスキーマにも含まれません。
表7-1に、Oracle Databaseで事前定義され広く使用されている3つのロールを示します。この3つのロールは、ユーザーを作成する際、または作成後にいつでも付与できます。
表7-1 Oracle Databaseの事前定義されたロール
ロール名 | 説明 |
---|---|
ユーザーのデータベースへの接続を可能にします。このロールをデータベース・アクセスが必要なユーザーまたはアプリケーションに付与します。Database Controlを使用してユーザーを作成すると、このロールは自動的にユーザーに付与されます。 |
|
そのユーザーに関連付けられたスキーマで特定タイプのスキーマ・オブジェクトの作成、変更および削除を可能にします。このロールは開発者やスキーマ・オブジェクトの作成が必要なその他のユーザーにのみ付与されます。このロールにより、オブジェクト・システムの作成権限のサブセットが付与されます。たとえば、 |
|
ユーザーの作成および権限の付与、ロールの作成および付与、あらゆるスキーマでのスキーマ・オブジェクトの作成、変更および削除などを含むほとんどの管理機能をユーザーが実行することを可能にします。これはすべてのシステム権限を付与しますが、データベース・インスタンスの起動または停止の権限は含まれません。この権限はデフォルトで |
関連項目:
|
管理アカウントおよび管理権限により、ユーザーの管理、データベース・メモリーの管理、データベースの起動および停止などの管理機能を実行できます。
この項の内容は次のとおりです。
次の管理ユーザー・アカウントはOracle Databaseをインストール時に自動的に作成されます。インストールの際に適用したパスワードを使用しても作成できます。どちらも自動的にDBA
ロールが付与されます。
SYS
このアカウントでは、すべての管理機能を実行できます。データベースのデータ・ディクショナリ用のすべての実表およびベース・ビューはSYS
スキーマに保存されます。これらの実表およびベース・ビューはOracle Databaseを操作する際に重要となります。データ・ディクショナリの整合性を保持するには、SYS
スキーマ内の表をデータベースのみで操作します。すべてのユーザーまたはデータベース管理者による変更は絶対に行わないでください。また、SYS
スキーマ内に表を作成しないでください。
SYS
ユーザーにはSYSDBA
権限が付与され、この権限によりバックアップやリカバリのような高水準な管理タスクを実行できます。
SYSTEM
このアカウントは、次の例外を除いたすべての管理機能を実行します。
バックアップとリカバリ
データベース・アップグレード
このアカウントを使用して日常的な管理タスクを実行できますが、Oracle Databaseを管理するための名前付きユーザー・アカウントを作成して、データベース・アクティビティを監視できるようにすることを薦めします。
SYSDBA
およびSYSOPER
はデータベースの作成、起動、停止、バックアップまたはリカバリなどの高度な管理操作を実行するために必要な管理権限です。SYSDBA
システム権限は、すべての権限を持つデータベース管理者用、SYSOPER
システム権限は、基本的な運用タスクを実行するがユーザー・データを表示する権限は持たないユーザー用です。
SYSDBA
およびSYSOPER
は、データベースがオープンでないときもデータベース・インスタンスにアクセスできるシステム権限です。これらの権限の制御は完全にデータベース外で行われています。この制御により、これらの権限のいずれかを付与されている管理者は、データベース・インスタンスに接続してデータベースを起動できます。
SYSDBA
権限およびSYSOPER
権限は、他の方法では権限が付与されない特定のデータベース操作を実行可能にする接続のタイプと考えることもできます。たとえば、SYSDBA
権限がある場合、AS SYSDBA
を使用してデータベースに接続できます。
SYS
ユーザーはインストール後すぐにSYSDBA
の権限を自動的に付与されます。SYS
ユーザーとしてログインする場合、SYSDBA
またはSYSOPER
としてデータベースに接続する必要があります。SYSDBA
ユーザーとして接続すると、SYSDBA
権限が発動され、SYSOPER
ユーザーとして接続すると、SYSOPER
権限が発動されます。Oracle Enterprise Manager Database Controlでは、SYSDBA
またはSYSOPER
として接続しないと、SYS
ユーザーとしてログインできません。
SYSDBA
またはSYSOPER
権限で接続すると、通常はユーザー名に関連付けられているスキーマではなく、デフォルトのスキーマで接続が確立されます。このスキーマは、SYSDBA
の場合はSYS
、SYSOPER
の場合は、PUBLIC
です。
関連項目:
|
ロールは、関連するシステムおよびオブジェクト権限の名前付きグループです。ロールを作成し、ユーザーおよび他のロールに割り当てます。
この項の内容は次のとおりです。
ロールは、Oracle Enterprise Manager Database Control(Database Control)のロール・ページで確認できます。
ロールを表示するには、次の手順を実行します。
データベースのホームページにアクセスし、ロールを管理する権限を持つユーザー・アカウントでログインします。このようなユーザー・アカウントの例はSYSTEM
です。
詳細は、「データベースのホームページのアクセス」を参照してください。
ページ上部の「サーバー」をクリックし、サーバー・サブページを表示します。
「セキュリティ」セクションで、「ロール」をクリックします。
ロール・ページが表示されます。
特定のロールの詳細を表示するには、「選択」列で表示するロールの名前を選択し、「表示」をクリックします。
ロールが表示されない場合は、別のページに表示されている可能性があります。この場合、次のいずれかの操作を行います。
ロールのリストの上部の「次へ」をクリックし、次のページを表示します。該当するロールが見つかるまで「次へ」をクリックし続けます。
そのページの「検索」エリアを使用して、該当するロールを検索します。「オブジェクト名」フィールドに、ロールの最初の数文字を入力して「実行」をクリックします。
ロールを選択し、「表示」をクリックします。
ロールの表示ページが表示されます。このページでは、選択済のロールに付与されたすべての権限およびロールを表示できます。
アプリケーション開発者用にAPPDEV
と呼ばれるロールを作成すると想定します。アプリケーション開発者はアプリケーションで使用するスキーマ・オブジェクトの作成、変更および削除を行う必要があるため、APPDEV
ロールには表7-2に示すシステム権限を含めます。
表7-2 APPDEVロールに付与されたシステム権限
権限 | 説明 |
---|---|
|
スキーマで表をユーザーが作成、変更および削除することを可能にします。 |
|
スキーマでビューをユーザーが作成、変更および削除することを可能にします。 |
|
スキーマでプロシージャをユーザーが作成、変更および削除することを可能にします。 |
|
スキーマでトリガーをユーザーが作成、変更および削除することを可能にします。 |
|
スキーマでシーケンスをユーザーが作成、変更および削除することを可能にします。 |
|
スキーマでシノニムをユーザーが作成、変更および削除することを可能にします。 |
APPDEVロールを作成するには、次の手順を実行します。
「ロールの表示」に従って、ロール・ページに移動します。
「作成」をクリックします。
ロールの作成ページが表示されます。
「名前」フィールドにAPPDEV
と入力します。
「システム権限」をクリックし、システム権限サブページに移動します。
このロールに対するシステム権限の表にはまだ行は含まれません。
「リストを編集」をクリックします。
システム権限の変更ページが表示されます。
「使用可能なシステム権限」リストで権限をダブルクリックして、「選択したシステム権限」リストに追加します。
追加する権限は、表7-2に示されています。
注意: 権限をダブルクリックすると簡単にできます。また、権限を選択して「移動」ボタンをクリックすることもできます。複数の権限を選択するには、[Shift]キーを押しながら権限の範囲を選択するか、または[Ctrl]キーを押して個々の権限を選択し、権限を選択した後に「移動」をクリックします。 |
「OK」をクリックします。
システム権限サブページに戻り、選択済のシステム権限が表示されます。この時点で、「ロール」をクリックしてAPPDEV
ロールにその他のロールを割り当てます。または「オブジェクト権限」をクリックしてAPPDEV
ロールにオブジェクト権限を割り当てます。
「OK」をクリックし、ロール・ページに戻ります。
APPDEV
ロールはデータベース・ロール表に表示されます。
Oracle Streams Advanced Queuingをアプリケーションで使用すると想定します。その場合、開発者がアプリケーションの開発およびテストにAQ_ADMINISTRATOR_ROLE
およびAQ_USER_ROLE
が必要かどうかを決定します。この2つのAdvanced Queuingロールを付与するには、APPDEV
ロールを編集する必要があります。
APPDEVロールを変更するには、次の手順を実行します。
「ロールの表示」に従って、ロール・ページに移動します。
「選択」列でクリックしてAPPDEVロールを選択し、「編集」をクリックします。
ロールの編集ページが表示されます。
「ロール」をクリックし、ロール・サブページにナビゲートします。
「リストを編集」をクリックします。
ロールの変更ページが表示されます。
「使用可能なロール」リストでAQ_ADMINISTRATOR_ROLE
およびAQ_USER_ROLE
ロールをダブルクリックし、「選択したロール」リストに追加します。
「OK」をクリックします。
ロール・サブページに戻ります。 APPDEV
ロールに付与された選択したロールが表示されます。
「適用」をクリックして、変更内容を保存します。
APPDEV
ロールが正常に変更されたことを含む更新メッセージが表示されます。
ロールを削除する場合、そのロールが現在1人以上のユーザーに付与されていても、Database Controlはロールを削除するため注意が必要です。ロールを削除する前に、そのロールが付与されているユーザーがいないかどうかを確認します。ロールを削除すると、そのロールを付与されたすべてのユーザーから、そのロールに関連付けられた権限が自動的に削除されます。
ロールに権限受領者がいるかどうか判別するには、次の手順を実行します。
「ロールの表示」で説明されているとおりに、ロール・ページに移動します。
「選択」列で、必要なロールをクリックします。
目的のロールが表示されない場合は、別のページに表示されている可能性があります。この場合、次のいずれかの操作を行います。
ロールのリストの上部の「次へ」をクリックし、次のページを表示します。該当するロールが見つかるまで「次へ」をクリックし続けます。
そのページの「検索」エリアを使用して、該当するロールを検索します。「オブジェクト名」フィールドに、ロールの最初の数文字を入力して「実行」をクリックします。
ロールを選択できます。
「アクション」リストで、「権限受領者の表示」を選択して「実行」をクリックします。
選択したロールが付与されたユーザーを表示したレポートが表示されます。
「取消」をクリックし、ロール・ページに戻ります。
ロールを削除するには、次の手順を実行します。
「ロールの表示」で説明されているとおりに、ロール・ページに移動します(そのページに移動していない場合)。
「選択」列で、必要なロールをクリックし、「削除」をクリックします。
確認ページが表示されます。
「はい」をクリックします。
確認メッセージはロールが正常に削除されたことを示します。
この項では、データベースのユーザーおよびアプリケーションのユーザー・アカウントを作成し管理する方法を提供します。この付録には、次の項があります。
ユーザー・アカウントは、Oracle Enterprise Manager Database Control(Database Control)のユーザー・ページで確認できます。
ユーザーを表示するには、次の手順を実行します。
データベースのホームページに移動し、ユーザーを管理する権限を持つユーザー・アカウント(SYSTEM
など)でログインします。
詳細は、「データベースのホームページのアクセス」を参照してください。
ページ上部の「サーバー」をクリックし、サーバー・サブページを表示します。
「セキュリティ」セクションで、「ユーザー」をクリックします。
ユーザー・ページが表示されます。
特定のユーザーの詳細を表示するには、「選択」列でユーザーをクリックし、「表示」をクリックします。
ユーザーが表示されない場合は、別のページに表示されている可能性があります。この場合、次のいずれかの操作を行います。
ユーザーのリストの上部の「次へ」をクリックし、次のページを表示します。該当するユーザーが見つかるまで「次へ」をクリックし続けます。
そのページの「検索」エリアを使用して、該当するユーザーを検索します。「オブジェクト名」フィールドに、ユーザー名の最初の数文字を入力して「実行」をクリックします。
表のデータのソート順序を変更するには、表の列をクリックします。たとえば、ユーザーを逆アルファベット順にリストするには、「ユーザー名」列ヘッダーをクリックします。
ユーザーを選択し、「表示」をクリックします。
ユーザーの表示ページが表示され、すべてのユーザー属性が表示されます。
Nickという名前のデータベース・アプリケーション開発者用のユーザー・アカウントを作成すると想定します。Nickは開発者であるため、アプリケーションを構築およびテストするために、彼に必要なデータベース権限およびロールを付与する必要があります。また、その表領域でスキーマ・オブジェクトを作成できるように、デフォルト表領域に10MBの領域割当て制限をNickに付与する必要があります。
Nickという名前のユーザーを作成するには、次の手順を実行します。
「ユーザー・アカウントの表示」に従って、ユーザー・ページに移動します。
ユーザー・ページで、「作成」をクリックします。
ユーザーの作成ページが表示されます。一般サブページが表示されます。
「名前」フィールドにNICK
と入力します。
プロファイル・リストで、値DEFAULT
を受け入れます。
この設定によりデフォルトのパスワード・ポリシーがユーザーNickに割り当てられます。
詳細は、「データベースのパスワード・ポリシーの設定」を参照してください。
認証リストのデフォルト値Password
を許可します。
ユーザーを認証するためのより高度な方法の詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。
「パスワードの入力」および「パスワードの確認」フィールドに、セキュアなパスワードを入力します。
セキュアなパスワードを作成します。詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。
「期限切れパスワード」は選択しないでください。アカウント・ステータスが期限切れに設定された場合、ユーザーまたはデータベース管理者はユーザーがデータベースにログインする前にパスワードを変更する必要があります。
(オプション)「デフォルト表領域」フィールドの横の懐中電灯アイコンをクリックして、USERS表領域を選択し、「選択」をクリックします。
Nickが作成するすべてのスキーマ・オブジェクトは、他を指定しないかぎりUSERS
表領域に作成されます。「デフォルト表領域」フィールドを空白のままにすると、Nickは新しくインストールするデータベースのデフォルト表領域としてUSERS
を割り当てられます。USERS
表領域の詳細は、「表領域について」を参照してください。
(オプション)「一時表領域」フィールドの横の懐中電灯アイコンをクリックして、TEMP表領域を選択し、「選択」をクリックします。
「一時表領域」フィールドを空白のままにすると、Nickは新しくインストールするデータベースのデフォルト一時表領域としてTEMP
を割り当てられます。TEMP
表領域の詳細は、「表領域について」を参照してください。
「ステータス」オプションについては、デフォルトの「ロック解除」をそのまま使用します。
ユーザー・アカウントを使用されないように後でロックできます。ユーザー・アカウントの削除によりユーザーが所有するすべてのスキーマ・オブジェクトも同時に削除されてしまうのを防ぐため、一時的にユーザー・アカウントへのアクセスを拒否するにはユーザー・アカウントを削除せずにロックします。
「例: ユーザー・アカウントへの権限およびロールの付与」の手順に従って、ユーザーに、ロール、システム権限およびオブジェクト権限を付与します。
「例: ユーザー・アカウントへの表領域の割当て制限の割当て」の説明に従って、10MBの割当て制限をUSERS
表領域に割り当てます。
表領域の割当て制限を割り当てるとき(前の手順)に「OK」をクリックしなかった場合、「OK」をクリックしてユーザーを作成します。
既存のユーザー・アカウントと属性が同じユーザー・アカウントを作成する場合は、既存のユーザー・アカウントを複製できます。
既存のユーザー・アカウントを複製して新規ユーザー・アカウントを作成するには、次の手順を実行します。
「ユーザー・アカウントの表示」に従って、ユーザー・ページに移動します。
「選択」列で、複製するユーザーをクリックします。
「アクション」リストで、「類似作成」を選択して「実行」をクリックします。
ユーザーの作成ページが表示されます。このページには複製されたユーザーとして同じ属性を持った新しいユーザーが表示されます。
ユーザー名およびパスワードを入力し、必要に応じてユーザー属性または権限を変更します。次に「OK」をクリックし、新規ユーザーを保存します。
「アクション」リストは他のアクションへのショートカットおよびユーザーの作成に使用されるSQLコマンドを表示する方法を示します。
Nickという名前のユーザー・アカウントを作成または変更すると想定します。Nickはデータベース・アプリケーション開発者であるため、自身のスキーマでデータベース・オブジェクトを作成できるように、APPDEV
ロールをNickに付与する必要があります。(「例: ロールの作成」でAPPDEV
ロールを作成済です。)また、自身のスキーマ以外のスキーマで表やビューを作成できるようにする場合は、CREATE
ANY
TABLE
およびCREATE
ANY
VIEW
のシステム権限を付与します。また、Nickは人事管理アプリケーションを開発するため、hr
サンプル・スキーマにある表を表示して例として使用できるようにする必要があります。したがって、これらの表のSELECT
オブジェクト権限を付与する必要もあります。最後に、NickがDatabase Controlにログインして、データベース・オブジェクトを作成および管理するためのGraphical User Interfaceを使用できるようにする必要があります。したがって、SELECT_CATALOG_ROLE
ロールをNickに付与する必要があります。次の表は、Nickに付与する権限およびロールを示しています。
権限付与タイプ | 権限またはロール名 |
---|---|
システム権限 | CREATE ANY TABLE 、CREATE ANY VIEW |
オブジェクト権限 | hr スキーマで、すべての表のSELECT |
ロール | APPDEV 、SELECT_CATALOG_ROLE |
次の例は、Nickのユーザー・アカウントの作成中またはアカウントの編集中であることを想定しています。ユーザーの作成ページにアクセスし、一般サブページで必要なすべてのフィールドを入力しているか(「例: ユーザー・アカウントの作成」を参照)、Nickのためのユーザーの編集ページにアクセスしています(「例: ユーザー・アカウントの変更」を参照)。また、この例ではNickに権限またはロールをまだ付与していないとします。
Nickという名前のユーザーに権限およびロールを付与するには、次の手順を実行します。
ユーザーの作成ページ、またはユーザーの編集ページの上部に向かって、「ロール」をクリックしてロール・サブページを表示します。
ロール・サブページはNickに割り当てたCONNECTロール
を表示します。Database Controlは、作成したすべてのユーザーにこのロールを自動的に割り当てます。(選択された「デフォルト」チェック・ボックスは、CONNECT
ロールがNickのデフォルト・ロールであることを示しています。つまり、このロールはNickがログインするたびに自動的に有効になります。)
「リストを編集」をクリックします。
ロールの変更ページが表示されます。
「使用可能なロール」リストでAPPDEV
ロールの場所を指定し、ダブルクリックして「選択したロール」リストに追加します。SELECT_CATALOG_ROLE
ロールでも同じ手順を実行し、「OK」をクリックします。
ユーザーの作成ページまたはユーザーの編集ページに戻ります。Nickに付与したCONNECT
、APPDEV
およびSELECT_CATALOG_ROLE
ロールが表示されます。
注意: ロールをダブルクリックする方が簡単です。ロールを選択して「移動」ボタンをクリックすることもできます。複数の権限を選択するには、[Shift]キーを押しながら権限の範囲を選択するか、[Ctrl]キーを押しながら個々の権限を選択します。 |
ページ上部に向かって、「システム権限」をクリックしてシステム権限サブページを選択します。
「リストを編集」をクリックします。
システム権限の変更ページが表示されます。
「使用可能なシステム権限」リストをスクロールしてCREATE
ANY
TABLE
およびCREATE
ANY
VIEW
権限を特定し、それぞれをダブルクリックして、「選択したシステム権限」リストに追加し、「OK」をクリックします。
ユーザーの作成ページまたはユーザーの編集ページに戻ります。新しい追加されたシステム権限が表示されます。
ページ上部に向かって、「オブジェクト権限」をクリックしてオブジェクト権限サブページを選択します。
「オブジェクト・タイプの選択」リストから「表」を選択し、「追加」をクリックします。
表オブジェクト権限の追加ページが表示されます。
表オブジェクトの選択リストの横にある懐中電灯アイコンをクリックします。
表オブジェクトの選択ダイアログ・ボックスが表示されます。
「スキーマ」リストでHR
を選択し、「実行」をクリックします。
hr
スキーマのすべての表が表示されます。
「すべて選択」をクリックし、次に「選択」ボタンをクリックします。
「表オブジェクトの選択」ダイアログ・ボックスが閉じると、表オブジェクト権限の追加ページ上の「表オブジェクトの選択」フィールドに、hr
スキーマ内のすべての表の名前が表示されます。
「使用可能な権限」リストでSELECT
権限をダブルクリックして「選択した権限」リストに移動し、「OK」をクリックします。
ユーザーの作成ページまたはユーザーの編集ページに戻ります。ユーザーNickに付与されたすべてのhr
表に対するSELECT
オブジェクト権限が表示されます。
注意: オブジェクト権限を削除するには、ユーザーの作成ページ、またはユーザーの編集ページ(オブジェクト権限サブページ)で削除するオブジェクト権限を選択し、「削除」をクリックします。 |
次のいずれかを実行し、ロールと権限の付与を保存します。
ユーザー・アカウントを作成する場合は、「OK」をクリックし、新規ユーザー・アカウントを保存します。
ユーザー・アカウントを修正する場合は、「適用」をクリックしてユーザー・アカウントに関する変更を保存します。
Nickという名前のユーザー・アカウントを作成または変更すると想定します。Nickのデフォルト表領域に10MBの領域使用量の割当て制限を配分します。
Nickが表領域にオブジェクトを作成できるように、デフォルト表領域にNickの表領域の割当て制限を割り当てる必要があります。(これは他の表領域にNickがオブジェクトを作成する場合も同様です。)Nickに特定の表領域を割り当てた後は、Nickの全オブジェクトが消費する領域の合計は、その表領域内で割当て制限を超えることはできません。UNLIMITED
の割当て制限を割り当てることもできます。
次の例は、Nickのユーザー・アカウントの作成中またはアカウントの編集中であることを想定しています。ユーザーの作成ページにアクセスし、一般サブページで必要なすべてのフィールドを入力しているか(「例: ユーザー・アカウントの作成」を参照)、Nickのためのユーザーの編集ページにアクセスしています(「例: ユーザー・アカウントの変更」を参照)。また、この例では、Nickには表領域の割当て制限が指定されていないものとします。
Nickという名前のユーザーに表領域の割当て制限を割り当てるには、次の手順を実行します。
ユーザーの作成ページ、またはユーザーの編集ページの上部で、割当て制限サブページを選択します。
ユーザーNickはどの表領域でも割当て制限を持っていないことを示している割当て制限サブページが表示されます。
表領域USERSの「割当て制限」
列でリストからValueを選択します。
USERS表領域の「値」
列に、10
を入力します。
次のいずれかを実行し、新しい割当て制限の割当てを保存します。
ユーザー・アカウントを作成する場合は、「OK」をクリックし、新規ユーザー・アカウントを保存します。
ユーザー・アカウントを修正する場合は、「適用」をクリックしてユーザー・アカウントに関する変更を保存します。
ユーザーNickのデフォルトの表領域であるUSERS
の割当て制限を削除すると想定します。そのためには、ユーザーNickのアカウントを変更する必要があります。
Nickという名前のユーザーを変更するには、次の手順を実行します。
「ユーザー・アカウントの表示」に従って、ユーザー・ページに移動します。
「選択」列で、ユーザー・アカウントNickを選択し、「編集」をクリックします。
ユーザーNickが見つからない場合は、別のページに表示されている可能性があります。この場合、次のいずれかの操作を行います。
ユーザー・アカウントのリストの上部の「次へ」をクリックし、次のページを表示します。Nickのユーザー・アカウントが見つかるまで「次へ」をクリックし続けます。
そのページの「検索」エリアを使用して、Nickのアカウントを検索します。「オブジェクト名」フィールドに、NIという文字を入力して「実行」をクリックします。
Nickのユーザー・アカウントを選択し、「編集」をクリックします。
ユーザーの編集ページが表示され、Nickの一般属性が表示されます。
ページ上部で、割当て制限サブページを選択します。
表領域USERSの「割当て制限」
列でリストから「無制限」を選択し、「適用」をクリックします。
ユーザーNickが正常に変更されたことを示すメッセージが表示されます。
特定のユーザー・アカウントに対してデータベースへのアクセスを一時的に拒否するには、ユーザー・アカウントをロックします。そのユーザーが接続しようとしても、データベースによってエラー・メッセージが表示され、接続は許可されません。そのユーザーに対して再度データベースへのアクセスを許可する場合は、ユーザー・アカウントのロックを解除します。
ユーザー・アカウントをロックまたはロック解除するには、次の手順を実行します。
「ユーザー・アカウントの表示」に従って、ユーザー・ページに移動します。
「選択」列で、対象のユーザー・アカウントをクリックします。
目的のユーザー・アカウントが見つからない場合は、別のページに表示されている可能性があります。この場合は、「次へ」ボタンをクリックして他のページを表示するか、ページの「検索」領域を使用して、対象のユーザー・アカウントを検索します。
次の操作を1つ実行します。
アカウントをロックするには、「アクション」リストから「ーザーのロック」を選択し、「実行」をクリックします。
アカウントのロックを解除するには、「アクション」リストから「ユーザーのロック解除」を選択し、「実行」をクリックします。
確認メッセージが表示されます。
「はい」をクリックします。
パスワードの期限が切れた場合、ユーザーは次回ログイン時にパスワードを変更するよう求められます。次の場合にパスワードの期限が切れます。
ユーザーのパスワードが漏洩した場合。
セキュリティ・ポリシーが表示され、定期的なパスワード変更を求める場合。
ユーザーがパスワードを忘れた場合。
3番目の場合、ユーザー・アカウントを変更し、新規の一時パスワードを割り当て、パスワードを無効にします。一時パスワードでログインすると、新しいパスワードを選択するように要求されます。
ユーザーのパスワードを期限切れにするには、次の手順を実行します。
「ユーザー・アカウントの表示」に従って、ユーザー・ページに移動します。
「選択」列で、対象のユーザー・アカウントをクリックします。
目的のユーザー・アカウントが見つからない場合は、別のページに表示されている可能性があります。この場合、次のいずれかの操作を行います。
ユーザー・アカウントのリストの上部の「次へ」をクリックし、次のページを表示します。対象のユーザー・アカウントが見つかるまで「次へ」をクリックし続けます。
そのページの「検索」エリアを使用して、対象のユーザー・アカウントを検索します。「オブジェクト名」フィールドに、ユーザー・アカウント名の最初の数文字を入力して「実行」をクリックします。
ユーザー・アカウントを選択できます。
すべてのユーザーのパスワードを期限切れにするには、「複数」オプションを選択して「すべて選択」をクリックします。
「アクション」リストから「パスワード期限切れ」を選択し、「実行」をクリックします。
確認メッセージが表示されます。
「はい」をクリックして変更操作を実行します。
Nickという名前のユーザーが他の部門に移動したと想定します。今後データベースにアクセスする必要がなくなるので、Nickという名前のユーザーのアカウントを削除します。
ユーザー・アカウントを削除するときには、そのユーザーが所有しているすべてのスキーマ・オブジェクトも削除されるため、注意が必要です。スキーマ・オブジェクトを残したままで、ユーザーがデータベースにログインできないようにするには、ユーザー・アカウントをロックします。詳細は、「ユーザー・アカウントのロックおよびロック解除」を参照してください。
Nickという名前のユーザーを削除するには、次の手順を実行します。
「ユーザー・アカウントの表示」に従って、ユーザー・ページに移動します。
「選択」列で、ユーザー・アカウントNickを選択し、「削除」をクリックします。
ユーザー・アカウントNickが見つからない場合は、別のページに表示されている可能性があります。この場合、次のいずれかの操作を行います。
ユーザー・アカウントのリストの上部の「次へ」をクリックし、次のページを表示します。Nickのユーザー・アカウントが見つかるまで「次へ」をクリックし続けます。
そのページの「検索」エリアを使用して、ユーザー・アカウントを検索します。「オブジェクト名」フィールドに、NIという文字を入力して「実行」をクリックします。
Nickのユーザー・アカウントを選択し、「削除」をクリックします。
確認ページが表示されます。
「はい」をクリックして、ユーザー・アカウントの削除を確認します。
この項では、データベース内のすべてのユーザー・アカウントにパスワード・ポリシーを設定するためのバックグラウンド情報および手順について説明します。この付録には、次の項があります。
ユーザー・アカウントを作成すると、デフォルト・パスワード・ポリシーがそのユーザー・アカウントに割り当てられます。新規にインストールされたデータベースに対するこのデフォルト・パスワード・ポリシーには、次の指定があります。
ユーザー・アカウントのパスワードは180日で自動的に期限切れとなります。
パスワードの期限切れの7日後にユーザー・アカウントがロックされます。
10回ログインに失敗すると、ユーザー・アカウントが1日ロックされます。
デフォルト・パスワード・ポリシーは、プロファイルと呼ばれるデータベース・オブジェクトを使用してユーザー・アカウントに割り当てられます。各ユーザー・アカウントにプロファイルが割り当てられ、そのプロファイルには、パスワード・ポリシーを説明する複数の属性があります。データベースにはDEFAULT
という名前のデフォルト・プロファイルがあり、ユーザー・アカウントを作成する際に、他のプロファイルを指定しないかぎり、そのデフォルト・プロファイルがユーザー・アカウントに対して割り当てられます。
データベース・セキュリティを向上させるには、パスワード・ポリシーに厳しい制約を設ける必要がある場合があります。たとえば、パスワードの期限を70日に設定したり、ログインに3回失敗すると、ユーザー・アカウントがロックされるように設定することもできます。(ユーザー・アカウントのログインの失敗は、アカウントのパスワードとしてユーザーが不正なものを入力した場合に発生します。)また、パスワードを推定してシステムに入ろうとする侵入者から、十分に保護するために、パスワードを複雑に設定するように要求することもできます。たとえば、パスワードに少なくとも1文字の数字および1文字の句読点が含まれるように指定できます。
DEFAULT
プロファイルのパスワード関連属性を変更することによって、データベース内のすべてのユーザー・アカウントのパスワード・ポリシーを変更します。
注意: 異なるユーザー・アカウントに異なるパスワード・ポリシーを使用することもできます。これを行うには、複数のプロファイルを作成し、各プロファイルにそれぞれパスワード関連の属性を設定し、異なるユーザー・アカウントに異なるプロファイルを割り当てます。この手順についてはこの項では説明しません。 |
プロファイル名DEFAULT
のパスワード関連属性を変更し、すべてのデータベース・ユーザー・アカウントのデフォルトのパスワード・ポリシーを変更します。
デフォルト・パスワード・ポリシーを変更するには、次の手順を実行します。
データベースのホームページに移動します。
詳細は、「データベースのホームページのアクセス」を参照してください。
ページ上部の「サーバー」をクリックし、サーバー・サブページを表示します。
「セキュリティ」セクションで、「プロファイル」をクリックします。
プロファイル・ページが表示されます。
「選択」列でDEFAULT
と呼ばれるプロファイルを選択し、「編集」をクリックします。
プロファイルの編集ページが表示されます。
ページ上部で、パスワード・サブページを選択します。
必要に応じてフィールド値を変更します。各フィールドの横にある懐中電灯アイコンをクリックし、選択のリストを表示します。フィールドの説明については、このページの「ヘルプ」をクリックしてください。
「適用」をクリックして、変更内容を保存します。
Oracle by Example(OBE)には、このマニュアルに関するシリーズが含まれています。このOBEでは、この章のタスクを段階的に説明し、注釈付きのスクリーンショットを使用します。
ユーザーに関するOBEを参照するには、ご使用のブラウザで次のURLを指定します。
http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/11g/r2/2day_dba/users/users.htm