Edge for Private Cloud バージョン 4.17.01
デフォルトでは、Cassandra は認証を有効にせずにインストールされます。つまり、誰でも Cassandra にアクセスできます。Edge のインストール後、またはインストール プロセスの一環として、認証を有効にできます。
Cassandra で認証を有効にする場合、次のデフォルト認証情報が使用されます。
- ユーザー名 = 「cassandra」
- password = 'cassandra'
このアカウントを使用することも、このアカウントに別のパスワードを設定することも、新しい Cassandra ユーザーを作成することもできます。Cassandra の CREATE/ALTER/DROP USER ステートメントを使用して、ユーザーを追加、削除、変更する。
詳細については、http://www.datastax.com/documentation/cql/3.0/cql/cql_reference/cqlCommandsTOC.html をご覧ください。
インストール中に Cassandra 認証を有効にする
インストール時に Cassandra 認証を有効にできます。ただし、Cassandra のインストール時に認証を有効にすることはできますが、デフォルトのユーザー名とパスワードは変更できません。この手順は、Cassandra のインストールの完了後に手動で行う必要があります。
注: -p c、-p ds、-p sa、-p aio、-p asa、-p ebp オプションを使用して Cassandra をインストールする場合は、この手順を使用します。
インストール時に Cassandra 認証を有効にするには、すべての Cassandra ノードの構成ファイルに CASS_AUTH プロパティを含めます。
CASS_AUTH=y # The default value is n.
Cassandra にアクセスする Edge コンポーネントは次のとおりです。
- 管理サーバー
- Message Processor
- ルーター
- Qpid サーバー
- Postgres サーバー
- BaaS スタック
したがって、これらのコンポーネントをインストールする場合は、構成ファイルで次のプロパティを設定して Cassandra の認証情報を指定する必要があります。
CASS_USERNAME=cassandra CASS_PASSWORD=cassandra
Cassandra の認証情報は、Cassandra のインストール後に変更できます。ただし、Management Server、Message Processor、Router、Qpid サーバー、Postgres サーバー、BaaS Stack をすでにインストールしている場合は、新しい認証情報を使用するようにこれらのコンポーネントも更新する必要があります。
Cassandra のインストール後に Cassandra の認証情報を変更するには:
- cqlsh ツールとデフォルトの認証情報を使用して、任意の Cassandra ノードにログインします。1 つのノードでパスワードを変更するだけで、パスワードがリング内のすべての Cassandra ノードにブロードキャストされます。
> /opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p cassandra
ここで:- cassIP は Cassandra ノードの IP アドレスです。
- 9042 がデフォルトの Cassandra ポートです。
- デフォルト ユーザーは cassandra です。
- デフォルトのパスワードは cassandra です。以前にパスワードを変更した場合は、現在のパスワードを使用します。
- 次のコマンドを cqlsh> プロンプトとして実行して、パスワードを更新します。
cqlsh> ALTER USER cassandra WITH PASSWORD 'NEW_PASSWORD'; - cqlsh ツールを終了します。
cqlsh> exit - Management Server、Message Processor、Router、Qpid サーバー、Postgres サーバー、BaaS Stack をまだインストールしていない場合は、構成ファイルで次のプロパティを設定して、これらのコンポーネントをインストールします。
CASS_USERNAME=cassandra
CASS_PASSWORD=NEW_PASSWORD - Management Server、Message Processor、Router、Qpid サーバー、Postgres サーバー、BaaS Stack をすでにインストールしている場合は、Edge のパスワードのリセットを参照して、新しいパスワードを使用するようにこれらのコンポーネントを更新する手順をご確認ください。
インストール後に Cassandra 認証を有効にする
認証を有効にするには:
- Cassandra に接続するすべての Edge コンポーネントを、Cassandra のユーザー名とパスワードで更新します。
- すべての Cassandra ノードで認証を有効にします。
- いずれかのノードで Cassandra のユーザー名とパスワードを設定します。1 つの Cassandra ノードで認証情報を変更するだけで、リング内のすべての Cassandra ノードにブロードキャストされます。
Cassandra と通信するすべての Edge コンポーネントを新しい認証情報で更新する手順は次のとおりです。この手順は、Cassandra の認証情報を実際に更新する前に行ってください。
- Management Server ノードで、次のコマンドを実行します。
> /opt/apigee/apigee-service/bin/apigee-service edge-management-server store_cassandra_credentials -u CASS_USERNAME -p CASS_PASSWORD
必要に応じて、新しいユーザー名とパスワードを含むファイルをコマンドに渡すことができます。
> apigee-service_PASSROSconfig cassand>store
configFile - 以下についてステップ 1 を繰り返します。
- すべての Message Processor
- すべてのルーター
- すべての Qpid サーバー(edge-qpid-server)
- Postgres サーバー(edge-postgres-server)
- バージョン 4.16.05.04 以降の BaaS Stack ノードで、次の操作を行います。
- 次のコマンドを実行して、暗号化されたパスワードを生成します。
> /opt/apigee/apigee-service/bin/apigee-service baas-usergrid secure_password
このコマンドを実行すると、書式なしテキストのパスワードの入力を求められ、暗号化されたパスワードが次の形式で返されます。
SECURE:ae1b6dedbf6b26aaab8bee7e815c91 - /opt/apigee/customer/application/usergrid.properties に次のトークンを設定します。このファイルが存在しない場合は作成します。
usergrid-deployment_cassandra.username=cassandra
usergrid-deployment_cassandra.password=SECURE:ae1b6dedbf6b26aaab8bee815a910737c1c15b55f3505bc209e40 のユーザー名
ユーザー名を変更した場合は、それに応じて usergrid-deployment_cassandra.username の値を設定します。
パスワードに接頭辞「SECURE:」が含まれていることを確認します。 それ以外の場合、BaaS スタックは値を暗号化されていないと解釈します。
注: BaaS スタックの各ノードには、パスワードの暗号化に使用される独自の鍵があります。したがって、暗号化された値を各 BaaS スタックノードで個別に生成する必要があります。 - usergrid.properties ファイルの所有権を「apigee」ユーザーに変更します。
> chown apigee:apigee /opt/apigee/customer/application/usergrid.properties - スタックノードを構成します。
> /opt/apigee/apigee-service/bin/apigee-service baas-usergrid Configure - BaaS スタックを再起動します。
> /opt/apigee/apigee-service/bin/apigee-service baas-usergrid restart - すべての BaaS スタック ノードに上記の手順を繰り返します。
- 次のコマンドを実行して、暗号化されたパスワードを生成します。
Cassandra 認証を有効にし、ユーザー名とパスワードを設定するには、次の操作を行います。
- 最初の Cassandra ノードにログインします。
- 次のコマンドを実行します。
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra enable_cassandra_authentication -e y
このコマンドにより、認証が有効になり、Cassandra が再起動します。
- すべての Cassandra ノードで手順 1 と 2 を繰り返します。
cqlsh
ツールとデフォルトの認証情報を使用して、任意の Cassandra ノードにログインします。パスワードを変更する必要があるのは 1 つの Cassandra ノードだけで、リング内のすべての 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>
プロンプトで次のコマンドを実行して、キースペースを常に使用可能な状態にします。 1 つのデータセンターの場合:ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'dc-1': '3'};
2 つのデータセンターの場合:ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'dc-1': '3', 'dc-2': '3'};
cqlsh
ツールを終了します。exit
nodetool repair
を実行して、変更がすべての Cassandra ノードに反映されていることを確認します。/opt/apigee/apigee-cassandra/bin/nodetool repair system_auth