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

Edge for Private Cloud v4.18.05

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

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

Edge の構成に応じて、OpenLDAP のインストールには以下のような構成があります。

  • Management Server ノードに、OpenLDAP のインスタンスを 1 つインストールする。たとえば、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 OLD_PASSWORD -n NEW_PASSWORD
  2. 次のコマンドを実行して、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

以下の手順でシステム管理者パスワードをリセットします。

  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=NEW_PASSWORD
        SMTPHOST=smtp.gmail.com
        SMTPPORT=465
        SMTPUSER=foo@gmail.com
        SMTPPASSWORD=bar
        SMTPSSL=y
        SMTPMAILFROM="My Company <myco@company.com>"

    UI のすべてのプロパティがリセットされるため、新しいパスワードを渡すときに SMTP のプロパティも渡す必要があります。

  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=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 つ以上で、数字が 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: 小文字が 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

各ルールには番号が付いています。たとえば、password.validation.rule.3=... は、式番号 3 となります。

各ルールでは以下の形式を使います(等号の右側)。


regex-index-list,[AND|OR],rating

regex-index-list は、正規表現(前セクションの番号で指定)で、AND|OR 演算子は、リストの正規表現の全部なのか、いずれかなのかを意味します。

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 サーバーで新しいパスワードに更新します。

詳細については、こちらをご覧ください(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> プロンプトで次のコマンドを実行して、パスワードを更新します。
    ALTER USER cassandra WITH PASSWORD 'NEW_PASSWORD';

    新しいパスワードが一重引用符を含む場合、その前に一重引用符を加えてエスケープします。

  3. 次のようにして 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
    • すべての Router
    • すべての Qpid サーバー(edge-qpid-server)
    • Postgres サーバー(edge-postgres-server)

以上で、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 のコマンド プロンプトで以下のコマンドを実行し、デフォルトのパスワードを変更します。
      ALTER USER postgres WITH PASSWORD 'apigee1234';
    4. 次のコマンドで PostgreSQL データベースを終了します。
      \q
  3. PostgreSQL のユーザー「apigee」のパスワードを設定します。
    1. 次のコマンドで、PostgreSQL データベースにログインします。
      psql -h localhost -d apigee -U apigee
    2. ユーザー「apigee」のパスワードが要求されるので、「postgres」と入力します。
    3. PostgreSQL のコマンド プロンプトで以下のコマンドを実行し、デフォルトのパスワードを変更します。
      ALTER USER apigee WITH PASSWORD 'NEW_PASSWORD';
    4. 次のコマンドで PostgreSQL データベースを終了します。
      \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

    以下のように、暗号化されたパスワードが返されます。暗号化されたパスワードは、「:」の後から始まり、「:」は含まれません。

    Encrypted string:WheaR8U4OeMEM11erxA3Cw==
  6. Management Server ノードを、ユーザー「postgres」と「apigee」の新しい暗号化されたパスワードで更新します。
    1. Management Server で次のディレクトリに移動します。 /opt/apigee/customer/application.
    2. management-server.properties ファイルを編集して、以下のプロパティを設定します。ファイルが存在しない場合は、作成します。
    3. 次のように、ファイルの所有者を「apigee」に設定してください。
      chown apigee:apigee management-server.properties
  7. すべての Postgres サーバーと Qpid サーバーのノードを新しい暗号化されたパスワードで更新します。
    1. Postgres サーバーあるいは Qpid サーバーで、次のディレクトリに移動します。 /opt/apigee/customer/application.
    2. 以下のファイルを編集します。ファイルが存在しない場合は、作成します。
      • postgres-server.properties
      • qpid-server.properties
    3. 以下のパラメータをファイルに追加します。
    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 サーバー:
      /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