📣新登場!TiDB Cloud BYOC、TiDB Cloud Filesystem、PostgreSQL-compatible TiDB Cloud Starter がパブリックプレビュー中。このページは自動翻訳されたものです。原文はこちらからご覧ください。

ALTER USER



ユーザーアカウントを変更します。内容は以下を含みます。

  • ユーザーのパスワードと認証タイプの変更。
  • パスワードポリシーの設定または解除。
  • ネットワークポリシーの設定または解除。
  • デフォルトロールの設定または変更。明示的に設定されていない場合、TiDB Cloud Lake は組み込みロール public をデフォルトロールとして使用します。

構文

-- Modify password / authentication type ALTER USER <name> IDENTIFIED [ WITH auth_type ] BY '<new_password>' [ WITH MUST_CHANGE_PASSWORD = true | false ] -- Require user to modify password at next login ALTER USER <name> WITH MUST_CHANGE_PASSWORD = true -- Modify password for currently logged-in user ALTER USER USER() IDENTIFIED BY '<new_password>' -- Set password policy ALTER USER <name> WITH SET PASSWORD POLICY = '<policy_name>' -- Unset password policy ALTER USER <name> WITH UNSET PASSWORD POLICY -- Set network policy ALTER USER <name> WITH SET NETWORK POLICY = '<policy_name>' -- Unset network policy ALTER USER <name> WITH UNSET NETWORK POLICY -- Set default role ALTER USER <name> WITH DEFAULT_ROLE = '<role_name>' -- Enable or disable user ALTER USER <name> WITH DISABLED = true | false -- Set workload group ALTER USER <name> WITH SET WORKLOAD GROUP = '<workload_group_name>' -- Unset workload group ALTER USER <name> WITH UNSET WORKLOAD GROUP
  • auth_type には double_sha1_password(デフォルト)、sha256_password、または no_password を指定できます。
  • MUST_CHANGE_PASSWORD を true に設定すると、ユーザーは次回ログイン時にパスワードを変更する必要があります。これは、アカウント作成後に一度もパスワードを変更したことがないユーザーに対してのみ有効です。ユーザーが自分で一度でもパスワードを変更したことがある場合は、再度変更する必要はありません。
  • CREATE USER または ALTER USER を使用してユーザーのデフォルトロールを設定しても、TiDB Cloud Lake はそのロールの存在を検証せず、ユーザーにそのロールを自動的に付与もしません。ロールを有効にするには、そのロールをユーザーに明示的に付与する必要があります。
  • DISABLED を使用すると、ユーザーを有効または無効にできます。無効化されたユーザーは、有効化されるまで TiDB Cloud Lake にログインできません。構文 を参照してください。

例

例 1: パスワードと認証タイプの変更

CREATE USER user1 IDENTIFIED BY 'abc123'; SHOW USERS; +-----------+----------+----------------------+---------------+ | name | hostname | auth_type | is_configured | +-----------+----------+----------------------+---------------+ | user1 | % | double_sha1_password | NO | +-----------+----------+----------------------+---------------+ ALTER USER user1 IDENTIFIED WITH sha256_password BY '123abc'; SHOW USERS; +-------+----------+-----------------+---------------+ | name | hostname | auth_type | is_configured | +-------+----------+-----------------+---------------+ | user1 | % | sha256_password | NO | +-------+----------+-----------------+---------------+ ALTER USER 'user1' IDENTIFIED WITH no_password; show users; +-------+----------+-------------+---------------+ | name | hostname | auth_type | is_configured | +-------+----------+-------------+---------------+ | user1 | % | no_password | NO | +-------+----------+-------------+---------------+

例 2: ネットワークポリシーの設定と解除

SHOW NETWORK POLICIES; Name |Allowed Ip List |Blocked Ip List|Comment | ------------+-------------------------+---------------+-----------+ test_policy |192.168.10.0,192.168.20.0| |new comment| test_policy1|192.168.100.0/24 | | | CREATE USER user1 IDENTIFIED BY 'abc123'; ALTER USER user1 WITH SET NETWORK POLICY='test_policy'; ALTER USER user1 WITH SET NETWORK POLICY='test_policy1'; ALTER USER user1 WITH UNSET NETWORK POLICY;

例 3: デフォルトロールの設定

  1. "user1" という名前のユーザーを作成し、デフォルトロールを "writer" に設定します。

    CREATE USER user1 IDENTIFIED BY 'abc123'; GRANT ROLE developer TO user1; GRANT ROLE writer TO user1; ALTER USER user1 WITH DEFAULT_ROLE = 'writer';
  2. SHOW ROLES コマンドを使用して、ユーザー "user1" のデフォルトロールを確認します。

eric@Erics-iMac ~ % lakesql --user user1 --password abc123 show roles; ┌───────────────────────────────────────────────────────┐ │ name │ inherited_roles │ is_current │ is_default │ │ String │ UInt64 │ Boolean │ Boolean │ ├───────────┼─────────────────┼────────────┼────────────┤ │ developer │ 0 │ false │ false │ │ public │ 0 │ false │ false │ │ writer │ 0 │ true │ true │ └───────────────────────────────────────────────────────┘

例 2: ワークロードグループの設定と解除

CREATE USER user1 IDENTIFIED BY 'abc123'; ALTER USER user1 WITH SET WORKLOAD GROUP='wg'; ALTER USER user1 WITH SET WORKLOAD GROUP='wg1'; ALTER USER user1 WITH UNSET WORKLOAD GROUP;

このページは役に立ちましたか?