用户分配的托管身份(UAMI)在订阅和ARM模板参数化之间与多个ADF实现一起使用



我想知道是否有人对如何在Azure DevOps中使用CICD管道处理用户分配的托管身份(UAMI(有任何经验,而不同环境中的UAMI并不相同?

考虑到这一点,如果有Dev、Test和Prod订阅,那么每个ADF实现都可以有自己的Azure订阅,并且可能配置不同的UAMI。

Dev ADF的ARM模板生成/发布将生成/发布ARM模板,但它不会参数化在我的环境中定义UAMI的"凭据"部分,因为它似乎只适用于"链接服务"。

那么,如果使用ADF发布的来自dev-ADF的ARM模板作为工件,我们如何为ADF构建CICD管道呢?

这是ADF发布的ARM模板的片段;

"name": "[concat(parameters('factoryName'), '/cred_uami')]",
"type": "Microsoft.DataFactory/factories/credentials",
"apiVersion": "2018-06-01",
"properties": {
"type": "ManagedIdentity",
"typeProperties": {
"resourceId": "/subscriptions/<XXXXX-SUBID-XXXXX>/resourceGroups/<XXXX-RG-XXXX/providers/Microsoft.ManagedIdentity/userAssignedIdentities/XXXX-uami"
}
},
"dependsOn": []
}
]

}

任何提示都将不胜感激。

如果其他人将来需要,我的解决方案是重写默认参数文件,有关详细信息,请访问;

https://learn.microsoft.com/en-us/azure/data-factory/continuous-integration-delivery-resource-manager-custom-parameters

我使用了ADF默认参数文件,并向其中添加了以下代码,然后将该值作为每个环境的CICD管道的一部分进行了验证。

"Microsoft.DataFactory/factories/credentials" : {
"properties": {
"typeProperties": {
"resourceId": "="
}
}
}

最新更新