関連項目: ユーザー・アカウントの保護の詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。 |
多くの方法を使用してデータベース・ユーザー・アカウントを保護できます。たとえば、Oracle Databaseには、パスワードに対する一連の組込み保護があります。この章では、デフォルトのデータベース・アカウントとパスワードを保護する方法およびデータベース・アカウントの管理方法について説明します。
『Oracle Database 2日でデータベース管理者』では、ユーザー・アカウントの作成および管理の基礎(ユーザー・ロールの管理方法、管理アカウントの概要、パスワード・ポリシーの作成におけるプロファイルの使用方法など)について説明します。
ユーザー・アカウントを作成した後で、この項の手順を使用し、次の方法に従ってこれらのアカウントをより強力に保護できます。
事前定義データベース・アカウントの保護。Oracle Databaseのインストール時に、事前定義済のアカウントが作成されます。パスワードを変更することで、これらのアカウントをできるだけ早く保護する必要があります。同じ方法を使用して、通常のユーザー・アカウント、管理アカウント、事前定義のアカウントのいずれであるかにかかわらず、すべてのパスワードを変更できます。このマニュアルでは、最もセキュアなパスワードを作成する方法のガイドラインも示します。
データベース・アカウントの管理。データベース・アカウントを期限切れにしたり、ロックできます。
パスワードの管理。初期化パラメータを設定することで、パスワードを管理および保護できます。初期化パラメータの詳細は、『Oracle Databaseリファレンス』を参照してください。
関連項目:
|
Oracle Databaseをインストールすると、インストール・プロセスにより事前定義されたアカウントのセットが作成されます。これらのアカウントは次のカテゴリにあります。
Oracle Databaseのデフォルトのインストールで、事前定義された管理アカウントのセットが提供されます。これらのアカウントには、SYS
スキーマが所有するパッケージのEXECUTE
権限、CREATE ANY TABLE
権限、またはALTER SESSION
のような、データベースの領域の管理に必要となる特別な権限を持ちます。管理アカウントのデフォルトの表領域は、SYSTEM
かSYSAUX
です。
これらのアカウントを無許可アクセスから保護するため、インストール・プロセスにより表3-1に示されたアカウントを除く、ほとんどのアカウントが期限切れにされ、ロックされます。データベース管理者は、「データベース・アカウントの期限切れおよびロック」で説明されているとおりにアカウントのロックを解除し、リセットする責任があります。
表3-1に、Oracle Databaseで提供される管理ユーザー・アカウントを示します。
表3-1 事前定義されたOracle Databaseの管理ユーザー・アカウント
ユーザー・アカウント | 説明 | インストール後のステータス |
---|---|---|
Oracle XML DBへのHTTPアクセスを許可するアカウント。EPG (Embedded PL/SQL Gateway)をデータベースにインストールするときに EPGはOracle Databaseとともに使用されるWebサーバーです。動的アプリケーションの作成に必要なインフラストラクチャを提供します。 |
期限切れおよびロック済 |
|
Oracle Textを管理するためのアカウント。Oracle Textを使用すると、テキスト問合せアプリケーションおよびドキュメント分類アプリケーションを作成できます。Oracle Textは、テキスト用の索引付け、語とテーマの検索および表示機能を提供します。 『Oracle Textアプリケーション開発者ガイド』を参照してください。 |
期限切れおよびロック済 |
|
データベースの監視および管理を行うためにOracle Enterprise ManagerのManagement Agentのコンポーネントによって使用されるアカウント。 『Oracle Enterprise Manager Grid Controlインストレーションおよび基本構成』を参照してください。 |
オープン パスワードはインストール時またはデータベースの作成時に作成されます。 |
|
Rules Manager機能およびExpression Filter機能と関連付けられる 『Oracle Database Rules ManagerおよびExpression Filter開発者ガイド』を参照してください。 |
期限切れおよびロック済 |
|
Oracle Label Security (OLS)を管理するためのアカウント。Label Securityオプションをインストールするときのみ作成されます。 「Oracle Label Securityによる行レベルのセキュリティの強制」および『Oracle Label Security管理者ガイド』を参照してください。 |
期限切れおよびロック済 |
|
Oracle SpatialおよびOracle Multimedia Locator管理者アカウント。 『Oracle Spatial開発者ガイド』を参照してください。 |
期限切れおよびロック済 |
|
Oracle Enterprise Manager Database Controlで使用されるアカウント。 |
オープン パスワードはインストール時またはデータベースの作成時にランダムに生成されます。ユーザーがこのパスワードを知る必要はありません。 |
|
OLAPカタログ(CWMLite)を所有するアカウント。このアカウントは、非推奨となりましたが、下位互換性のために保持されています。 |
期限切れおよびロック済 |
|
このアカウントにはOracle Multimedia DICOMのデータ・モデルが含まれています。詳細はOracle Multimedia DICOM開発者ガイドを参照してください。 |
期限切れおよびロック済 |
|
Oracle Warehouse Builderのリポジトリを管理するためのアカウント。 インストール中にこのアカウントにアクセスし、リポジトリのベース言語を定義し、Warehouse Builderの作業領域とユーザーを定義します。データ・ウェアハウスは問合せおよび分析のために設計されたリレーショナル・データベースまたは多次元データベースです。 『Oracle Warehouse Builderインストレーションおよび管理ガイド』を参照してください。 |
期限切れおよびロック済 |
|
Oracle Multimediaユーザー。Oracleおよびサード・パーティにより提供されたプラグイン(フォーマット・プラグイン)はこのスキーマにインストールされています。 Oracle MultimediaによりOracle Databaseで画像、音声、動画、DICOMフォーマットの医療用画像などのオブジェクトや、その他の企業情報と統合された異機種間のメディア・データを格納、管理および取得できます。 『Oracle Multimediaユーザーズ・ガイド』および『Oracle Multimediaリファレンス』を参照してください。 |
期限切れおよびロック済 |
|
Oracle Multimedia管理者アカウント。 『Oracle Multimediaユーザーズ・ガイド』、『Oracle Multimediaリファレンス』および『Oracle Multimedia DICOM開発者ガイド』を参照してください。 |
期限切れおよびロック済 |
|
プラン・スタビリティをサポートするアカウント。プラン・スタビリティにより、ストアド・アウトラインに実行プランが保存され、特定のデータベースの環境の変更がアプリケーションのパフォーマンス特性に影響するのを防ぎます。 『Oracle Databaseパフォーマンス・チューニング・ガイド』を参照してください。 |
期限切れおよびロック済 |
|
SQL/MM Still Image Standard向けの情報ビューを保存しているアカウント。 『Oracle Multimediaユーザーズ・ガイド』および『Oracle Multimediaリファレンス』を参照してください。 |
期限切れおよびロック済 |
|
データベース管理タスクの実行に使用されるアカウント。 『Oracle Database 2日でデータベース管理者』を参照してください。 |
オープン パスワードはインストール時またはデータベースの作成時に作成されます。 |
|
Oracle Enterprise Managerデータベースの管理タスクの実行に使用するアカウント。 『Oracle Enterprise Manager Grid Controlインストレーションおよび基本構成』を参照してください。 |
オープン パスワードはインストール時またはデータベースの作成時に作成されます。 |
|
Oracle Databaseのデフォルトの汎用データベース管理者アカウント。 本番システムでは、データベース管理操作用に汎用 『Oracle Database 2日でデータベース管理者』を参照してください。 |
オープン パスワードはインストール時またはデータベースの作成時に作成されます。 |
|
デフォルトのインスタンス( Ultra Searchは、Oracle Database、その他のODBC準拠のデータベース、IMAPメール・サーバー、Webサーバーで管理されるHTMLドキュメント、ディスク上のファイルなどの複数のリポジトリに対する統一された検索機能および位置特定機能を提供します。 『Oracle Ultra Search管理者ガイド』を参照してください。 |
期限切れおよびロック済 |
|
Ultra Searchデータベースのスーパーユーザー。 『Oracle Ultra Search管理者ガイド』を参照してください。 |
期限切れおよびロック済 |
|
Oracle9i Application Server Ultra Searchの管理アカウント。 『Oracle Ultra Search管理者ガイド』を参照してください。 |
期限切れおよびロック済 |
|
Oracle Workspace Managerのメタデータ情報の格納に使用されるアカウント。 『Oracle Database Workspace Manager開発者ガイド』を参照してください。 |
期限切れおよびロック済 |
|
Oracle XML DBデータおよびメタデータの保存に使用されるアカウント。 Oracle XML DBはOracle Databaseのデータに対し、パフォーマンスの高いXMLの格納および取得を提供します。 『Oracle XML DB開発者ガイド』を参照してください。 |
期限切れおよびロック済 |
表3-2には、Oracle Databaseをインストールするときに作成されるデフォルトの非管理ユーザー・アカウントがリストされています。非管理ユーザー・アカウントはジョブの実行に最低限必要な権限のみ所有します。デフォルトの表領域はUSERS
です。
これらのアカウントを無許可アクセスから保護するため、インストール・プロセスにより表3-2に示されたアカウントを除く、ほとんどのアカウントがインストール後すぐにロックされ、期限切れになります。データベース管理者は、「データベース・アカウントの期限切れおよびロック」で説明されているとおりにアカウントのロックを解除し、リセットする責任があります。
表3-2 事前定義されたOracle Databaseの非管理ユーザー・アカウント
このガイドの例を完了するために必要となるサンプル・スキーマをインストールすると、Oracle Databaseはサンプル・ユーザー・アカウントのセットを作成します。サンプル・スキーマ・ユーザー・アカウントはすべて非管理アカウントで、表領域は USERS
です。
これらのアカウントを無許可アクセスから保護するため、インストール・プロセスによりこれらのアカウントがインストール直後にロックされ、期限切れになります。データベース管理者は、「データベース・アカウントの期限切れおよびロック」で説明されているとおりにアカウントのロックを解除し、リセットする責任があります。サンプル・スキーマ・アカウントの詳細は『Oracle Databaseサンプル・スキーマ』を参照してください。
表3-3には様々な製品を製造している架空の企業の個別の部門を表すサンプル・スキーマ・ユーザー・アカウントがリストされています。
表3-3 デフォルトのサンプル・スキーマ・ユーザー・アカウント
ユーザー・アカウント | 説明 | インストール後のステータス |
---|---|---|
Oracleサンプル・スキーマに含まれている 関連項目: 『Oracle Warehouse Builderソースおよびターゲット・ガイド』 |
期限切れおよびロック済 |
|
|
期限切れおよびロック済 |
|
|
期限切れおよびロック済 |
|
|
期限切れおよびロック済 |
|
|
期限切れおよびロック済 |
|
|
期限切れおよびロック済 |
サンプル・スキーマ・アカウントに加えて、Oracle Databaseでは別のサンプル・スキーマ・アカウント(SCOTT
)が提供されます。SCOTT
スキーマには、表EMP
、DEPT
、SALGRADE
およびBONUS
が含まれています。SCOTT
アカウントはOracle Databaseのドキュメント・セット全体の例で使用されます。Oracle Databaseをインストールすると、SCOTT
アカウントはロックされ、期限が切れます。
ユーザーのパスワードを期限切れにすると、パスワードは存在しなくなります。パスワードを期限切れにしない場合は、そのアカウントのパスワードを変更します。アカウントをロックすると、他のアカウント情報と同じようにユーザー・パスワードも保持されますが、そのアカウントを使用してデータベースにログインするユーザーに対してアカウントが使用不可になります。ロックを解除すると、アカウントは再度使用可能になります。
Database Controlを使用してデータベース・アカウントのロックを解除する方法については、『Oracle Database 2日でデータベース管理者』を参照してください。また、Database Controlを使用して、データベース・アカウントを期限切れにしたり、ロックすることもできます。
データベース・アカウントの期限切れおよびロックを実行するには、次のようにします。
Database Controlを起動します。
Database Controlを起動する手順については、『Oracle Database 2日でデータベース管理者』を参照してください。
管理者権限を使用してログインします。
次に例を示します。
データベースのホームページが表示されます。
「サーバー」をクリックして、「サーバー」サブページを表示します。
「セキュリティ」セクションで「ユーザー」をクリックします。
「ユーザー」ページに、現行のデータベース・インスタンスで作成されたユーザー・アカウントが表示されます。「アカウント・ステータス」列は、アカウントが期限切れか、ロックされているか、オープンかを表します。
「選択」列で期限切れにするアカウントを選択し、「編集」をクリックします。
「ユーザーの編集」ページが表示されます。
次のいずれかの操作を行います。
パスワードを期限切れにするには、「期限切れパスワード」をクリックします。
パスワードが期限切れにならないようにするには、「パスワードの入力」および「パスワードの確認」フィールドに新しいパスワードを入力します。パスワードの要件については、「パスワードの作成要件」を参照してください。
アカウントをロックするには、「ロック」を選択します。
「適用」をクリックします。
ユーザー・アカウントを作成すると、Oracle Databaseによって、そのユーザーのデフォルトのパスワード・ポリシーが割り当てられます。パスワード・ポリシーは、最低文字数や有効期限など、パスワードの作成方法に関するルールを定義します。パスワード・ポリシーを使用してパスワードを強化できます。
セキュリティを考慮して、パスワードを作成する際は、次のガイドラインに従います。
パスワードは12から30文字の英数字で指定します。
パスワードには、大/小文字と特殊文字を混在させて使用します。(詳細は、Oracle Databaseセキュリティ・ガイドを参照)。
パスワードの文字には、データベースのキャラクタ・セットを使用します。これには、アンダースコア(_
)、ドル記号($
)およびシャープ記号(#
)の文字を含めることができます。
実在する単語をパスワードに使用しないでください。
パスワードをさらにセキュアなものにする方法については、『Oracle Databaseセキュリティ・ガイド』を参照してください。
関連項目:
|
Oracle Databaseをインストールする場合、管理アカウントを含むデフォルトのデータベース・ユーザー・アカウントがデフォルトのパスワードなしで作成されます。インストール中にパスワードを作成した管理者アカウント(ユーザーSYS
など)を除き、デフォルトのユーザー・アカウントはパスワードが期限切れになっており、ロックされています。以前のリリースのOracle Databaseからアップグレードした場合は、デフォルトのパスワードを持つデータベース・アカウントが存在する可能性があります。これらは、データベースの作成時に作成されるデフォルトのアカウント(HR
、OE
、SCOTT
など)です。
セキュリティは、デフォルトのデータベース・ユーザー・アカウントがインストール後もデフォルト・パスワードを使用していると、最も容易に危険にさらされます。ユーザー・アカウントSCOTT
はよく知られているアカウントで侵入されやすい可能性があるため、これが特に当てはまります。デフォルト・パスワードが使用されているアカウントを検索してから、そのパスワードを変更します。
デフォルト・パスワードを検索して変更するには、次のようにします。
管理者権限を使用してSQL*Plusにログインします。
sqlplus system
Enter password: password
DBA_USERS_WITH_DEFPWD
データ・ディクショナリ・ビューから選択します。
SELECT * FROM DBA_USERS_WITH_DEFPWD;
DBA_USERS_WITH_DEFPWD
には、ユーザー・デフォルト・パスワードを持つアカウントが表示されます。次に例を示します。
USERNAME ------------ SCOTT
DBA_USERS_WITH_DEFPWD
データ・ディクショナリ・ビューに表示されたアカウントのパスワードを変更します。
たとえば、ユーザーSCOTT
のパスワードを変更するには、次のように入力します。
PASSWORD SCOTT Changing password for SCOTT New password: password Retype new password: password Password changed
「パスワードの作成要件」に示されているガイドラインに従って、password
をセキュアなパスワードに置き換えます。セキュリティを考慮して、以前のリリースのOracle Databaseで使用していたパスワードと同じパスワードは再利用しないでください。
また、パスワードは、ALTER USER
SQL文を使用して変更することもできます。
ALTER USER SCOTT IDENTIFIED BY password;
管理権限がある場合は、Database Controlを使用して、(デフォルトのユーザー・アカウントのパスワードのみでなく)ユーザー・アカウントのパスワードを変更できます。個々のユーザーがDatabase Controlを使用して自分のパスワードを変更することもできます。
Database Controlを使用してデータベース・アカウントのパスワードを変更するには、次のようにします。
Database Controlを起動します。
Database Controlを起動する手順については、『Oracle Database 2日でデータベース管理者』を参照してください。
管理者のユーザー名とパスワード(SYSTEM
など)を入力し、「ログイン」をクリックします。
「サーバー」をクリックして、「サーバー」サブページを表示します。
「セキュリティ」セクションで「ユーザー」をクリックします。
「ユーザー」ページに、現行のデータベース・インスタンスで作成されたユーザー・アカウントが表示されます。「アカウント・ステータス」列は、アカウントが期限切れか、ロックされているか、オープンかを表します。
「選択」列で変更するアカウントを選択し、「編集」をクリックします。
「ユーザーの編集」ページが表示されます。
「パスワードの入力」および「パスワードの確認」フィールドに新しいパスワードを入力します。
「適用」をクリックします。
関連項目:
|
SYS
、SYSTEM
、SYSMAN
、DBSNMP
管理アカウントでは、同じパスワードを使用することも異なるパスワードを使用することもできます。それぞれに対して異なるパスワードを使用することをお薦めします。どのようなOracle Database環境(本番環境もしくはテスト環境)でも、これらの管理者アカウントには強力でセキュアな固有のパスワードを割り当ててください。Database Configuration Assistantを使用して新規データベースを作成する場合は、SYS
アカウントおよびSYSTEM
アカウントに対してパスワードを作成する必要があります。
SYSMAN
およびDBSNMP
を含むすべての管理者アカウントでデフォルト・パスワードは使用しないでください。Oracle Database 11g リリース2(11.2)以上では、デフォルト・パスワードを持つこれらのアカウントはインストールされませんが、以前のリリースのOracle Databaseからアップグレードした場合、デフォルト・パスワードを使用するアカウントが存在している可能性があります。これらのアカウントは、「デフォルト・パスワードの検索および変更」の手順を使用して検索および変更する必要があります。
データベース作成の最後に、Database Configuration Assistantにより、SYS
およびSYSTEM
ユーザー・アカウントの新しいパスワードの入力および確認を要求するページが表示されます。
管理ユーザー・パスワードは、インストール後にDatabase Controlを使用して変更できます。パスワード変更の詳細は、「デフォルト・パスワードの検索および変更」を参照してください。
すべてのユーザー・パスワードに基本的なパスワード管理ルール(パスワードの長さ、履歴、複雑度など)を適用します。Oracle Databaseでは、デフォルト・プロファイルでパスワード・ポリシーが有効になります。パスワード・ポリシーを作成するためのガイドラインについては、「パスワードの作成要件」を参照してください。パスワードの管理を実行するために設定する初期化パラメータについては、表3-4を参照してください。
DBA_USERS
ビューを問い合せることで、ユーザー・アカウントに関する情報を検索できます。DBA_USERS
ビューでは、ユーザー・アカウント・ステータス、アカウントがロックされているかどうか、パスワードのバージョンなど、有用な情報が提供されます。DBA_USERS
は次のように問い合せることができます。
sqlplus system
Enter password: password
SQL> SELECT * FROM DBA_USERS;
また、可能な場合は、ネットワーク認証サービス(Kerberosなど)、トークン・カード、スマート・カードあるいはX.509証明書とともに、Oracle Advanced Security(Oracle Database Enterprise Editionのオプション)を使用することをお薦めします。これらのサービスはユーザーの厳密な認証を可能にし、Oracle Databaseへの無許可アクセスに対してより強力な保護を実現します。
関連項目:
|
表3-4に、ユーザー・アカウントを保護するために設定する初期化パラメータおよびプロファイル・パラメータを示します。
表3-4 ユーザー・アカウント・セキュリティに使用される初期化パラメータおよびプロファイル・パラメータ
注意: これらのパラメータのほとんどは、ユーザー・プロファイルを作成するために使用できます。ユーザー・プロファイル設定の詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。 |
初期化パラメータを変更するには、「初期化パラメータ値の変更」を参照してください。初期化パラメータの詳細は、『Oracle Databaseリファレンス』および『Oracle Database管理者ガイド』を参照してください。