什么是 API 密钥?

应用程序编程接口 (API) 密钥是一串随机字符,用于识别并验证应用程序或用户。它充当唯一的标识符,并提供唯一的身份验证令牌。API 是一组规则或协议,允许两个或更多系统和应用程序相互通信。客户端若要被授予访问权限,就必须确认 API 密钥,才能确保只有被授权的客户端才能请求和检索数据。

API 密钥 vs. API 令牌:有何区别?

API 密钥和 API 令牌都可用于进行身份验证和授权,但它们的结构和使用方式不同。API 令牌是一串独特的字符,可识别特定用户,不包括应用程序和其他实体。API 令牌还与用户基于令牌的身份验证相关联,这需要额外的特定于用户的数据,如令牌类型和用户的权限信息。

此外,必须注意的是,API 令牌设有到期日,而 API 密钥则始终保持活跃,除非手动加以更改。因此,组织往往更青睐使用 API 令牌进行身份验证,因为它们比 API 密钥更安全。

API 密钥的运作方式

API 密钥被集成到用户或应用程序提出的 API 请求中,以验证其身份和特定权限。以下是 API 密钥的分步操作简介。

  1. 生成 API 密钥: 在访问该 API 之前,客户端必须向 API 服务器提交初始密钥请求。这通常需要客户端提供必要的凭证或某种形式的身份验证,才能接收唯一的 API 密钥。
  2. 在请求中添加 API 密钥: 获得 API 密钥后,客户端必须将其添加到 API 请求中,这通常含在查询字符串或请求头中。
  3. 验证 API 密钥: API 服务器将验证并处理密钥,以确保密钥的有效性。如果密钥与客户端的数据库相匹配,则将批准请求。否则,密钥将被拒绝。
  4. 收到回复: 在验证 API 密钥后,API 服务器将处理请求并生成对客户端的预期响应。

为何使用 API 密钥?

API 密钥是强大的工具,可在与由 API 提供的外部服务交互期间提供安全性和可见性。通过使用 API 密钥,组织可以增强安全性,自动执行任务,并控制哪些用户可以访问 API。

增强安全性

网络犯罪分子倾向于瞄准网络 API,因为这些事传输用户凭证等高度敏感信息的网关。API 密钥可用于识别并验证每个访问 API 的客户端,防止未经授权的访问,从而降低数据泄漏和其他安全威胁的风险。

自动执行任务

API 密钥可自动执行各种任务,无需在多个流程中进行手动干预。自动执行任务的示例包括从外部来源获取数据、定期进行报告、集成系统并创造利润。自动执行重复任务可以提高效率和生产率,同时减少人为错误。

控制访问权限

API 密钥是规范哪些用户可以访问某个 API 的简单方法。它支持管理员根据每个应用程序的特定需求授予或撤销访问权限。随着组织限制敏感信息的曝光,它们不断加强安全措施,同时提高自身对数据使用的可见性。

何时使用 API 密钥

组织必须了解何时使用 API 密钥,因为它追踪 API 的使用情况,这对于维持应用程序的安全性至关重要。最常见的 API 密钥用例包括阻止匿名流量、控制 API 调用和过滤日志。

阻止匿名流量

API 密钥通过充当每个访问 API 的授权用户的唯一标识符,帮助阻止匿名流量。授权用户若要完成身份验证流程,必须提供 API 密钥,以便 API 提供商追踪访问。由于 API 密钥是每个请求中的要求,因此可以阻止匿名流量。这可以确保只有经过身份验证的用户才有权访问 API 的资源。

控制 API 调用

API 调用是指用户或应用程序请求访问 API 服务器的数据的过程。API 密钥可以限制对服务器的调用次数,这有助于 API 系统的最佳性能,同时保护系统免遭威胁行为者危害。必须控制对 API 的调用次数,因为大量的 API 请求可能会导致服务器超载。

过滤日志

API 服务器可以根据请求中使用的特定 API 密钥来过滤日志。当向 API 端点发出请求时,相关密钥将被记录,这允许管理员追踪请求的来源、识别发出请求的客户端并监控其活动。通过过滤日志,管理员可以获得宝贵的见解,帮助排除故障并优化绩效。

API 密钥最佳实践

以下是组织保护其 API 密钥必须遵循的四个最佳实践。

安全地存储 API 密钥

将 API 密钥视作个人密码。避免将 API 密钥写在便笺纸或电子表格中。相反,要将它们存储在密钥管理系统中,或者使用强大的加密算法加密密钥,以防密钥被泄露。

将 HTTPS 用于 API 请求

HTTPS 使用传输层安全协议 (TLS) 加密,这是一种标准做法,可确保应用程序之间的通信数据安全。最佳做法是通过 HTTPS 访问 API 密钥,因为它可以防止威胁行为者在传输过程中窃取 API 密钥。

为每个应用程序使用不同的 API 密钥

为每个应用程序使用不同的 API 密钥可降低多个应用程序同时受到攻击的风险。这可以确保在一款应用程序的 API 密钥被盗的情况下,其他应用程序将保持安全。

轮换并删除 API 密钥

安全管理您的 API 密钥需要采取密钥轮换策略,时间间隔通常为 30 天、60 天或 90 天。定期轮换密钥可以降低被盗的风险,因为网络犯罪分子的机会将是有限的。与 API 令牌不同,除非用户手动重新生成或删除 API 密钥,否则它们仍处于活跃状态,因此必须维持这一安全做法。此外,考虑在不使用时删除不必要的 API 密钥,以优化存储容量并防止未经授权的访问。

中文 (CN) 致电我们