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>