ユーザー管理

ユーザー管理者は、 SQL またはウェブインターフェイスを介してSnowflakeユーザーを作成および管理できます。

  • SQL を使用すると、管理者はユーザーのログイン認証情報やデフォルトの変更など、ユーザーに関連するすべてのタスクを実行できます。

  • Snowsight は、ユーザー関連のタスクの大半をサポートします。

  • Classic Console はすべてのユーザー関連タスクをサポートしていませんが、ユーザーを作成して、ユーザーのパスワードのリセットといった、最も一般的なアクティビティを実行するためのウィザードを提供します。

このトピックの内容:

ユーザーの作成と変更に必要な権限

アカウントのユーザーを管理するには、次のロールまたは権限が必要です。

ユーザーの作成:

USERADMIN システムロールは、 SQL(CREATE USER)を使用してユーザーを作成できます。

この目的でカスタムロールを使用する場合は、アカウントの CREATE USER 権限をこのロールに付与してください。

ユーザーの変更:

ユーザーに対する OWNERSHIP 権限を持つロール、またはそれ以上のロールのみが、 SQL (ALTER USER)を使用してほとんどのユーザープロパティを変更できます。さらに、ロールにはグローバル CREATE USER 権限が必要です。

パスワードポリシー

パスワードポリシーは、Snowflakeに対して認証するためのパスワードを作成およびリセットするときに満たす必要がある要件を指定します。

Snowflakeは、パスワードポリシーに2つのオプションを提供します。

  • 初期ユーザープロビジョニングプロセスを容易にする組み込みパスワードポリシー。

  • ユースケースとユーザー管理者のニーズに応じて、Snowflakeアカウント、個々のユーザー、またはその両方のレベルで設定できるスキーマレベルのパスワードポリシーオブジェクト。

ベストプラクティスと各パスワードポリシーオプションの詳細については、次をご参照ください。

パスワードポリシーとパスワードのベストプラクティス

Snowflakeは、パスワードとパスワードポリシーに関する次のベストプラクティスを推奨しています。

カスタムパスワードポリシーを作成して適用する

アカウントまたはユーザーにパスワードポリシーが設定されると、パスワードポリシーオブジェクトが適用されます。

これらのプロパティを、内部セキュリティのニーズに合った値に設定します。詳細については、このトピックの ステップ4: パスワードポリシーを作成する をご参照ください。

  • PASSWORD_HISTORY は、ユーザーがパスワードを頻繁に再利用できないようにし、ユーザーのパスワードを特定するブルートフォース攻撃を防ぐのに役立ちます。

  • PASSWORD_MIN_AGE_DAYS を使用して、ユーザーに新しいパスワードの使用を要求します。0という値は推奨されません。ユーザーがパスワードを変更するとパスワード履歴が使い果たされ、元のパスワード値がすぐに再利用される可能性があるためです。

ユーザーがSnowflakeへの初回または次回のログイン時にパスワードポリシーを満たすようにパスワードを変更することをリクエストするには、 ALTER USER コマンドを使用してユーザーの MUST_CHANGE_PASSWORD プロパティを TRUE に設定します。

詳細については、 ステップ6: パスワードの変更をリクエストする (このトピック内)をご参照ください。

強力なパスワードをリクエストする

アカウントレベルのパスワードポリシーを定義して、強力なパスワードをリクエストします。

強力なパスワードは、少なくとも8文字で構成され、大文字と小文字、特殊文字(例: !*)、および数字の組み合わせが含まれます。

MFA

セキュリティを強化するには 多要素認証(MFA) を使用します。

SCIM の使用

ユーザーが SCIM API リクエストでSnowflakeにアクセスするためのパスワードを設定できます。SCIM 管理者とユーザー管理者は、IDプロバイダーで、 または Snowflakeのパスワードポリシーを使用して、Snowflakeにアクセスするためのユーザーパスワードを管理することを選択する必要があります。

現在、 SCIM でSnowflakeにプロビジョニングされたユーザーには、 デフォルトのSnowflakeパスワードポリシー を満たすパスワードが必要です。このパスワードポリシー機能を使用することを選択した場合は、この要件を回避できます。

デフォルトのパスワードポリシー要件を回避するには、 パスワードポリシーの使用 セクション(このトピック内)の手順に従います。

パスワードのモニター

パスワードをモニターするには、

  • Snowflake Account Usage USERS ビューにクエリを実行して、特定のユーザーに対して HAS_PASSWORD 列の値が TRUE を返すかどうかを判断します。

  • Snowflake Account Usage LOGIN_HISTORY ビューにクエリを実行し、 FIRST_AUTHENTICATION_FACTOR 列を評価します。ユーザーがSnowflakeにアクセスするためにパスワードを必要としない場合は、 ALTER USER コマンドを実行して password プロパティを NULL に設定します。

Snowflakeが提供するパスワードポリシー

パスワードには、空白文字や感嘆符(!)、パーセント記号(%)、アスタリスク(*)などの特殊文字(英数字以外の文字)を含め、256文字までの大文字と小文字が区別される文字列を使用できます。

ユーザーを最初に作成する ときに、以下で説明する最小要件を満たさないユーザーに対して弱いパスワードを設定することができます(例: 'test12345')。この機能により、管理者は作成プロセス中に、ユーザーの汎用パスワードを使用するオプションを利用できるようになります。このパスウェイを選択した場合は、 MUST_CHANGE_PASSWORD プロパティを TRUE に設定して、ユーザーが最初のログインを含むSnowflakeへの次回のログイン時に、パスワードを変更するように要求することを 強く お勧めします。

さらに、Snowflakeでは、初期パスワードなしでのユーザー作成を許可し、新しいユーザーがシステムにログインできないようにするビジネスプロセスをサポートします。これが発生した場合、ユーザーの PASSWORD プロパティ値は NULL です。ただし、一般的な規則としてSnowflakeでは、ユーザーが初期パスワードと合わせて作成されることを想定しています。

既存のパスワードをリセット (例: 'test12345''q@-*DaC2yjZoq3Re4JYX' に変更)するコンテキストの場合、Snowflakeは、 ALTER USER コマンドとウェブインターフェイスを使用する際に、最小要件として次のパスワードポリシーを適用します。

  • 少なくとも8文字の長さが必要です。

  • 少なくとも数字1つを含める必要があります。

  • 少なくとも1つの大文字と1つの小文字を含める必要があります。

Snowflakeはできるだけ強力なパスワードを作成するために、次のガイドラインを 強く 推奨しています。

  • Snowflake用に一意のパスワードを作成します(つまり、他のシステムまたはアカウントからのパスワードを再利用しない)。

  • 8文字以上を使用してください。

  • 複数のランダムな大文字、小文字混合の文字、数字、および空白を含む特殊文字を含めます。

  • 推測しやすい一般的なパスワード、名前、数字、または日付は使用しません。

最後に、ユーザーログインの最高レベルのセキュリティを構成するには、ユーザーを MFA に登録する ことをお勧めします。

アカウントとユーザーのカスタムパスワードポリシー

カスタムパスワードポリシーは、Snowflakeへの認証のためにパスワードを作成およびリセットするときに満たす必要がある要件を指定する、スキーマレベルのオブジェクトです。これには、パスワードを正常に入力するための試行回数や、パスワードを再試行できるまでの分数が含まれます。(つまり、「ロックアウト」時間)。

パスワードのパスワードポリシー要件には、ユーザーとクライアントがSnowflakeへの認証セキュリティ要件を満たすための、大文字または小文字、特殊文字、数字、およびパスワードの長さが含まれます。強力なパスワードをリクエストするパスワードポリシーは、セキュリティのガイドラインと規制を満たすために役立ちます。

Snowflakeは、Snowflakeアカウントおよび個別ユーザーのパスワードポリシーの設定をサポートしています。Snowflakeアカウントまたはユーザーに対して一度に設定できるパスワードポリシーは1つだけです。Snowflakeアカウントにパスワードポリシーが存在し、同じSnowflakeアカウントのユーザーに別のパスワードポリシーが設定されている場合は、ユーザーレベルのパスワードポリシーがアカウントレベルのパスワードポリシーよりも優先されます。

パスワードポリシーは、Snowflakeアカウントに設定された新しいパスワードに適用されます。既存のパスワードを持つユーザーがパスワードポリシーの要件を満たしていることを確認するには、 ステップ6: パスワードの変更をリクエストする (このトピック内)に示すように、Snowflakeへの次回のログイン時にパスワードを変更するようユーザーにリクエストします。

注釈

各パスワードポリシーパラメーターには、 MUST_CHANGE_PASSWORD プロパティを TRUE に設定する ALTER USER ステートメントが必要です。これにより、Snowflakeへの次回ログイン時にパスワードポリシーパラメーター値に準拠するようにユーザーがパスワードを更新する必要があります。

ただし、次のパラメーターは例外です。

  • PASSWORD_MAX_AGE_DAYS = integer

  • PASSWORD_MAX_AGE_DAYS = integer

  • PASSWORD_LOCKOUT_TIME_MINS = integer

これらのパラメーターはステートフルです。ステートフルパラメーターとは、コマンドの実行が終了するとパラメーター値が有効になることを意味します。 CREATE PASSWORD POLICY または ALTER PASSWORD POLICY ステートメントに1つ以上のステートフルパラメーターしか含まれていない場合は、ALTER USER ... SET MUST_CHANGE_PASSWORD コマンドを実行する必要はありません。

ALTER PASSWORD POLICY コマンドでステートフルパラメーター値を変更しても、現在のセッションに影響は ありません。たとえば、 PASSWORD_MAX_AGE_DAYS パラメーターの値を、ユーザーの現在のパスワードの有効期限が切れる原因となる数値に変更すると、Snowflakeへの次回ログイン時に、ユーザーはパスワードを変更することになります。Snowflakeは、ユーザーが現在のセッションでパスワードを変更することを強制しません。

考慮事項

  • パスワードポリシーに対する権限の 将来の付与 はサポートされていません。

    回避策として、カスタムロールに APPLYPASSWORD POLICY 権限を付与して、そのロールがユーザーまたはSnowflakeアカウントにパスワードポリシーを適用できるようにします。

  • パスワードポリシーは、 SnowSQL またはサポートされている ドライバーかコネクタ を使用して SQL により、 または Worksheets で Classic Console か Snowsight を使用して 管理 できます。

  • パスワードの リセット または 変更:

    • Classic Console、 SnowSQL、およびサポートされているコネクタとドライバー:

      ALTER USER コマンドを実行するか、 Classic Console を使用してパスワードをリセットまたは変更する場合、Snowflakeはパスワードポリシーを評価して、新しく作成されたパスワードがパスワードポリシーの要件と一致することを確認します。

  • パスワードポリシーの使用状況の追跡:

    • Account Usage PASSWORD_POLICIES ビューをクエリして、Snowflakeアカウントの各パスワードポリシーの行を返します。

    • Information Schemaテーブル関数 POLICY_REFERENCES を使用して、指定されたパスワードポリシーに割り当てられた各ユーザーの行と、Snowflakeアカウントに割り当てられたパスワードポリシーの行を返します。

      現在、パスワードポリシーでは次の構文のみがサポートされています。

      POLICY_REFERENCES( POLICY_NAME => '<password_policy_name>' )
      
      Copy

      ここで、 password_policy_name はパスワードポリシーの完全修飾名です。

      たとえば、次のクエリを実行して、 my_db という名前のデータベースと my_schema という名前のスキーマに格納されている、 password_policy_prod_1 という名前のパスワードポリシーが割り当てられている各ユーザーの行を返します。

      SELECT *
      FROM TABLE(
          my_db.information_schema.policy_references(
            POLICY_NAME => 'my_db.my_schema.password_policy_prod_1'
        )
      );
      
      Copy

パスワードポリシーの使用

次のステップは、Snowflakeでパスワードポリシーを定義および設定するための代表的なガイドです。

これらのステップは、 policy_admin という名前のカスタムロールがパスワードポリシーを所有し(つまり、パスワードポリシーに対する OWNERSHIP 権限を持っている)、アカウントまたはユーザーにパスワードポリシーを設定する責任がある(つまり、 ステップ2 に示すように APPLY PASSWORD POLICY グローバル権限を持っている)ことを前提としています。

注釈

アカウントにポリシーを設定するには、 policy_admin カスタムロールに、パスワードポリシーを含むデータベースとスキーマに対する USAGE 権限も必要です。

詳細については、 アクセス制御権限 をご参照ください。

ステップ1: カスタムロールを作成する

パスワードポリシーの作成と管理を許可するカスタムロールを作成します。このトピック全体を通して、カスタムロールの例には policy_admin という名前が付けられていますが、ロールには適切な名前を付けることができます。

カスタムロールがすでに存在する場合は、次のステップに進みます。

それ以外の場合は、 policy_admin カスタムロールを作成します。

USE ROLE USERADMIN;

CREATE ROLE policy_admin;
Copy

ステップ2: カスタムロールに権限を付与する

policy_admin カスタムロールに次の権限がまだない場合は、以下に示すようにこれらの権限を付与します。

  • パスワードポリシーを含むデータベースとスキーマの USAGE。

  • パスワードポリシーを格納するスキーマの CREATE PASSWORD POLICY。

  • アカウントの APPLY PASSWORD POLICY。

USE ROLE SECURITYADMIN;

GRANT USAGE ON DATABASE security TO ROLE policy_admin;

GRANT USAGE ON SCHEMA security.policies TO ROLE policy_admin;

GRANT CREATE PASSWORD POLICY ON SCHEMA security.policies TO ROLE policy_admin;

GRANT APPLY PASSWORD POLICY ON ACCOUNT TO ROLE policy_admin;
Copy

ユーザーにパスワードポリシーを設定する場合は、ユーザーに APPLY PASSWORD POLICY 権限を付与します。たとえば、ユーザー名が JSMITH の場合、次のコマンドを実行します。

GRANT APPLY PASSWORD POLICY ON USER jsmith TO ROLE policy_admin;
Copy

詳細については、 DDL コマンド、操作、および権限の概要 をご参照ください。

ステップ3: ユーザーにカスタムロールを付与する

パスワードポリシーの管理を担当するユーザーに policy_admin カスタムロールを付与します。

USE ROLE SECURITYADMIN;
GRANT ROLE policy_admin TO USER jsmith;
Copy

詳細については、 アクセス制御の構成 をご参照ください

ステップ4: パスワードポリシーを作成する

policy_admin カスタムロールを使用して、 password_policy_prod_1 という名前のパスワードポリシーを作成します。詳細については、 CREATE PASSWORD POLICY をご参照ください。

USE ROLE policy_admin;

USE SCHEMA security.policies;

CREATE PASSWORD POLICY PASSWORD_POLICY_PROD_1
    PASSWORD_MIN_LENGTH = 12
    PASSWORD_MAX_LENGTH = 24
    PASSWORD_MIN_UPPER_CASE_CHARS = 2
    PASSWORD_MIN_LOWER_CASE_CHARS = 2
    PASSWORD_MIN_NUMERIC_CHARS = 2
    PASSWORD_MIN_SPECIAL_CHARS = 2
    PASSWORD_MIN_AGE_DAYS = 1
    PASSWORD_MAX_AGE_DAYS = 999
    PASSWORD_MAX_RETRIES = 3
    PASSWORD_LOCKOUT_TIME_MINS = 30
    PASSWORD_HISTORY = 5
    COMMENT = 'production account password policy';
Copy

注釈

プロパティ PASSWORD_MAX_AGE_DAYS は最大値999に設定されています。自社内のガイドラインに沿った値を選択します。詳細については、 CREATE PASSWORD POLICY をご参照ください。

ステップ5: アカウントまたは個別ユーザーにパスワードポリシーを設定する

ALTER ACCOUNT コマンドを使用して、アカウントにポリシーを設定します。

ALTER ACCOUNT SET PASSWORD POLICY security.policies.password_policy_prod_1;
Copy

1人以上のユーザーに対して追加のパスワードポリシーを作成する場合は、 ALTER USER コマンドを使用して、ユーザーレベルのパスワードポリシーをユーザーに設定します。

ALTER USER jsmith SET PASSWORD POLICY security.policies.password_policy_user;
Copy

重要

アカウントまたはユーザーにすでに設定されているパスワードポリシーを置き換えるには、最初にパスワードポリシーの設定を解除してから、アカウントまたはユーザーに新しいパスワードポリシーを設定します。例:

ALTER ACCOUNT UNSET PASSWORD POLICY;

ALTER ACCOUNT SET PASSWORD POLICY security.policies.password_policy_prod_2;
Copy

ステップ6: パスワードの変更をリクエストする

ALTER USER ステートメントを使用して個別ユーザーの MUST_CHANGE_PASSWORD プロパティを TRUE に設定し、Snowflakeへの次回のログイン時にパスワードポリシーを満たすようにユーザーにパスワードの変更をリクエストします。

ALTER USER JSMITH SET MUST_CHANGE_PASSWORD = true;
Copy

ステップ7: パスワードポリシーをターゲットアカウントに複製する

パスワードポリシーとその参照(つまり、ユーザーまたはアカウントへの割り当て)は、データベースの複製とアカウントの複製を使用して、ソースアカウントからターゲットアカウントに複製できます。詳細については、次をご参照ください。

パスワードポリシーの管理

Snowflakeは、パスワードポリシーを管理するために、次の権限と DDL のセットを提供します。

Snowflakeは、パスワードポリシーオブジェクトを管理するために次の DDL コマンドを提供します。

スキーマ内の任意のオブジェクトを操作するには、親データベースとスキーマに対する USAGE 権限も必要であることに注意してください。

権限

使用状況

CREATE PASSWORD POLICY

新しいパスワードポリシーの作成を有効にします。

APPLY PASSWORD POLICY

アカウントまたはユーザーレベルでパスワードポリシーを適用できるようにします。

OWNERSHIP

パスワードポリシーに対する包括的な制御を付与します。パスワードポリシーのほとんどのプロパティを変更するために必要です。

DDL コマンド、操作、および権限の概要

次のテーブルは、パスワードポリシー DDL 操作と必要な権限の関係をまとめたものです。

スキーマ内の任意のオブジェクトを操作するには、親データベースとスキーマに対する USAGE 権限も必要であることに注意してください。

操作

必要な権限

パスワードポリシーを作成する

パスワードポリシーを格納するためのスキーマに対する CREATE PASSWORD POLICY 権限を持つロール。

パスワードポリシーを変更する

パスワードポリシーに対する OWNERSHIP 権限を持つロール。

パスワードポリシーをドロップする

パスワードポリシーに対する OWNERSHIP 権限を持つロール。

パスワードポリシーを説明する

パスワードポリシーの OWNERSHIP 権限 または . アカウントの APPLY PASSWORD POLICY 権限を持つロール。

パスワードポリシーを表示する

パスワードポリシーの OWNERSHIP 権限 または . アカウントの APPLY PASSWORD POLICY 権限を持つロール。

パスワードポリシーを設定および設定解除する

アカウントまたはユーザーに対する APPLY PASSWORD POLICY 権限を持つロール。

ユーザーのロール

Snowflakeはロールを使用して、ユーザーがアクセスできるオブジェクト(仮想ウェアハウス、データベース、テーブルなど)を制御します。

  • Snowflakeは、一連の事前定義されたロールと、カスタムロールの階層を定義するためのフレームワークを提供します。

  • すべてのSnowflakeユーザーには、事前に定義された PUBLIC ロールが自動的に割り当てられ、Snowflakeへのログインと基本的なオブジェクトアクセスが可能になります。

  • PUBLIC のロールに加えて、各ユーザーに追加のロールを割り当てることができ、これらのロールの1つを 既定のロール として指定できます。ユーザーの既定のロールにより、ユーザーが開始したSnowflakeセッションで使用されるロールが決まります。ただし、これはデフォルトにすぎません。ユーザーは、セッション内のロールをいつでも変更できます。

  • ロールは、ユーザー作成時またはその後に割り当てることができます。

注意

ユーザーに割り当てる追加のロールを決定し、既定のロールを指定するときは、事前定義された ACCOUNTADMIN のロール(アカウントレベルの管理タスクを実行するために必要)について以下を考慮します。

  • Snowflakeでは、 ACCOUNTADMINの割り当てを厳密に制御するようにお勧めしますが、少なくとも2人のユーザーに割り当てることをお勧めします。

  • ACCOUNTADMIN は 決して ユーザーの既定のロールとして指定されるべきではありません。代わりに、下位レベルの管理ロールまたはカスタムロールをデフォルトとして指定します。

ACCOUNTADMIN のロールに関する詳細とベストプラクティスについては、 アクセス制御の考慮事項 をご参照ください。ロールの一般的な情報については、 アクセス制御の概要 をご参照ください。

ユーザーの作成

Snowsight、 Classic Console、または SQL を使用してユーザーを作成できます。

注釈

Classic Console か Snowsight にかかわらず、ウェブインターフェイスを使用する場合には、ユーザーを作成するときにパスワードを指定する必要があります。 CREATE USER コマンドはパスワードを指定しません。

Snowflakeでのパスワードに関する詳細については、 パスワードポリシー (このトピック内)をご参照ください。

Snowsightの使用

  1. Snowsight にサインインします。

  2. Admin » Users & Roles を選択します。

  3. + User を選択します。

  4. User Name フィールドに、ユーザーの一意の識別子を入力します。ログイン名を指定しない限り、ユーザーはこの識別子を使用してSnowflakeにサインインします。

  5. オプションで、 Email フィールドにユーザーのメールアドレスを指定します。

  6. Password および Confirm Password フィールドに、ユーザーのパスワードを入力します。

  7. オプションで、ユーザーを作成した理由を説明するコメントを追加します。

  8. Force user to change password on first time login チェックボックスを選択したままにしておくと、ユーザーがサインインする際にパスワードを強制的に変更します。

  9. オプションで、 Advanced User Options を選択して、ユーザーに関する追加情報を指定します。

    • Snowflakeへのサインイン時に、 User Name の代わりに使用する Login Name

    • サインイン後に表示される Display Name

    • ユーザープロファイルを完結する First Name および Last Name

    • Default RoleDefault Warehouse、および Default Namespace

  10. Create User を選択します。

従来のコンソールの使用

  1. Account アカウントタブ » Users を選択します。

  2. Create を選択します。

  3. User Name フィールドに、ユーザーの一意の識別子を入力します。

    注釈

    ユーザー名は、Snowflakeのユーザーの一意の識別子です。ユーザーのログイン名(つまり、Snowflakeにログインするときにユーザーが入力する名前)では ありません 。Snowflakeでは、必要に応じて、ユーザーが異なるユーザー名とログイン名を持つことができます。次の画面でユーザーのログイン名を指定します。

  4. Password および Confirm Password フィールドに、ユーザーのパスワードを入力します。

  5. Force Password Change チェックボックスを選択したままにして、ユーザーに次回のログイン時にパスワードの変更を強制します。それ以外の場合は、チェックボックスをオフにします。

  6. Next を選択します。 Advanced 画面が開きます。

  7. オプションで、ユーザーの Login NameDisplay Name、および個人情報を入力します。

    注釈

    ユーザーはSnowflakeにログインするためにログイン名が必要です。ログイン名を明示的に指定しない場合、Snowflakeはログイン名としてユーザー名を使用します。

  8. Next を選択します。 Preferences 画面が開きます。

  9. オプションで、ユーザーのデフォルトを入力します。

    • 仮想ウェアハウス

    • 名前空間の形式: db_name または db_name.schema_name

    • ロール

  10. Finish を選択します。Snowflakeは成功メッセージを表示します。

SQLの使用

CREATE USER コマンドを使用してユーザーを作成します。

重要

ユーザーを作成するときに、既定のロールをユーザーに割り当てる場合は、このロールをユーザーに明示的に付与する必要があります。例:

CREATE USER janesmith PASSWORD = 'abc123' DEFAULT_ROLE = myrole MUST_CHANGE_PASSWORD = TRUE;

GRANT ROLE myrole TO USER janesmith;
Copy

GRANT ROLE コマンドを使用すると、単一のユーザーに複数のロールを割り当てることができます。現在、ウェブインターフェイスは同機能をサポートしていません。

ユーザーのパスワードのリセット

管理者は、ウェブインターフェイスまたは SQLを使用してユーザーのパスワードを変更できます。

Snowsightの使用

  1. Snowsight にサインインします。

  2. Admin » Users & Roles を選択します。

  3. パスワードを変更するユーザーを探し、 その他のオプション » Reset Password を選択します。

  4. ユーザーの新しいパスワードを入力し、パスワードを確認します。

  5. Update を選択します。

従来のコンソールの使用

注釈

ユーザーは、 Classic Console からのみ自分のパスワードを変更できます。詳細については、 パスワードの変更/(セッション)ロールの切り替え/ログアウト をご参照ください。

  1. Account アカウントタブ » Users を選択します。

  2. ユーザー行をクリックして選択し、 Reset Password を選択します。 Reset Password ダイアログが開きます。

  3. ユーザーの新しいパスワードを入力し、パスワードを確認します。

  4. Force Password Change チェックボックスを選択したままにして、ユーザーに次回のログイン時にパスワードの変更を強制します。それ以外の場合は、チェックボックスをオフにします。

  5. Finish を選択します。

SQLの使用

ALTER USER コマンドを使用して、ユーザーのパスワードを入力します。例:

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

または、 ALTER USER ... RESET PASSWORD 構文を使用して、 URL を生成し、ユーザーと共有します。URL は、ユーザーが新しいパスワードを入力できるウェブページを開きます。例:

ALTER USER janesmith RESET PASSWORD;
Copy

注釈

  • 生成された URL は1回の使用に対してのみ有効であり、4時間後に有効期限が切れます。

  • ALTER USER ... RESET PASSWORD ステートメントを実行しても、現在のパスワードは無効になりません。ユーザーは、新しいパスワードが設定されるまで、古いパスワードを引き続き使用できます。

管理者のパスワードのリセット

アカウント管理者(つまり、ACCOUNTADMIN ロールを持つユーザー)は、 ユーザーのパスワードのリセット で説明されている手順を使用して、自分のパスワードをリセットできます。

アカウント管理者がアカウントからロックアウトされた場合は、 ACCOUNTADMIN ロールを持つ別のユーザーが、ロックアウトされた管理者のパスワードをリセットできます。管理者がロックアウトされ、パスワードを変更できる管理者が他にいない場合は、 Snowflakeサポート に連絡してパスワードをリセットします。

ユーザーのパスワード変更機能の無効化

ユーザーは、右上(ログイン名の横)のドロップダウンメニューの » Change Password をクリックして、ウェブインターフェイスでSnowflakeのパスワードを変更します。 Select a New Password ダイアログが開きます。ダイアログは現在のパスワードと新しいパスワードを受け入れます。

オプションで、アカウント内のユーザーが自分のパスワードを変更する機能を無効にすることができます。アカウント管理者は、 Account アカウントタブ » Users のウェブインターフェイスを使用して、または SQL を介し ALTER USER コマンドを使用して、引き続きユーザーパスワードを変更できます。

この変更をリクエストするには、 Snowflakeサポート にご連絡ください。

ユーザーの無効化/有効化

ユーザーを無効にすると、ユーザーはSnowflakeにログインできなくなります。ウェブインターフェイスまたは SQLを使用して、ユーザーを無効にできます。

Snowsightの使用

  1. Snowsight にサインインします。

  2. Admin » Users & Roles を選択します。

  3. 無効にするユーザーを探し、 その他のオプション » Disable User を選択します。

  4. 開いた確認ダイアログで、 Disable を選択します。

ユーザーを有効にするには、同じステップに従いますが、 Enable User ボタンをクリックします。

従来のコンソールの使用

  1. Account アカウントタブ » Users をクリックします。

  2. ユーザー行をクリックして選択し、 Disable User ボタンをクリックします。確認ダイアログが開きます。

  3. Yes をクリックして、ユーザーを無効にします。

ユーザーを有効にするには、同じステップに従いますが、 Enable User ボタンをクリックします。

SQLの使用

ALTER USER コマンドを使用して、ユーザーを無効または有効にします。例:

  • ユーザーを無効にします。

    ALTER USER janesmith SET DISABLED = TRUE;
    
    Copy
  • ユーザーを有効にします。

    ALTER USER janesmith SET DISABLED = FALSE;
    
    Copy

ユーザーのロック解除

ユーザーログインが5回連続して失敗した場合、ユーザーは一定期間(現在は15分)アカウントからロックアウトされます。一定の時間が経過すると、システムは自動的にロックを解除し、ユーザーは再度ログインを試みることができます。

時間が経過する前にユーザーのロックを解除するには、 ALTER USER コマンドを使用してタイマーをリセットできます。

次の例では、タイマーを0にリセットし、ユーザー janesmith をすぐにロック解除します。

ALTER USER janesmith SET MINS_TO_UNLOCK= 0;
Copy

Tip

単一のロールですべてのSnowflakeユーザーに対する OWNERSHIP 権限がある場合は、複数のユーザーにロールを付与することをお勧めします。これにより、ロールのメンバーがロックアウトされた場合、別のメンバーがそのユーザーのロックを解除できます。

ユーザーのセッションパラメーターの変更

  • ユーザーのセッションパラメーターを表示するには、次の SQL 構文を使用します。

    SHOW PARAMETERS [ LIKE '<pattern>' ] FOR USER <name>
    
    Copy
  • ユーザーのセッションパラメーターを変更するには、次の構文を使用します。

    ALTER USER <name> SET <session_param> = <value>
    
    Copy

    たとえば、ユーザーがタイムアウトせずに無期限にSnowflakeに接続したままにできるようにします。

    ALTER USER janesmith SET CLIENT_SESSION_KEEP_ALIVE = TRUE;
    
    Copy
  • ユーザーのセッションパラメーターをデフォルト値にリセットするには、次の構文を使用します。

    ALTER USER <name> UNSET <session_param>
    
    Copy

他のユーザープロパティの変更

ALTER USER コマンドを使用して、他のすべてのユーザープロパティを変更できます。例:

  • ユーザー janesmith の姓を Jones に変更します。

    ALTER USER janesmith SET LAST_NAME = 'Jones';
    
    Copy
  • ユーザー janesmith のデフォルトのウェアハウス、名前空間、プライマリロール、およびセカンダリロールを設定または変更します。

    ALTER USER janesmith SET DEFAULT_WAREHOUSE = mywarehouse DEFAULT_NAMESPACE = mydatabase.myschema DEFAULT_ROLE = myrole DEFAULT_SECONDARY_ROLES = ('ALL');
    
    Copy

ユーザーの表示

SQL を使用してユーザーに関する情報を表示できます。

DESCRIBE USER または SHOW USERS コマンドを使用して、1人以上のユーザーに関する情報を表示します。

例:

DESC USER janeksmith;
Copy

ユーザーのドロップ

ユーザーをドロップすると、Snowflakeからユーザー認証情報が削除されます。

注意

ユーザーをドロップすると、そのユーザーが所有するワークシートとダッシュボードも削除されます。

ユーザーが所有するワークシートへのアクセスを保持するには、2つのオプションがあります。

テーブルやビューなど、ユーザーが作成したオブジェクトは、オブジェクトが作成された時点でユーザーのアクティブロールが所有しているため、削除されません。 ロール階層 で同じロールまたはそれ以上のロールを割り当てられた別のユーザーは、オブジェクトを管理したり、所有権を別のロールに移したりできます。

Snowsightの使用

  1. Snowsight にサインインします。

  2. Admin » Users & Roles を選択します。

  3. 無効にするユーザーを探し、 その他のオプション » Drop を選択します。

  4. 開いた確認ダイアログで、 Drop User を選択します。

従来のコンソールの使用

  1. Account アカウントタブ » Users を選択します。

  2. ユーザー行をクリックして選択し、 Drop を選択します。確認ダイアログが開きます。

  3. Yes を選択してユーザーをドロップします。

SQLの使用

DROP USER コマンドを使用してユーザーをドロップします。

DROP USER janesmith;
Copy