59.15 CREATE_USERプロシージャ

このプロシージャは、ネイティブOracle APEXユーザー・アカウント・リポジトリに新しいアカウント・レコードを作成します。

このプロシージャを使用して、APEXアカウント認証スキームを利用するアプリケーションのユーザー・アカウントをプログラムで作成します。APEXアプリケーションのコンテキスト内でこのプロシージャを実行するには、現在のユーザーがAPEXワークスペース管理者である必要があり、アプリケーションではワークスペース・リポジトリの変更を許可する必要があります。

ワークスペース開発者またはワークスペース管理者のユーザーを作成する場合は、ユーザーが開発環境認証スキームに対して認証できることを保証する必要もあります。CREATE_USERプロシージャは、APEXリポジトリ・ユーザーのみを作成します。たとえば、データベース・アカウント認証を使用する場合は、CREATE USER nnn IDENTIFIED BY yyyも実行する必要があります。

構文

APEX_UTIL.CREATE_USER (
    p_user_id                       IN NUMBER   DEFAULT NULL,
    p_user_name                     IN VARCHAR2,
    p_first_name                    IN VARCHAR2 DEFAULT NULL,
    p_last_name                     IN VARCHAR2 DEFAULT NULL,
    p_description                   IN VARCHAR2 DEFAULT NULL,
    p_email_address                 IN VARCHAR2 DEFAULT NULL,
    p_web_password                  IN VARCHAR2,
    p_web_password_format           IN VARCHAR2 DEFAULT 'CLEAR_TEXT',
    p_group_ids                     IN VARCHAR2 DEFAULT NULL,
    p_developer_privs               IN VARCHAR2 DEFAULT NULL,
    p_default_schema                IN VARCHAR2 DEFAULT NULL,
    p_default_date_format           IN VARCHAR2 DEFAULT NULL,
    p_allow_access_to_schemas       IN VARCHAR2 DEFAULT NULL,
    p_account_expiry                IN DATE     DEFAULT TRUNC(SYSDATE),
    p_account_locked                IN VARCHAR2 DEFAULT 'N',
    p_failed_access_attempts        IN NUMBER   DEFAULT 0,
    p_change_password_on_first_use  IN VARCHAR2 DEFAULT 'Y',
    p_first_password_use_occurred   IN VARCHAR2 DEFAULT 'N',
    p_attribute_01                  IN VARCHAR2 DEFAULT NULL,
    p_attribute_02                  IN VARCHAR2 DEFAULT NULL,
    p_attribute_03                  IN VARCHAR2 DEFAULT NULL,
    p_attribute_04                  IN VARCHAR2 DEFAULT NULL,
    p_attribute_05                  IN VARCHAR2 DEFAULT NULL,
    p_attribute_06                  IN VARCHAR2 DEFAULT NULL,
    p_attribute_07                  IN VARCHAR2 DEFAULT NULL,
    p_attribute_08                  IN VARCHAR2 DEFAULT NULL,
    p_attribute_09                  IN VARCHAR2 DEFAULT NULL,
    p_attribute_10                  IN VARCHAR2 DEFAULT NULL,
    p_allow_app_building_yn         IN VARCHAR2 DEFAULT NULL,
    p_allow_sql_workshop_yn         IN VARCHAR2 DEFAULT NULL,
    p_allow_websheet_dev_yn         IN VARCHAR2 DEFAULT NULL,
    p_allow_team_development_yn     IN VARCHAR2 DEFAULT NULL );

パラメータ

パラメータ 説明
p_user_id ユーザー・アカウントの数値の主キー
p_user_name ログインに使用する英数字の名前
p_first_name 情報。
p_last_name 情報。
p_description 情報。
p_email_address 電子メール・アドレス。

p_web_password

パスワード。
p_web_password_format p_web_passwordパラメータに渡す値がクリア・テキスト形式の場合は、CLEAR_TEXTを使用します。そうでない場合は、HEX_ENCODED_DIGEST_V2を使用します。
p_group_ids コロンで区切られた数値のグループIDのリスト
p_developer_privs

権限のコロン区切りリスト。p_developer_privsがnullでない場合、ユーザーにはチーム開発へのアクセス権が付与されます。p_developer_privsADMINが格納されている場合、ユーザーにはアプリケーション・ビルダーとSQLワークショップへのアクセス権が付与されます。p_developer_privsにADMINではなくEDITが格納されている場合、ユーザーにはアプリケーション・ビルダーへのアクセス権が付与されます。p_developer_privsにADMINではなくSQLが格納されている場合、ユーザーにはSQLワークショップへのアクセス権が付与されます。

このパラメータで使用可能な値は、次のとおりです。

NULL - エンド・ユーザー(開発済のアプリケーションに対してのみ認証可能なユーザー)を作成する場合。

CREATE:DATA_LOADER:EDIT:HELP:MONITOR:SQL - アプリケーション・ビルダーおよびSQLワークショップへのアクセス権を含む開発者権限を持つユーザーを作成する場合。

ADMIN:CREATE:DATA_LOADER:EDIT:HELP:MONITOR:SQL - アプリケーション・ビルダー、SQLワークショップおよびチーム開発へのアクセス権を含む、ワークスペース管理者および開発者の完全な権限を持つユーザーを作成する場合。

ノート:

現在このパラメータの名前は一貫しておらず、CREATE_USEREDIT_USERおよびFETCH_USER APIと呼ばれています。ただし、これらのすべての名前が、指定されたユーザー・アカウント・レコードに格納されているDEVELOPER_ROLEフィールドに関連しています。CREATE_USERではp_developer_privsEDIT_USERではp_developer_roles;、FETCH_USERではp_developer_roleが使用されています。
p_default_schema ユーザーのワークスペースに割り当てられ、参照用にデフォルトで使用されるデータベース・スキーマ。
p_default_date_format ユーザーのOracle日付書式。現在はSQLワークショップでのみ使用されています。
p_allow_access_to_schemas ユーザーのワークスペースに割り当てられ、ユーザーによるアクセスが制限されているスキーマのコロン区切りのリスト(すべての場合はNULLのまま)。
p_account_expiry パスワードが最後に更新された日付。作成時に、今日の日付にデフォルト設定されます。
p_account_locked アカウントがロックされているかどうかを示すYまたはN
p_failed_access_attempts ログインに連続して失敗した回数。作成時に、0 (ゼロ)にデフォルト設定されます。
p_change_password_on_first_use パスワードを初めて使用するときに変更する必要があるかどうかを示すYまたはN。作成時に、Yにデフォルト設定されます。
p_first_password_use_occurred パスワードの変更後にログインが行われたかどうかを示すYまたはN。作成時に、Nにデフォルト設定されます。
p_attribute_01p_attribute_10 APIを使用してアクセスできる任意のテキスト
p_allow_app_building_yn アプリケーション・ビルダーへのアクセスが可能かどうかを示すYまたはN
p_allow_sql_workshop_yn SQLワークショップへのアクセスが可能かどうかを示すYまたはN

p_allow_websheet_dev_yn

Webシート開発へのアクセスが可能かどうかを示すYまたはN
p_allow_team_development_yn チーム開発へのアクセスが可能かどうかを示すYまたはN

例1

次の例では、パスワードがsecret99NEWUSER1というエンド・ユーザーを作成します。エンド・ユーザーは、開発済のアプリケーションに対してのみ認証できます。

BEGIN
    APEX_UTIL.CREATE_USER(
        p_user_name    => 'NEWUSER1',
        p_web_password => 'secret99');
END;

例2

次の例では、NEWUSER2というワークスペース管理者を作成します。ユーザーNEWUSER2は、次のとおりです。

  • ワークスペース管理者および開発者の完全な権限を持っている(p_developer_privsパラメータがADMIN:CREATE:DATA_LOADER:EDIT:HELP:MONITOR:SQLに設定されている)
  • 参照デフォルトMY_SCHEMA (p_default_schemaパラメータがMY_SCHEMAに設定されている)およびMY_SCHEMA2 (p_allow_access_to_schemasパラメータがMY_SCHEMA2に設定されている)の2つのスキーマへのアクセス権を持っている
  • 最初のログイン時にパスワードを変更する必要がない(p_change_password_on_first_useパラメータがNに設定されている)
  • 最初の追加属性に電話番号が格納されている(p_attribute_01パラメータが123 456 7890に設定されている)
BEGIN
    APEX_UTIL.CREATE_USER(
        p_user_name                     => 'NEWUSER2',
        p_first_name                    => 'FRANK',
        p_last_name                     => 'SMITH',
        p_description                   => 'Description...',
        p_email_address                 => 'frank@example.com',
        p_web_password                  => 'password',
        p_developer_privs               => 'ADMIN:CREATE:DATA_LOADER:EDIT:HELP:MONITOR:SQL',
        p_default_schema                => 'MY_SCHEMA',
        p_allow_access_to_schemas       => 'MY_SCHEMA2',
        p_change_password_on_first_use  => 'N',
        p_attribute_01                  => '123 456 7890');
END;