Help us learn about your current experience with the documentation. Take the survey.

GitLab Duo 身份验证和授权

GitLab Duo with Amazon Q 使用复合身份来验证请求。

产品其他领域对复合身份的支持 已在 issue 511373 中提出。

用于验证请求的令牌由两个身份组成:

  • 主要作者,即 Amazon Q 服务账户。 该服务账户是全局范围的,并在使用 Amazon Q 快速操作的项目中拥有开发者角色。 该服务账户是令牌的所有者。
  • 次要作者,即提交快速操作的用户。 该用户的 id 包含在令牌的作用域中。

这种复合身份确保任何由 Amazon Q 执行的活动 都能正确归属于 Amazon Q 服务账户。 同时,复合身份确保了 用户不会发生 权限提升

在 API 请求授权过程中会检查此 动态作用域。 当请求授权时,GitLab 会验证服务账户 和发起快速操作的用户都具有足够的权限。

%%{init: { "fontFamily": "GitLab Sans" }}%%
flowchart TD
    A[API 请求] --> B{用户是否有访问权限?}
    B -->|否| D[访问被拒绝]
    B -->|是| C{服务账户是否有访问权限?}
    C -->|否| D
    C -->|是| E[API 请求成功]

    style D fill:#ffcccc
    style E fill:#ccffcc