【问题标题】:Azure Key Vault Certificate Difference Between Certificate Identifier, Secret Identifier, Key IdentifierAzure Key Vault 证书证书标识符、秘密标识符、密钥标识符之间的区别
【发布时间】:2021-02-23 23:07:16
【问题描述】:

我使用过存储在 Azure Key Vault 中的机密,但这是第一次使用证书而不是机密进行身份验证。

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

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

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

另外,我们可以使用 @Microsoft.KeyVault(SecretUri='Certificate's Secret Identifier') 通过秘密标识符访问证书并使用 if 进行身份验证吗?如果可以,这种方法有什么注意事项吗?

最后,为什么认为使用证书进行身份验证比使用机密更好?

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

【问题讨论】:

    标签: c# .net azure azure-active-directory azure-keyvault


    【解决方案1】:

    关于 Keys、Secrets 和 Certificates 之间的区别,请参阅 Azure Key Vault 文档,在 Object Types 下:

    https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#object-types

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

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

    【讨论】:

      猜你喜欢
      • 2020-05-20
      • 2017-01-05
      • 1970-01-01
      • 2014-02-06
      • 1970-01-01
      • 1970-01-01
      • 2015-07-24
      • 1970-01-01
      • 2011-10-12
      相关资源
      最近更新 更多