在 Azure DevOps 管道中使用 Powershell,我正在尝试将密钥保管库的主体分配给Storage Account Key Operator Service Role
存储帐户的角色。
命令行
在我将 Azure 与服务主体连接后运行命令行:
$credentials = New-Object -TypeName System.Management.Automation.PSCredential($servicePrincipalApplicationId, $clientSecret)
Connect-AzAccount -ServicePrincipal -Credential $credentials -Tenant $tenantId
这是我执行的命令行:
New-AzRoleAssignment -ApplicationId $keyVaultServicePrincipalId -ResourceGroupName $resourceGroupName -ResourceName $storageAccountName -ResourceType "Microsoft.Storage/storageAccounts" -RoleDefinitionName "Storage Account Key Operator Service Role"
在哪里:
$keyVaultServicePrincipalId
是 Key Vault 的预注册主体 ID。它的值为cfa8b339-82a2-471a-a3c9-0fc0be7a4093
。$resourceGroupName
是存储所在的资源组的名称。它的值为accountsmanager-test-global-rg
。$storageAccountName
是我的存储帐户的名称。它的值为accountsmanagertest
。
服务负责人
以下是运行命令的服务主体的权限:
该命令作为在订阅中具有所有者角色的服务主体运行:
在该订阅中创建的资源组也归该服务主体所有:
问题
当我运行命令时,我收到以下错误:
New-AzRoleAssignment: The provided information does not map to an AD object id.
为什么The provided information does not map to an AD object id.
执行命令时会出现错误New-AzRoleAssignment
?