Edge for Private Cloud v. 4.16.05
インストールが完了したら、OpenLDAP、Apigee Edge システム管理者、Edge 組織ユーザー、Cassandra のパスワードをリセットできます。
OpenLDAP パスワードをリセットする
Edge の構成に応じて、OpenLDAP は次のようにインストールされます。
- Management Server ノードにインストールされた OpenLDAP の単一インスタンス。たとえば、2 ノード、5 ノード、9 ノードの Edge 構成です。
- Management Server ノードにインストールされ、OpenLDAP レプリケーションで構成された複数の OpenLDAP インスタンス。たとえば、12 ノードの Edge 構成の場合。
- 独自のノードにインストールされ、OpenLDAP レプリケーションで構成された複数の OpenLDAP インスタンス。たとえば、13 ノードの Edge 構成の場合。
OpenLDAP パスワードをリセットする方法は、構成によって異なります。
Management Server にインストールされている OpenLDAP の単一インスタンスに対して、次の操作を行います。
- Management Server ノードで、次のコマンドを実行して新しい OpenLDAP パスワードを作成します。
> /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-openldap change-ldap-password -o oldPword -n newPword - 次のコマンドを実行して、Management Server がアクセスできるように新しいパスワードを保存します。
> /<inst_root>/apigee/apigee-service/bin/apigee-service edge-management-server store_ldap_credentials -p newPword
このコマンドにより、Management Server が再起動されます。
Management Server ノードに OpenLDAP がインストールされている OpenLDAP レプリケーション設定では、両方の Management Server ノードで上記の手順に沿ってパスワードを更新します。
OpenLDAP が Management Server 以外のノードにある OpenLDAP レプリケーション設定では、まず両方の OpenLDAP ノードでパスワードを変更してから、両方の Management Server ノードでパスワードを変更します。
システム管理者パスワードをリセットする
システム管理者パスワードをリセットするには、次の 2 つの場所でパスワードをリセットする必要があります。
- 管理サーバー
- UI
警告: システム管理者のパスワードをリセットする前に、Edge UI を停止する必要があります。Management Server でパスワードを最初にリセットするため、UI で古いパスワードが引き続き使用される短い期間が発生する可能性があります。UI が古いパスワードを使用して 3 回以上呼び出しを行うと、OpenLDAP サーバーはシステム管理者アカウントを 3 分間ロックアウトします。
システム管理者パスワードをリセットするには:
- UI ノードで、Edge UI を停止します。
> /<inst_root>/apigee/apigee-service/bin/apigee-service edge-ui stop - Management Server で、次のコマンドを実行してパスワードをリセットします。
> /<inst_root>/apigee/apigee-service/bin/apigee-service edge-management-server change_sysadmin_password -o currentPW -n newPW - Edge UI のインストールに使用したサイレント構成ファイルを編集して、次のプロパティを設定します。
APIGEE_ADMINPW=newPW
SMTPHOST=smtp.gmail.com
SMTPPORT=465
SMTPUSER=foo@gmail.com
SMTPPASSWORD=bar
SMTPSSL=y
UI のすべてのプロパティがリセットされるため、新しいパスワードを渡すときに SMTP プロパティを含める必要があります。 - apigee-setup ユーティリティを使用して、構成ファイルから Edge UI のパスワードをリセットします。
> /<inst_root>/apigee/apigee-setup/bin/setup.sh -p ui -f configFile - UI ノードで Edge UI を起動します。
> /<inst_root>/apigee/apigee-service/bin/apigee-service edge-ui start
複数の Management Server が存在する OpenLDAP レプリケーション環境では、1 つの Management Server でパスワードをリセットすると、他の Management Server も自動的に更新されます。ただし、すべての Edge UI ノードを個別に更新する必要があります。
組織ユーザーのパスワードを再設定する
組織ユーザーのパスワードをリセットするには、apigee-servce ユーティリティを使用して apigee-setup を呼び出します。
/<inst_root>/apigee/apigee-service/bin/apigee-service apigee-setup reset_user_password [-h] [-u USER_EMAIL] [-p USER_PWD] [-a ADMIN_EMAIL] [-P APIGEE_ADMINPW] [-f configFile]
次に例を示します。
> /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-setup reset_user_password -u user@myCo.com -p foo12345 -a admin@myCo.com -P adminPword
「-f」オプションで使用できる構成ファイルの例を次に示します。
USER_NAME= user@myCo.com USER_PWD= "foo12345" APIGEE_ADMINPW= adminPword
Update user API を使用してユーザー パスワードを変更することもできます。
システム管理者と組織ユーザーのパスワード ルール
このセクションでは、API 管理ユーザーに、必要なレベルのパスワードの長さと強度を適用します。この設定では、一連の事前構成された(一意の番号が付けられた)正規表現を使用して、パスワードの内容(大文字、小文字、数字、特殊文字など)をチェックします。これらの設定を /<inst_root>/apigee/customer/application/management-server.properties ファイルに書き込みます。このファイルが存在しない場合は作成します。
management-server.properties を編集した後、Management Server を再起動します。
> /<inst_root>/apigee/apigee-service/bin/apigee-service edge-management-server restart
次に、正規表現のさまざまな組み合わせをグループ化して、パスワードの安全度の評価を設定できます。たとえば、大文字と小文字をそれぞれ 1 文字以上含むパスワードの強度評価を「3」とし、小文字と数字をそれぞれ 1 文字以上含むパスワードの強度評価を「4」とすることができます。
|
プロパティ |
説明 |
|---|---|
|
conf_security_password.validation.minimum. conf_security_password.validation.default.rating=2 conf_security_password.validation.minimum. |
これらを使用して、有効なパスワードの全体的な特性を判断します。パスワードの安全度のデフォルトの最小評価(表の後半で説明)は 3 です。 password.validation.default.rating=2 は、必要な最小評価よりも低くなっています。つまり、入力されたパスワードが構成したルールに適合しない場合、パスワードは 2 と評価され、無効になります(最小評価の 3 を下回るため)。 |
|
以下は、パスワードの特性を識別する正規表現です。各ステップには番号が付けられています。たとえば、「password.validation.regex.5=…」は式番号 5 です。これらの数値は、ファイルの後のセクションで、パスワードの全体的な安全度を決定するさまざまな組み合わせを設定するために使用します。 |
|
|
conf_security_password.validation.regex.1=^(.)\\1+$ |
1 - すべての文字が繰り返される |
|
conf_security_password.validation.regex.2=^.*[a-z]+.*$ |
2 - 1 文字以上の小文字 |
|
conf_security_password.validation.regex.3=^.*[A-Z]+.*$ |
3 - 1 文字以上の大文字 |
|
conf_security_password.validation.regex.4=^.*[0-9]+.*$ |
4 - 1 桁以上 |
|
conf_security_password.validation.regex.5=^.*[^a-zA-z0-9]+.*$ |
5 - 1 つ以上の特殊文字(アンダースコア「_」を除く) |
|
conf_security_password.validation.regex.6=^.*[_]+.*$ |
6 - 1 つ以上のアンダースコア |
|
conf_security_password.validation.regex.7=^.*[a-z]{2,}.*$ |
7 - 複数の小文字 |
|
conf_security_password.validation.regex.8=^.*[A-Z]{2,}.*$ |
8 - 複数の大文字 |
|
conf_security_password.validation.regex.9=^.*[0-9]{2,}.*$ |
9 - 2 桁以上 |
|
conf_security_password.validation.regex.10=^.*[^a-zA-z0-9]{2,}.*$ |
10 - 複数の特殊文字(アンダースコアを除く) |
|
conf_security_password.validation.regex.11=^.*[_]{2,}.*$ |
11 - アンダースコアが 2 つ以上 |
|
パスワードの内容に基づいてパスワードの安全度を判断するルールは次のとおりです。 各ルールには、前のセクションの正規表現が 1 つ以上含まれており、数値の強度が割り当てられます。パスワードの数値強度は、このファイルの先頭にある conf_security_password.validation.minimum.rating.required の数値と比較され、パスワードが有効かどうかが判断されます。 |
|
|
conf_security_password.validation.rule.1=1,AND,0 conf_security_password.validation.rule.2=2,3,4,AND,4 conf_security_password.validation.rule.3=2,9,AND,4 conf_security_password.validation.rule.4=3,9,AND,4 conf_security_password.validation.rule.5=5,6,OR,4 conf_security_password.validation.rule.6=3,2,AND,3 conf_security_password.validation.rule.7=2,9,AND,3 conf_security_password.validation.rule.8=3,9,AND,3 |
各ルールには番号が付けられています。たとえば、「password.validation.rule.3=…」はルール番号 3 です。 各ルールは次の形式(等号の右側)を使用します。 <regex-index-list>,<AND|OR>,<rating> regex-index-list は、正規表現のリスト(前のセクションの番号順)と AND|OR 演算子(リストされているすべての式または任意の式を考慮することを意味します)です。 rating は、各ルールに割り当てられた数値の強度評価です。 たとえば、ルール 5 は、1 つ以上の特殊文字または 1 つのアンダースコアを含むパスワードの強度評価が 4 になることを意味します。password.validation.minimum を使用。 |
|
conf_security_rbac.password.validation.enabled=true |
シングル サインオン(SSO)が有効になっている場合は、ロールベース アクセス制御のパスワード検証を false に設定します。デフォルトは true です。 |
Cassandra のパスワードをリセットする
デフォルトでは、Cassandra は認証が無効になっています。認証を有効にすると、cassandra という名前の事前定義ユーザーが使用され、パスワードは cassandra になります。このアカウントを使用するか、このアカウントに別のパスワードを設定するか、新しい Cassandra ユーザーを作成できます。Cassandra の CREATE/ALTER/DROP USER ステートメントを使用して、ユーザーを追加、削除、変更します。
Cassandra 認証を有効にする方法については、Cassandra 認証を有効にするをご覧ください。
Cassandra のパスワードをリセットするには、次の操作を行う必要があります。
- いずれかの Cassandra ノードでパスワードを設定すると、リング内のすべての Cassandra ノードにブロードキャストされます。
- 各ノードの Management Server、Message Processor、Router、Qpid サーバー、Postgres サーバー、BaaS Stack を新しいパスワードで更新します。
詳細については、http://www.datastax.com/documentation/cql/3.0/cql/cql_reference/cqlCommandsTOC.html をご覧ください。
Cassandra のパスワードをリセットするには:
- cqlsh ツールとデフォルトの認証情報を使用して、任意の Cassandra ノードにログインします。1 つの Cassandra ノードでパスワードを変更するだけで、リング内のすべての Cassandra ノードにブロードキャストされます。
> /<inst_root>/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 ノードで、次のコマンドを実行します。
> /<inst_root>/apigee/apigee-service/bin/apigee-service edge-management-server store_cassandra_credentials -u CASS_USERNAME -p CASS_PASSWORD
必要に応じて、新しいユーザー名とパスワードを含むファイルをコマンドに渡すことができます。
> apigee-service edge-management-server store_cassandra_credentials -f configFile
ここで、configFile には次の内容が含まれます。
CASS_USERNAME=CASS_USERNAME
CASS_PASSWORD=CASS_PASSWROD
このコマンドは、Management Server を自動的に再起動します。 - 以下でステップ 4 を繰り返します。
- すべての 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:ae1b6dedbf6b26aaab8bee815a910737c1c15b55f3505c239e43bc09f8050 - /opt/apigee/customer/application/usergrid.properties で次のトークンを設定します。このファイルが存在しない場合は、作成します。
usergrid-deployment_cassandra.username=cassandra
usergrid-deployment_cassandra.password=SECURE:ae1b6dedbf6b26aaab8bee815a910737c1c15b55f3505c239e43bc09f8050
この例では、Cassandra のデフォルトのユーザー名を使用しています。ユーザー名を変更した場合は、それに応じて usergrid-deployment_cassandra.username の値を設定します。
パスワードに「SECURE:」接頭辞が含まれていることを確認します。 それ以外の場合、BaaS スタックは値を暗号化されていないものとして解釈します。
注: 各 BaaS Stack ノードには、パスワードの暗号化に使用される独自の一意の鍵があります。したがって、各 BaaS Stack ノードで暗号化された値を個別に生成する必要があります。 - usergrid.properties ファイルの所有権を「apigee」ユーザーに変更します。
> chown apigee:apigee /opt/apigee/customer/application/usergrid.properties - Stack ノードを構成します。
> /<inst_root>/apigee/apigee-service/bin/apigee-service baas-usergrid configure - BaaS Stack を再起動します。
> /<inst_root>/apigee/apigee-service/bin/apigee-service baas-usergrid restart - すべての BaaS スタックノードに対して、これらの手順を繰り返します。
- 次のコマンドを実行して、暗号化されたパスワードを生成します。
Cassandra のパスワードが変更されました。
PostgreSQL パスワードをリセットする
デフォルトでは、PostgreSQL データベースには「postgres」と「apigee」の 2 つのユーザーが定義されています。どちらのユーザーもデフォルトのパスワードは「postgres」です。デフォルトのパスワードを変更するには、次の手順を行います。
すべての Postgres マスターノードでパスワードを変更します。2 つの Postgres サーバーがマスター/スタンバイ モードで構成されている場合は、マスターノードのパスワードのみを変更する必要があります。詳細については、Postgres のマスター / スタンバイ レプリケーションを設定するをご覧ください。
- マスター Postgres ノードで、ディレクトリを /<inst_root>/apigee/apigee-postgresql/pgsql/bin に変更します。ここで、/<inst_root> のデフォルトは /opt です。
- PostgreSQL の「postgres」ユーザーのパスワードを設定します。
- 次のコマンドを使用して PostgreSQL データベースにログインします。
> psql -h localhost -d apigee -U postgres - プロンプトが表示されたら、「postgres」ユーザーのパスワードとして「postgres」と入力します。
- PostgreSQL コマンド プロンプトで、次のコマンドを入力してデフォルトのパスワードを変更します。
apigee=> ALTER USER postgres WITH PASSWORD 'apigee1234'; - 次のコマンドを使用して PostgreSQL データベースを終了します。
apigee=> \q
- 次のコマンドを使用して PostgreSQL データベースにログインします。
- PostgreSQL の「apigee」ユーザーのパスワードを設定します。
- 次のコマンドを使用して PostgreSQL データベースにログインします。
> psql -h localhost -d apigee -U apigee - プロンプトが表示されたら、「apigee」ユーザーのパスワードとして「postgres」を入力します。
- PostgreSQL コマンド プロンプトで、次のコマンドを入力してデフォルトのパスワードを変更します。
apigee=> ALTER USER apigee WITH PASSWORD 'apigee1234'; - 次のコマンドを使用して PostgreSQL データベースを終了します。
apigee=> \q
- 次のコマンドを使用して PostgreSQL データベースにログインします。
- APIGEE_HOME を設定します。
> export APIGEE_HOME=/<inst_root>/apigee/edge-postgres-server - 新しいパスワードを暗号化します。
> sh /<inst_root>/apigee/edge-postgres-server/utils/scripts/utilities/passwordgen.sh apigee1234
このコマンドは、以下に示すように暗号化されたパスワードを返します。暗号化されたパスワードは「:」文字の後に始まり、「:」は含まれません。
Encrypted string :WheaR8U4OeMEM11erxA3Cw== - 「postgres」ユーザーと「apigee」ユーザーの新しい暗号化パスワードを使用して、Management Server ノードを更新します。
- Management Server で、ディレクトリを /<inst_root>/apigee/customer/application に変更します。
- management-server.properties ファイルを編集して、次のプロパティを設定します。このファイルが存在しない場合は、
を作成します。 注: 一部のプロパティは、暗号化された「postgres」ユーザー パスワードを受け取り、一部のプロパティは、暗号化された「apigee」ユーザー パスワードを受け取ります。- conf_pg-agent_password=newEncryptedPasswordForPostgresUser
- conf_pg-ingest_password=newEncryptedPasswordForPostgresUser
- conf_query-service_pgDefaultPwd=newEncryptedPasswordForApigeeUser
- conf_query-service_dwDefaultPwd=newEncryptedPasswordForApigeeUser
- conf_analytics_aries.pg.password=newEncryptedPasswordForPostgresUser
- ファイルの所有者が「apigee」ユーザーであることを確認します。
> chown apigee:apigee management-server.properties
- すべての Postgres Server ノードと Qpid Server ノードを新しい暗号化されたパスワードで更新します。
- Postgres サーバーまたは Qpid サーバーのノードで、ディレクトリを /<inst_root>/apigee/customer/application に変更します。
- 次のファイルを編集します。これらのファイルが存在しない場合は、作成します。
- postgres-server.properties
- qpid-server.properties
- 次のプロパティをファイルに追加します。
注: これらのプロパティはすべて、暗号化された「postgres」ユーザー パスワードを受け取ります。- conf_pg-agent_password=newEncryptedPasswordForPostgresUser
- conf_pg-ingest_password=newEncryptedPasswordForPostgresUser
- conf_query-service_pgDefaultPwd=newEncryptedPasswordForPostgresUser
- conf_query-service_dwDefaultPwd=newEncryptedPasswordForPostgresUser
- conf_analytics_aries.pg.password=newEncryptedPasswordForPostgresUser
- ファイルが「apigee」ユーザーによって所有されていることを確認します。
> chown apigee:apigee postgres-server.properties
> chown apigee:apigee qpid-server.properties
- 次のコンポーネントを次の順序で再起動します。
- PostgreSQL データベース:
> /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-postgresql restart - Qpid Server:
> /<inst_root>/apigee/apigee-service/bin/apigee-service edge-qpid-server restart - Postgres Server:
> /<inst_root>/apigee/apigee-service/bin/apigee-service edge-postgres-server restart - Management Server:
> /<inst_root>/apigee/apigee-service/bin/apigee-service edge-management-server restart
- PostgreSQL データベース: