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 项目。
流程
- 按照 Google Cloud Platform 文档中的说明,为 GKE 使用工作负载身份联合。
运行以下命令来注解 RHACS 服务帐户:
oc annotate serviceaccount \ central \ --namespace stackrox \ iam.gke.io/gcp-service-account=<GSA_NAME>@<GSA_PROJECT>.iam.gserviceaccount.com
$ oc annotate serviceaccount \
1 central \
2 --namespace stackrox \ iam.gke.io/gcp-service-account=<GSA_NAME>@<GSA_PROJECT>.iam.gserviceaccount.com
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
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 项目。
流程
按照 Manage workload identity pool 中的说明,创建工作负载身份池。例如:
gcloud iam workload-identity-pools create rhacs-pool \ --location="global" \ --display-name="RHACS workload pool"
$ gcloud iam workload-identity-pools create rhacs-pool \ --location="global" \ --display-name="RHACS workload pool"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 按照 Manage workload identity pool provider 中的说明,创建工作负载身份提供程序。例如:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将 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"
$ 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 Copied! Toggle word wrap Toggle overflow - 1
- 要进行委派的扫描,请将 subject 设置为 system:serviceaccount:stackrox:sensor。
创建包含安全令牌服务(STS)配置的服务帐户 JSON。例如:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用服务帐户 JSON 作为 RHACS 命名空间的 secret:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow