デフォルトでは、Cassandra は認証を有効にせずにインストールされます。つまり、API へのアクセス権を持つ 認証なしで Cassandra データベースにクエリを実行できます。Google Chat では Edge のインストール後、またはインストール プロセスの一環として、認証を有効にします。
自分の認証情報を提供せずに Cassandra で認証を有効にする場合は、 次のデフォルトの認証情報が使用されます。
- ユーザー名 =「cassandra」
- パスワード = 'cassandra'
このユーザー アカウントを使用するか、このユーザー アカウントに別のパスワードを設定するか、
新しい Cassandra ユーザーを作成します。Cassandra を使用してユーザーを追加、削除、変更する
CREATE/ALTER/DROP USER
ステートメント。
詳細については、Cassandra SQL シェルコマンドをご覧ください。
Cassandra 認証を有効にする 設置
インストール時に Cassandra 認証を有効にできます。一方
必要な場合は、デフォルトの Cassandra ユーザー名を
とパスワード(‘cassandra’:’cassandra’
)が必要です。
デフォルト以外の Cassandra 認証情報を使用する場合は、Cassandra を再度有効にする必要があります。
インストール後に認証を行います。
<ph type="x-smartling-placeholder"></ph>
こちらをご覧ください。
新規の Cassandra インストール時に Cassandra 認証を有効にするには、 すべての Cassandra ノードの構成ファイルで、以下のプロパティを指定します。
CASS_AUTH=y CASS_USERNAME=cassandra CASS_PASSWORD=cassandra
インストールにより、認証が有効かつデフォルトの状態で Cassandra が設定されます。
cassandra:cassandra
認証情報。
最初のインストールが完了したら、次の手順を 1 つ以上行います。
- 次の手順に沿って、Cassandra 認証に使用する代替ユーザーを作成します。 <ph type="x-smartling-placeholder"></ph> こちらをご覧ください。
- 次の手順に従って、デフォルトの Cassandra ユーザーのパスワードを変更します。 こちらをご覧ください。
- Edge コンポーネントをインストールする 上で設定した認証情報を使用するアプリを構築できます。
Cassandra に接続する Edge コンポーネント
Cassandra にアクセスする Edge コンポーネントは次のとおりです。
- 管理サーバー
- Message Processor
- ルーター
- Qpid サーバー
- Postgres サーバー
Cassandra 認証が有効になっている場合に Edge コンポーネントをインストールする
環境に Edge コンポーネントをインストールするときに Cassandra 認証を有効にして 初めて使用する場合は、サイレント構成ファイルで次の設定を指定する必要があります。
CASS_AUTH=Y CASS_USERNAME=<valid username in Cassandra> CASS_PASSWORD=<password for the above username>
Cassandra ノードは 認証情報を手動でインストールするをご覧ください。ただし、 Management Server、Message Processor、Router、Qpid がすでにインストールされている Postgres サーバーを使用している場合、 これらのコンポーネントを更新し、 新しい認証情報が必要です。次のセクションで説明します。
Cassandra に接続する Edge コンポーネントを更新する
次の手順に沿って、Cassandra と通信するすべての Edge コンポーネントを 更新します。この手順は、Cassandra を実際に更新する前に行う必要があります。 認証情報:
- 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 characters.
このコマンドを実行すると、Management Server が自動的に再起動されます。
- 次のサービスごとに手順 1 を繰り返します。
<ph type="x-smartling-placeholder">
- </ph>
- すべての Message Processor
- すべてのルーター
- すべての Qpid サーバー(edge-qpid-server)
- Postgres サーバー(edge-postgres-server)
サービスごとに手順 1 を繰り返す場合は、
edge-management-server
を置き換えます。 適切なサービス名に置き換えます。たとえば、ステップを実行するときに、 Router サービスの場合は、次のコマンドを使用します。/opt/apigee/apigee-service/bin/apigee-service edge-router store_cassandra_credentials -u cassandra -p cassandra
インストール後に Cassandra 認証を有効にする
以降のセクションでは、インストール後に Cassandra 認証を有効にする方法について説明します。
単一のデータセンター設定で Cassandra 認証を有効にする
Cassandra がすでにインストールされている単一のデータセンター ベースの Apigee 設定では、次のことができます。
- デフォルトの Cassandra を使用するか、Cassandra 認証を初めて有効にする
ユーザー(
cassandra:cassandra
)を作成するか、まったく新しいスーパー ユーザーを作成します。そのためには、 手順は次のとおりです。 <ph type="x-smartling-placeholder"> - 既存の Cassandra ユーザーのパスワードを変更します。
デフォルトの Cassandra 認証情報を使用して Cassandra 認証を有効にしている場合
(
cassandra:cassandra
)のパスワードは次の手順で変更できます。 <ph type="x-smartling-placeholder">
注: 「Cassandra」user は Cassandra の特別なユーザーです。これを使用した認証 QUORUM の整合性を必要とします。詳しくは、 <ph type="x-smartling-placeholder"></ph> Cassandra の整合性レベルについて
データセンターが複数ある場合に Cassandra 認証を有効にする
データセンターを拡張する場合は、次のいずれかのシナリオに従ってください。 どちらを使用するかは 設定に応じて異なります
シナリオ 1: 既存のデータセンターで Cassandra 認証が有効になっている
Cassandra 認証が既存のデータセンターですでに有効になっている場合
cassandra:cassandra
の認証情報を入力する手順は次のとおりです。- 新しいデータセンターを設置する デフォルトの Cassandra:Cassandra 認証情報とCASS_AUTH=y を設定します。詳しくは、 Cassandra 認証を有効にする 利用します。
- Edge をインストールする コンポーネントを新しいデータセンターに配置する必要があります。
既存のデータセンターで、デフォルト以外の認証情報を使用して Cassandra 認証がすでに有効になっている場合は、 手順は次のとおりです。
- デフォルトの Cassandra:Cassandra 認証情報を使用して新しいデータセンターをセットアップし、CASS_AUTH=y を設定します。詳しくは、 Cassandra 認証を有効にする 利用します。
- 手順は次のとおりです。 最初に Cassandra 認証を有効にする] を選択し、 既存のデータセンターがデフォルト以外の認証情報を使用している場合。
- Edge をインストールする コンポーネントを新しいデータセンターにコピーし、デフォルト以外の Cassandra 認証情報を使用します。
シナリオ 2: 既存のデータセンターで Cassandra 認証が有効になっていない
Cassandra 認証が有効になっていない場合は、次の操作を行います。
- Cassandra 認証を使用しない新しいデータセンターを設定します。
- 手順は次のとおりです。 Cassandra 認証を初めて有効にする クラスタ全体で Cassandra 認証を有効にします(拡張後)。
- 次の手順に従って、Cassandra に接続する Edge コンポーネントを更新します。 こちらをご覧ください。
Cassandra 認証を初めて有効にする
次の手順で Cassandra 認証を初めて有効にします。 または、Cassandra の新しいユーザー名とパスワードを作成します。
- 以下の内容でサイレント構成ファイルを作成します。
# 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 # Default value is cassandra # Cassandra Password. If CASS_USERNAME does not exist, create SUPERUSER with this as password CASS_PASSWORD=cassandra # Default value is cassandra # 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 change details of the default cassandra user(‘cassandra’) CASS_EXISTING_USERNAME=cassandra # The default username is cassandra # Password of an existing C* user. Only needed if you have disabled or change password of the default cassandra user(‘cassandra’) CASS_EXISTING_PASSWORD=cassandra # The default password is cassandra # Cassandra port CASS_PORT=9042 # The default port is 9042.
- 最初の Cassandra ノードにログインして、次のコマンドを実行します。
apigee-service apigee-cassandra enable_cassandra_authentication -f CONFIG
必要に応じて、プロパティをコマンド引数としてスクリプトに渡すことができます。 次の例をご覧ください。
CASS_AUTH=y HOSTIP=$(hostname -i) CASS_PORT=9042 CASS_EXISTING_USERNAME=cassandra CASS_EXISTING_PASSWORD=cassandra CASS_USERNAME=cassandra CASS_PASSWORD=cassandra 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 認証が有効になり、 Cassandra が再起動されます。
- デフォルト以外の認証情報の場合、このコマンドはレプリケーション係数も変更し、 system_auth キースペースの修復を実行します。
- すべての Cassandra ノードで手順 1 と 2 を 1 つずつ繰り返します。
Cassandra のインストール後に Cassandra の認証情報を変更する
Cassandra のインストール後に Cassandra の認証情報を変更するには:
cqlsh
ツールとデフォルトの Cassandra ノードを使用して、任意の 1 つの Cassandra ノードにログインします。 認証情報が必要です。1 つのノードでパスワードを変更するだけで、パスワードはすべてのノードにブロードキャストされます。 リング内の Cassandra ノード:/opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p cassandra
ここで
- cassIP は、Cassandra ノードの IP アドレスです。
- 9042 は、デフォルトの Cassandra ポートです。
- デフォルト ユーザーは
cassandra
です。 - デフォルトのパスワードは
cassandra
です。パスワードを変更した場合 現在のパスワードを使用します。パスワードに特殊文字が含まれている場合は、 単一引用符で囲みます。
cqlsh>
プロンプトで次のコマンドを実行して、パスワードを更新します。ALTER USER cassandra WITH PASSWORD 'NEW_PASSWORD';
- 次の例のように、
cqlsh
ツールを終了します。exit
- Management Server、Message Processor、
ルーター、Qpid サーバー、Postgres サーバーを使用する場合は、
それらのコンポーネントをインストールします。
CASS_USERNAME=cassandra CASS_PASSWORD=NEW_PASSWORD
- Management Server をすでにインストールしている場合、メッセージ プロセッサ、Router、Qpid サーバー、Postgres サーバー。これらを更新する手順については、Edge のパスワードを再設定するをご覧ください。 新しいパスワードを使用するように設定してください。