カテゴリ:

ユーザーとセキュリティ DDL (ユーザー)

ALTER USER

システム内の既存のユーザーのプロパティとオブジェクト/セッションパラメーターを変更します。

  • 管理者は、このコマンドを使用して、管理者が適切な権限を持つユーザーに対するプロパティとパラメーターのデフォルトを変更できます。

  • 個々のユーザーはこのコマンドを使用して、特定のプロパティとセッションパラメーターのデフォルトを変更できます。詳細については、 使用上の注意 (このトピック内)をご参照ください。

ユーザーが送信したすべてのクエリ(および他の SQL ステートメント)を中止するためにも使用できます。

こちらもご参照ください:

CREATE USERDESCRIBE USERSHOW PARAMETERS

構文

ALTER USER [ IF EXISTS ] <name> RENAME TO <new_name>

ALTER USER [ IF EXISTS ] <name> RESET PASSWORD

ALTER USER [ IF EXISTS ] <name> ABORT ALL QUERIES

ALTER USER [ IF EXISTS ] <name> ADD DELEGATED AUTHORIZATION OF ROLE <role_name> TO SECURITY INTEGRATION <integration_name>

ALTER USER [ IF EXISTS ] <name> REMOVE DELEGATED { AUTHORIZATION OF ROLE <role_name> | AUTHORIZATIONS } FROM SECURITY INTEGRATION <integration_name>

ALTER USER [ IF EXISTS ] <name> SET { [ objectProperties ] [ objectParams ] [ sessionParams ] }

ALTER USER [ IF EXISTS ] <name> UNSET { <object_property_name> | <object_param_name> | <session_param_name> } [ , ... ]

条件:

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>
    EXT_AUTHN_DUO = TRUE | FALSE
    EXT_AUTHN_UID = <string>
    MINS_TO_BYPASS_MFA = <integer>
    DISABLE_MFA = TRUE | FALSE
    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>

注釈

読みやすくするために、ユーザーに設定できるセッションパラメーターの完全なリストはここには含まれていません。すべてのセッションパラメーターの完全なリストとその説明、およびアカウントとオブジェクトのパラメーターついては、 パラメーター をご参照ください。

パラメーター

名前

変更するユーザーの識別子を指定します。識別子にスペースまたは特殊文字が含まれる場合、文字列全体を二重引用符で囲む必要があります。二重引用符で囲まれた識別子も大文字と小文字が区別されます。

RENAME TO 新しい名前

ユーザーの新しい識別子を指定します。アカウントに対して一意である必要があります。

詳細については、 識別子の要件 をご参照ください。

RESET PASSWORD

ユーザーと共有できる URL を生成し、ユーザーが新しいパスワードを入力できるウェブページを開きます。生成された URL は1回の使用に有効で、4時間後に期限切れになります。

このパラメーターを指定しても、ユーザーの現在のパスワードは無効に なりません。ユーザーは、 URL を使用してリセットするまで、現在のパスワードを引き続き使用できます。

現在のパスワードを無効にする場合は、代わりに SET PASSWORD = '文字列' を使用して、パスワードを新しい値に変更します。

ABORT ALL QUERIES

クエリが実行/スケジュールされているウェアハウスに関係なく、ユーザーが現在実行またはスケジュールしているすべてのクエリおよびその他の SQL ステートメントを中止します。

ユーザーは引き続きSnowflakeにログインして、新しいクエリを開始できることに注意してください。

実行中またはスケジュール済みのすべてのクエリを中止し、ユーザーがSnowflakeにログインしたり、新しいクエリを開始したりできないようにするには、代わりに SET DISABLED = TRUE を指定します。

ADD DELEGATED AUTHORIZATION OF ROLE ロール名 TO SECURITY INTEGRATION 統合名;

特定の統合に対して指定されたロールを使用して、セッションを開始するユーザーの同意を追加します。

詳細については、 OAuth ユーザーの同意に対する委任された認証の追加 をご参照ください。

REMOVE DELEGATED AUTHORIZATION OF ROLE ロール名 FROM SECURITY INTEGRATION 統合名. REMOVE DELEGATED AUTHORIZATIONS FROM SECURITY INTEGRATION 統合名

ユーザーの同意を取り消します。

  • 最初の構文は、指定されたロールの指定されたセキュリティ統合から同意を取り消します。これには、統合および特定のロールに関連付けられている OAuth アクセストークンを取り消す効果があります。

  • 2番目の構文は、指定されたセキュリティ統合からすべての同意を取り消します。これには、統合に関連付けられた OAuth アクセストークンを取り消す効果があります。

詳細については、以下をご参照ください。

オブジェクトプロパティ(objectProperties

SET property_name = property_value [ ... ] , . UNSET property_name [ , ... ]

使用するために、設定または設定解除する1つ(または複数)のオブジェクトプロパティを指定します。オブジェクトプロパティの設定を解除すると、オブジェクトプロパティはデフォルトにリセットされます。

For more details about the object properties you can set (e.g. PASSWORD, LOGIN_NAME, DEFAULT_ROLE), see CREATE USER.

また、プロパティの設定と設定解除の詳細については、 使用上の注意 (このトピック内)を参照してください。

オブジェクトパラメーター(objectParams

SET NETWORK_POLICY = 文字列 [ ... ]. UNSET NETWORK_POLICY  [ , ... ]

ユーザーのために設定する、1つ(または複数)のオブジェクトパラメーターを指定します。オブジェクトパラメーターの設定を解除すると、デフォルトにリセットされます。

現在、設定できるオブジェクトパラメーターは NETWORK_POLICY のみです。これは、ユーザーのためにアクティブな ネットワークポリシー を指定します。

このオブジェクトパラメーター詳細については、 CREATE USER または パラメーター をご参照ください。

また、パラメーターの設定と設定解除に関するより一般的な詳細については、 使用上の注意 (このトピック内)をご参照ください。

セッションパラメーター(sessionParams

SET セッションパラメーター名 = パラメーター値 [ ... ]. UNSET セッションパラメーター名 [ , ... ]

ユーザーのために設定または設定解除する、1つ(または複数)のセッションパラメーターを指定します。セッションパラメーターの設定を解除すると、デフォルトにリセットされます。

設定できるセッションパラメーター(ABORT_DETACHED_SESSION、 AUTOCOMMIT など)の詳細については、 パラメーター をご参照ください。

また、パラメーターの設定と設定解除に関するより一般的な詳細については、 使用上の注意 (このトピック内)をご参照ください。

使用上の注意

  • 個々のユーザーは自分で ALTER USER コマンドを実行し(つまり、コマンドでユーザー名/識別子を指定することにより)、以下を変更できます。

    • DEFAULT_WAREHOUSE

    • DEFAULT_NAMESPACE

    • DEFAULT_ROLE

    • セッションパラメーターのデフォルトのいずれか

    ユーザーは、このコマンドを使用してパスワードを変更することは できない ことに注意してください。Snowflakeではセキュリティ上の理由により、ユーザーはウェブインターフェイス内からのみパスワードを変更できるようになっています。

    ただし、適切な権限を持つ管理者は SET PASSWORD = '文字列' でこのコマンドを使用して、ユーザーのパスワードを変更できます。

    ちなみに

    ユーザーのパスワードを変更するときは、 MUST_CHANGE_PASSWORD = TRUE を指定して、ユーザーが他のインターフェイス(例: SnowSQL または別のクライアントアプリケーション)からSnowflakeにログインする前に、ユーザーがウェブインターフェイスにログインしてパスワードを変更するように強制することもお勧めします。

    または、 RESET PASSWORD を使用して、ユーザーがパスワードを変更するためにアクセスできるウェブページに URL を生成します。

  • 単一の ALTER ステートメントで、複数のオブジェクトプロパティとオブジェクト/セッションパラメーターを設定および設定解除できます。

    • 複数のプロパティ/パラメーターを設定する場合は、空白、コンマ、または改行で区切ります。

    • 複数のプロパティ/パラメーターを設定解除する場合は、それらをコンマで区切る 必要 があります。さらに、プロパティ/パラメーターを設定解除する場合は、名前のみを指定します。プロパティ/パラメーターの値を指定すると、エラーが返されます。

  • ユーザーに SET DISABLED = TRUE を指定した場合、

    • ユーザーが現在実行またはスケジュールしているすべてのクエリおよびその他の SQL ステートメントは中止され、ユーザーは追加のクエリを開始できません。

    • ユーザーはSnowflakeからロックアウトされ、再度ログインできません。

    ユーザーの実行中およびスケジュール済みのクエリまたはステートメントをすべて中止する場合は、代わりに ABORT ALL QUERIES を使用します。

user1 の名前を user2 に変更します。

ALTER USER user1 RENAME TO user2;

user1 という名前のユーザーのパスワードを H8MZRqa8gEe/kvHzvJ+Giq94DuCYoQXmfbb$Xnt に設定し、Snowflakeウェブインターフェイスにログインしてパスワードの変更をユーザーに義務付けます。

ALTER USER user1 SET PASSWORD = 'H8MZRqa8gEe/kvHzvJ+Giq94DuCYoQXmfbb$Xnt' MUST_CHANGE_PASSWORD = TRUE;

ユーザーから既存のコメントを削除します。

ALTER USER user1 UNSET COMMENT;