You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过PowerShell脚本为服务主体分配Purview的Data Source Admin角色

新增角色分配逻辑的修改方案

你只需要在创建服务主体、生成访问令牌的步骤之间,添加Purview角色分配逻辑即可,同时修正原脚本的两处隐性错误:

步骤1:添加角色分配代码

在脚本中$sp = createSP $subscriptionid $resourceGroup $spName 这行之后,添加如下代码:

# 获取Purview账户的资源ID作为权限分配范围
$purviewAccount = Get-AzPurviewAccount -Name $purviewName -ResourceGroupName $resourceGroup
$purviewScope = $purviewAccount.Id

# Purview Data Source Admin角色的固定角色定义ID
$dsAdminRoleId = "c3266f20-084f-4819-a873-8b328a0801ed"

# 为服务主体分配对应角色
New-AzRoleAssignment -ApplicationId $sp.ApplicationId `
-RoleDefinitionId $dsAdminRoleId `
-Scope $purviewScope

# 等待权限同步生效,避免后续请求出现权限未生效的问题
Start-Sleep -Seconds 30

注意:运行该脚本的登录账号需要具备Purview账户所属范围的「所有者」或「用户访问管理员」权限,才能完成角色分配操作。你也可以执行命令Get-AzRoleDefinition | Where-Object {$_.Name -eq 'Purview Data Source Admin'}确认对应角色的ID。

步骤2:修正原脚本的两处错误

  1. 调用createSubCollection函数时,你传入的端点参数是$atlas_endpoint,但你之前定义的端点变量为$endpoint,需要修改为:
createSubCollection $accessToken $endpoint $collectionName $parentCollectionName
  1. createSubCollection函数内部的$purviewName变量不属于函数作用域,会导致请求路径错误,你可以将$purviewName作为参数传入函数,或者直接将路径中的集合名替换为你传入的$collectionName参数。

内容的提问来源于stack exchange,提问作者Rana

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 02:15:07