Helix Coreサーバ管理者ガイド (2020.1)

集中認証サーバ(P4AUTH)

複数のHelixサーバが稼働している場合は、集中認証サーバからプロテクションとライセンスのデータを取得するようにPerforceサーバを設定することができます。 集中サーバを使用すると、すべてのサーバ上に同じユーザエントリとプロテクションエントリが存在するかどうかを確認する必要がなくなります。

注意

集中認証サーバを使用する場合は、すべての外側のサーバのリリースレベルが集中サーバのリリースレベルと一致しているか、それよりも新しいレベルになっている必要があります。

集中認証サーバ上に存在しないユーザは、外側のサーバにも存在しないユーザとして表示されます。

組織内の任意のHelix Coreサーバを、集中認証サーバとして使用することができます。 集中認証サーバのライセンスファイルにより、外側のサーバ上での存在が許可されるライセンス済みユーザの数が管理されるため、正しいライセンスファイルを使用する必要があります。 集中認証サーバを使用するようにHelix Coreサーバを設定するには、P4AUTHをサーバを起動する前に設定するか、サーバの起動時にコマンドラインで指定します。

Perforceサーバで集中認証サーバを使用している場合は、p4 infoコマンドの出力情報に以下の行が表示されます。

...
Authorization Server: [protocol:]host:port

[protocol:]host:portの部分は、集中認証サーバのプロトコル、ホスト、ポート番号です。 詳細については、「ホストを指定する」を参照してください。

以下の例では、centralという集中認証サーバを使用するように外側のサーバが設定されています。 この外側のサーバは、ポート1999でユーザからの要求を待機し、ユーザ、グループ、プロテクション、レビュー、ライセンスの情報については、集中サーバのデータを使用します。 また、この外側のサーバは、サーバから取得したプロテクションテーブルを、central:1666で独自のプロテクションテーブルに結合します。

以下に例を示します。

$ p4d -a central:1666 -p 1999
注意

Windowsでは、p4 set -Sコマンドを使用して、以下のように外側のサーバを設定します。

C:\> p4 set -S "Outer Server" P4AUTH=central:1666
C:\> p4 set -S "Outer Server" P4PORT=1999

集中認証サーバを構成すると、外側のサーバは、以下の各コマンドを集中サーバに処理用として転送します。

コマンド 認証サーバに転送? 注意

p4 group

する

ローカルのグループデータは、集中サーバから派生します。

p4 groups

する

ローカルのグループデータは、集中サーバから派生します。

p4 license

する

ライセンスの制限は、集中サーバから派生します。 ライセンスのアップデートは、集中サーバに転送されます。

p4 passwd

する

プロパティ値は、集中サーバから派生します。

p4 property

する 例えば、2つのSwarmインスタンスが同じ認証サーバを使用している場合、一方のインスタンスを更新すると、もう一方のインスタンスも更新できます。

p4 review

なし

remoteというデフォルトのユーザは、集中サーバに対するアクセス権を持っている必要があります。 ただし、サービスユーザを作成し、デフォルトのユーザremoteは使用しないことをお勧めします。 詳細については、「リモートディポへのアクセスを制限する」を参照してください。

p4 reviews

なし

remoteというデフォルトのユーザは、集中サーバに対するアクセス権を持っている必要があります。 ただし、サービスユーザを作成し、デフォルトのユーザremoteは使用しないことをお勧めします。 詳細については、「リモートディポへのアクセスを制限する」を参照してください。

p4 user

する

ローカルユーザのデータは、集中サーバから派生します。

p4 users

する

ローカルユーザのデータは、集中サーバから派生します。

p4 protect

なし

ユーザによるローカルサーバのプロテクションテーブルの編集が許可されている場合(結合されたプロテクションテーブルとして定義されている場合)、そのプロテクションテーブルが表示されます。

p4 protects

する

プロテクションは、外側のサーバのプロテクションテーブルに付加された集中サーバのプロテクションテーブルから派生します。

p4 login

する

チケットを生成するため、コマンドが集中サーバに転送されます。

p4 logout

する

チケットを無効にするため、コマンドが集中サーバに転送されます。

制限事項と注記

  • Helix Swarmは、集中認証サーバではサポートされていません。
  • P4AUTHを使用するすべてのサーバは、集中認証サーバと同じUnicode設定を使用する必要があります。
  • p4 configure set P4AUTH=[protocol:]server:portコマンドを使用してP4AUTHを設定するには、外側のサーバを再起動する必要があります。

    レプリカに対してP4AUTHを設定する必要がある場合は、次の構文を使用してください。

    p4 configure set ServerName#P4AUTH=[protocol:]server:port

  • P4AUTHを設定した場合、オープンファイルまたはクライアントを持っているユーザが削除されても警告が表示されません。
  • p4 reviewコマンドとp4 reviewsコマンドを正常に機能させるには、集中サーバ上でサービスユーザ(サービスユーザが指定されていない場合は、remoteという名前のユーザ)によるリモートディポへのアクセスを有効にする必要があります。

    注: remoteタイプのユーザは存在しませんが、remoteという特殊ユーザは存在します。この特殊ユーザは、リモートディポのプロテクションを定義する場合に使用されます。

  • 転送されたコマンドと、信頼されている直接接続ユーザによって発行されたコマンドを認証サーバで正しく区別するには、「proxy-」という文字列を[protocol:]host:port定義の先頭に付加することにより、PerforceサービスでIPベースのプロテクションエントリを定義する必要があります。
    重要

    ワークステーションのIPアドレスの先頭に文字列proxy-を追加する前に、ブローカまたはプロキシが配置されていることを確認します。

  • 転送されないコマンドのプロテクションは、外側のサーバによって適用されます。集中サーバのプロテクションテーブル内の行からプロテクションが派生している場合であっても、クライアントのプレーンIPアドレスを使用する必要があります。