CREATE ROLE

新しいロールを作成します。

新しいロールを作成します。

構文

CREATE ROLE [IF NOT EXISTS] role_name WITH PASSWORD ='password' [AND LOGIN = boolean] [AND SUPERUSER = boolean]

構文の凡例

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

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

説明

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

ロール・アカウントは、内部認証および権限管理でログインする場合に使用します。

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

内部ロールの作成

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

CREATE ROLE coach WITH PASSWORD = 'NinersRule' AND LOGIN = true AND SUPERUSER = true;

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

CREATE ROLE manager NOSUPERUSER;

条件付きロールの作成

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

cqlsh> CREATE ROLE IF NOT EXISTS new_role WITH PASSWORD = 'password';