API 管理用のデフォルトの LDAP パスワード ポリシーの管理

Apigee システムは、API 管理環境で OpenLDAP を使用してユーザーを認証します。OpenLDAP では、この LDAP パスワード ポリシー機能を使用できます。

このセクションでは、提供されているデフォルトの LDAP パスワード ポリシーを構成する方法について説明します。このパスワード ポリシーを使用して、さまざまなパスワード認証オプションを構成します。たとえば、ログインに連続して失敗すると、ディレクトリに対するユーザーの認証にそのパスワードを使用できなくなります。

このセクションでは、デフォルトのパスワード ポリシーで構成されている属性に従ってロックされたユーザー アカウントを、複数の API を使用してロック解除する方法についても説明します。

詳しくは以下をご覧ください。

デフォルトの LDAP パスワード ポリシーの構成

このセクションでは、以下に対してデフォルトの LDAP パスワード ポリシーを構成する方法について説明します。

Edge ユーザーと元のシステム管理者に対するデフォルトの LDAP パスワード ポリシーの構成

Edge ユーザーと元のシステム管理者のデフォルトの LDAP パスワード ポリシーを構成するには:

  1. Apache Studio や ldapmodify などの LDAP クライアントを使用して LDAP サーバーに接続します。デフォルトでは、OpenLDAP サーバーは OpenLDAP ノードのポート 10389 をリッスンします。

    接続するには、Bind DN または cn=manager,dc=apigee,dc=com のユーザーと、Edge のインストール時に設定した OpenLDAP パスワードを指定します。

  2. クライアントを使用して、以下のパスワード ポリシー属性に移動します。
  3. 必要に応じてパスワード ポリシーの属性値を編集します。
  4. 構成を保存します。

追加のシステム管理者用に LDAP パスワード ポリシーを構成する

sysadmin ユーザーを Edge に追加すると、元の sysadmin の sysadmin パスワード ポリシーではなく、デフォルトのパスワード ポリシーを継承します。デフォルトのパスワード ポリシーは、特に構成しない限り、一定の時間が経過すると期限切れになります。有効期限が切れないように追加の sysadmin ユーザーのパスワード ポリシーを設定する手順は次のとおりです。

  1. 次のコマンドを実行して、すべてのシステム管理者 dn を検索します。
    ldapsearch -x -W -D "cn=manager,dc=apigee,dc=com" -H "ldap://:10389" -b "cn=sysadmin,ou=userroles,ou=global,dc=apigee,dc=com" -s base
     -LLL

    出力には、sysadmin ユーザーが roleOccupant として表示されます。

    dn: cn=sysadmin,ou=userroles,ou=global,dc=apigee,dc=com
    objectClass: organizationalRole
    objectClass: top
    cn: sysadmin
    roleOccupant: uid=admin,ou=users,ou=global,dc=apigee,dc=com
    roleOccupant: uid=2a0056b4-5c62-49de-8fb3-925ch67a3e45,ou=users,ou=global,dc=apigee,dc=com
  2. ppchange.ldif という名前の新しいファイルを作成し、次のコードを追加します(自分の sysadmin ユーザーの dn を置き換えます)。
    dn: uid=new-sysadmin-uid,ou=users,ou=global,dc=apigee,dc=com
    changetype: modify
    add: pwdPolicySubentry
    pwdPolicySubentry: cn=sysadmin,ou=pwpolicies,dc=apigee,dc=com
  3. ldapmodify -x -w "$ldappassword" -D "cn=manager,dc=apigee,dc=com" -H ldap://localhost:10389 -f ppchange.ldif
    コマンドを入力して、ユーザーを変更します。
  4. ldap 検索コマンドを使用して変更を確認します。
    ldapsearch -x -W -D "cn=manager,dc=apigee,dc=com" -H "ldap://:10389" -b "uid=new-sysadmin-uid,ou=users,ou=global,dc=apigee,dc=com" -s base -LLL pwdPolicySubentry

    出力には、pwdPolicySubentry の追加が表示されます。

    dn: uid=new-admin-uid,ou=users,ou=global,dc=apigee,dc=com
    pwdPolicySubentry: cn=sysadmin,ou=pwpolicies,dc=apigee,dc=com

  5. sysadmin ごとに手順 2 ~ 4 を繰り返します。

デフォルトの LDAP パスワード ポリシー属性

属性 説明 デフォルト
pwdExpireWarning
パスワードが期限切れになるまでの最長秒数。有効期限の警告メッセージは、ディレクトリの認証を行っているユーザーに返されます。

604800

(7 日間に相当)

pwdFailureCountInterval

古い連続して失敗したバインド試行が失敗カウンタからパージされるまでの秒数。

つまり、ログイン試行の連続失敗回数がリセットされるまでの秒数です。

pwdFailureCountInterval が 0 に設定されている場合は、認証が成功した場合にのみカウンタをリセットできます。

pwdFailureCountInterval が >0 に設定されている場合、この属性は、認証に成功しなくても、連続して失敗したログイン試行の回数が自動的にリセットされるまでの時間を定義します。

この属性は pwdLockoutDuration 属性と同じ値に設定することをおすすめします。

300
pwdInHistory

pwdHistory 属性に保存される、ユーザーの使用済みパスワードまたは過去のパスワードの最大数。

パスワードを変更すると、ユーザーは過去のパスワードに変更できなくなります。

3
pwdLockout

TRUE の場合、パスワードの有効期限が切れたときにユーザーをロックアウトし、ユーザーがログインできないように指定します。

誤り
pwdLockoutDuration

連続して失敗したログイン試行の失敗回数が多すぎるため、パスワードを使用してユーザーの認証を実行できない秒数。

つまり、pwdMaxFailure 属性で設定されている連続失敗回数が上限を超えたためにユーザー アカウントがロックされたままになる期間です。

pwdLockoutDuration が 0 に設定されている場合、システム管理者がロック解除するまで、ユーザー アカウントはロックされたままになります。

ユーザー アカウントのロック解除をご覧ください。

pwdLockoutDuration が >0 に設定されている場合、この属性はユーザー アカウントがロックされたままになる期間を定義します。この時間が経過すると、ユーザー アカウントのロックが自動的に解除されます。

この属性は pwdFailureCountInterval 属性と同じ値に設定することをおすすめします。

300
pwdMaxAge

ユーザー(sysadmin 以外)のパスワードが期限切れになるまでの秒数。値 0 は、パスワードに有効期限がないことを意味します。デフォルト値の 2592000 は、パスワードの作成から 30 日後に対応します。

ユーザー: 2592000

sysadmin: 0

pwdMaxFailure

連続して失敗したログイン試行の回数。この回数を超えると、ディレクトリに対するユーザーの認証にパスワードを使用できなくなります。

3
pwdMinLength

パスワードを設定するときに必要な最小文字数を指定します。

8

ユーザー アカウントのロック解除

パスワード ポリシーで設定されている属性が原因で、ユーザーのアカウントがロックされている可能性があります。システム管理者の Apigee ロールが割り当てられているユーザーは、次の API 呼び出しを使用してユーザーのアカウントのロックを解除できます。userEmailadminEmailpassword は実際の値に置き換えます。

ユーザーのロックを解除するには:

/v1/users/userEmail/status?action=unlock -X POST -u adminEmail:password