Edge for Private Cloud v4.19.01
インストールが完了した後、次のパスワードをリセットできます。
以降のセクションで、これらの各パスワードをリセットする手順を説明します。
OpenLDAP のパスワードのリセット
OpenLDAP のパスワードをリセットする方法は、構成によって異なります。Edge の構成に応じて、OpenLDAP は次のようにインストールできます。
- Management Server ノードに、OpenLDAP のインスタンスを 1 つインストールする。たとえば、2 ノード、5 ノード、あるいは 9 ノードの Edge 構成の場合。
- OpenLDAP レプリケーションを構成して、複数の Management Server に複数の OpenLDAP インスタンスをインストールする。たとえば、12 ノードの Edge 構成の場合。
- OpenLDAP レプリケーションを構成して、複数の OpenLDAP インスタンスをそれぞれ専用のノードにインストールする。たとえば、13 ノードの Edge 構成の場合。
Management Server に OpenLDAP のインスタンスを 1 つインストールした場合は、次の手順に従います。
- Management Server ノードで次のコマンドを実行して、OpenLDAP の新しいパスワードを作成します。
/opt/apigee/apigee‑service/bin/apigee‑service apigee‑openldap change‑ldap‑password ‑o OLD_PASSWORD ‑n NEW_PASSWORD
- Management Server からアクセスできるように、次のコマンドを実行して新しいパスワードを保存します。
/opt/apigee/apigee‑service/bin/apigee‑service edge‑management‑server store_ldap_credentials ‑p NEW_PASSWORD
このコマンドを実行すると、Management Server が再起動します。
Management Server ノードにインストールした OpenLDAP で OpenLDAP レプリケーションを構成する場合は、上記の手順を両方の Management Server ノードで行ってパスワードを更新します。
Management Server 以外のノードにある OpenLDAP で OpenLDAP レプリケーションを構成する場合は、まず両方の OpenLDAP ノードでパスワードを変更してから、次に両方の Management Server ノードでパスワードを変更します。
システム管理者パスワードのリセット
システム管理者パスワードをリセットするには、以下の 2 か所でパスワードをリセットする必要があります。
- Management Server
- UI
システム管理者パスワードをリセットするには:
- Edge UI のインストールに使用したサイレント構成ファイルを編集して、次のプロパティを設定します。
APIGEE_ADMINPW=NEW_PASSWORD SMTPHOST=smtp.gmail.com SMTPPORT=465 SMTPUSER=foo@gmail.com SMTPPASSWORD=bar SMTPSSL=y SMTPMAILFROM="My Company <myco@company.com>"
UI のすべてのプロパティがリセットされるため、新しいパスワードを渡すときに SMTP のプロパティも渡す必要があります。
- UI ノードで Edge UI を停止します。
/opt/apigee/apigee-service/bin/apigee-service edge-ui stop
apigee-setup
ユーティリティを使用して、構成ファイルから Edge UI のパスワードをリセットします。/opt/apigee/apigee-setup/bin/setup.sh -p ui -f configFile
- (UI で TLS を有効にしている場合のみ)管理 UI に対して TLS を構成するの説明に従って、Edge UI で TLS を再度有効にします。
- Management Server で新しい XML ファイルを作成します。このファイルでユーザー ID を "admin" に設定し、パスワード、姓、名、メールアドレスを次の形式で定義します。
<User id="admin"> <Password><![CDATA[password]]></Password> <FirstName>first_name</FirstName> <LastName>last_name</LastName> <EmailId>email_address</EmailId> </User>
- Management Server で次のコマンドを実行します。
curl ‑u "admin_email_address:admin_password" ‑H \ "Content‑Type: application/xml" ‑H "Accept: application/json" ‑X POST \ "http://localhost:8080/v1/users/admin_email_address" ‑d @your_data_file
ここで、your_data_file は前のステップで作成したファイルです。
このコマンドを実行すると、Management Server で管理者パスワードが更新されます。
- 作成した XML ファイルを削除します。平文テキストのパスワードを恒久的に保存しないでください。
複数の Management Server で OpenLDAP レプリケーションを構成している環境では、1 つの Management Server でパスワードをリセットすると、他の Management Server でも自動的にパスワードが更新されます。ただし、別途すべての Edge UI ノードを更新する必要があります。
組織ユーザーのパスワードのリセット
組織ユーザーのパスワードをリセットするには、次の例のように、apigee-servce
ユーティリティを使用して apigee-setup
を呼び出します。
/opt/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]
例:
/opt/apigee/apigee‑service/bin/apigee‑service apigee‑setup reset_user_password ‑u user@myCo.com ‑p Foo12345 ‑a admin@myCo.com ‑P adminPword
cp ~/Documents/tmp/hybrid_root/apigeectl_beta2_a00ae58_linux_64/README.md ~/Documents/utilities/README.md
次は、「-f」オプションで使用できる構成ファイルの例です。
USER_NAME=user@myCo.com USER_PWD="Foo12345" APIGEE_ADMINPW=ADMIN_PASSWORD
Update user API を使って、ユーザー パスワードを変更することもできます。
システム管理者と組織ユーザーのパスワード ルール
このセクションでは、API 管理ユーザーのパスワードの長さと強度のレベルを設定します。この設定では、パスワードの内容(大文字、小文字、数字、特殊文字など)をチェックするために、事前設定された一連の(一意な番号が付いた)正規表現を使います。この設定を /opt/apigee/customer/application/management-server.properties
ファイルに書き込みます。このファイルが存在しない場合は、作成します。
management-server.properties
を編集した後、次のように Management Server を再起動します。
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
次に、さまざまな正規表現の組み合わせをグループ化して、パスワード強度のランクを設定できます。たとえば、大文字と小文字がそれぞれ 1 つ以上含まれるパスワードは強度ランク「3」、小文字と数字がそれぞれ 1 つ以上含まれるパスワードは強度ランク「4」とすることができます。
プロパティ | 説明 |
---|---|
conf_security_password.validation.minimum.password.length=8 conf_security_password.validation.default.rating=2 conf_security_password.validation.minimum.rating.required=3 |
有効なパスワードの全般的な特性を決めます。パスワード強度の最低ランクのデフォルト(この表の後半で説明)は 3 です。 password.validation.default.rating=2 は、必要とされる最低ランクより低くなっています。これは、入力したパスワードが設定したルールに沿わない場合、パスワードのランクは 2 となり、無効となる(最低ランクの 3 未満)という意味です。 |
以下の正規表現でパスワードの特性を決めます。それぞれの正規表現に番号が付いていることに注意してください。たとえば、 |
|
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: 小文字が 2 つ以上 |
conf_security_password.validation.regex.8=^.*[A-Z]{2,}.*$ |
8: 大文字が 2 つ以上 |
conf_security_password.validation.regex.9=^.*[0-9]{2,}.*$ |
9: 数字が 2 つ以上 |
conf_security_password.validation.regex.10=^.*[^a-zA-z0-9]{2,}.*$ |
10: 特殊文字が 2 つ以上(アンダースコアは含まず) |
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 |
各ルールには番号が付いています。たとえば、 各ルールでは次の形式を使用します(等号の右側)。 regex-index-list,[AND|OR],rating regex-index-list は正規表現(前のセクションの番号で指定)を示します。 rating は、各ルールに設定する強度ランクの値です。 たとえば、ルール 5 は、1 つ以上の特殊文字あるいは 1 つ以上のアンダースコアを含むパスワードが、強度ランク 4 となることを意味します。ファイルの先頭に |
conf_security_rbac.password.validation.enabled=true |
シングル サインオン(SSO)が有効な場合、役割ベース アクセス制御のパスワード検証が false に設定します。デフォルトは true です。 |
Cassandra のパスワードのリセット
Cassandra はデフォルトで認証が無効になっています。認証を有効にすると、あらかじめ定義されたユーザー名「cassandra」とパスワード「cassandra」が使用されます。このアカウントを使用するか、このアカウントに異なるパスワードを設定するか、Cassandra の新しいユーザーを作成することができます。Cassandra の CREATE/ALTER/DROP USER
文を使ってユーザーの追加、削除、変更ができます。
Cassandra の認証を有効にする方法については、Cassandra の認証を有効にするをご覧ください。
Cassandra のパスワード リセットには、以下の操作が必要です。
- いずれか 1 つの Cassandra ノードでパスワードを設定します。リング内のすべての Cassandra ノードにブロードキャストされます。
- 各ノードの Management Server、Message Processor、Router、Qpid サーバー、Postgres サーバーで新しいパスワードに更新します。
詳細については、こちらをご覧ください(http://www.datastax.com/documentation/cql/3.0/cql/cql_reference/cqlCommandsTOC.html)。
以下の手順で Cassandra のパスワードをリセットします。
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
を終了します。exit
- Management Server ノードで、次のコマンドを実行します。
/opt/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
- すべての Router
- すべての Qpid サーバー(edge-qpid-server)
- Postgres サーバー(edge-postgres-server)
これで Cassandra のパスワードが変更されました。
PostgreSQL のパスワードのリセット
PostgreSQL データベースには、デフォルトで「postgres」と「apigee」の 2 つのユーザーが定義されています。どちらのユーザーのパスワードも、デフォルトで「postgres」です。以下の手順でデフォルトのパスワードを変更します。
Postgres のすべてのマスターノードでパスワードを変更します。マスター / スタンバイ モードで構成した 2 つの Postgres サーバーがある場合、パスワードを変更する必要があるのは、マスターノードだけです。詳細については、Postgres のマスター / スタンバイ レプリケーションを設定するをご覧ください。
- マスター Postgres ノードで
/opt/apigee/apigee-postgresql/pgsql/bin
ディレクトリに移動します。 - PostgreSQL ユーザー「postgres」のパスワードを設定します。
- 次のコマンドを使用して PostgreSQL データベースにログインします。
psql -h localhost -d apigee -U postgres
- ユーザー「postgres」のパスワードが要求されるので、「postgres」と入力します。
- PostgreSQL のコマンド プロンプトで次のコマンドを入力し、デフォルトのパスワードを変更します。
ALTER USER postgres WITH PASSWORD 'new_password';
成功したら、次のように出力されます。
ALTER ROLE
- 次のコマンドを使用して PostgreSQL データベースを終了します。
\q
- 次のコマンドを使用して PostgreSQL データベースにログインします。
- PostgreSQL のユーザー「apigee」のパスワードを設定します。
- 次のコマンドを使用して PostgreSQL データベースにログインします。
psql -h localhost -d apigee -U apigee
- ユーザー「apigee」のパスワードが要求されるので、「postgres」と入力します。
- PostgreSQL のコマンド プロンプトで次のコマンドを入力し、デフォルトのパスワードを変更します。
ALTER USER apigee WITH PASSWORD 'new_password';
- 次のコマンドを使用して PostgreSQL データベースを終了します。
\q
ユーザー「postgres」と「apigee」のパスワードは、同じパスワードにしても異なるパスワードにしてもどちらでもかまいません。
- 次のコマンドを使用して PostgreSQL データベースにログインします。
APIGEE_HOME
を次のように設定します。export APIGEE_HOME=/opt/apigee/edge-postgres-server
- 新しいパスワードを暗号化します。
sh /opt/apigee/edge-postgres-server/utils/scripts/utilities/passwordgen.sh new_password
このコマンドを実行すると、暗号化されたパスワードが返されます。暗号化されたパスワードは「:」の後から始まり、「:」自体は含まれません。たとえば、「apigee1234」の暗号化されたパスワードは次のようになります。
Encrypted string:WheaR8U4OeMEM11erxA3Cw==
- Management Server ノードで、ユーザー「postgres」と「apigee」のパスワードを新しい暗号化されたパスワードに更新します。
- Management Server で
/opt/apigee/customer/application
ディレクトリに移動します。 management-server.properties
ファイルを編集して、以下のプロパティを設定します。このファイルが存在しない場合は作成します。- ファイルの所有者を「apigee」ユーザーに設定します。
chown apigee:apigee management-server.properties
- Management Server で
- すべての Postgres Server ノードと Qpid Server ノードで、新しい暗号化されたパスワードに更新します。
- Postgres Server ノードまたは Qpid Server ノードで、次のディレクトリに移動します。
/opt/apigee/customer/application
- 次のファイルを編集のために開きます。
postgres-server.properties
qpid-server.properties
これらのファイルが存在しない場合は作成します。
- 以下のプロパティをファイルに追加します。
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
- Postgres Server ノードまたは Qpid Server ノードで、次のディレクトリに移動します。
- SSO コンポーネントを更新します(SSO が有効になっている場合)。
apigee-sso
コンポーネントが実行されているノードに接続またはログインします。このノードは「SSO サーバー」とも呼ばれます。AIO または 3 ノード構成では、このノードは Management Server と同じノードです。
複数のノードで
apigee-sso
コンポーネントを実行している場合は、各ノードで同じ手順を行う必要があります。- 次のファイルを編集のために開きます。
/opt/apigee/customer/application/sso.properties
このファイルが存在しない場合は作成します。
- 次の行をファイルに追加します。
conf_uaa_database_password=new_password_in_plain_text
例:
conf_uaa_database_password=apigee1234
- 次のコマンドを実行して、構成の変更を
apigee-sso
コンポーネントに適用します。/opt/apigee/apigee-service/bin/apigee-service apigee-sso configure
- 同じ手順を各 SSO サーバーで繰り返します。
- 次のコンポーネントを次の順に再起動します。
- PostgreSQL データベース:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql restart
- Qpid サーバー:
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
- Postgres サーバー:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
- Management Server:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
- SSO サーバー:
/opt/apigee/apigee-service/bin/apigee-service apigee-sso restart
- PostgreSQL データベース: