- カテゴリ:
ユーザーとセキュリティ DDL (ユーザー)
CREATE USER¶
システム内の新しいユーザーを作成するか、既存のユーザーを置き換えます。詳細については、 ユーザー管理 をご参照ください。
注釈
ユーザーを作成できるのは、ユーザー管理者(つまり、 USERADMIN ロール以上のユーザー)またはアカウントの CREATE USER 権限を持つ別のロールのみです。
- こちらもご参照ください。
構文¶
CREATE [ OR REPLACE ] USER [ IF NOT EXISTS ] <name>
[ objectProperties ]
[ objectParams ]
[ sessionParams ]
条件:
objectProperties ::= PASSWORD = '<string>' LOGIN_NAME = <string> DISPLAY_NAME = <string> FIRST_NAME = <string> MIDDLE_NAME = <string> LAST_NAME = <string> EMAIL = <string> MUST_CHANGE_PASSWORD = TRUE | FALSE DISABLED = TRUE | FALSE SNOWFLAKE_SUPPORT = TRUE | FALSE DAYS_TO_EXPIRY = <integer> MINS_TO_UNLOCK = <integer> DEFAULT_WAREHOUSE = <string> DEFAULT_NAMESPACE = <string> DEFAULT_ROLE = <string> MINS_TO_BYPASS_MFA = <integer> RSA_PUBLIC_KEY = <string> RSA_PUBLIC_KEY_2 = <string> COMMENT = '<string_literal>'objectParams ::= NETWORK_POLICY = <string>sessionParams ::= ABORT_DETACHED_QUERY = TRUE | FALSE AUTOCOMMIT = TRUE | FALSE BINARY_INPUT_FORMAT = <string> BINARY_OUTPUT_FORMAT = <string> DATE_INPUT_FORMAT = <string> DATE_OUTPUT_FORMAT = <string> ERROR_ON_NONDETERMINISTIC_MERGE = TRUE | FALSE ERROR_ON_NONDETERMINISTIC_UPDATE = TRUE | FALSE JSON_INDENT = <num> LOCK_TIMEOUT = <num> QUERY_TAG = <string> ROWS_PER_RESULTSET = <num> SIMULATED_DATA_SHARING_CONSUMER = <string> STATEMENT_TIMEOUT_IN_SECONDS = <num> STRICT_JSON_OUTPUT = TRUE | FALSE TIMESTAMP_DAY_IS_ALWAYS_24H = TRUE | FALSE TIMESTAMP_INPUT_FORMAT = <string> TIMESTAMP_LTZ_OUTPUT_FORMAT = <string> TIMESTAMP_NTZ_OUTPUT_FORMAT = <string> TIMESTAMP_OUTPUT_FORMAT = <string> TIMESTAMP_TYPE_MAPPING = <string> TIMESTAMP_TZ_OUTPUT_FORMAT = <string> TIMEZONE = <string> TIME_INPUT_FORMAT = <string> TIME_OUTPUT_FORMAT = <string> TRANSACTION_DEFAULT_ISOLATION_LEVEL = <string> TWO_DIGIT_CENTURY_START = <num> UNSUPPORTED_DDL_ACTION = <string> USE_CACHED_RESULT = TRUE | FALSE WEEK_OF_YEAR_POLICY = <num> WEEK_START = <num>
注釈
読みやすくするために、ユーザーに設定できるセッションパラメーターの完全なリストはここには含まれていません。すべてのセッションパラメーターの完全なリストとその説明、およびアカウントとオブジェクトのパラメーターついては、 パラメーター をご参照ください。
必須パラメーター¶
名前
ユーザーの識別子。アカウントに対して一意である必要があります。
識別子はアルファベットで始まる必要があり、識別子文字列全体が二重引用符で囲まれていない限り、スペースや特殊文字を含めることはできません(例:
"My object"
)。二重引用符で囲まれた識別子も大文字と小文字が区別されます。詳細については、 識別子の要件 をご参照ください。
注釈
ユーザーはこの値を使用してSnowflakeにログインすることは しません。代わりにユーザーは、 LOGIN_NAME
プロパティに指定された値を使用してログインします。ただし、ユーザーのログイン名が明示的に指定されていない場合は、ユーザー名/識別子がデフォルトのログイン名として機能します。
オプションのオブジェクトプロパティ(objectProperties
)¶
PASSWORD = '文字列'
ユーザーのパスワードは、一重引用符または二重引用符で囲む必要があります。パスワードが指定されていない場合、ユーザーは、パスワードが明示的に指定されるまでSnowflakeにログインできません。
Snowflakeでのパスワードの詳細については、 Snowflakeのパスワードポリシー をご参照ください。
デフォルト:
NULL
LOGIN_NAME = 文字列
ユーザーがシステムにログインするために入力する名前。ユーザーのログイン名は、アカウント全体で一意である必要があります。
ログイン名には、スペースや感嘆符(
!
)、パーセント記号(%
)、アスタリスク(*
)などの英数字以外の文字列を使用できます。ただし、文字列にスペースまたは英数字以外の文字が含まれる場合は、一重引用符または二重引用符で囲む必要があります。ログイン名は常に大文字と小文字を区別しません。Snowflakeでは、異なるユーザー名とログイン名を指定して、ログインに共通の識別子(例:電子メールアドレス)を使用できるようにします。
デフォルト:ユーザーの名前/識別子(つまり、値が指定されていない場合は、
名前
のために指定された値をログイン名として使用)DISPLAY_NAME = 文字列
Snowflakeウェブインターフェイスでユーザーに表示される名前。
デフォルト:ユーザーの名前/識別子(つまり、値が指定されていない場合は、
名前
のために指定された値を表示名として使用)FIRST_NAME = 文字列
、 .MIDDLE_NAME = 文字列
、 .LAST_NAME = 文字列
ユーザーの名、ミドルネーム、および姓。
デフォルト:
NULL
EMAIL = 文字列
ユーザーのメールアドレス。
Snowflakeを使用するためにメールアドレスは必要ありません。ただし、Snowflakeコミュニティにアクセスしてサポートチケットを開いたり、コミュニティフォーラムに投稿したりするには、ユーザーの有効なメールアドレスを指定する必要があります。
デフォルト:
NULL
MUST_CHANGE_PASSWORD = TRUE | FALSE
ユーザーがシステムへの次のログイン(最初/最初のログインを含む)でパスワードの変更を強制されるかどうかを指定します。
デフォルト:
FALSE
DISABLED = TRUE | FALSE
ユーザーを無効にするかどうかを指定します。これにより、次のアクションが防止されます。
新しいユーザーの場合、ユーザーはSnowflakeからロックアウトされ、ログインできません。
既存のユーザーの場合、プロパティを設定すると、現在実行中のすべてのクエリが中止され、ユーザーは新しいクエリを発行できなくなります。ユーザーはすぐにSnowflakeからロックアウトされ、再びログインできません。
デフォルト:
FALSE
SNOWFLAKE_SUPPORT = TRUE | FALSE
Snowflakeがこのユーザーとしてログインできるかどうかを指定します。このプロパティを使用して、Snowflakeの担当者またはサポートエンジニアにアカウントへのアクセスを許可し、問題のデバッグまたはトラブルシューティングを行うことができます。
デフォルト:
FALSE
DAYS_TO_EXPIRY = 整数
ユーザーのステータスが「期限切れ」に設定され、ユーザーがログインできなくなるまでの日数を指定します。これは、一時的なユーザー(つまり、一定の期間だけSnowflakeにアクセスする必要があるユーザー)を定義するのに役立ちます。
設定すると、値は
0
までカウントダウンしますが、停止しません。負の値は、ユーザーのステータスが「期限切れ」であることを示します。値をリセットするには、 ALTER USER を使用して次の値を設定します。ユーザーを一時ユーザーとして再度有効にするには、値を
0
より大きい値に設定します。ユーザーを永続ユーザーとして指定するには、値を
NULL
または0
に設定します。
デフォルト:
NULL
MINS_TO_UNLOCK = 整数
ユーザーログインの一時ロックが解除されるまでの分数を指定します。不正なユーザーログインから保護するために、Snowflakeは5回連続して失敗したログイン試行後にユーザーを一時的にロックします。
正の値は、ユーザーのステータスが「ロック」されていることを示します。
値が
0
(または負の値)までカウントダウンすると、ロックが解除され、ユーザーは再びログインできるようになります。ユーザーがSnowflakeに正常にログインすると、値は
NULL
にリセットされます。
ユーザーを作成するとき、指定された時間が経過するまでログインできないようにこのプロパティを設定できます。
ユーザーのロックをすぐに削除するには、 ALTER USER を使用して、このパラメーターに
0
の値を指定します。デフォルト:
NULL
DEFAULT_WAREHOUSE = 文字列
ログイン時のユーザーのセッションに対してデフォルトでアクティブになっている仮想ウェアハウスを指定します。
ユーザーは、 ALTER USER を使用して現在のデフォルトの仮想ウェアハウスを指定または変更できます。さらに、セッションを開始(ログイン)した後、ユーザーは USE WAREHOUSE を使用してセッションの仮想ウェアハウスを変更できます。
CREATE USER 操作では、ウェアハウスが存在することを確認しないことに注意してください。
デフォルト:
NULL
DEFAULT_NAMESPACE = 文字列
ログイン時にユーザーのセッションに対してデフォルトでアクティブになる名前空間(データベースのみ、またはデータベースとスキーマ)を指定します。
データベースのみを指定するには、データベース名を入力します。
スキーマを指定するには、完全修飾スキーマ名を
データベース名.スキーマ名
の形式で入力します。
ユーザーは、 ALTER USER を使用して現在のデフォルト名前空間を指定または変更できます。さらに、セッションを開始(つまり、ログイン)した後、ユーザーは USE DATABASE または USE SCHEMA を使用してセッションの名前空間を変更できます。
CREATE USER 操作では、名前空間が存在することを確認しないことに注意してください。
デフォルト:
NULL
DEFAULT_ROLE = 文字列
ログイン時にユーザーのセッションに対してデフォルトでアクティブになるロールを指定します。
ユーザーに既定のロールを指定しても、そのロールはユーザーに付与 されません。ロールは、 GRANT ROLE コマンドを使用してユーザーに明示的に付与する必要があります。さらに、 CREATE USER 操作はロールが存在することを確認しません。
ユーザーは、 ALTER USER を使用して現在の既定のロールを指定または変更できます。さらに、セッションを開始(ログイン)した後、ユーザーは USE ROLE を使用してセッションのロールを変更できます。いずれの場合も、明示的に付与されたロールからのみ選択できます。
デフォルト:
NULL
MINS_TO_BYPASS_MFA = 整数
ユーザーの MFA を一時的にバイパスする分数を指定します。
このプロパティを使用すると、 MFA 登録ユーザーの MFA デバイスが使用できない場合、ログイン時に MFA を一時的にバイパスできるようになります。
RSA_PUBLIC_KEY = 文字列
ユーザーの RSA 公開キーを指定します。キーペア認証に使用されます。
RSA_PUBLIC_KEY_2 = 文字列
ユーザーの2番目の RSA 公開キーを指定します。組織が設定した有効期限スケジュールに基づいて、キーペア認証用の公開キーと秘密キーを交代で使用します。
COMMENT = '文字列リテラル'
ユーザーのコメントを指定します。
デフォルト:
NULL
オプションのオブジェクトパラメーター(objectParams
)¶
NETWORK_POLICY = 文字列
既存の ネットワークポリシー がユーザーに対してアクティブであることを指定します。ネットワークポリシーは、アクセストークンまたは更新トークンの認証コードを交換するとき、および更新トークンを使用して新しいアクセストークンを取得するとき、ユーザー IP アドレスのリストを制限します。
このパラメーターが設定されていない場合、アカウントのネットワークポリシー(存在する場合)が代わりに使用されます。
オプションのセッションパラメーター(sessionParams
)¶
ユーザーに設定する1つ(または複数)のセッションパラメーターの既定値を指定します(空白、コンマ、または改行により区切り)。これらのデフォルトは、ユーザーがSnowflakeにログインしてセッションを開始するたびに設定されます。ユーザーは、セッション内で ALTER SESSION を使用してこれらのデフォルトをいつでも変更できます。
ユーザーに指定できるセッションパラメーターの完全なリスト(デフォルト値を含む)については、 パラメーター をご参照ください。
例¶
すべてのデフォルトプロパティ、既定のロール、および最初のログイン後にユーザーが変更する必要がある基本パスワードを持つユーザーを作成します。
CREATE USER user1 PASSWORD='abc123' DEFAULT_ROLE = myrole MUST_CHANGE_PASSWORD = TRUE;