【问题标题】:Azure Devops - How to reset Resource Group in Edit service connectionAzure Devops - 如何在编辑服务连接中重置资源组
【发布时间】:2023-02-17 17:38:48
【问题描述】:

在更新服务连接的密钥时,我不小心也将 Resource group 设置为一个特定的组,而之前它是留空的,所以它可以访问整个订阅。

我想将其还原,以便它可以访问整个订阅,但我似乎无法清除 Resource group,似乎一旦设置就无法清除。

除了删除此服务连接并创建一个具有相同名称的新服务连接外,还有其他方法可以将 Resource Group 设置为空白/空格吗?我找不到任何 az clips 命令。我知道我可以手动授予对服务主体的访问权限,但是从 UI 的角度来看它可能会产生误导,因为它只显示一个 resource group

【问题讨论】:

    标签: azure-devops azure-pipelines


    【解决方案1】:

    我们无法在 UI 中将资源组更改为空,因为它是设计使然。

    有一种解决方法是使用Rest API 来修改服务连接。请看类似案例: https://developercommunity.visualstudio.com/t/Cant-change-resource-group-to-empty-in-/1396077

    获取请求正文:

    GET https://dev.azure.com/{organization}/{project}/_apis/serviceendpoint/endpoints/{endpointId}?api-version=7.1-preview.4
    

    更新服务连接:

    PUT https://dev.azure.com/{organization}/_apis/serviceendpoint/endpoints/{endpointId}?api-version=7.1-preview.4
    

    请将范围设置为空。

    "authorization": {
        "parameters": {
            "tenantid": "",
            "serviceprincipalid": "",
            "authenticationType": "spnKey",
            "scope": "",  // this is the resource group
            "serviceprincipalkey": null
        },
        "scheme": "ServicePrincipal"
    },
    

    【讨论】:

    • 从 UI 的角度来看,这似乎中断了服务连接。清除“范围”并更新后,从 API 的角度来看,服务连接“消失”了,但它仍然存在于 UI 中,但任何试图在 UI 中保存连接的尝试都会导致错误“未指定服务连接字段”参数名称:azureSpnRoleAssignmentId”。我将尝试删除端点并创建新端点。
    【解决方案2】:

    这纯粹是一个 UI 限制。如果您打开 Chrome 开发者工具,您可以在“网络”选项卡中看到发送的请求,以及“scope”属性及其值。 如果发送相同的请求,其中范围为空(如@unknown 在他的回答中所示),您将获得所需的结果。

    您可以通过右键单击 Chrome 开发者工具网络选项卡中的请求(单击“保存”后),然后选择“复制为”->“复制为获取”来轻松完成此操作。

    然后将其粘贴到您的 Chrome 控制台中,更新正文以使范围只是一个空字符串,然后按 enter 键。

    【讨论】:

      猜你喜欢
      • 2020-01-26
      • 1970-01-01
      • 2019-10-09
      • 1970-01-01
      • 2021-11-22
      • 1970-01-01
      • 1970-01-01
      • 2021-12-16
      • 2019-09-11
      相关资源
      最近更新 更多