【问题标题】:Securely storing oAuth Tokens in Azure在 Azure 中安全地存储 oAuth 令牌
【发布时间】:2019-10-19 00:46:38
【问题描述】:

我正在构建一个允许用户使用不同身份提供者的服务。用户通过提供者进行身份验证后,我需要存储令牌,以便我可以代表他们进行调用。

我的问题是关于在 Azure 中安全地存储这个令牌。

我认为最好的候选人是:

  1. 使用 Always Encrypted 在 Azure SQL 中存储令牌。存储加密密钥 在 Azure 密钥保管库中。
  2. 将令牌存储在 Azure Key Vault 中的机密下。

我是否忘记了安全存储令牌的任何其他选项?关于哪种方法更好的建议?

【问题讨论】:

    标签: azure security azure-sql-database azure-keyvault always-encrypted


    【解决方案1】:

    Azure SQL 信息保护怎么样?可从 Azure 门户进行管理,并具有很大的灵活性。您甚至可以监控您的表并为表授予特定权限: https://azure.microsoft.com/nl-nl/blog/information-security-policy-in-asc/

    但是对于您的方案,我认为使用密钥保管库是最佳选择,因为它是为此目的而构建的。

    【讨论】:

      【解决方案2】:

      您可以通过将令牌作为机密直接存储在 Key Vault 中来减少攻击面。

      您可能还有其他应用程序可以访问不需要访问 Key Vault 的 SQL 实例,因此 Key Vault 网络访问权限可能比您的 SQL 服务器更严格。

      【讨论】:

        【解决方案3】:

        值得牢记 KeyVault 的服务限制:

        机密、托管存储帐户密钥和保管库事务:2,000 10 秒内允许的最大事务数,每个保险库每个区域

        所有事务类型的订阅范围限制是每个密钥库限制的五倍。例如,每个订阅的 HSM-other 事务在每个订阅 10 秒内限制为 5,000 个事务。

        详情可以在这里找到:Azure Key Vault service limits

        根据您的可扩展性目标,您可能还希望考虑 Cosmos DB:

        Cosmos DB 并不便宜,但它具有很强的可扩展性并支持静态加密。

        静态加密是一个短语,通常指加密 非易失性存储设备(例如固态驱动器)上的数据 (SSD) 和硬盘驱动器 (HDD)。 Cosmos DB 存储其主 SSD 上的数据库。它的媒体附件和备份存储在 Azure Blob 存储,通常由 HDD 备份。随着 为 Cosmos DB、所有数据库、媒体发布静态加密 附件和备份是加密的。您的数据现在已加密 传输(通过网络)和静态(非易失性存储),给出 端到端加密。

        作为一种 PaaS 服务,Cosmos DB 非常易于使用。因为所有用户 存储在 Cosmos DB 中的数据在静态和传输中都经过加密,您 不必采取任何行动。另一种说法是 默认情况下,静态加密是“开启”的。没有控件可以转动 它关闭或打开。 Azure Cosmos DB 在所有区域上使用 AES-256 加密 帐户在哪里运行。我们提供此功能,同时我们 继续与我们的availability and performance SLAs会面。

        https://docs.microsoft.com/en-us/azure/cosmos-db/database-encryption-at-rest

        【讨论】:

          猜你喜欢
          • 2011-11-29
          • 1970-01-01
          • 2013-06-10
          • 2018-09-02
          • 2012-09-11
          • 2010-12-25
          • 2016-07-23
          • 2019-02-20
          • 2021-05-02
          相关资源
          最近更新 更多