如何授予 roleAssignement/write 对 azure devops 服务连接的权限
How can I grant roleAssignement/write permission to azure devops service connection
我正在为我的持续部署设置暂存环境。我正在为存储库和管道使用 Azure devops 服务。
我需要将 Azure Active Directory 登录添加到我的 Linux VM。到目前为止,我遵循了 this 指南。它在我的机器上工作,尽管当我尝试在 Azure devops 上 运行 它时,我收到以下错误。
2019-04-08T14:54:33.7657868Z ERROR: The client '********-****-****-****-************' with object id '********-****-****-****-************' does not have authorization to perform action 'Microsoft.Authorization/roleAssignments/write' over scope '/subscriptions/***/resourceGroups/staging-rg/providers/Microsoft.Compute/virtualMachineScaleSets/webscaleset/providers/Microsoft.Authorization/roleAssignments/********-****-****-****-************'.
看来我的 azure devops 服务连接缺少 roleAssignment/write 权限。我不知道如何添加它
最简单的方法 - 将所有者角色分配给服务主体,您可以使用服务连接页面找到它,它有一个 link 到 "manage service principal" 或类似的东西。
或者,您可以创建只能执行此操作的自定义角色并将其分配给服务主体,这样更安全一些,但没那么安全,因为有了该角色,您可以向任何人授予任何权限。
创建自定义角色的 Powershell:
$role = Get-AzRoleDefinition "Virtual Machine Contributor"
$role.Id = $null
$role.Name = "Assign permissions role"
$role.Description = "Allow to assign permissions"
$role.Actions.Clear()
$role.Actions.Add("Microsoft.Authorization/roleAssignments/write")
$role.AssignableScopes.Clear()
Get-AzSubscription | ForEach-Object {
$scope = "/subscriptions/{0}" -f $_.Id
$role.AssignableScopes.Add($scope)
}
$def = New-AzRoleDefinition -Role $role
将以下角色授予 devops 服务原则
姓名:特权角色管理员
Description:Users 拥有此角色可以在 Azure Active Directory 以及 Azure AD Privileged Identity Management 中管理角色分配。此外,此角色允许管理特权身份管理的所有方面。
我正在为我的持续部署设置暂存环境。我正在为存储库和管道使用 Azure devops 服务。
我需要将 Azure Active Directory 登录添加到我的 Linux VM。到目前为止,我遵循了 this 指南。它在我的机器上工作,尽管当我尝试在 Azure devops 上 运行 它时,我收到以下错误。
2019-04-08T14:54:33.7657868Z ERROR: The client '********-****-****-****-************' with object id '********-****-****-****-************' does not have authorization to perform action 'Microsoft.Authorization/roleAssignments/write' over scope '/subscriptions/***/resourceGroups/staging-rg/providers/Microsoft.Compute/virtualMachineScaleSets/webscaleset/providers/Microsoft.Authorization/roleAssignments/********-****-****-****-************'.
看来我的 azure devops 服务连接缺少 roleAssignment/write 权限。我不知道如何添加它
最简单的方法 - 将所有者角色分配给服务主体,您可以使用服务连接页面找到它,它有一个 link 到 "manage service principal" 或类似的东西。
或者,您可以创建只能执行此操作的自定义角色并将其分配给服务主体,这样更安全一些,但没那么安全,因为有了该角色,您可以向任何人授予任何权限。
创建自定义角色的 Powershell:
$role = Get-AzRoleDefinition "Virtual Machine Contributor"
$role.Id = $null
$role.Name = "Assign permissions role"
$role.Description = "Allow to assign permissions"
$role.Actions.Clear()
$role.Actions.Add("Microsoft.Authorization/roleAssignments/write")
$role.AssignableScopes.Clear()
Get-AzSubscription | ForEach-Object {
$scope = "/subscriptions/{0}" -f $_.Id
$role.AssignableScopes.Add($scope)
}
$def = New-AzRoleDefinition -Role $role
将以下角色授予 devops 服务原则
姓名:特权角色管理员 Description:Users 拥有此角色可以在 Azure Active Directory 以及 Azure AD Privileged Identity Management 中管理角色分配。此外,此角色允许管理特权身份管理的所有方面。