我有一个 Terraform Enterprise 服务主体,它通过我的资源组分配了以下角色:
- 贡献者
- 数据工厂贡献者
- ConfigureFactoryRepoAction
- 网络连接器
- 子网连接器的网络接口
- 读者(通过订阅分配)
但是,当我尝试启动 Azure Datafactory 的实例时,我收到以下错误
“错误:为数据工厂配置存储库:(工厂名称“test-vc-1”/资源组“$NAME_OF_RESOURCE_GROUP”):datafactory.FactoriesClient#ConfigureFactoryRepo:未能响应请求:StatusCode=403 - 原始错误:autorest/azure:服务返回错误。Status=403 Code="AuthorizationFailed" Message="The client 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' with object id 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' 没有权限执行操作'Microsoft.DataFactory/locations/configureFactoryRepo/action' 超出范围 '/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' 或范围无效。如果最近授予访问权限,请刷新您的凭据。
我想这里的关键是
在范围“/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”上执行操作“Microsoft.DataFactory/locations/configureFactoryRepo/action”或范围无效
订阅级别而不是资源组级别需要角色 ConfigureFactoryActionRepo。无论如何都可以配置数据工厂而无需在订阅中分配此角色?为什么需要如此广泛的范围?
PS 我正在使用 Terraform v0.14.7