问题标签 [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.
tfs - 在自定义 Web 应用程序中从 TFS 获取数据
我需要从 TFS(Team Foundation Server)中提取一些数据并创建一些带有数据的 excel 表。为了使其自动化,我正在编写一个应用程序。
但问题是:
如何从 TFS 获取数据?是否有任何可用的网络服务,或者我需要解析 HTML 然后获取数据。
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 个组。所以还是有一些偶尔的手工工作。
这是最好的解决方案吗?
注意:我对所有这一切都是新手,这个任务落在了我的腿上,所以请原谅任何术语错误。
c# - 是否可以使用 TFS SDK 来查询和编辑服务器访问级别(利益相关者、基本、高级)
我目前正在使用 TFS 2013(本地)。我无法找到一种方法来以编程方式查询在服务器级别的控制面板的“访问级别”选项卡中设置的“利益相关者”、“基本”和“高级”用户列表,或者,给定有效的 TeamFoundationIdentity,找出它们对应的访问级别是什么。是否有可能做到这一点?
我对使用 SDK 非常熟悉,尽管在查找用户和安全性时才合理。例如,我知道如何列出服务器上的所有项目集合有效用户。
任何帮助将不胜感激,谢谢。
tfs - 在源代码管理中保护文件夹
我想知道如何保护一个区域(项目内的文件夹)——即允许外部顾问进行阅读和写作。
但我不希望他们能够访问该项目中的其他文件夹。
我知道如何分配对文件夹(定义区域)的访问权限,但我不确定如何在不切断他们对文件夹(区域)的访问权限的情况下安全地删除他们对项目的权限。
任何帮助appreicated。
tfs - TF50309: 以下帐户没有足够的权限来完成操作
我是使用 TFS 2015 创建和部署的。一切正常,但从过去两周开始,构建已成功创建,但发布部分抛出错误
TF50309: 以下帐户没有足够的权限来完成操作:[*****]\Project Collection Service Accounts。执行此操作需要以下权限:查看项目级信息
所以我验证了团队项目-> 安全设置。对于除项目有效用户之外的所有组,查看项目级信息均设置为允许。所有其他组都是项目有效用户的成员,所以我认为这不是问题。
有人可以帮助我并给出适当的解决方案
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 - 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 具有单向信任。我怀疑这可能会导致问题,但我不确定如何解决它,或者如何诊断问题以确定这一点。有任何想法吗?
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)
tfs-2015 - TFS 安全 - 浏览器服务器
我已经使用 Active Directory 组和通过 Visual Studio 在源代码管理资源管理器中设置了 TFS 安全性,用户只能看到他们有权访问的团队项目。但是,如果他们去 Team Explorer 并单击下拉菜单,他们会看到几乎所有的团队项目。如果他们也去 web Tfs,行为是完全一样的。
--在项目层面--