Helix Core P4コマンドリファレンス (2019.1)

p4 ldap

LDAPコンフィギュレーション仕様の作成、編集、削除、または既存のLDAPコンフィギュレーションのテストを行います。

このコマンドは、読み取り専用レプリカまたはビルドレプリカからは実行できません。

構文

p4 [gopts] ldap configname
p4 [gopts] ldap -i
p4 [gopts] ldap -o configname
p4 [gopts] ldap -d configname
p4 [gopts] ldap -t username configname

説明

p4 ldapコマンドには5つの構文バリアントがあります。

  • 最初のバリアントは、LDAPコンフィギュレーションの作成や編集ができます。
  • p4 ldap -iコマンドを使用すると、LDAPコンフィギュレーションを標準入力から読み取ることができます。
  • p4 ldap -oコマンドを使用すると、指定のLDAPコンフィギュレーションを表示できます。
  • p4 ldap -dコマンドを使用すると、指定のLDAPコンフィギュレーションを削除できます。
  • p4 ldap -tコマンドを使用すると、既存のLDAPコンフィギュレーションをテストできます。

LDAPコンフィギュレーションを作成する

p4 ldapコマンドで作成したLDAPコンフィギュレーションでは、Helixサーバがユーザを認証するアクティブディレクトリまたはその他のLDAPサーバを指定します。

LDAPコンフィギュレーション仕様を作成するには、AD/LDAPサーバのホスト名とポート番号、バインドメソッドについての情報、セキュリティパラメータを指定する値を設定します。 バインドメソッドは次のいずれかになります。

  • Simple: ユーザ名に基づくテンプレートを使用して、Helixサーバがバインドを試行する識別名を生成し、ユーザのパスワードを検証します。 以下に例を示します。

    uid=%user%,ou=users,dc=example,doc=org
  • 検索: LDAP検索クエリを使用して、ユーザレコードを検索します。 この検索は、既知のベースDNとLDAP検索クエリに基づいて行われます。 これらはLDAPコンフィギュレーション仕様のSearchBaseDNSearchFilterSearchScopeフィールドを使用して指定することができます。 また、このメソッドでは、完全な識別名とディレクトリ内の既知の読み取り専用エンティティのパスワードが必要になることがあります。 これらはLDAPコンフィギュレーションのSearchBindDNSearchPasswdフィールドを使用して特定することができます。 ここで、検索クエリのサンプルを示します。

    BaseDN: ou=users,dc=example,dc=org
    LDAP query: (uid=%user%)
  • SASL: AD/LDAPサーバでSASL DIGEST-MD5がサポートされている場合、AD/LDAPサーバに対するユーザの検索方法は異なるため、バインドを試行する前に識別名を特定する必要はありません。 ユーザは、ユーザ名、パスワード、オプションの領域を指定します。

LDAPコンフィギュレーションの作成に加えて、次の構成可能変数を使用してコンフィギュレーションを有効にし、さらに認証プロセスを設定します。

  • auth.ldap.order.N - AD/LDAPサーバを有効にし、検索の順序を指定します。
  • auth.default.method - 新しいユーザをHelixサーバで認証するか、LDAPを使用して認証するか指定します。
  • auth.ldap.userautocreate - LDAP認証を使用する場合、ログイン時に新しいユーザを自動で作成するか指定します。
  • auth.ldap.timeout - 接続をあきらめるまでの時間を指定します。
  • auth.ldap.cafile - AD/LDAPサーバでSSLまたはTLSが使用される場合、証明書ファイルへのパスを指定します。
  • auth.ldap.ssllevel - SSL証明書の検証レベルを指定します。

詳細については、『構成可能変数』を参照してください。

注意

LDAP構成が新しいdb.ldapテーブルに保存されます。 このテーブルがジャーナルに記録されるので、LDAP構成はチェックポイントに含められ、複製が作成されます。

ユーザベースの認証:

  • LDAP認証方法は、既存のユーザではユーザ仕様のAuthMethodフィールドで選択されます。 詳細については、p4 userコマンドを参照してください。
  • 自動作成されたユーザ(LDAPまたはPerforce)に適用される認証方法は、auth.userautocreate構成可能変数で設定されます。 詳細については、「構成可能変数」を参照してください。

ここで、LDAPコンフィギュレーションのサンプルを示します。

Name:     olivia
Host:     openldap.example.com
Port:     389
Encryption:    tls
BindMethod:    search
Options: nodowncase nogetattrs norealminusername
SimplePattern: someuserid
SearchBaseDN:  ou=employees,dc=example,dc=com
SearchFilter:  (cn=%user%)
SearchScope:    subtree
GroupSearchScope:  subtree

LDAPコンフィギュレーションをテストする

LDAPコンフィギュレーションをテストするには、次のようなコマンドを使用します。

$ p4 ldap -t userX myConfig

このコマンドは、パスワードの入力を指示し、userXが見つかった場合は正常に戻ります。 myConfigで指定されたAD/LDAPサーバがダウンしている場合、ユーザがみつからない場合、あるいは入力したパスワードが正しくない場合は、コマンドにより詳細なエラーメッセージが返されます。 以下に例を示します。

c:\temp> p4 -p 1666 ldap -t userX olivia
Enter password:
Authentication as cn=userX,ou=employees,dc=example,dc=com
failed. Reason: Invalid Credentials

フォームフィールド

フィールド名 タイプ 説明

Name:

読み取り専用

LDAPコンフィギュレーションの名前。

関連するバインドメソッド: すべて

Host:

書き込み可能

AD/LDAPサーバの完全修飾ドメイン名。 デフォルト値はlocalhostです。

関連するバインドメソッド: すべて

Port:

書き込み可能

接続するポート。 デフォルト値は389です。

関連するバインドメソッド: すべて

ヒント

ポート389はこれまで、LDAPサーバへの非暗号化接続に使用されてきました。

ポート636はレガシーのSSL接続に使用されます。

ポート389はTLS接続に使用されます。TLSはポート389で非暗号化接続を確立し、最初の接続が開始されると、暗号化接続に「アップグレード」します。 これにより、この1つのポートで非暗号化接続と暗号化接続を設定して処理できるようになります。

このため、PerforceのLDAP仕様では、[Encryption:] ([none]、[ssl]、[tls])フィールドに指定された暗号化方法に応じて、[Port:]フィールドを指定する必要があります。

Encryption:

書き込み可能

nonessltlsのうちの1つ。 デフォルト値はtlsです。

関連するバインドメソッド: すべて

BindMethod:

書き込み可能

simplesearchsaslのうちの1つ。 詳細については、上記の「LDAPコンフィギュレーションを作成する」を参照してください。

関連するバインドメソッド: すべて

Options

書き込み可能

この構成に特定されたLDAP統合の動作の変更。 次の中から選択します。

  • [no]downcaseは、p4 ldapsync -gがディレクトリからのユーザ名をdowncaseユーザ名にする必要があるかどうかを指定します。

    例えば、LDAPにあるユーザ名がABrown、およびSMITHの場合、これらはabrownおよびsmithとしてグループに追加されます。

  • [no]getattrsは、p4 loginを使用して自動で作成されたユーザのFullnameフィールドとEmailフィールドをディレクトリから入力する必要があるかどうかを指定します。

    これには、LDAP仕様でAttributeNameフィールドおよび/またはAttributeEmailフィールドを設定する必要があります。 こちらを参照してください。

  • [no]realminusernameは、UNCまたはUPN形式の場合にSASLユーザ名から領域を取得する必要があるかどうか指定します。 この場合、ユーザ名がuser@realmまたはrealm\userの形式であれば、ユーザおよび領域は区切られて、別々に渡されます。

デフォルトでは、これらのオプションは設定されていません。

SimplePattern:

書き込み可能

ユーザの資格情報を検証するためのバインドに使用される識別名。 %user%プレースホルダーは、ユーザのuserIdで置換されます。

関連するバインドメソッド: シンプル

SearchBaseDN:

書き込み可能

ユーザオブジェクトの検索を開始する識別名。

関連するバインドメソッド: 検索

SearchFilter:

書き込み可能

バインドするユーザオブジェクトを識別するLDAPクエリフィルタ。 %user%プレースホルダーは、ユーザのuserIdで置換されます。

関連するバインドメソッド: 検索

SearchScope:

書き込み可能

次のいずれか1つをとります。

  • baseonly - BaseDNオブジェクトのみを検索します。
  • children - BaseDNオブジェクトとその直接の子を検索します。
  • subtree - BaseDNオブジェクトとその下にあるすべてのオブジェクトを検索します。

関連するバインドメソッド: 検索

SearchBindDN:

書き込み可能

ディレクトリ検索のためにバインドされる識別名。
例: CN=bruno, DC=foo, DC=com
関連するバインドメソッド: 検索

SearchPasswd:

書き込み可能

BindDNレコードのパスワード。 このフィールドに引用符を付けて、「#」などの特殊文字をパスワードで使用可能にすることができます。

関連するバインドメソッド: 検索

SaslRealm:

書き込み可能

SASLでユーザ認証を行う時に使用するオプションの領域。

関連するバインドメソッド: sasl

GroupSearchFilter:

書き込み可能

グループ検索に使用するフィルタ。

関連するバインドメソッド: すべて

GroupBaseDN:

書き込み可能

グループ検索を実行するための検索ベース。 デフォルトはSearchBaseDNの値です。

関連するバインドメソッド: すべて

GroupSearchScope

書き込み可能

グループ検索時に次の1つを使用します。

  • baseonly - BaseDNオブジェクトのみを検索します。
  • children - BaseDNオブジェクトとその直接の子を検索します。
  • subtree - BaseDNオブジェクトとその下にあるすべてのオブジェクトを検索します。

関連するバインドメソッド: すべて

AttributeUid

書き込み可能

ユーザのUIDを含むユーザオブジェクトにある属性の名前。

AttributeName

書き込み可能

ユーザの氏名を含むユーザオブジェクトにある属性の名前。 氏名を形成するのに複数の属性が必要な場合、これらの属性を拡張してユーザの氏名が形成されるように各属性を%記号で囲んで指定します。

getattrsオプションは、LDAP AttributeNameフィールドで指定された値を使用して入力されるこのフィールドに対して有効化されている必要があります。

AttributeEmail

書き込み可能

ユーザの電子メールアドレスを含むディレクトリのユーザオブジェクトにある属性の名前。

getattrsオプションは、LDAPAttributeEmailフィールドにある値を使用して入力されるこのフィールドに対して有効化されている必要があります。

オプション

-d config

指定のLDAPコンフィギュレーションを削除します。

-i

標準入力からLDAP仕様を読み取ります。

-o config

指定のLDAPコンフィギュレーションを標準出力に書き込みます。

-t username config

指定のLDAPコンフィギュレーションに対して認証するユーザ名を指定します。 これはテストを目的としています。 このコマンドは、成功のメッセージまたは詳細なエラーメッセージを返します。 このテストを実行するためにコンフィギュレーションを有効にする必要はありません。

使用上の留意点

ファイル引数にリビジョン指定子を使えるか? ファイル引数にリビジョン範囲を使えるか? 最低限必要なアクセスレベル

適用外

適用外

super

p4 ldap myLdap

myLdapコンフィギュレーションを作成します。

p4 ldap -o myLdap

myLdapコンフィギュレーションを標準出力に書き込みます。

p4 ldap -t bruno myLdap

myLdapコンフィギュレーションで指定されたサーバに対してユーザbrunoを認証します。

p4 ldap -d myLdap

myLdapコンフィギュレーションを削除します。

関連コマンド

すべてのLDAPコンフィギュレーションを表示する。

p4 ldaps

LDAP関連の構成可能変数を定義する。

p4 configure