C# Azure密钥保管库证书证书标识符、机密标识符、密钥标识符之间的差异

C# Azure密钥保管库证书证书标识符、机密标识符、密钥标识符之间的差异,c#,.net,azure,azure-active-directory,azure-keyvault,C#,.net,Azure,Azure Active Directory,Azure Keyvault,我曾经处理过Azure密钥库中存储的秘密,但这是第一次使用证书进行身份验证,而不是使用秘密 我有一个证书存储在Azure密钥库中。我想使用此证书向Azure AD应用程序进行身份验证 我知道,对于Azure Key Vault中存储的机密,我们可以使用@Microsoft.KeyVault(SecretUri='secretidentier')通过应用程序设置在Azure函数中引用它们 我注意到证书有三种类型的标识符:密钥、机密和证书标识符。它们之间的区别是什么?它们各自有什么用途 另外,我们是

我曾经处理过Azure密钥库中存储的秘密,但这是第一次使用证书进行身份验证,而不是使用秘密

我有一个证书存储在Azure密钥库中。我想使用此证书向Azure AD应用程序进行身份验证

我知道,对于Azure Key Vault中存储的机密,我们可以使用@Microsoft.KeyVault(SecretUri='secretidentier')通过应用程序设置在Azure函数中引用它们

我注意到证书有三种类型的标识符:密钥、机密和证书标识符。它们之间的区别是什么?它们各自有什么用途

另外,我们是否可以使用@Microsoft.KeyVault(SecretUri='certificate's secret identifier')通过secret identifier访问证书,并使用if进行身份验证?如果可以的话,这种方法有什么警告吗

最后,为什么使用证书进行身份验证被认为是比使用秘密更好的方法


到目前为止,对于一个以前没有使用过证书的人来说,我还没有找到一个容易理解的解释。如有任何建议/解释,我们将不胜感激。

有关密钥、机密和证书之间的区别,请参阅Azure密钥库文档,在对象类型下:

将秘密视为密码和连接字符串。密钥是可以使用各种算法生成的加密密钥。证书是具有可选策略(如自动旋转)的密钥(或密钥对)


使用证书而不是秘密进行身份验证有一个优势。优点是证书具有私钥和公钥部分。API调用的接收者只能验证您使用证书的公共部分的身份,而您可以安全地保护密钥库中的私有部分。秘密在主叫方和被叫方之间共享,并通过有线传输,因此它们有更多的泄漏机会。

有关密钥、秘密和证书之间的区别,请参阅Azure密钥库文档,在对象类型下:

将秘密视为密码和连接字符串。密钥是可以使用各种算法生成的加密密钥。证书是具有可选策略(如自动旋转)的密钥(或密钥对)

使用证书而不是秘密进行身份验证有一个优势。优点是证书具有私钥和公钥部分。API调用的接收者只能验证您使用证书的公共部分的身份,而您可以安全地保护密钥库中的私有部分。秘密在主叫方和被叫方之间共享,并通过有线传输,因此他们有更多的机会泄密