2.3. 使用 roxctl CLI 进行身份验证


要进行身份验证,您可以使用 API 令牌、管理员密码或 roxctl central login 命令。

遵循以下准则来有效地使用 API 令牌:

  • 在生产环境中使用 API 令牌以及持续集成 (CI)。每个令牌都被分配特定的访问权限,提供对它可以执行的操作的控制。此外,API 令牌不需要以交互的形式进行(例如通过浏览器进行登录),使其成为自动化流程的理想选择。这些令牌具有 1 年的生存时间 (TTL) 值,为无缝集成和操作效率提供更长的有效期。
  • 仅使用管理员密码用于测试目的。不要在生产环境中使用它。
  • roxctl central login 命令仅适用于交互式的本地使用。

2.3.1. 创建 API 令牌

流程

  1. 在 RHACS 门户中,进入 Platform Configuration Integrations
  2. 滚动到 Authentication Tokens 类别,然后点 API Token
  3. Generate Token
  4. 输入令牌的名称并选择提供所需访问级别的角色(例如: Continuous IntegrationSensor Creator)。
  5. Generate

    重要

    复制生成的令牌并安全地存储它。您将无法再次查看它。

2.3.2. 导出并保存 API 令牌

流程

  1. 生成身份验证令牌后,输入以下命令将其导出为 ROX_API_TOKEN 变量:

    $ export ROX_API_TOKEN=<api_token>
    Copy to Clipboard Toggle word wrap
  2. (可选):您还可以将令牌保存到文件中,并通过输入以下命令将其与 --token-file 选项一起使用:

    $ roxctl central debug dump --token-file <token_file>
    Copy to Clipboard Toggle word wrap

请注意以下信息:

  • 您不能同时使用 -password (-p) 和 --token-file 选项。
  • 如果您已经设置了 ROX_API_TOKEN 变量,并指定 --token-file 选项,roxctl CLI 会使用指定的令牌文件进行身份验证。
  • 如果您已经设置了 ROX_API_TOKEN 变量,并指定 --password 选项,roxctl CLI 将使用指定的密码进行身份验证。

您可以在 Central 中配置身份验证供应商,并使用 roxctl CLI 启动登录过程。设置 ROX_ENDPOINT 变量,使用 roxctl central login 命令启动登录过程,在浏览器窗口中选择身份验证供应商,并从 roxctl CLI 检索令牌信息,如以下步骤所述。

前提条件

  • 选择一个身份验证供应商,如带有片段或查询模式的 OpenID Connect (OIDC)。

流程

  1. 运行以下命令,将 ROX_ENDPOINT 变量设置为 Central 主机名和端口:

    export ROX_ENDPOINT=<central_hostname:port>
    Copy to Clipboard Toggle word wrap
  2. 运行以下命令,将登录过程启动到 Central:

    $ roxctl central login
    Copy to Clipboard Toggle word wrap
  3. roxctl CLI 中,URL 包括在输出中,您会被重定向到一个浏览器窗口,您可以在其中选择您要使用的身份验证供应商。
  4. 使用您的身份验证供应商登录。

    成功登录后,浏览器窗口表示身份验证成功,您可以关闭浏览器窗口。

  5. roxctl CLI 会显示您的令牌信息,包括访问令牌、访问令牌的过期时间、刷新令牌(如果已发布),并通知这些值存储在本地。

    输出示例

    Please complete the authorization flow in the browser with an auth provider of your choice.
    If no browser window opens, please click on the following URL:
            http://127.0.0.1:xxxxx/login
    
    INFO:	Received the following after the authorization flow from Central:
    INFO:	Access token: <redacted> 
    1
    
    INFO:	Access token expiration: 2023-04-19 13:58:43 +0000 UTC 
    2
    
    INFO:	Refresh token: <redacted> 
    3
    
    INFO:	Storing these values under $HOME/.roxctl/login… 
    4
    Copy to Clipboard Toggle word wrap

    1
    访问令牌。
    2
    访问令牌的过期时间。
    3
    刷新令牌。
    4
    用于本地存储访问令牌的值、访问令牌过期时间以及刷新令牌的目录。
    重要

    确保将环境设置为确定存储配置的目录。默认情况下,配置存储在 $HOME/.roxctl/roxctl-config 目录中。

    • 如果您设置了 $ROX_CONFIG_DIR 环境变量,则配置存储在 $ROX_CONFIG_DIR/roxctl-config 目录中。这个选项具有最高优先级。
    • 如果您设置了 $XDG_RUNTIME_DIR 环境变量,并且未设置 $ROX_CONFIG_DIR 变量,则配置存储在 $XDG_RUNTIME_DIR /roxctl-config 目录中。
    • 如果您没有设置 $ROX_CONFIG_DIR$XDG_RUNTIME_DIR 环境变量,则配置存储在 $HOME/.roxctl/roxctl-config 目录中。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat