首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用AAD身份验证从AKS集群访问azure sql数据库

使用AAD身份验证从AKS集群访问azure sql数据库
EN

Stack Overflow用户
提问于 2021-04-30 20:24:46
回答 1查看 325关注 0票数 1

通过使用AAD身份验证,我可以从应用程序服务中运行的.net核心应用程序访问sql server azure。要做到这一点,有必要在sql server中注册用户分配的托管身份,这是通过此article中的以下步骤完成的。此外,有必要指定AzureServicesAuthConnectionString (RunAs=App;AppId=c5309486-960d-46f4-bbea-XXX)以允许应用程序代码从Azure令牌提供商请求身份验证令牌,更多信息here

现在,我正在尝试将我的应用程序迁移到AKS集群。我正在遵循https://www.cloudiqtech.com/implementing-azure-ad-pod-identity-in-aks-cluster/的说明,使用kubernetess应用程序https://github.com/Azure/aad-pod-identity将Azure身份安装到集群中。在创建所有配置后,我还将AzureServicesAuthConnectionString添加到配置映射中,但应用程序失败,并显示以下消息:

为数据库设定种子时出错。

System.AggregateException:发生了一个或多个错误。(参数:连接字符串: RunAs=App;AppId=a349660d-cbfd-45fc-a917-XXX,资源:https://database.windows.net/,权限:。异常消息:已尝试使用托管服务标识获取令牌。无法获取访问令牌。操作已取消。)

-> Microsoft.Azure.Services.AppAuthentication.AzureServiceTokenProviderException:参数:连接字符串: RunAs=App;AppId=a349660d-cbfd-45fc-a917-XXX,资源:https://database.windows.net/,授权:。异常消息:已尝试使用托管服务标识获取令牌。无法获取访问令牌。操作已取消。

在Microsoft.Azure.Services.AppAuthentication.AzureServiceTokenProvider.GetAuthResultAsyncImpl(String资源,字符串授权,布尔值forceRefresh,CancellationToken cancellationToken)

在Microsoft.Azure.Services.AppAuthentication.AzureServiceTokenProvider.GetAccessTokenAsync(String资源中,字符串tenantId,布尔值forceRefresh,CancellationToken cancellationToken)

-内部异常堆栈跟踪结束

在System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)

在System.Threading.Tasks.Task`1.get_Result()

在MvcMovie.DataAccess.MovieContext..ctor(DbContextOptions`1选项中)

在MvcMovie.DataAccess.SeedData.Initialize(IServiceProvider serviceProvider)

at MvcMovie.Program.Main(String[]参数)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-03 17:38:11

来自Kubernetes的AAD Pod身份: AKS和aks-engine集群需要一个身份来与documentation通信。此标识可以是托管标识(以系统分配的标识或用户分配的标识的形式),也可以是服务主体。本节介绍在使用AAD Pod身份之前需要执行的各种角色分配。如果没有正确的角色分配,你的Azure群集将没有从基础虚拟机(VM)或虚拟机比例集(VMSS)分配和取消分配标识的正确权限。

我缺少为群集系统分配的以下角色分配的托管标识:“托管标识操作员”、“虚拟机贡献者”

此外,需要在创建AKS集群的同一资源组中创建访问数据库的用户分配的托管身份。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67340042

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文