CREATE USER

新しいユーザーを作成します。

新しいユーザーを作成します。

構文 

CREATE USER IF NOT EXISTS user_name WITH PASSWORD 'password'(NOSUPERUSER | SUPERUSER)

構文の凡例 

  • 大文字はリテラルを意味する
  • 小文字は、リテラルでないことを意味する
  • イタリック体は指定が任意であることを意味する
  • パイプ(|)記号はORまたはAND/ORを意味する
  • 省略記号(...)は繰り返し可能を意味する
  • 範囲記号「(」および「)」はリテラルではなく、範囲を示す

この構文には、CQL文の終了となるセミコロンは含まれていません。

説明 

CREATE USERは、新しいデータベース・ユーザー・アカウントを定義します。デフォルトでは、ユーザー・アカウントにはスーパーユーザーステータスはありません。CREATE USER要求を発行できるのはスーパーユーザーだけです。

ユーザー・アカウントは、内部認証および権限管理でログインする場合に必要です。

ユーザー名に英数字以外の文字が含まれている場合は、ユーザー名を単一引用符で囲んでください。既存のユーザーを再作成することはできません。スーパーユーザーのステータスまたはパスワードを変更するには、ALTER USERを使用します。

内部ユーザー・アカウントの作成 

内部認証用のユーザー・アカウントを作成する場合は、WITH PASSWORD句を使用する必要があります。パスワードは単一引用符で囲んでください。

CREATE USER spillman WITH PASSWORD 'Niner27'; CREATE USER akers WITH PASSWORD 'Niner2' SUPERUSER; CREATE USER boone WITH PASSWORD 'Niner75' NOSUPERUSER;

内部認証を設定していない場合は、以下のようにWITH PASSWORD句を使用する必要はありません。

CREATE USER test NOSUPERUSER;

ユーザー・アカウントの条件付き作成 

Cassandra 2.0.9以降では、ユーザー・アカウントを作成する前に、ユーザーがアカウントを持っているかどうかをテストできます。IF NOT EXISTSオプションを使用しないで既存のユーザーを作成しようとすると、無効なクエリー条件になります。このオプションを使用すると、ユーザーが存在していれば、この文は何もしません。

$ bin/cqlsh -u cassandra -p cassandra Connected to Test Cluster at 127.0.0.1:9042. [cqlsh 5.0.1 | Cassandra 2.1.0 | CQL spec 3.3.0 | Native protocol v3] Use HELP for help. cqlsh> CREATE USER newuser WITH PASSWORD 'password'; cqlsh> CREATE USER newuser WITH PASSWORD 'password'; code=2200 [Invalid query] message="User newuser already exists" cqlsh> CREATE USER IF NOT EXISTS newuser WITH PASSWORD 'password'; cqlsh>