1.3. 手动配置镜像 registry


如果使用 GCR,则必须手动创建镜像 registry 集成。

1.3.1. 手动配置 OpenShift Container Platform registry

您可以将 Red Hat Advanced Cluster Security for Kubernetes 与 OpenShift Container Platform 内置容器镜像 registry 集成。

先决条件

  • 您需要一个用户名和密码才能使用 OpenShift Container Platform registry 进行身份验证。

流程

  1. 在 RHACS 门户网站中,进入 Platform Configuration Integrations
  2. Image Integrations 部分下,选择 通用 Docker Registry
  3. 单击 New integration
  4. 输入以下字段的详情:

    1. 集成名称 :集成的名称。
    2. 端点 :registry 的地址。
    3. 用户名密码.。
  5. 如果您在连接到 registry 时不使用 TLS 证书,请选择 Disable TLS 证书验证(不安全)。
  6. 选择 Create integration without testing 来创建集成,而不测试与 registry 的连接。
  7. 选择 Test 以测试与所选 registry 集成是否正常工作。
  8. 选择 Save

1.3.2. 手动配置 Amazon Elastic Container Registry

您可以使用 Red Hat Advanced Cluster Security for Kubernetes 手动创建并修改 Amazon Elastic Container Registry(ECR)集成。如果您要从 Amazon ECR 部署,则 Amazon ECR registry 的集成通常会自动生成。但是,您可能想要自行创建集成以扫描外部部署的镜像。您还可以修改自动生成的集成的参数。例如,您可以将自动生成的 Amazon ECR 集成使用的验证方法更改为使用 AssumeRole 身份验证或其他授权模型。

重要

要清除您对自动生成的 ECR 集成、删除集成和 Red Hat Advanced Cluster Security for Kubernetes 所做的更改,当您从 Amazon ECR 部署镜像时,会自动生成的参数与自动生成的参数进行创建新的集成。

先决条件

  • 您必须有一个 Amazon Identity and Access Management(IAM)访问密钥 ID 和 secret 访问密钥。或者,您可以使用节点级 IAM 代理,如 kiamkube2iam
  • 访问密钥必须具有 ECR 的读取访问权限。如需更多信息,请参阅如何创建 AWS 访问密钥
  • 如果您在 Amazon Elastic Kubernetes Service(EKS)中运行 Red Hat Advanced Cluster Security for Kubernetes,并想与来自一个单独的 Amazon 帐户的 ECR 集成,您必须首先在 ECR 中设置存储库策略声明。按照 设置存储库策略语句Actions 的说明,请选择 Amazon ECR API 操作的以下范围:

    • ecr:BatchCheckLayerAvailability
    • ecr:BatchGetImage
    • ecr:DescribeImages
    • ecr:GetDownloadUrlForLayer
    • ecr:ListImages

流程

  1. 在 RHACS 门户网站中,进入 Platform Configuration Integrations
  2. Image Integrations 部分下,选择 Amazon ECR
  3. 单击 New integration,或者点击自动生成的集成之一将其打开,然后单击 Edit
  4. 输入或修改以下字段的详情:

    1. 更新已存储的凭据 :在修改集成时没有更新凭证(如访问密钥和密码)时清除此框。
    2. 集成名称 :集成的名称。
    3. Registry ID :registry 的 ID。
    4. 端点 :registry 的地址。选择 AssumeRole 选项时不启用此字段。
    5. Region:registry 的区域,如 us-west-1
  5. 如果使用 IAM,请选择 Use Container IAM role。否则,清除 Use Container IAM 角色 框,并输入 Access key IDSecret access key
  6. 如果使用 AssumeRole 身份验证,请选择 Use AssumeRole,并输入以下字段的详情:

    1. AssumeRole ID: 要假定的角色 ID。
    2. AssumeRole External ID (可选):如果您使用 外部 ID 和 AssumeRole,您可以在这里输入它。
  7. 选择 Create integration without testing 来创建集成,而不测试与 registry 的连接。
  8. 选择 Test 以测试与所选 registry 集成是否正常工作。
  9. 选择 Save

1.3.2.1. 将 assumerole 与 Amazon ECR 搭配使用

您可以使用 AssumeRole 授予对 AWS 资源的访问权限,而无需手动配置每个用户的权限。反之,您可以使用所需权限定义角色,并授予用户来假定角色的访问权限。AssumeRole 允许您授予、撤销或通常管理更精细的权限。

1.3.2.1.1. 使用容器 IAM 配置 AssumeRole

在通过 Red Hat Advanced Cluster Security for Kubernetes 使用 AssumeRole 之前,您必须首先对其进行配置。

流程

  1. 为您的 EKS 集群启用 IAM OIDC 供应商:

    $ eksctl utils associate-iam-oidc-provider --cluster <cluster name> --approve
    Copy to Clipboard Toggle word wrap
  2. 为您的 EKS 集群 创建一个 IAM 角色
  3. 将新创建的角色与服务帐户关联:

    $ kubectl -n stackrox annotate sa central eks.amazonaws.com/role-arn=arn:aws:iam::67890:role/<role-name>
    Copy to Clipboard Toggle word wrap
  4. 重启 Central 以应用更改。

    $ kubectl -n stackrox delete pod -l app=central
    Copy to Clipboard Toggle word wrap
  5. 将角色分配给允许角色根据需要假定另一个角色的策略:

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "VisualEditor0",
                "Effect": "Allow",
                "Action": "sts:AssumeRole",
                "Resource": "arn:aws:iam::<ecr-registry>:role/<assumerole-readonly>" 
    1
    
            }
        ]
    }
    Copy to Clipboard Toggle word wrap
    1
    <assumerole-readonly > 替换为您要假定的角色。
  6. 更新您要假定的角色的信任关系:

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
            "AWS": [
              "arn:aws:iam::<ecr-registry>:role/<role-name>" 
    1
    
            ]
          },
          "Action": "sts:AssumeRole"
        }
      ]
    }
    Copy to Clipboard Toggle word wrap
    1
    & lt;role-name > 应与之前创建的新角色匹配。

要在没有容器 IAM 的情况下使用 AssumeRole,您必须使用一个 access 和一个 secret 密钥作为 带有编程访问的 AWS 用户进行身份验证

流程

  1. 根据 AssumeRole 用户是否与 ECR registry 或不同帐户位于同一个帐户中,您必须:

    • 如果要假定角色位于与 ECR registry 相同的帐户中,则创建具有所需权限的新角色。

      注意

      在创建角色时,您可以根据需要选择任何可信实体。但是,您必须在创建后修改它。

    • 或者,您必须提供权限来访问 ECR registry,如果用户处于与 ECR registry 不同的帐户,则需要定义其信任关系:

      {
          "Version": "2012-10-17",
          "Statement": [
              {
                  "Sid": "VisualEditor0",
                  "Effect": "Allow",
                  "Action": "sts:AssumeRole",
                  "Resource": "arn:aws:iam::<ecr-registry>:role/<assumerole-readonly>" 
      1
      
              }
          ]
      }
      Copy to Clipboard Toggle word wrap
      1
      <assumerole-readonly > 替换为您要假定的角色。
  2. 通过在 Principal 字段中包含用户 ARN 来配置角色的信任关系:

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
            "AWS": [
              "arn:aws:iam::<ecr-registry>:user/<role-name>"
            ]
          },
          "Action": "sts:AssumeRole"
        }
      ]
    }
    Copy to Clipboard Toggle word wrap
1.3.2.1.3. 在 RHACS 中配置 AssumeRole

在 ECR 中配置 AssumeRole 后,您可以使用 AssumeRole 将 Red Hat Advanced Cluster Security for Kubernetes 与 Amazon Elastic Container Registry(ECR)集成。

流程

  1. 在 RHACS 门户网站中,进入 Platform Configuration Integrations
  2. Image Integrations 部分下,选择 Amazon ECR
  3. New Integration
  4. 输入以下字段的详情:

    1. 集成名称 :集成的名称。
    2. Registry ID :registry 的 ID。
    3. Region:registry 的区域,如 us-west-1
  5. 如果使用 IAM,请选择 Use container IAM role。否则,清除 Use custom IAM 角色 框,并输入 Access key IDSecret access key
  6. 如果使用 AssumeRole,请选择 Use AssumeRole,并输入以下字段的详情:

    1. AssumeRole ID: 要假定的角色 ID。
    2. AssumeRole External ID (可选):如果您使用 外部 ID 和 AssumeRole,您可以在这里输入它。
  7. 选择 Test 以测试与所选 registry 集成是否正常工作。
  8. 选择 Save

1.3.3. 手动配置 Google Container Registry

您可以将 Red Hat Advanced Cluster Security for Kubernetes 与 Google Container Registry(GCR)集成。

先决条件

  • 您必须具有服务帐户密钥。
  • 关联的服务帐户必须有权访问 registry。如需有关授予用户和其他项目对 GCR 访问权限的信息,请参阅配置访问控制
  • 如果使用 GCR Container Analysis,还必须为服务帐户授予以下角色:

    • 容器分析注意事项查看器
    • 容器分析 Occurrences Viewer
    • 存储对象查看器

流程

  1. 在 RHACS 门户网站中,进入 Platform Configuration Integrations
  2. Image Integrations 部分,选择 Google Container Registry
  3. 单击 New integration
  4. 输入以下字段的详情:

    1. 集成名称 :集成的名称。
    2. 键入: 选择 Registry
    3. 注册表端点 :registry 的地址。
    4. 项目 :Google Cloud 项目名称。
    5. 服务账户密钥(JSON) 您的服务帐户密钥进行身份验证。
  5. 选择 Create integration without testing 来创建集成,而不测试与 registry 的连接。
  6. 选择 Test 以测试与所选 registry 集成是否正常工作。
  7. 选择 Save

1.3.4. 手动配置 Google Artifact Registry

您可以将 Red Hat Advanced Cluster Security for Kubernetes 与 Google Artifact Registry 集成。

先决条件

  • 您需要一个带有 Artifact Registry Reader Identity and Access Management(IAM)角色 roles/artifactregistry.reader 的服务帐户密钥。

流程

  1. 在 RHACS 门户网站中,进入 Platform Configuration Integrations
  2. Image Integrations 部分下,选择 Google Artifact Registry
  3. 单击 New integration
  4. 输入以下字段的详情:

    1. 集成名称 :集成的名称。
    2. registry 端点 :registry 的地址。
    3. 项目 :Google Cloud 项目名称。
    4. 服务账户密钥(JSON) 您的服务帐户密钥进行身份验证。
  5. 选择 Create integration without testing 来创建集成,而不测试与 registry 的连接。
  6. 选择 Test 以测试与所选 registry 集成是否正常工作。
  7. 选择 Save

1.3.5. 手动配置 Microsoft Azure Container Registry

您可以将 Red Hat Advanced Cluster Security for Kubernetes 与 Microsoft Azure Container Registry 集成。

先决条件

  • 您必须具有用户名和密码才能进行身份验证。

流程

  1. 在 RHACS 门户网站中,进入 Platform Configuration Integrations
  2. Image Integrations 部分,选择 Microsoft Azure Container Registry
  3. 单击 New integration
  4. 输入以下字段的详情:

    1. 集成名称 :集成的名称。
    2. 端点 :registry 的地址。
    3. 用户名密码.。
  5. 选择 Create integration without testing 来创建集成,而不测试与 registry 的连接。
  6. 选择 Test 以测试与所选 registry 集成是否正常工作。
  7. 选择 Save

1.3.6. 手动配置 JFrog Artifactory

您可以将 Red Hat Advanced Cluster Security for Kubernetes 与 JFrog Artifactory 集成。

先决条件

  • 您必须有使用 JFrog Artifactory 进行身份验证的用户名和密码。

流程

  1. 在 RHACS 门户网站中,进入 Platform Configuration Integrations
  2. Image Integrations 部分,选择 JFrog Artifactory
  3. 单击 New integration
  4. 输入以下字段的详情:

    1. 集成名称 :集成的名称。
    2. 端点 :registry 的地址。
    3. 用户名密码.。
  5. 如果您在连接到 registry 时不使用 TLS 证书,请选择 Disable TLS 证书验证(不安全)。
  6. 选择 Create integration without testing 来创建集成,而不测试与 registry 的连接。
  7. 选择 Test 以测试与所选 registry 集成是否正常工作。
  8. 选择 Save

1.3.7. 手动配置 Quay Container Registry

您可以将 Red Hat Advanced Cluster Security for Kubernetes 与 Quay Container Registry 集成。

先决条件

  • 您必须具有 OAuth 令牌才能使用 Quay Container Registry 进行身份验证。

流程

  1. 在 RHACS 门户网站中,进入 Platform Configuration Integrations
  2. Image Integrations 部分下,选择 Red Hat Quay.io
  3. 单击 New integration
  4. 输入以下字段的详情:

    1. 集成名称 :集成的名称。
    2. 键入: 选择 Registry
    3. 端点 :registry 的地址。
    4. OAuth 令牌
  5. 如果您在连接到 registry 时不使用 TLS 证书,请选择 Disable TLS 证书验证(不安全)。
  6. 选择 Create integration without testing 来创建集成,而不测试与 registry 的连接。
  7. 选择 Test 以测试与所选 registry 集成是否正常工作。
  8. 选择 Save

1.3.8. 手动配置 IBM Cloud Container Registry

您可以将 Red Hat Advanced Cluster Security for Kubernetes 与 IBM Cloud Container Registry 集成。

先决条件

  • 您必须有一个 API 密钥才能使用 IBM Cloud Container Registry 进行身份验证。

流程

  1. 在 RHACS 门户网站中,进入 Platform Configuration Integrations
  2. Image Integrations 部分,选择 IBM Cloud Container Registry
  3. 单击 New integration
  4. 输入以下字段的详情:

    1. 集成名称 :集成的名称。
    2. 端点 :registry 的地址。
    3. API 密钥.
  5. 选择 Test 以测试与所选 registry 集成是否正常工作。
  6. 选择 Save

1.3.9. 手动配置 Red Hat Container Registry

您可以将 Red Hat Advanced Cluster Security for Kubernetes 与 Red Hat Container Registry 集成。

先决条件

  • 您必须具有用户名和密码才能使用 Red Hat Container Registry 进行身份验证。

流程

  1. 在 RHACS 门户网站中,进入 Platform Configuration Integrations
  2. Image Integrations 部分,选择 Red Hat Registry
  3. 单击 New integration
  4. 输入以下字段的详情:

    1. 集成名称 :集成的名称。
    2. 端点 :registry 的地址。
    3. 用户名密码.。
  5. 选择 Create integration without testing 来创建集成,而不测试与 registry 的连接。
  6. 选择 Test 以测试与所选 registry 集成是否正常工作。
  7. 选择 Save
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat