Cassandra 認証を有効にする

デフォルトでは、Cassandra は認証を有効にせずにインストールされます。つまり、誰でもアクセスでき CassandraEdge のインストール後に、またはインストールの一環として認証を有効にできます。 プロセスです

Cassandra を使用すると、CREATE/ALTER/DROP USER ステートメント。詳細については、 Cassandra SQL シェルコマンドをご覧ください。

Cassandra 認証を有効にする 設置

インストール時に Cassandra 認証を有効にできます。

インストール時に Cassandra 認証を有効にするには、CASS_AUTH を含めます。 プロパティをすべての Cassandra ノードの構成ファイルで設定し、

CASS_AUTH=y # The default value is n.

Cassandra にアクセスする Edge コンポーネントは次のとおりです。

  • 管理サーバー
  • Message Processor
  • ルーター
  • Qpid サーバー
  • Postgres サーバー

これらのコンポーネントをインストールするときに、 使用します。

CASS_USERNAME=cassandra_username
CASS_PASSWORD=cassandra_password

Cassandra の認証情報は、Cassandra のインストール後に変更できます。ただし、 Management Server、Message Processor、Router、Qpid サーバー、Postgres がすでにインストールされている 新しい認証情報を使用するようにコンポーネントを更新する必要もあります。

Cassandra のインストール後に Cassandra の認証情報を変更するには:

  1. cqlsh ツールとデフォルトの Cassandra ノードを使用して、任意の 1 つの Cassandra ノードにログインします。 認証情報を取得できます。1 つのノードでパスワードを変更するだけで、パスワードはすべてのノードにブロードキャストされます。 リング内の Cassandra ノード:
    /opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra_username -p cassandra_password

    ここで

    1. cassIP は、Cassandra ノードの IP アドレスです。
    2. 9042 は、デフォルトの Cassandra ポートです。
  2. cqlsh> プロンプトで次のコマンドを実行して、パスワードを更新します。
    ALTER USER cassandra_username/var> WITH PASSWORD 'new_cassandra_password';
  3. 次の例のように、cqlsh ツールを終了します。
    exit
  4. Management Server、Message Processor、 ルーター、Qpid サーバー、Postgres サーバーを使用する場合は、 それらのコンポーネントをインストールします。
    CASS_USERNAME=cassandra_username
    CASS_PASSWORD=new_cassandra_password
  5. Management Server をすでにインストールしている場合、メッセージ プロセッサ、ルーター、Qpid サーバー、Postgres サーバー。これらを更新する手順については、Edge のパスワードを再設定するをご覧ください。 新しいパスワードを使用するように設定してください。

Cassandra 認証の有効化 設置

インストール後に認証を有効にするには:

Cassandra に接続する Edge コンポーネントを更新する

Cassandra と通信するすべての Edge コンポーネントを更新するには、次の操作を行います。 新しい認証情報でログインします。この手順は、Cassandra を実際に更新する前に行うことに注意してください。 認証情報:

  1. Management Server ノードで、次のコマンドを実行します。
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server
      store_cassandra_credentials -u cassandra_username -p cassandra_password

    必要に応じて、新しいユーザー名とパスワードを含むファイルをコマンドに渡すことができます。

    apigee-service edge-management-server store_cassandra_credentials  -f configFile

    ここで、configFile には次のものが含まれます。

    CASS_USERNAME=cassandra_username # Default is cassandra
    CASS_PASSWORD='cassandra_password' # Default is cassandra; wrap in single quotes if it includes special chars

    このコマンドを実行すると、Management Server が自動的に再起動されます。

  2. 次の各サービスに対して、ステップ 1 を繰り返します。 <ph type="x-smartling-placeholder">
      </ph>
    • すべての Message Processor
    • すべてのルーター
    • すべての Qpid サーバー(edge-qpid-server)
    • Postgres サーバー(edge-postgres-server)

    各サービスに対して手順 1 を繰り返す際に、edge-management-server を コマンドを適切なサービス名に置き換えます。たとえば、Compute Engine の 設定するには、次のコマンドを使用します。

    /opt/apigee/apigee-service/bin/apigee-service edge-router
      store_cassandra_credentials -u cassandra -p cassandra

認証を有効にする

次の手順で Cassandra 認証を有効にし、ユーザー名とパスワードを設定します。 パスワード:

  1. 以下の内容でサイレント構成ファイルを作成します。
    # Specify IP address or DNS name of cassandra node
    IP1=192.168.1.1
    IP2=192.168.1.2
    IP3=192.168.1.3
    # Must resolve to IP address or DNS name of host
    HOSTIP=$(hostname -i)
    # Set to ‘y’ to enable Cassandra authentication.
    CASS_AUTH=y # Possible values are ‘y/n’
    # Cassandra username. If it does not exist, this user would be created as a SUPERUSER
    CASS_USERNAME=cassandra_username # Default value is cassandra - don't use for production
    # Cassandra Password. If CASS_USERNAME does not exist, create SUPERUSER with this as password
    CASS_PASSWORD=cassandra_password # Default value is cassandra - don't use for production
    # Space-separated IP/DNS names of the Cassandra hosts
    CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1"
    
    # Username of an existing C* user. Only needed if you have disabled or changed details of the default cassandra user(‘cassandra’)
    CASS_EXISTING_USERNAME=existing_cassandra_username
    # Password of an existing C* user. Only needed if you have disabled or change password of the default cassandra user(‘cassandra’)
    CASS_EXISTING_PASSWORD=existing_cassandra_password
    # Cassandra port
    CASS_PORT=9042 # The default port is 9042.
  2. 最初の Cassandra ノードにログインして、次のコマンドを実行します。

    apigee-service apigee-cassandra enable_cassandra_authentication -f CONFIG

    必要に応じて、プロパティをコマンド引数としてスクリプトに渡すことができます。 次の例をご覧ください。

    CASS_AUTH=y HOSTIP=$(hostname -i) CASS_PORT=9042 CASS_EXISTING_USERNAME=existing_cassandra_username CASS_EXISTING_PASSWORD=existing_cassandra_password CASS_USERNAME=cassandra_username CASS_PASSWORD=cassandra_password  CASS_HOSTS="192.168.1.1:1,1 192.168.1.2:1,1 192.168.1.3:1,1" apigee-service apigee-cassandra enable_cassandra_authentication

    注:

    • デフォルト 設定するには、上記のコマンドで Cassandra 認証を有効にして再起動します。 Cassandra
    • デフォルト以外の認証情報の場合、このコマンドはレプリケーション係数も変更し、 スーパーユーザーであり、system_auth keyspace で修復を実行します。
  3. すべての Cassandra ノードで手順 1 と 2 を繰り返します。