0

(以下の更新を参照)

Team Foundation Service を評価していて、やや奇妙な動作を観察しています。TFS+Git リポジトリは非公開であることを理解しているので、セキュリティがどのように管理されているかを確認しようと考えました。

そこで、Visual Studio 2012 の Git 設定を「偽の」ユーザーを使用するように変更しました。パスワードは求められませんでした。以下を参照してください。

ここに画像の説明を入力

その後、いくつかの「fake.txt」ファイルを追加し、変更をコミットしてサーバー リポジトリにプッシュしました。

驚いたことに、サーバーはそれを許可してくれましたが、この「偽のユーザー」コミットが実際に私の TFS リポジトリに表示されます。

ここに画像の説明を入力

どの段階でもパスワードを求められませんでした。私は何を間違っていますか?それとも、TFS サービスにはセキュリティがまったくないのでしょうか?

ありがとう、ボリス。

更新:これまでに見つけたものは次のとおりです。

  • Nathan さんが説明したように、Git の設定に記載されているユーザー/メールは、実際に認証するユーザーとは何の関係もありません。
  • VS2012 は、TF サービスで認証するために、バックグラウンドで IE を使用します。その結果、すでに認証されている IE のインスタンスが実行されている場合 (または「remember me」自動認証されている場合)、それが使用される認証になります。私見、これは醜いですが、私はそれで暮らすことができます.
  • さらに悪いことに、[Configure Team Projects] ダイアログでサインアウトする必要もあります (コントロール パネルの [Manage Credentials] 機能を使用してログオンを管理している場合、このダイアログは非表示になることがあります - How can I change the default credentials used used to connect to Visual Studio をロードするときの Visual Studio Online (TFSPreview)? )。まだ醜いですが、それも我慢できます。

元の質問については、ある種の解決策を見つけました。

しかし、いまだ謎に包まれているのは、その「偽ユーザー」の正体を突き止める方法がないことです。つまり、次のワークフローが現在の標準のようです。

  • 「RealUser」としてログオンします。これは、IE または GitHub クライアントを介して十分に認証されます。
  • 「FakeUser」になるように詳細を変更します
  • 「リポジトリ内のファイルに悪いことをする」>コミット>プッシュ
  • TF サービスは変更を受け入れます (「RealUser」として認証されているため)
  • しかし、レポの損傷は「FakeUser」によって行われたように見え、変更を行った実際の認証済みユーザーを「抽出」する UI/コマンドが見つかりませんでした (上記のスクリーンショットを TFS Web UI から参照してください - 言及なし)実際に認証されたユーザー名/liveID の)。

興味深いことに、GitHub はほとんど同じ動作をしていますが、多少複雑な回避策があります。共同作業者に移動し、各共同作業者を選択してから、共同作業者のアクティビティを確認すると、「偽の」プッシュ操作が表示されます。このなりすましの容易さは、 https ://help.github.com/articles/why-are-my-commits-linked-to-the-wrong-user の github でも公式に認められています。

上記のすべてを考慮すると、私の質問は次のとおりです。

TF サービスで悪意のある/偶発的なユーザーのなりすましを防止/検出する方法は本当にありませんか?

4

2 に答える 2

1

何時間も掘り下げた後、ある程度受け入れられる解決策を見つけました:

  • ブラウザをリポジトリに移動 > コード > コミット
  • 関連するコミットを選択し、「FakeUser」オーサリングの近くにある矢印を展開します。

    ここに画像の説明を入力

  • 出来上がり!実際の「プッシャー」ユーザー名が表示されます

    ここに画像の説明を入力

于 2013-05-21T13:17:15.513 に答える
0

TF サーバーに接続してレポを複製するときに、ユーザー名とパスワードを求められました。ユーザー名とパスワードはキャッシュされます。user.name および user.email 設定を設定することで、任意の git リポジトリで実際にこれを行うことができます (これは、表示している UI が行っていることです)。git のコミット ユーザー名は、実際には git サービスにアクセスするためのセキュリティと同じではありません。

サーバーは TFS 資格情報で保護されているのでご安心ください。

于 2013-05-21T05:41:02.570 に答える