跳到主要内容
版本:3.9.x

使用 Token 集成 GitOps 工作流

Token(令牌)是一种包含用户身份验证信息和授权数据的数字凭证,用于客户端和服务器之间的安全通信。它允许用户访问受保护的资源或执行特定操作,而无需直接提供敏感信息(如用户名和密码)。作为现代 Web 应用程序和 API 安全中广泛使用的重要机制,Token 可以帮助实现安全、可扩展以及无状态(stateless)的身份验证和授权。

背景​

企业在应用程序交付过程中通常会采用各种平台,例如安全漏洞分析和资源管理平台,以满足多样化的特定需求和场景。然而,在大型复杂的企业系统中,系统之间的集成以及如何实现自动化的 GitOps 工作流成为了亟待解决的重要问题。

在这种情况下,企业可以选择不使用 API7 企业版控制台来进行集成。利用 API7 企业版提供的系统 Token 进行身份验证和授权,同样可以实现 API7 企业版与其自身系统的无缝集成。

前提条件​

  1. 安装 API7 企业版。

实施步骤​

Token 在 API7 企业版中如何工作

1. 注册账户​

注册一个专门用于管理 Token 的账户。由于 Token 权限与账户角色同步,这可以避免人员变动对账户权限造成影响。

2. 查看 API 文档​

  • 查看 API7 企业版的 API 文档,了解可用的 API 接口、请求参数和响应格式。

  • 根据需要调用的 API,确定必要的角色和权限,并将角色权限授予当前的系统账户。

  • 确认要调用的 API 接口所对应的请求参数,避免因权限不足导致越权调用 API。

3. 获取 Token​

在 API7 企业版中生成一个 Token,并选择一个合适的过期时间,例如 7 天(7 days) / 30 天(30 days) / 60 天(60 days)。

生成 Token

注意:该 Token 仅显示一次,因此生成后需要将其复制并安全存储。

4. 发送 API 调用请求​

  • 研发系统中的开发者应编写代码来实现 API7 企业版的 API 调用。

  • 代码中需包括构建请求 URL、设置请求头(包括 Token)、发送请求和处理响应等逻辑。

以下代码示例演示了将 Token 添加到请求头以进行身份验证和授权的两种方法。

  1. 第一种方法是获取所有的 API 数据,并将 Token 添加到请求头中进行身份验证和授权。

    curl -k \
    -X GET "http://api.example.com/api7ee/admin/services" \
    -H "X-API-KEY: $API_KEY"
  2. 第二种方法是在 Cookie 头中添加 Token。

    curl -k \
    -X GET "http://api.example.com/api7ee/admin/services" \
    -H "Cookie: X-API-KEY=$API_KEY"

5. 测试 API 调用​

  • 开发者在本地环境中测试 API 调用代码,确保 API7 企业版 API 能够被正确调用并获得预期的响应。

  • 在测试过程中,开发者使用先前获取的 Token 进行身份验证和授权。

6. 部署与集成​

  • 测试成功后,开发者将 API 调用代码部署到研发系统中,建议使用与测试环境不同的 Token 以增强安全性。

  • 研发系统与 API7 企业版的 API 成功集成,实现数据交换和功能互通。

7. 实现自动化工作流​

通过集成 API7 企业版的 API,企业可以实现自动化的工作流。例如,可以自动调用 API7 企业版的 API 来发送通知、更新数据或触发其他操作。

8. Token 更新和管理​

为了增强安全性,生产环境的 Token 应定期更新,如每 90 天更新一次,并妥善存储新的 Token。你可以在 API7 企业版控制台上执行 Token 更新操作。一旦 Token 被更新,前一个 Token 将立即失效。

总结​

在企业环境中,特别是在管理多平台代码和集成复杂系统时,Token 的作用尤为突出。企业可以使用 Token 实现 API7 企业版与其系统的无缝集成。如此便可实现自动化的工作流,以提升研发效率并增强系统间的数据交换能力。