第 3 章 配置额外的 OpenID Connect 供应商


3.1. 将 Google 配置为 Trusted Artifact Signer 的 OpenID Connect 供应商

您可以将 Google OAuth 2.0 用作 Red Hat Trusted Artifact Signer (RHTAS)服务的 OpenID Connect (OIDC)供应商。您可以决定在RHAS 部署期间或稍后配置 Google OAuth。

重要

您可以在同一配置中定义多个不同的 OIDC 供应商。

先决条件

  • Red Hat OpenShift Container Platform 版本 4.13 或更高版本。
  • 使用 cluster-admin 角色访问 OpenShift Web 控制台。
  • 安装了 ocpodman 二进制文件的工作站。
  • Google Cloud Console 中,使用以下设置创建一个 OAuth 客户端 ID:

流程

  1. 在工作站上打开一个终端,并登录到 OpenShift:

    语法

    oc login --token=TOKEN --server=SERVER_URL_AND_PORT

    示例

    $ oc login --token=sha256~ZvFDBvoIYAbVECixS4-WmkN4RfnNd8Neh3y1WuiFPXC --server=https://example.com:6443

    注意

    您可以从 OpenShift Web 控制台在命令行中查找您的登录令牌和 URL。登录 OpenShift Web 控制台。点您的用户名,然后点 Copy login 命令。如果被要求,请再次提供您的用户名和密码,然后单击 Display Token 查看命令。

  2. 更新 RHTAS 配置。

    1. 打开以编辑 Securesign 资源:

      语法

      oc edit Securesign NAME -n NAMESPACE

      Example

      $ oc edit Securesign securesign-sample -n trusted-artifact-signer

      注意

      您必须使用为 RHTAS 安装创建的项目名称作为命名空间。

    2. OIDCIssuers 部分下,使用 Google 客户端标识符、签发者的 URL 添加新子,并将 Type 值设置为 email

      语法

      ...
      OIDCIssuers:
        - Issuer: "https://accounts.google.com"
          IssuerURL: "https://accounts.google.com"
          ClientID: "CLIENT_ID"
          Type: email
      ...

      将 Google 客户端标识符添加到 ClientID 字段。

    3. 保存更改,退出编辑器。几秒钟后,操作员会自动重新配置 RHTAS 软件堆栈。
  3. 更改 OIDC 签发者和客户端 id 环境变量以使用 Google:

    示例

    $ export OIDC_ISSUER_URL=https://accounts.google.com
    $ export COSIGN_OIDC_CLIENT_ID="314919563931-35zke44ouf2oiztjg7v8o8c2ge9usnd1.apps.googleexample.com"

  4. 将您的 secret 从 Google Console 复制并粘贴到纯文本文件中:

    语法

    echo SECRET > my-google-client-secret

  5. 如果您已运行 RHTAS 服务,您可以通过签署测试容器镜像来验证更新的配置。

    1. 创建一个空容器镜像:

      Example

      $ echo "FROM scratch" > ./tmp.Dockerfile
      $ podman build . -f ./tmp.Dockerfile -t ttl.sh/rhtas/test-image:1h

    2. 将空容器镜像推送到 ttl.sh 临时 registry:

      Example

      $ podman push ttl.sh/rhtas/test-image:1h

    3. 删除临时 Docker 文件:

      Example

      $ rm ./tmp.Dockerfile

    4. 为容器镜像签名:

      语法

      cosign sign -y --oidc-client-secret-file=SECRET_FILE IMAGE_NAME:TAG

      Example

      $ cosign sign -y --oidc-client-secret-file=my-google-client-secret ttl.sh/rhtas/test-image:1h

      此时会打开一个 Web 浏览器,允许您使用电子邮件地址为容器镜像签名。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.