19.2. 配置 Google 工作负载身份联邦


RHACS 集成可以使用 工作负载身份 对 Google Cloud Platform 进行身份验证。选择 Use workload identity 选项,在 Google Cloud 集成中启用工作负载身份身份验证。

重要

通过工作负载身份与 RHACS pod 关联的 Google 服务帐户必须具有集成所需的 IAM 权限。例如,要设置与 Google Artifact Registry 集成的工作负载身份,请将服务帐户与 roles/artifactregistry.reader 角色连接。有关 Google IAM 角色的更多信息,请参阅配置角色和权限

19.2.1. 配置 Google Kubernetes Engine (GKE)

在 GKE 上运行 Red Hat Advanced Cluster Security for Kubernetes (RHACS)时,您可以通过 Google 工作负载身份配置简短的令牌。

先决条件

  • 您必须有权访问包含集群和集成资源的 Google Cloud 项目。

流程

  1. 按照 Google Cloud Platform 文档中的说明,为 GKE 使用工作负载身份联合
  2. 运行以下命令来注解 RHACS 服务帐户:

    $ oc annotate serviceaccount \ 
    1
    
        central \ 
    2
    
        --namespace stackrox \
        iam.gke.io/gcp-service-account=<GSA_NAME>@<GSA_PROJECT>.iam.gserviceaccount.com
    Copy to Clipboard Toggle word wrap
    1
    如果使用 Kubernetes,请输入 kubectl 而不是 oc
    2
    在设置委托扫描时,请使用 sensor 而不是 Central

19.2.2. 配置 OpenShift Container Platform

您可以在 OpenShift Container Platform 上运行 Red Hat Advanced Cluster Security for Kubernetes (RHACS)时,通过 Google 工作负载身份配置简短令牌。

先决条件

  • 您必须使用 OpenShift Container Platform 服务帐户签名程序密钥有一个公共 OIDC 配置存储桶。获取 OpenShift Container Platform 集群的 OIDC 配置的建议方法是以手动模式使用 Cloud Credential Operator 来获取短期凭证 说明。
  • 使用 roles/iam.workloadIdentityPoolAdmin 角色访问 Google Cloud 项目。

流程

  1. 按照 Manage workload identity pool 中的说明,创建工作负载身份池。例如:

    $ gcloud iam workload-identity-pools create rhacs-pool \
        --location="global" \
        --display-name="RHACS workload pool"
    Copy to Clipboard Toggle word wrap
  2. 按照 Manage workload identity pool provider 中的说明,创建工作负载身份提供程序。例如:

    $ gcloud iam workload-identity-pools providers create-oidc rhacs-provider \
        --location="global" \
        --workload-identity-pool="rhacs-pool" \
        --display-name="RHACS provider" \
        --attribute-mapping="google.subject=assertion.sub" \
        --issuer-uri="https://<oidc_configuration_url>" \
        --allowed-audiences=openshift
    Copy to Clipboard Toggle word wrap
  3. 将 Google 服务帐户连接到工作负载身份池。例如:

    $ gcloud iam service-accounts add-iam-policy-binding <GSA_NAME>@<GSA_PROJECT>.iam.gserviceaccount.com \
        --role roles/iam.workloadIdentityUser \
        --member="principal://iam.googleapis.com/projects/<GSA_PROJECT_NUMBER>/locations/global/workloadIdentityPools/rhacs-provider/subject/system:serviceaccount:stackrox:central" 
    1
    Copy to Clipboard Toggle word wrap
    1
    要进行委派的扫描,请将 subject 设置为 system:serviceaccount:stackrox:sensor
  4. 创建包含安全令牌服务(STS)配置的服务帐户 JSON。例如:

    {
      "type": "external_account",
      "audience": "//iam.googleapis.com/projects/<GSA_PROJECT_ID>/locations/global/workloadIdentityPools/rhacs-pool/providers/rhacs-provider",
      "subject_token_type": "urn:ietf:params:oauth:token-type:jwt",
      "token_url": "https://sts.googleapis.com/v1/token",
      "service_account_impersonation_url": "https://iamcredentials.googleapis.com/v1/projects/-/serviceAccounts/<GSA_NAME>@<GSA_PROJECT>.iam.gserviceaccount.com:generateAccessToken",
      "credential_source": {
        "file": "/var/run/secrets/openshift/serviceaccount/token",
        "format": {
          "type": "text"
        }
      }
    }
    Copy to Clipboard Toggle word wrap
  5. 使用服务帐户 JSON 作为 RHACS 命名空间的 secret:

    apiVersion: v1
    kind: Secret
    metadata:
      name: gcp-cloud-credentials
      namespace: stackrox
    data:
      credentials: <base64_encoded_json>
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat