使用 Token 集成 GitOps 工作流
访问令牌是一种包含用户身份验证信息和授权数据的数字凭证,用于在客户端和服务器之间进行安全通信。它允许用户在无需直接提供敏感信息(如用户名和密码)的情况下,访问受保护的资源或执行特定操作。作为一种广泛应用于现代 Web 应用程序和 API 安全性的重要机制,访问令牌可以帮助实现安全、可扩展和无状态的身份验证和授权。
背景介绍
企业在应用交付时,通常会采用多种不同的平台,例如安全漏洞分析平台、资源管理平台等,以满足各种特定的需求和场景。然而,在公司系统规模庞大且复杂性较高的情况下,系统之间的集成以及如何实现研发的自动化就成为了亟待解决的重要问题。
为了更灵活地应对这些挑战,企业可以选择不使用 API7 企业版的控制面板进行集成,而是利用 API7 企业版所提供的系统 token 进行鉴权和认证,实现一键将 API7 企业版与自有系统的无缝对接。
前提条件
实施步骤
1. 注册账号
由于 token 权限和账户角色是同步的,为避免人员变动对账户权限造成影响,因而注册一个专门用于 GitOps 集成的账号,用于管理 token。
2. 查阅 API 文档
- 查阅 API7 企业版的 API 文档,了解可用的 API 接口、请求参数和响应格式。
- 根据需要调用的 API,确定需要的角色和权限,将角色权限授权给当前系统账号。
- 再确定与待调用的 API 接口相应的请求参数,以避免因权限不足导致无权调用的情况。
3. 获取 Token
在 API7 企业版中,点击生成 token,选择合适的到期时间,如:7 天 / 30 天 / 60天。
注意:token 只显示一次,生成后需复制并妥善保管。
4. 编写 API 调用代码
- 开发人员在产研系统中编写代码,实现 API7 企业版 API 的调用。
- 代码包括构建请求 URL、设置请求头(包含 token)、发送请求并处理响应。
代码示例一
调用 API7 企业版的 API 有两种方式:一是获取所有 API 数据,并将 token 添加到请求头中进行鉴权和认证。
curl -k \
-X GET "http://api.example.com/api7ee/admin/services" \
-H "X-API-KEY: $API_KEY"
代码示例二
二是在请求头的 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 进行鉴权和认证,企业能够实现 API7 企业版与自有系统的无缝对接,进而实现自动化的工作流程,提高研发效率和系统间的数据交换能力。