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クエリは、そのユーザーとして実行されます。したがって、ユーザーがグループを表示するには、そのユーザーがそのグループのメンバーである必要があります。(『Helix Coreサーバ管理者ガイド』の「LDAPグループを使用した認証」を参照)

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

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

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

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

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

    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のいずれか。 デフォルト値はtlsです。

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

BindMethod:

書き込み可能

simplesearchsaslのいずれか。 詳細については、 「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で置換されます。

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

SearchBaseDN:

書き込み可能

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

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

SearchFilter:

書き込み可能

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

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

SearchScope:

書き込み可能

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

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

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

SearchBindDN:

書き込み可能

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

SearchPasswd:

書き込み可能

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

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

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