OpenLDAP のメンテナンス タスク

ログファイルの場所

OpenLDAP のログファイルは、ディレクトリ /opt/apigee/var/log にあります。これらのファイルは、過剰なディスク容量を占有しないように定期的にアーカイブして削除できます。OpenLDAP ログのメンテナンス、アーカイブ、削除に関する情報は、OpenLDAP マニュアルのセクション 19.2(http://www.openldap.org/doc/admin24/maintenance.html)に記載されています。

ユーザーのパスワードを手動で設定する

ユーザーは Edge UI で新しい Edge パスワードをリクエストできます。ユーザーには、パスワードの設定に関する情報が記載されたメールが届きます。ただし、SMTP サーバーがダウンしている場合、またはユーザーがなんらかの理由でメールを受信できない場合は、OpenLDAP コマンドを使用してユーザーのパスワードを手動で設定できます。

ユーザーのパスワードを設定するには:

  1. ldapsearch を使用してユーザー情報をダウンロードします。
    ldapsearch -w ldapAdminPWord -D "cn=manager,dc=apigee,dc=com" -b "dc=apigee,dc=com" -LLL -h LDAP_IP -p 10389 > ldap.txt
  2. ldap.txt ファイルでユーザーのメールアドレスを検索します。次のような形式のブロックが表示されます。
    dn: uid=29383a67-9279-4aa8-a75b-cfbf901578fc,ou=users,ou=global,dc=apigee,dc=com
    mail: foo@bar.com
    userPassword:: e1NTSEF9a01UUDdSd01BYXRuUURXdXN5OWNPRzBEWWlYZFBRTm14MHlNVWc9PQ==
    uid: 29383a67-9279-4aa8-a75b-cfbf901578fc
  3. ldappasswd を使用し、ユーザーの uid に基づいてユーザーのパスワードを設定します。
    ldappasswd -h LDAP_IP -p 10389 -D "cn=manager,dc=apigee,dc=com" -W -s newPassWord \
      "uid=29383a67-9279-4aa8-a75b-cfbf901578fc,ou=users,ou=global,dc=apigee,dc=com"

    OpenLDAP 管理者パスワードの入力を求められます。

これで、ユーザーは newPassWord を使用してログインできます。

OpenLDAP システムのパスワードを手動で設定する

Edge のパスワードを再設定するでは、OpenLDAP システムのパスワードを変更する方法について説明しますが、既存のパスワードを知っている必要があります。このパスワードを紛失した場合は、次の手順でリセットできます。

  1. slappasswd を使用して、新しいパスワードの SSHA で暗号化されたパスワードを作成します。
    slappasswd -h {SSHA} -s newPassWord

    このコマンドは、

    {SSHA}+DOup9d6l+czfWzkIvajwYPArjPurhS6
    という形式の文字列を返します。

  2. エディタで /opt/apigee/data/apigee-openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldif ファイルを開きます。
    vi /opt/apigee/data/apigee-openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldif
  3. 次の形式の行を見つけます。
    olcRootPW:: OldPasswordString
  4. OldPasswordString は、slappasswd から返された文字列に置き換えます。olcRootPw の後にコロンが 2 つある場合は、1 つを削除し、コロンの後にスペースがあることを確認します。
    olcRootPW: {SSHA}RGon+bLCe+Sk+HyHholFBj8ONQfabrhw
  5. OpenLDAP を再起動します。
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap restart
  6. ldapsearch を使用して、新しいパスワードが機能するかどうかを確認します。
    ldapsearch -W -D "cn=manager,dc=apigee,dc=com" -b "dc=apigee,dc=com" -LLL -h LDAP_IP -p 10389

    OpenLDAP 管理者パスワードの入力を求められます。

  7. レプリケーションに使用している他の OpenLDAP サーバーで、これらの手順を繰り返します。
  8. 新しいパスワードを使用するように Management Server を更新します。
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server store_ldap_credentials -p newPassWord

Edge 管理者パスワードを手動で設定する

Edge のパスワードのリセットでは、Edge システムのパスワードを変更する方法について説明しますが、既存のパスワードを知っている必要があります。Edge システムのパスワードを紛失した場合は、次の手順でリセットできます。

  1. UI ノードで Edge UI を停止します。
    /opt/apigee/apigee-service/bin/apigee-service edge-ui stop
  2. ldappasswd を使用して Edge システム管理者パスワードを設定します。
    ldappasswd -h localhost -p 10389 -D "cn=manager,dc=apigee,dc=com" -W -s newPassWord \
      "uid=admin,ou=users,ou=global,dc=apigee,dc=com"

    OpenLDAP 管理者パスワードの入力を求められます。

  3. Edge UI のインストールに使用した構成ファイルを、新しい Edge システム パスワードで更新します。
    APIGEE_ADMINPW=newPassWord
  4. Edge UI を構成して再起動します。
    /opt/apigee/apigee-setup/bin/setup.sh -p ui -f configFile
  5. (UI で TLS が有効になっている場合のみ)管理 UI の TLS の構成の説明に従って、Edge UI で TLS を再度有効にします。

SLAPD ロックファイルを削除

OpenLDAP を起動する際に、slapd.pid ロックファイルが存在するというエラーが発生した場合は、このファイルを削除できます。

ファイルは /opt/apigee/apigee-openldap/var/run/slapd.pid にあります。ファイルを削除して OpenLDAP を再起動してみます。

/opt/apigee/apigee-service/bin/apigee-service apigee-openldap restart

OpenLDAP が起動しない場合は、デバッグモードで起動してエラーを確認します。

slapd -h ldap://:10389/ -u apigee -d 255 -F /opt/apigee/data/apigee-openldap/slapd.d

エラーは、リソースの問題、メモリ、CPU 使用率の問題を示している可能性があります。

OpenLDAP レプリケーションの変更

このセクションでは、OpenLDAP レプリケーションを変更する方法について説明します。

OpenLDAP レプリケータ ノードで次の手順を実行します。このノードでは、そのデータが他の OpenLDAP ノードに複製されます。たとえば、node1 から node2 へのレプリケーションを設定する場合は、node1 でコマンドを実行します。

  1. 現在の状態を確認します。
    ldapsearch -H ldap://{HOST}:{PORT} -LLL -x -b "cn=config" -D "cn=admin,cn=config" -w {PASSWORD} -o ldif-wrap=no 'olcSyncRepl' | grep olcSyncrepl

    出力例を以下に示します。

    olcSyncrepl: {0}rid=001 provider=ldap://{HOST}:{PORT}/ binddn="cn=manager,dc=apigee,dc=com" bindmethod=simple credentials={PASSWORD} searchbase="dc=apigee,dc=com" attrs="*,+" type=refreshAndPersist retry="60 1 300 12 7200 +" timeout=1
  2. repl.lidf ファイルを作成し、このファイルに次のコマンドを貼り付けます。
    dn: olcDatabase={2}bdb,cn=config
    changetype: modify
    replace: olcSyncRepl
        olcSyncRepl: rid=001
        provider=ldap://{NEW_HOST}:{PORT}/
        binddn="cn=manager,dc=apigee,dc=com"
        bindmethod=simple
        credentials={PASSWORD}
        searchbase="dc=apigee,dc=com"
        attrs="*,+"
        type=refreshAndPersist
        retry="60 1 300 12 7200 +"
        timeout=1

    次のプレースホルダは、適切な値に置き換えてください。

    • {NEW_HOST}: レプリケーション先の新しい OpenLDAP ホスト。
    • {PORT}: OpenLDAP ポート。デフォルトのポートは、10389 です。
    • {PASSWORD}: OpenLDAP のパスワード。
  3. ldapmodify コマンドを実行します。
    ldapmodify -x -w {PASSWORD} -D "cn=admin,cn=config" -H "ldap://{HOST}:{PORT}/" -f repl.ldif
        

    The output should be similar to the following:

    modifying entry "olcDatabase={2}bdb,cn=config"
  4. レプリケーションを確認します。
    ldapsearch -H ldap://{HOST}:{PORT} -LLL -x -b "cn=config" -D "cn=admin,cn=config" -w {PASSWORD} -o ldif-wrap=no 'olcSyncRepl' | grep olcSyncrepl

    出力例を以下に示します。

    olcSyncrepl: {0}rid=001 provider=ldap://{NEW_HOST}:{PORT}/ binddn="cn=manager,dc=apigee,dc=com" bindmethod=simple credentials={PASSWORD} searchbase="dc=apigee,dc=com" attrs="*,+" type=refreshAndPersist retry="60 1 300 12 7200 +" timeout=1

    レプリケーションが正しく機能していることは、各サーバーから contextCSN 値を読み取って比較し、それらが一致していることを確認できます。

    ldapsearch -w {PASSWORD} -D "cn=manager,dc=apigee,dc=com" -b "dc=apigee,dc=com" -LLL -h localhost -p 10389 contextCSN | grep contextCSN

OpenLDAP のレプリケーションに関する問題のトラブルシューティング

インストールで複数の OpenLDAP サーバーを使用している場合は、レプリケーション設定をチェックしてサーバーが正常に機能していることを確認できます。

  1. ldapsearch が各 OpenLDAP サーバーからデータを返すことを確認します。
    ldapsearch -W -D "cn=manager,dc=apigee,dc=com" -b "dc=apigee,dc=com" -LLL -h LDAP_IP -p 10389

    OpenLDAP 管理者パスワードの入力を求められます。

  2. /opt/apigee/conf/openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldif ファイルを調べて、レプリケーション構成を確認します。
  3. 各 OpenLDAP サーバーのシステム パスワードが同じであることを確認します。
  4. iptables と tcp ラッパーの設定を確認します。