跳到主要内容
版本: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 企业版与其系统的无缝集成。如此便可实现自动化的工作流,以提升研发效率并增强系统间的数据交换能力。