認証の構成

認証を設定する手順

内部認証を使用するようにCassandraを構成するには、最初にcassandra.yamlファイルに変更を加え、この手順の説明に従ってsystem_authキースペースのレプリケーション係数を増やします。次に、デフォルトのユーザー名とパスワード(cassandra/cassandra)を使用してCassandraを起動し、同じ認証情報を使用してcqlshを起動します。最後に、以下のCQL文を使用してユーザー・アカウントを設定し、データベース・オブジェクトへのアクセス権を与えます。

注: 権限を構成するには、「内部権限管理」を参照してください。
cassandra.yamlファイルの場所は、インストールのタイプによって異なります。
パッケージ・インストール /etc/cassandra/cassandra.yaml
tarボール・インストール install_location/resources/cassandra/conf/cassandra.yaml
Windowsインストール C:\Program Files\DataStax Community\apache-cassandra\conf\cassandra.yaml

手順

  1. cassandra.yamlファイル内のオーセンティケーター・オプションをPasswordAuthenticatorに変更します。

    デフォルトでは、オーセンティケーター・オプションはAllowAllAuthenticatorに設定されています。

    authenticator:PasswordAuthenticator
  2. system_auth keyspaceのレプリケーション係数を大きくし、N(ノード数)に設定します。

    デフォルトの1を使用していて、1つのレプリカを含むノードが停止した場合、system_authキースペースはレプリケートされていないため、クラスターにログインできなくなります。

  3. Cassandraクライアントを再起動します。
    クライアントを起動するために使用するデフォルトのスーパーユーザー名とパスワードはCassandraに格納されています。
    $  client_startup_string -u cassandra -p cassandra
  4. スーパーユーザー名とパスワードを使用してcqlshを起動します。
    $  cqlsh -u cassandra -p cassandra
  5. cassandraという名前でない別のスーパーユーザーを作成します。このステップは省略可能ですが、実行することを強く推奨します。
  6. この新しいスーパーユーザーとしてログインします。
  7. cassandraユーザーのパスワードを長い判別できないものに変更します。このパスワードは忘れてかまいません。それを再び使用することはありません。
  8. cassandraユーザーのスーパーユーザー・ステータスを取り除きます。
  9. 上記のCQL文を使用してユーザー・アカウントを設定し、データベース・オブジェクトにアクセスするためのパーミッションを付与します。