このセクションでは、ユーザーを作成する方法について説明します。
ユーザーを作成できるユーザー
データベースの運用において、さまざまなユーザーを作成し、それぞれに適切な権限を付与する必要が生じることがよくあります。通常、CREATE USER 権限を持つユーザーはユーザーを作成できます。
CREATE USER 権限は比較的大きな権限であるため、デフォルトではクラスタ管理者とテナント管理者のみがこのシステム権限を保有しています。他のユーザーがユーザーを作成する必要がある場合は、CREATE USER 権限を付与する必要があります。権限の付与に関する操作については、直接権限付与を参照してください。
ユーザー名のルール
ユーザー名を指定する際には、以下の制限事項に注意する必要があります:
ユーザー名の一意性:各ユーザー名はテナント内で一意である必要があります。
ユーザー名はテナント内で一意ですが、異なるテナント間で同名のユーザーを作成することは可能です。そのため、
ユーザー名@テナント名の形式で、システム全体で一意にテナント内のユーザーを特定できます。ユーザー名の命名規則:
OBClient、ODCなどのクライアントを使用してユーザーを作成する場合、ユーザー名の長さは64バイトを超えてはなりません。
OCPを使用してユーザーを作成する場合、ユーザー名は英字で始まり、大文字、小文字、数字、アンダースコアを含むことができ、長さは2~64文字である必要があります。
SQLステートメントを使用して最小データベース権限を持つユーザーを作成する
CREATE USER システム権限を持つユーザーは、ユーザーを作成する際に最小権限の原則を守ることを推奨します。これは、すべてのユーザーが自身のタスクを実行するために必要な最小限の権限のみを持つことを意味します。
ユーザーを作成するSQLステートメントは以下のとおりです:
CREATE USER user_name [host_name] IDENTIFIED BY password [REQUIRE {NONE | SSL | X509 | tls_option_list}]
[PROFILE user_profile] [DEFAULT TABLESPACE table_space] [PRIMARY_ZONE 'zone_name']
password:
STR_VALUE
tls_option_list:
tls_option
| tls_option_list, tls_option
tls_option:
CIPHER STR_VALUE
| ISSUER STR_VALUE
| SUBJECT STR_VALUE
ステートメントの説明:
user_name:ユーザー名です。同名のユーザーが既に存在する場合、システムはエラーを返します。host_name:ユーザーが属するホストのIPアドレスで、形式は@xx.xx.xx.xxです。IDENTIFIED BY:Oracleモードでは、IDENTIFIED BYを使用してユーザーにパスワードを指定する必要があります。REQUIRE:ユーザーが使用する暗号化プロトコルをNONE、SSL、X509、tls_option_listのいずれか一つを指定します。PROFILE:ユーザーが使用するプロファイルを指定します。指定しない場合、システムのデフォルト設定であるDEFAULTファイルが使用されます。DEFAULTファイルのすべての設定は、デフォルトで制限なしです。DEFAULT TABLESPACE table_space:ユーザーのデフォルトテーブルスペースを指定します。一般的に実質的な意味はありません。PRIMARY_ZONE:ユーザーのプライマリゾーンを指定します。プライマリゾーンの詳細については、Primary Zoneを参照してください。
最小データベース権限、すなわちデータベース接続権限を持つユーザー test2 を作成する例を以下に示します。
SYSユーザーでクラスタのOracleテナントにログインします。以下のコマンドを実行して、ユーザー
test2を作成します。obclient> CREATE USER test2 IDENTIFIED BY ******;CREATE USERステートメントの詳細については、CREATE USERを参照してください。以下のコマンドを実行して、ユーザー
test2にデータベース接続権限を付与します。obclient>GRANT CREATE SESSION TO test2;GRANTステートメントの詳細については、GRANTを参照してください。
関連ドキュメント
ユーザー作成後、パスワードのローテーションなどの運用管理操作を実行する必要がある場合は、パスワードローテーションを参照してください。