Edge のパスワードのリセット

Edge for Private Cloud v4.18.05

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

OpenLDAP のパスワードを再設定する

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

  • Management Server ノードにインストールされた OpenLDAP の単一インスタンス。たとえば、2 ノード、5 ノード、9 ノードの Edge 構成の場合です。
  • OpenLDAP レプリケーションが構成された複数の OpenLDAP インスタンスを Management Server ノードにインストール。たとえば、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 ノードで行ってパスワードを更新します。

OpenLDAP が Management Server 以外のノードにある OpenLDAP レプリケーション設定では、まず両方の OpenLDAP ノードでパスワードを変更し、次に両方の Management Server ノードでパスワードを変更します。

システム管理者パスワードを再設定する

システム管理者パスワードを再設定するには、次の 2 か所でパスワードを再設定する必要があります。

  • 管理サーバー
  • 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-service ユーティリティを使用して 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

ユーザー更新 API を使用して、ユーザー パスワードを変更することもできます。

SysAdmin と組織ユーザーのパスワード ルール

このセクションでは、API 管理ユーザーに対して任意のレベルのパスワードの長さと安全度を適用します。この設定では、事前に構成された一連の(一意の番号が付いた)正規表現を使用して、パスワードの内容(大文字、小文字、数字、特殊文字など)をチェックします。これらの設定を /opt/apigee/customer/application/management-server.properties ファイルに書き込みます。このファイルが存在しない場合は作成します。

management-server.properties を編集したら、管理サーバーを再起動します。

/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 未満)。

以下は、パスワードの特性を識別する正規表現です。それぞれに番号が付いていることに注意してください。たとえば、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: 大文字が複数ある

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: アンダースコアが複数ある

次のルールでは、パスワードの内容に基づいてパスワードの安全度を決定します。各ルールには、前のセクションの正規表現が 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 パスワードを再設定するには、次のことを行う必要があります。

  • いずれかの 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
    • すべてのルーター
    • すべての 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 Server ノードと Qpid Server ノードを、暗号化された新しいパスワードで更新します。
    1. Postgres Server ノードまたは Qpid Server ノードで、/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 Server:
      /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