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';