.net - 检查是否从 .NET Core 应用程序配置了托管标识
问题描述
我想知道应用程序是否配置了托管标识(比如说应用服务,但真的没关系)。到目前为止,我看到了下一个选项:
- 手动检查是否定义了某些环境变量,例如:IDENTITY_ENDPOINT
- 向配置添加标志,我将在部署期间设置该标志以指定是否配置了 MI
- 如果我连接到 Azure SQL,请检查连接字符串是否没有指定用户 ID
所有这些似乎都对我有用,但我想知道是否存在内置Azure.Identity
SDK。
解决方案
该包Azure.Identity
仅提供一些凭据来执行 Azure AD 身份验证,并需要 AD 令牌来访问 Azure AD 投射的资源。我们无法使用它来检查 Azure 资源是否已启用 MSI。更多详情,请参阅此处。
关于这个问题,我建议您使用 Azure REST API 来获取资源,然后检查该属性identity
是否具有价值。
推荐阅读
- php - 如何在带有重音数据库的数据表中使用标签类?
- computer-vision - 我可以/如何在应用程序中实现对象识别吗?
- angular - 在 ngOnDestroy 中调用的 destroy() 抛出无法读取未定义的属性“forExport”
- c# - 使用显式运算符转换实现相同接口的两个类时出现运行时错误
- java - 检索值时应用程序不断崩溃
- apache-kafka - Druid 仅解析从单个 kafka 消息消耗的 json 对象列表的第一个 json 对象
- php - 如何在 Laravel 中处理外部事件?
- spring-boot - 如何对自定义 mongo 存储库进行集成测试?
- sql-server - 查找一列的两行属于另一列的同一行
- pandas - Pandas 数据帧到 2D numpy 数组