Azure Client Id、Tenant 和 Key Vault URI 是否属于机密信息?

5

我正在学习Azure,并尝试遵循WPF和Xamarin.Forms应用程序的最佳安全实践。

我正在使用Azure AD进行身份验证,使用Key Vault来管理我的密码。

那么客户端ID和租户设置呢?这些是连接到Azure以进行登录所必需的。

终结点URI也是调用Key Vault所必需的。

这些Client Id、Tenant和Key Vault终结点是否被视为密码,还是我想太多了。我知道没有经过身份验证的人无法访问或利用它们。

那么将它们放入源代码控制中呢?这样可以吗?

非常感谢您的想法和见解。

Karl

1个回答

8
并不是什么秘密。您可以使用以下Url获取任何Azure AD租户的租户元数据

https://login.microsoftonline.com/{tenantID/domain}/.well-known/openid-configuration

例如 https://login.microsoftonline.com/microsoft.onmicrosoft.com/.well-known/openid-configuration

ClientId也出现在http Urls中,因此并不难发现。这就是为什么应该专注于使用令牌验证用户分配有效地保护对应用程序的访问。

Azure资源的托管标识可帮助避免在源代码控制中检入任何凭据,并且在KeyVault中非常有用。


谢谢,我会研究托管身份。 - user2577163
@LeonLu-MSFT,我无法让托管标识正常工作。我认为我的问题在于我的应用程序使用“user.read”范围登录AD以读取Graph。这很好地运行。然后,我访问Azure函数,但Bearer令牌没有添加正确的范围,请求被拒绝。我尝试添加其他范围到我的登录,但无法弄清楚如何正确配置我的门户以访问我的函数,我得到了这个错误。第一部分... - user2577163
第二部分...AADSTS65005: 该应用程序 'xxxxxxxxxxxxxxxxxxxxxx' 请求不存在的范围“api.read”。请联系应用程序供应商。是否有端到端的步骤说明添加Azure函数,在门户中为函数配置作用域呢?我只想有一个使用AD身份验证的Azure函数。我认为服务器上的作用域不匹配以及我在WithExtraScopesToConsent中传递的内容是我的问题所在。谢谢。 - user2577163

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接