使用 Azure Devops 在订阅之间移动资源
Moving Resources between subcriptions with AzureDevops
目前我正在尝试通过 AzureDevops 创建动态环境。
实现这一目标的其中一个步骤是复制我们的生产数据库并将它们放入临时资源组(生产订阅),然后将 sql 服务器和相关数据库移动到我们的非生产订阅。然后我们从这里创建 Web 应用程序并部署代码。
当我 运行 通过 Az Cli 执行此操作时,我可以使用以下
移动资源
SQLSERVERID=$(az resource show -g $RSGNAMETEMP -n $SQLSERVERNAME --resource-type "Microsoft.Sql/servers" --query id --output tsv)
az resource move --destination-group $RSGNAME --ids $SQLSERVERID --destination-subscription-id $SANDBOXSUBSCRIPTIONID
然而,当我 运行 通过 AzureDevops 执行此操作时,出现以下错误
ERROR: The client (...) with object id (...) has permission to perform action on scope however, it does not have permission to perform action (...) on the linked scope(s).
我相信当您在 AzureDevops 中配置 AZ Cli 步骤时会发生此问题,您 select 从下拉列表中选择订阅。帐户/服务主体仅具有对该特定订阅的访问权限,而不是多个订阅。是否可以配置可以连接到多个订阅的服务主体(可以在 AzureDevops 中使用)?
是的,只需转到 Azure 门户,导航到所需的订阅 blade,转到访问控制,按顶部的 +
叹息并将您的委托人添加为订阅的贡献者。
要查找服务主体名称,请使用:
单击 VSTS 作业中 Azure 订阅字段中的管理 link,它将导航到一个新的 blade。单击那里的管理服务主体。它将带你到 Azure AD 中的应用程序页面。之后,您可以在本地目录字段中的托管应用程序下复制名称,并使用该名称为其授予 Key Vault 权限。
目前我正在尝试通过 AzureDevops 创建动态环境。
实现这一目标的其中一个步骤是复制我们的生产数据库并将它们放入临时资源组(生产订阅),然后将 sql 服务器和相关数据库移动到我们的非生产订阅。然后我们从这里创建 Web 应用程序并部署代码。
当我 运行 通过 Az Cli 执行此操作时,我可以使用以下
移动资源SQLSERVERID=$(az resource show -g $RSGNAMETEMP -n $SQLSERVERNAME --resource-type "Microsoft.Sql/servers" --query id --output tsv)
az resource move --destination-group $RSGNAME --ids $SQLSERVERID --destination-subscription-id $SANDBOXSUBSCRIPTIONID
然而,当我 运行 通过 AzureDevops 执行此操作时,出现以下错误
ERROR: The client (...) with object id (...) has permission to perform action on scope however, it does not have permission to perform action (...) on the linked scope(s).
我相信当您在 AzureDevops 中配置 AZ Cli 步骤时会发生此问题,您 select 从下拉列表中选择订阅。帐户/服务主体仅具有对该特定订阅的访问权限,而不是多个订阅。是否可以配置可以连接到多个订阅的服务主体(可以在 AzureDevops 中使用)?
是的,只需转到 Azure 门户,导航到所需的订阅 blade,转到访问控制,按顶部的 +
叹息并将您的委托人添加为订阅的贡献者。
要查找服务主体名称,请使用:
单击 VSTS 作业中 Azure 订阅字段中的管理 link,它将导航到一个新的 blade。单击那里的管理服务主体。它将带你到 Azure AD 中的应用程序页面。之后,您可以在本地目录字段中的托管应用程序下复制名称,并使用该名称为其授予 Key Vault 权限。