【问题标题】:Secure an Azure AP Service hosting an API保护托管 API 的 Azure APP 服务
【发布时间】:2021-10-03 08:16:33
【问题描述】:

我创建了一个 API 并部署到 Azure(请耐心等待,我对这一切都是新手)。该 API 将由另一个组织中的单个守护程序应用程序使用。我计划通过以下方式确保这一点:

  1. IP 白名单 - 在我看来,这似乎很有效,让 API 非常安全。
  2. AAD 创建的客户端密码 - 这足够了吗?
  3. HTTPs - 我已开启此功能(Azure APP 服务 TLS 刀片)。但是它似乎总是让我怀疑,我需要链接证书吗?是否在幕后处理加密?

【问题讨论】:

    标签: c# .net azure api


    【解决方案1】:

    是否足够取决于您的情况。 (例如是否符合 hipaa / pci 标准?)

    我还会添加一个 Azure Key Vault 来存储机密; API + API Gateway 前面的WAF(Web Application Firewall)(使用API​​ Management)。

    您的第 2 点在我看来毫无用处,您最好要求您的客户针对您的 azure Ad 进行身份验证,并将获取的令牌传递给您的 API。这样您就可以知道谁/何时调用了您的服务。

    #3- Azure 为您提供 SSL 证书,但如果您直接使用自定义域(推荐),您可以使用 Let's Encrypt 生成证书或从其他受信任的机构购买。加密发生在静态和传输中,但您也可以使用加密密钥进行静态加密。

    【讨论】:

    • 感谢您的回复。在第 2 步 - 我创建了一个测试客户端应用程序,它已在 Azure AD 中注册,该应用程序使用它来获取一个令牌,然后使用它来进行调用。 C# 代码 app = ConfidentialClientApplicationBuilder.Create(4087d......) .WithClientSecret(asadOIHOOISLKN.....) .WithAuthority(login.microsoftonline.com/f8a5.......) .Build();如果客户端密码不正确,认证失败。
    • 我想我要问的是使用客户端密码通过 AAD 进行身份验证并检索令牌的好习惯,我想我也需要考虑令牌到期
    猜你喜欢
    • 2020-12-01
    • 1970-01-01
    • 2016-05-07
    • 2019-03-31
    • 1970-01-01
    • 1970-01-01
    • 2020-03-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多