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

インストールが完了したら、次のパスワードを再設定できます。

以降のセクションでは、これらの各パスワードをリセットする手順について説明します。

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

OpenLDAP パスワードをリセットする方法は、構成によって異なります。Edge の構成に応じて、OpenLDAP は次のようにインストールできます。

  • Management Server ノードにインストールされている OpenLDAP の単一インスタンス。たとえば、2 ノード、5 ノード、9 ノードの Edge 構成では、
  • OpenLDAP レプリケーションで構成された複数の OpenLDAP インスタンスが Management Server ノードにインストールされている。たとえば、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
  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 か所でパスワードを再設定する必要があります。

  • 管理サーバー
  • UI

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

  1. 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 プロパティを含める必要があることに注意してください。

  2. UI ノードで Edge UI を停止します。
    /opt/apigee/apigee-service/bin/apigee-service edge-ui stop
  3. apigee-setup ユーティリティを使用して、構成ファイル(
    /opt/apigee/apigee-setup/bin/setup.sh -p ui -f configFile
    )から Edge UI 上のパスワードを再設定します。
  4. (UI で TLS を有効にしている場合のみ)管理 UI の TLS の構成の説明に従って、Edge UI で TLS を再度有効にします。
  5. 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>
  6. 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 は前の手順で作成したファイルです。

    Edge によって Management Server の管理者パスワードが更新されます。

  7. 作成した XML ファイルを削除します。パスワードはクリアテキストで保存しないでください。

複数の Management Server を使用する OpenLDAP レプリケーション環境では、一方の 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

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

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

このセクションを使用して、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: 特殊文字(アンダースコア _ を除く)

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: 複数桁

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
    • すべての 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 ユーザー パスワードを設定します。
    1. 次のコマンドを使用して PostgreSQL データベースにログインします。
      psql -h localhost -d apigee -U postgres
    2. プロンプトが表示されたら、既存の「postgres」ユーザーのパスワードを「postgres」と入力します。
    3. PostgreSQL のコマンド プロンプトで次のコマンドを入力し、デフォルトのパスワードを変更します。
      ALTER USER postgres WITH PASSWORD 'new_password';

      成功すると、PostgreSQL は次のように応答します。

      ALTER ROLE
    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

    ユーザー「postgres」と「apigee」のパスワードは、同じパスワードにしても異なるパスワードにしてもどちらでもかまいません。

  4. APIGEE_HOME を設定します。
    export APIGEE_HOME=/opt/apigee/edge-postgres-server
  5. 新しいパスワードを暗号化します。
    sh /opt/apigee/edge-analytics/utils/scripts/utilities/passwordgen.sh new_password

    このコマンドは、暗号化されたパスワードを返します。暗号化されたパスワードは「:」文字の後に始まり、「:」は含まれません。たとえば、「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 Server または Qpid Server のノードで、次のディレクトリに移動します。
      /opt/apigee/customer/application
    2. 次のファイルを開いて編集します。
      • postgres-server.properties
      • qpid-server.properties

      これらのファイルが存在しない場合は作成します。

    3. 次のプロパティをファイルに追加します。
      • 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. SSO コンポーネントを更新します(SSO が有効になっている場合)。
    1. apigee-sso コンポーネントが実行されているノードに接続するか、ノードにログインします。「SSO サーバー」とも呼ばれます。

      AIO または 3 ノード構成では、このノードは Management Server と同じノードになります。

      apigee-sso コンポーネントを実行しているノードが複数ある場合は、各ノードで次の手順を行う必要があります。

    2. 次のファイルを開いて編集します。
      /opt/apigee/customer/application/sso.properties 

      ファイルが存在しない場合は作成します。

    3. ファイルに次の行を追加します。
      conf_uaa_database_password=new_password_in_plain_text

      次に例を示します。

      conf_uaa_database_password=apigee1234
    4. 次のコマンドを実行して、構成の変更を apigee-sso コンポーネントに適用します。
      /opt/apigee/apigee-service/bin/apigee-service apigee-sso configure
    5. SSO サーバーごとに上記の手順を繰り返します。
  9. 次のコンポーネントを次の順序で再起動します。
    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
    5. SSO サーバー:
      /opt/apigee/apigee-service/bin/apigee-service apigee-sso restart