问题标签 [tfs-security]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
203 浏览

tfs - 在自定义 Web 应用程序中从 TFS 获取数据

我需要从 TFS(Team Foundation Server)中提取一些数据并创建一些带有数据的 excel 表。为了使其自动化,我正在编写一个应用程序。

但问题是:
如何从 TFS 获取数据?是否有任何可用的网络服务,或者我需要解析 HTML 然后获取数据。

0 投票
0 回答
855 浏览

git - 如何配置 TFS Git 权限,以便用户可以推送到除 master 之外的所有分支?

以下是我的要求:

  • 我有三个 TFS 组:Company1、Team1 和 Admins。管理员是 Team1 的子集。Team1 是 Company1 的子集。
  • 我的 Git 存储库包含一个主分支和 0 个或多个附加分支。
  • 管理员可以做任何事情。Team1 可以拉取和推送代码到所有分支;但是他们无法推动掌握。Company1 可以从所有分支中提取代码,但它们根本无法推送。

这是我尝试过的。

方法 1

  • 在回购级别:
    • Company1 拥有所有未设置的权限,但读取除外,即允许。
    • Team1 拥有未设置的所有权限,“分支创建”和“读取”除外。
    • 管理员拥有所有权限 ALLOW。
  • 在分支级别,对于 master:
    • Team1 拥有未设置的所有权限
    • Admins 拥有继承 ALLOW 的所有权限
  • 在分支级别,对于非主分支:
    • Team1 拥有所有权限 ALLOW
    • Admins 拥有继承 ALLOW 的所有权限

问题:虽然这对存在的分支非常有效,但如果 Team1 的成员创建了一个允许他们这样做的新分支,则他们无法将代码推送到该分支。我必须手动将 Team1 权限设置为允许分支,然后他们才能使用它。

方法 2

注意:Admins 和 Company1 权限与之前的方法相比没有变化。

  • 在回购级别:
    • Team1 已为所有内容设置了 ALLOW
  • 在分支级别,对于 master:
    • Team1 为所有内容设置了 DENY
  • 在分支级别,对于非主分支:
    • Team1 继承了所有内容的 ALLOW 集

问题:这种方法解决了上述问题,但是因为管理员是 Team1 的子集,管理员也被拒绝访问主服务器(拒绝胜过允许)。因此,每次我需要将代码推送到 master 时,我都必须暂时更改权限以允许自己这样做,然后在完成后将其更改回来。

问题:有没有办法配置权限来解决这两个问题,即我不需要手动干预?

我知道一种解决方案:创建两个新组,我们称它们为 Regular 和 Master。这些组包含 Team1 的单独成员(没有任何团队成员在两者中)。这解决了与方法 2 相关的问题,其中管理员也存在于 Team1 组中。这里的问题是我有 2 个组要管理,而不是由 IT 为我管理的 1 个组。所以还是有一些偶尔的手工工作。

这是最好的解决方案吗?

注意:我对所有这一切都是新手,这个任务落在了我的腿上,所以请原谅任何术语错误。

0 投票
2 回答
281 浏览

c# - 是否可以使用 TFS SDK 来查询和编辑服务器访问级别(利益相关者、基本、高级)

我目前正在使用 TFS 2013(本地)。我无法找到一种方法来以编程方式查询在服务器级别的控制面板的“访问级别”选项卡中设置的“利益相关者”、“基本”和“高级”用户列表,或者,给定有效的 TeamFoundationIdentity,找出它们对应的访问级别是什么。是否有可能做到这一点?

我对使用 SDK 非常熟悉,尽管在查找用户和安全性时才合理。例如,我知道如何列出服务器上的所有项目集合有效用户。

任何帮助将不胜感激,谢谢。

0 投票
2 回答
853 浏览

tfs - 在源代码管理中保护文件夹

我想知道如何保护一个区域(项目内的文件夹)——即允许外部顾问进行阅读和写作。

但我不希望他们能够访问该项目中的其他文件夹。

我知道如何分配对文件夹(定义区域)的访问权限,但我不确定如何在不切断他们对文件夹(区域)的访问权限的情况下安全地删除他们对项目的权限。

任何帮助appreicated。

0 投票
4 回答
16348 浏览

tfs - TF50309: 以下帐户没有足够的权限来完成操作

我是使用 TFS 2015 创建和部署的。一切正常,但从过去两周开始,构建已成功创建,但发布部分抛出错误

TF50309: 以下帐户没有足够的权限来完成操作:[*****]\Project Collection Service Accounts。执行此操作需要以下权限:查看项目级信息

所以我验证了团队项目-> 安全设置。对于除项目有效用户之外的所有组,查看项目级信息均设置为允许。所有其他组都是项目有效用户的成员,所以我认为这不是问题。

有人可以帮助我并给出适当的解决方案

0 投票
1 回答
1440 浏览

tfs - 创建 TFS 版本定义时访问被拒绝

我正在尝试在 TFS 上设置发布定义,但遇到了拒绝访问消息:

访问被拒绝消息

我认为我应该拥有此权限,因为我是“代理池管理员”组的成员:

代理池管理员

但是我注意到,我的队列没有角色,并且由于某种原因我无法添加角色,我怀疑这与问题有关:

在此处输入图像描述

我的问题是如何正确配置权限?我已经用谷歌搜索了一堆,但我仍然无法确定我缺少什么确切的权限。

[[更新]]

这是 TFS 2015 更新 3

显然,我自己已经是项目集合管理员,但仍然没有队列权限并且不知道,或者看不到在哪里将自己添加为队列管理员。

项目集合安全选项卡

所述队列是由我创建的,但间接地,我创建了检查自动配置队列的代理池,并创建了队列,但是,如果我尝试直接创建队列,我会遇到另一个“拒绝访问”错误

无法创建队列

[更新]

试图运行tfssecurity /collection:http://wada-pc:8080/tfs/DefaultCollection /g+ "[Agent Queues]\Agent Queue Administrators" "domain\account"

引导我进入Error: Access Denied: Eduardo Wada needs the following permission(s) to perform this action: Edit collection-level information

但是,我应该有这样的许可:

权限截图 来自 TFS 的权限

0 投票
2 回答
739 浏览

tfs - TFSSecurity 无法解析身份

我正在尝试使用 TFSSecurity 在我们的新 TFS 2017 实例上配置安全性。当我通过将 TFS 服务器上的本地用户帐户添加到 TFS 组中来测试它时效果很好,但是一旦我更改为尝试添加域组就会失败或帐户。这是我得到的命令和结果:

PS C:> &"E:\TFS 2017\Tools\tfssecurity.exe" /g+ "n:[Project1]\Contributors" n:"DOMAIN1\TFS-Developers" /collection: http://myTfsServer:8080/tfs /主集合

Microsoft (R) TFSSecurity - Team Foundation Server 安全工具 版权所有 (c) Microsoft Corporation。版权所有。

目标 Team Foundation Server 是 http://myTfsServer:8080/tfs/PrimaryCollection

正在解析身份“n:[Project1]\Contributors”...
[A] [Project1]\Contributors

正在解析身份“n:DOMAIN1\TFS-Developers”...

错误:无法解析身份。

我正在使用 DOMAIN1 上的帐户运行此命令,该帐户可以在 Active Directory 用户和计算机中看到该组,因此它似乎不应该有解决身份的问题。但是,服务器未加入 DOMAIN1 上的网络。它加入到名为 DOMAIN2 的第二个域,该域与 DOMAIN1 具有单向信任。我怀疑这可能会导致问题,但我不确定如何解决它,或者如何诊断问题以确定这一点。有任何想法吗?

0 投票
1 回答
588 浏览

powershell - 带有 vstfs:///Classifcation ID 的 TFSSecurity

我正在尝试使用 PowerShell 从用户列表中编写一些权限删除脚本。问题是,当我执行命令列出与用户关联的用户组时,我得到一个通用结果,当我执行从该组中删除用户的命令时无法使用该结果。

要获取用户的组:

结果:

目标 Team Foundation Server 是 http://:8080/tfs/。正在解析身份“\username”...

SID:S-1-5-21-3609080306-XXXXXXXXXX-XXXXXXXXX-5728

DN: CN=LastName, FirstName,OU=Disabled Users,DC=company,DC=com

身份类型:Windows 用户登录名:\ 邮件地址:username@domain.com 显示名称:姓氏、名字描述:TFS 用户

1 个组的成员:[A] [TeamProject]\Developers

完毕。

问题:当我尝试从返回的组中删除用户时:

我得到:

目标 Team Foundation Server 是 http://tfsserver:8080/tfs/collection。正在解析身份“[TeamProject]\Developers”...

错误:无法解析身份。

我正在寻找的东西是这样的:

vstfs:///Classification/TeamProject/af89c143-2f5e-4f5b-974e-903e8db86f73\Developers

我确实知道 TFS UI 可以提供这些组 SIDS,但我想看看我是否可以从 TFSSecurity 或其他命令库获取这些 SIDS,以便 PowerShell 可以利用这些 SIDS。

C:\Program Files (x86)\Microsoft Visual Studio 14.0>tfssecurity /g- "[Archive Projects]\Developers" \ /server:http://:8080/tfs/ Microsoft (R) TFSSecurity - Team Foundation Server 安全工具版权所有 (c) 微软公司。版权所有。

目标 Team Foundation Server 是 http://tfs-na.ihs.com:8080/tfs。正在解析身份“[Archive Projects]\Developers”...

错误:找到与“[存档项目]\Developers”匹配的多个身份。请指定以下身份之一:

  • [存档项目]\Developers (vstfs:///Classification/TeamProject/8153b33c-addc-48c2-81c0-XxXXXxxxXXXX\Developers)
  • [存档项目]\Developers (vstfs:///Classification/TeamProject/f3d25cfe-41b3-4f30-a329-BBBbbBBBbbbb\Developers)
  • [归档项目]\Developers (vstfs:///Classification/TeamProject/c0820b8e-2af0-416c-88b5-CCcccCCCccCC\Developers)
0 投票
1 回答
81 浏览

tfs-2015 - TFS 安全 - 浏览器服务器

我已经使用 Active Directory 组和通过 Visual Studio 在源代码管理资源管理器中设置了 TFS 安全性,用户只能看到他们有权访问的团队项目。但是,如果他们去 Team Explorer 并单击下拉菜单,他们会看到几乎所有的团队项目。如果他们也去 web Tfs,行为​​是完全一样的。

我如何限制他们只查看他们有权访问的下拉列表中的项目? 在此处输入图像描述

项目集合有效用户组 - 权限 在此处输入图像描述

项目集合测试服务帐户 - 权限 在此处输入图像描述

项目收集服务帐户 - 权限 在此处输入图像描述

项目集合代理服务帐户 - 权限 在此处输入图像描述

项目集合构建服务帐户 - 权限 在此处输入图像描述

项目集合构建管理员 - 权限 在此处输入图像描述

--在项目层面--

项目级别的所有项目有效用户组都是项目集合有效用户组的成员 在此处输入图像描述

用户从集合级别访问: ![在此处输入图像描述

0 投票
1 回答
170 浏览

tfs-security - 如何保护 TFS 2017 中的 GIT 存储库选项

我们正在设置一个新的本地 TFS 2017,并希望确保谁可以更改存储库上的选项。 存储库选项示例