第 3 章 将服务帐户与服务搭配使用


以下信息演示了如何将服务帐户与服务和 CLIENT_ID 和 CLIENT_SECRET 变量一起使用。它仅作为参考指南提供。

  1. 创建新服务帐户: Red Hat Hybrid Cloud Console Service account
  2. 粘贴终端中的以下信息,替换 CLIENT_ID 和 CLIENT_SECRET 变量:

    export HOST='https://sso.redhat.com' CLIENT_ID='<client_id>' CLIENT_SECRET='<client_secret>' SCOPES='openid api.iam.service_accounts'
  3. 使用以下命令获取服务帐户的令牌

    curl "${HOST}/auth/realms/redhat-external/protocol/openid-connect/token" \
            --data-urlencode "grant_type=client_credentials" \
            --data-urlencode "client_id=${CLIENT_ID}" \
            --data-urlencode "client_secret=${CLIENT_SECRET}" \
            --data-urlencode "scope=${SCOPES}"

    如果您安装了 jq (命令行 JSON 处理器),您可以将令牌保存到 env var :

    export ACCESS_TOKEN=$( \
        curl "${HOST}/auth/realms/redhat-external/protocol/openid-connect/token" \
            --data-urlencode "grant_type=client_credentials" \
            --data-urlencode "client_id=${CLIENT_ID}" \
            --data-urlencode "client_secret=${CLIENT_SECRET}" \
            --data-urlencode "scope=${SCOPES}" \
        | jq -r '.access_token')
  4. 向支持服务帐户的应用程序发送请求:

    curl --header "Authorization:Bearer ${ACCESS_TOKEN}" --location "https://console.redhat.com/api/rbac/v1/access/?application=inventory"
  5. 根据应用程序,响应应该为空,或没有特权。尝试将服务帐户添加到 RBAC 组,并将角色添加到该组。用户访问组
  6. 将角色添加到服务帐户组后,重复步骤 3 以获取新令牌并再次尝试请求。现在,您应该具有更多特权,并从应用程序获得正确的响应。
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部