集中認証サーバ(P4AUTH)
複数のHelixサーバが稼働している場合は、集中認証サーバからプロテクションとライセンスのデータを取得するようにPerforceサーバを設定することができます。集中サーバを使用すると、すべてのサーバ上に同じユーザエントリとプロテクションエントリが存在するかどうかを確認する必要がなくなります。
集中認証サーバを使用する場合は、すべての外側のサーバのリリースレベルが集中サーバのリリースレベルと一致しているか、それよりも新しいレベルになっている必要があります。
集中認証サーバ上に存在しないユーザは、外側のサーバにも存在しないユーザとして表示されます。集中認証サーバと外側のサーバの両方に存在するユーザには、プロテクションテーブル内の最も制限の緩い2行が割り当てられます。
組織内の任意のHelix Coreサーバを、集中認証サーバとして使用することができます。集中認証サーバのライセンスファイルにより、外側のサーバ上での存在が許可されるライセンス済みユーザの数が管理されるため、正しいライセンスファイルを使用する必要があります。集中認証サーバを使用するようにHelix Coreサーバを設定するには、P4AUTH
をサーバを起動する前に設定するか、サーバの起動時にコマンドラインで指定します。
Perforceサーバで集中認証サーバを使用している場合は、p4
info
コマンドの出力情報に以下の行が表示されます。
... Authorization Server: [protocol:]host:port
[protocol:]host:port
の部分は、集中認証サーバのプロトコル、ホスト、ポート番号です。詳細については、「ホストを指定する」を参照してください。
以下の例では、外側のサーバ(server2
とする)が集中認証サーバ(central
とする)を使用するように設定されています。この外側のサーバは、ポート1999でユーザからの要求を待機し、ユーザ、グループ、プロテクション、レビュー、ライセンスの情報については、集中サーバのデータを使用します。また、この外側のサーバは、サーバから取得したプロテクションテーブルを、central:1666
で独自のプロテクションテーブルに結合します。
以下に例を示します。
$ p4d -In server2 -a central:1666 -p 1999
Windowsでは、p4 set
-S
コマンドを使用して、以下のように外側のサーバを設定します。
C:\> p4 set -S "Outer Server" P4NAME=server2
C:\> p4 set -S "Outer Server" P4AUTH=central:1666
C:\> p4 set -S "Outer Server" P4PORT=1999
構成の問題を回避するには、serverID
の値をP4NAMEの値と常に一致させる必要があります(どちらも設定されている場合)。serverID
を設定することをお勧めしますが、下位互換性を維持するため、P4NAME
もサポートされています。
集中認証サーバを設定すると、外側のサーバは、以下の各コマンドを集中サーバに処理用として転送します。
コマンド | 認証サーバに転送? | 注意 |
---|---|---|
使用可 |
ローカルのグループデータは、集中サーバから派生します。 |
|
使用可 |
ローカルのグループデータは、集中サーバから派生します。 |
|
使用可 |
ライセンスの制限は、集中サーバから派生します。ライセンスのアップデートは、集中サーバに転送されます。 |
|
使用可 |
プロパティ値は、集中サーバから派生します。 |
|
使用可 | 例えば、2つの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アドレスを使用する必要があります。