使用受信任的配置文件访问 Container Registry
您可以使用受信任配置文件授予不同的 IBM Cloud® 身份访问您账户中的 IBM Cloud Container Registry 资源。 根据公司目录中的SAML属性,自动授予联合身份用户访问您帐户的权限。
用户无需成为账户成员即可创建可信的个人资料。 如果用户的身份提供商( IdP )与信任条件中使用的 IdP 匹配,则可以使用该配置文件。
当您首次创建可信配置文件时,您可以与以下实体类型建立信任条件:联合用户和服务ID。 创建可信资料后,您可以添加更多条件,在同一资料中组合多个实体类型。
有关可信配置文件的更多信息,请参阅 创建可信配置文件。
使用可信配置文件访问自动化中的命名空间
您可以使用服务ID API密钥来自动推送和拉取容器镜像,使其进出受信任配置文件有权访问的命名空间。
您可以在以下位置使用服务标识 API 密钥:
- IBM Cloud Kubernetes Service 或 Red Hat OpenShift on IBM Cloud 集群。
- Kubernetes 和 集群不在 上。Red Hat® OpenShift® IBM Cloud
- Docker CLI 和其他客户机。
创建可信的个人资料
您需要在同一账户下创建一个可信的个人资料,以便访问您想要访问的注册资源。 然后可以将单独账户中的服务ID添加到该可信配置文件中,以建立信任,请参阅 使用CLI建立与服务ID的信任。 记下可信的个人资料ID,因为该ID将作为登录的用户名。
手动创建服务标识 API 密钥
创建服务 ID API 密钥,用于登录注册表。
要创建服务 ID API 密钥,请参阅 管理服务 ID API 密钥 和 ibmcloud iam service-api-key-create
.
使用客户端软件进行自动化身份验证
使用通用客户端通过API密钥登录注册表。
客户需要API密钥、用户名和域名,请将 API_KEY
替换为您的API密钥,将 PROFILE_ID
替换为可信配置文件ID,将 REGISTRY_DOMAIN
替换为设置命名空间的注册表域名。
区域 | 前身为 | REGISTRY_DOMAIN |
---|---|---|
global |
不适用 | icr.io |
au-syd |
ap-south |
au.icr.io |
br-sao |
不适用 | br.icr.io |
ca-tor |
不适用 | ca.icr.io |
eu-de |
eu-central |
de.icr.io |
eu-es |
不适用 | es.icr.io |
eu-gb |
uk-south |
uk.icr.io |
jp-osa |
不适用 | jp2.icr.io |
jp-tok |
ap-north |
jp.icr.io |
us-south |
不适用 | us.icr.io |
如需了解如何在 Continuous Delivery 管道中使用 IBM Cloud Container Registry,请参阅 使用私有图片注册表。
以下客户端提供了如何自动验证注册表的示例:
如果收到 400 Bad Request 消息,说明用户名和密码组合无效。
使用 Buildah 通过可信配置文件与注册表进行身份验证
您可以使用 Buildah 与注册表进行身份验证,这样就可以向注册表推送和从注册表拉取映像。
使用 API 密钥、配置文件 ID 和 域 通过运行以下 Buildah 命令登录注册表,替换 PROFILE_ID
使用受信任的个人资料 ID,API_KEY
使用 API 密钥,以及 REGISTRY_DOMAIN
使用域名:
buildah login -u PROFILE_ID -p API_KEY REGISTRY_DOMAIN
使用 Docker 通过可信配置文件与注册表进行身份验证
可以使用 Docker 通过注册表进行认证,以便可以向注册表推送映像,以及从注册表拉出映像。
使用API密钥和 域名 登录注册表,运行以下 Docker 命令,将 PROFILE_ID
替换为可信配置文件ID,将 API_KEY
替换为API密钥,将 REGISTRY_DOMAIN
替换为域名:
docker login -u PROFILE_ID -p API_KEY REGISTRY_DOMAIN
使用 Podman 通过可信配置文件与注册表进行身份验证
您可以使用 Podman 与注册表进行身份验证,这样就可以向注册表推送和从注册表拉取映像。
使用API密钥和 域名 登录注册表,运行以下 Podman 命令,将 PROFILE_ID
替换为可信配置文件ID,将 API_KEY
替换为API密钥,将 REGISTRY_DOMAIN
替换为域名:
podman login -u PROFILE_ID -p API_KEY REGISTRY_DOMAIN
使用 Skopeo 通过可信配置文件与注册表进行身份验证
您可以使用 Skopeo 与注册表进行身份验证,这样您就可以向注册表推送或从注册表拉取映像。
例如,您可以使用以下 Skopeo 命令从 Docker Hub中提取图像并将其推送到您的命名空间。 将 REGISTRY_DOMAIN
替换为 您的域名,将 NAMESPACE
替换为您的命名空间,将 PROFILE_ID
替换为可信配置文件ID,将 API_KEY
替换为您的API密钥:
skopeo --insecure-policy --override-os linux copy docker://busybox:latest docker://REGISTRY_DOMAIN/NAMESPACE/busybox:latest --dest-creds PROFILE_ID:API_KEY