スーパーユーザー・アカウントの作成

ロール・ベースのアクセス制御を有効にしたら、独自のスーパーユーザー・アカウントを作成し、デフォルトのcassandraアカウントを無効にするか削除します。

スーパーユーザー・オプションで作成されたロールには、データベースへのフル・アクセス権があります。このロールを持つユーザーは、すべてのデータベース・リソースで任意のCQLコマンドを実行できます。 DataStaxでは、スーパーユーザー・ステータスを付与するユーザー数を限定し、内部スキームでスーパーユーザー認証を管理することを推奨しています。LDAPグループ管理(role_management_options.mode: ldap)を使用する場合、意図しないロール割り当てを防止するために、authentication_options.scheme_permissions: trueを設定し、スーパーユーザー・ロールを内部スキームにバインドします(「認証スキームへのロールのバインド」を参照)。

DSEには、デフォルトのロールcassandraが含まれています。パスワードはcassandraです。cassandraロールはスーパーユーザー・ログイン・アカウントで、データベースへのフル・アクセス権があります。 ログインを含むcassandraアカウントからの要求では、QUORUMの整合性レベルを使用します。QUORUMは、複数のデータ・センター環境において重大なパフォーマンス低下を招く場合があります。 セキュリティとパフォーマンスのために、DataStaxは、RBACの初回設定時に一度だけcassandraロールを使用して自分のrootアカウントを確立してから、cassandraロールを無効にするか削除することを推奨しています。

注: 他のすべての認証済みアカウントからの要求の整合性レベルは、LOCAL_ONEです。詳細については、「整合性レベルはどのように構成されるか」を参照してください。

始める前に

DSEクラスターを分離して、RBACを有効にします。「ロールの管理」を参照してください。

手順

  1. Cassandraユーザーとして、CQLシェル(cqlsh)にログインします。
    cqlsh -u cassandra -p cassandra
  2. CQLデータベースに格納されているパスワードを使用して新しいスーパーユーザー・アカウントを作成します。
    CREATE ROLE root_user_name with SUPERUSER = true AND LOGIN = true and PASSWORD = 'password';
  3. cqlshを終了します。
    EXIT;
  4. cassandraロールを無効にするか削除するために、前の手順で作成した新しいロールでログインします。
    cqlsh -u root_user

    プロンプトに応じてパスワードを入力します。

  5. LISTを使用して、ロールがスーパーユーザーとして作成されたことを確認します。
    LIST ROLES;
    
     role                | super | login | options
    ---------------------+-------+-------+---------
               root_user |  True |  True |        {}
               cassandra |  True |  True |        {}
    (2 rows)
  6. cassandraアカウントを削除するか更新します。
    • cassandraアカウントを削除します。
      DROP ROLE cassandra;
    • スーパーユーザーを無効にし、パスワードを変更してcassandraロールを更新します。
      ALTER ROLE cassandra WITH SUPERUSER = false AND LOGIN = false AND password='new_secret_pw';
    実稼働環境では、データベースのセキュリティを確保するために、このアカウントを削除することを推奨します。LDAPなどの外部認証方法を使用すると、昇格した権限で誤って割り当てられることがないようにできます。
  7. cassandraロールが削除されたことを確認します。
    LIST ROLES;
    これらの手順で作成されたロールのみが表示されます。
    
     role                | super | login | options
    ---------------------+-------+-------+---------
               root_user |  True |  True |        {}
    
    (1 rows)
  8. ファイアウォールを再開して、実稼働CQLトラフィックをサポートします。

次のタスク

構成された認証スキーム用のユーザー名またはグループ名に対してマップうするロールを設定します。