エッジ パスワードのリセット

Edge for Private Cloud v. 4.17.09

インストールの完了後、OpenLDAP、Apigee Edge システム管理者、Edge 組織ユーザー、Cassandra のそれぞれのパスワードをリセットできます。

OpenLDAP のパスワードをリセットする

Edge の構成に応じて、OpenLDAP は次のようにインストールできます。

  • Management Server ノードにインストールされた OpenLDAP の単一インスタンス。たとえば、2 ノード、5 ノード、あるいは 9 ノードの Edge 構成の場合。
  • OpenLDAP レプリケーションを構成して、複数の Management Server に複数の OpenLDAP インスタンスをインストールする。たとえば、12 ノードの Edge 構成の場合。
  • OpenLDAP レプリケーションを構成して、複数の OpenLDAP インスタンスをそれぞれ専用のノードにインストールする。たとえば、13 ノードの Edge 構成の場合。

OpenLDAP のパスワードをリセットする方法は、構成によって異なります。

Management Server に OpenLDAP のインスタンスを 1 つインストールした場合は、以下の手順です。

  1. Management Server ノードで次のコマンドを実行して、新しい OpenLDAP パスワードを作成します。
    > /opt/apigee/apigee-service/bin/apigee-service apigee-openldap change-ldap-password -o oldPword -n newPword
  2. 次のコマンドを実行して、管理サーバーがアクセスできるように新しいパスワードを保存します。
    > /opt/apigee/apigee-service/bin/apigee-service edge-management-server store_ldap_credentials -p newPword

    このコマンドは Management Server を再起動します。

Management Server ノードに OpenLDAP がインストールされている OpenLDAP レプリケーション設定で、両方の Management Server ノードで上記の手順に沿ってパスワードを更新します。

Management Server 以外のノードにある OpenLDAP で OpenLDAP レプリケーションを構成する場合は、まず両方の OpenLDAP ノードでパスワードを変更してから、次に両方の Management Server ノードでパスワードを変更します。

システム管理者パスワードのリセット

システム管理者パスワードをリセットするには、以下の 2 か所でパスワードをリセットする必要があります。

  • 管理サーバー
  • UI

警告: システム管理者パスワードをリセットする前に Edge UI を停止してください。最初に Management Server でパスワードを再設定するため、UI で古いパスワードが短期間に使用される場合があります。古いパスワードで UI を 4 回以上呼び出した場合、システム管理者のアカウントは OpenLDAP サーバーにより 3 分間ロックアウトされます。

システム管理者パスワードをリセットするには:

  1. UI ノードで Edge UI を停止します。
    > /opt/apigee/apigee-service/bin/apigee-service edge-ui stop
  2. Management Server で次のコマンドを実行してパスワードをリセットします。
    > /opt/apigee/apigee-service/bin/apigee-service edge-management-server change_sysadmin_password -o currentPW -n newPW
  3. Edge UI のインストールに使用したサイレント構成ファイルを編集して、次のプロパティを設定します。
    APIGEE_ADMINPW=newPW
    SMTPHOST=smtp.gmail.com
    SMTPPORT=465
    SMTPUSER=foo@gmail.com
    SMTPPASSWORD=bar
    SMTPSSL=y
    SMTPPASSWORD=bar
    SMTPSSL=y

  4. apigee-setup ユーティリティを使用して、構成ファイルから Edge UI のパスワードをリセットします。
    > /opt/apigee/apigee-setup/bin/setup.sh -p ui -f configFile
  5. (UI で TLS が有効になっている場合のみ)管理 UI の TLS の構成の説明に従って、Edge UI で TLS を再度有効にします。

複数の 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 

「-f」オプションで使用できる構成ファイルの例を以下に示します。

USER_NAME= user@myCo.com
USER_PWD= "foo12345"
APIGEE_ADMINPW= adminPword 

ユーザーの更新 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 つ以上で、数字が 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 未満)という意味です。

以下に、パスワードの特性を表す正規表現を示します。それぞれに番号が付いています。たとえば、「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 – 大文字が 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 – 複数のアンダースコア

以下のルールでは、パスワードの内容に基づいてパスワード強度を決定します。各ルールには、前のセクションの正規表現が 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 演算子は、列挙されたすべての正規表現に一致する必要があるか、あるいはいずれか 1 つに一致すればよいかを示します。

rating は各ルールに与えられた数値による強度ランクです。

たとえば、ルール 5 は、1 つ以上の特殊文字あるいは 1 つ以上のアンダースコアを含むパスワードが、強度ランク 4 となることを意味します。password.validation.minimum を使用します。ファイルの先頭に
rating.required=3 が付いている場合、ランク 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 サーバー、BaaS Stack で新しいパスワードに更新します。

詳細については、http://www.datastax.com/documentation/cql/3.0/cql/cql_reference/cqlCommandsTOC.html をご覧ください。

Cassandra のパスワードをリセットするには:

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

    次のようにします。
    • cassIP は Cassandra ノードの IP アドレスです。
    • 9042 は Cassandra ポートです。
    • デフォルトのユーザーは cassandra です。
    • デフォルトのパスワードは cassandra です。以前にパスワードを変更した場合は、現在のパスワードを使用してください。
  2. cqlsh> プロンプトで次のコマンドを実行してパスワードを更新します。
    cqlsh> ALTER USER cassandra WITH PASSWORD 'NEW_PASSWORD';

    新しいパスワードが一重引用符を含む場合、その前に一重引用符を加えてエスケープします。
  3. cqlsh ツールを終了します。
    cqlsh> exit
  4. 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 を自動的に再起動します。
  5. 次の項目についてステップ 4 を繰り返します。
    • すべての Message Processor
    • すべてのルーター
    • すべての Qpid サーバー(edge-qpid-server)
    • Postgres サーバー(edge-postgres-server)
  6. バージョン 4.16.05.04 以降の BaaS Stack ノード:
    1. 次のコマンドを実行して、暗号化されたパスワードを生成します。
      > /opt/apigee/apigee-service/bin/apigee-service baas-usergrid secure_password

      このコマンドは、平文のパスワードを入力するよう求めるプロンプトを表示し、暗号化されたパスワードを次の形式で返します。
      SECURE:ae1b6dedbf6b26aaab8bee815a910737c1c15b55f3505c239e43bc09f8050
    2. /opt/apigee/customer/application/usergrid.properties に次のトークンを設定します。このファイルが存在しない場合は、作成します。
      usergrid-deployment_cassandra.username=cassandra
      usergrid-deployment_cassandra.password=SECURE:ae1b6dedbf6b26aaab8bee815a910737c1c15b55f3505c239e43bc09f8050


      この例では、Cassandra のデフォルトのユーザー名を使用しています。ユーザー名を変更した場合は、それに応じて usergrid-deployment_cassandra.username の値を設定します。

      パスワードに「SECURE:」接頭辞を含めるようにします。 それ以外の場合、BaaS Stack は値を暗号化されていないと解釈します。

      : 各 BaaS Stack ノードには、パスワードの暗号化に使用される一意のキーがあります。したがって、各 BaaS Stack ノードで暗号化された値を個別に生成する必要があります。
    3. usergrid.properties ファイルの所有権を「apigee」ユーザーに変更します。
      > chown apigee:apigee /opt/apigee/customer/application/usergrid.properties
    4. Stack ノードを構成します。
      > /opt/apigee/apigee-service/bin/apigee-service baas-usergrid configure
    5. BaaS スタックを再起動します。
      > /opt/apigee/apigee-service/bin/apigee-service baas-usergrid restart
    6. すべての BaaS Stack ノードで上記の手順を繰り返します。

これで Cassandra のパスワードが変更されました。

PostgreSQL パスワードのリセット

デフォルトでは、PostgreSQL データベースには「postgres」と「apigee」の 2 つのユーザーが定義されています。どちらのユーザーも、デフォルトのパスワードは「postgres」です。デフォルトのパスワードを変更する手順は次のとおりです。

Postgres のすべてのマスターノードでパスワードを変更します。マスター/スタンバイ モードで構成した 2 つの Postgres サーバーがある場合、パスワードを変更する必要があるのは、マスターノードだけです。詳細については、Postgres のマスター / スタンバイ レプリケーションを設定するをご覧ください。

  1. マスター Postgres ノードで /opt/apigee/apigee-postgresql/pgsql/bin ディレクトリに移動します。
  2. PostgreSQL ユーザー「postgres」のパスワードを設定します。
    1. 次のコマンドを使用して PostgreSQL データベースにログインします。
      > psql -h localhost -d apigee -U postgres
    2. プロンプトが表示されたら、「postgres」ユーザーのパスワードとして「postgres」と入力します。
    3. PostgreSQL のコマンド プロンプトで次のコマンドを入力し、デフォルトのパスワードを変更します。
      apigee=> ALTER USER postgres WITH PASSWORD 'apigee1234';
    4. 次のコマンドを使用して PostgreSQL データベースを終了します。
      apigee=> \q
  3. PostgreSQL のユーザー「apigee」のパスワードを設定します。
    1. 次のコマンドを使用して PostgreSQL データベースにログインします。
      > psql -h localhost -d apigee -U apigee
    2. プロンプトが表示されたら、「apigee」ユーザーのパスワードとして「postgres」と入力します。
    3. PostgreSQL コマンド プロンプトで次のコマンドを入力して、デフォルトのパスワードを変更します。
      apigee=> ALTER USER apigee WITH PASSWORD 'apigee1234';
    4. 次のコマンドを使用して PostgreSQL データベースを終了します。
      apigee=> \q
  4. APIGEE_HOME を設定します。
    > export APIGEE_HOME=/opt/apigee/edge-postgres-server
  5. 新しいパスワードを暗号化します。
    > sh /opt/apigee/edge-postgres-server/utils/scripts/utilities/passwordgen.sh apigee1234

    このコマンドは、以下のように暗号化されたパスワードを返します。暗号化されたパスワードは「:」の後に始まり、「:」は含まれません。
    暗号化された文字列 :WheaR8U4OeMEM11erxA3Cw==
  6. Management Server ノードで、ユーザー「postgres」と「apigee」のパスワードを新しい暗号化されたパスワードに更新します。
    1. Management Server で /opt/apigee/customer/application ディレクトリに移動します。
    2. 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
    3. ファイルの所有者が「apigee」ユーザーであることを確認します。
      > chown apigee:apigee management-server.properties
  7. すべての Postgres Server ノードと Qpid Server ノードで、新しい暗号化されたパスワードに更新します。
    1. Postgres Server ノードまたは Qpid Server ノードで、/opt/apigee/customer/application ディレクトリに移動します。
    2. 以下のファイルを編集します。これらのファイルが存在しない場合は作成します。
      • postgres-server.properties
      • qpid-server.properties
    3. 次のプロパティをファイルに追加します。
      : これらのプロパティには、ユーザー「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
    4. ファイルの所有者が「apigee」ユーザーであることを確認します。
      > chown apigee:apigee postgres-server.properties
      > chown apigee:apigee qpid-server.properties
  8. 次のコンポーネントをこの順番で再起動します。
    1. PostgreSQL データベース:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql restart
    2. Qpid サーバー:
      > /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
    3. Postgres Server:
      > /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
    4. Management Server:
      > /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart