本页面介绍了如何在遵循最小权限原则的前提下,在 Managed Harbor Service 注册表中管理访问权限控制。Google Distributed Cloud (GDC) 气隙组织 IAM 管理员控制着哪些人可以经过身份验证并获得授权来使用 Managed Harbor Service API。如需在 Harbor 实例中授权 API 和访问权限,请在每个 Harbor 项目中使用 Harbor 的内置基于角色的访问权限控制。如需了解详情,请参阅 https://goharbor.io/docs/2.8.0/administration/managing-users/。
为托管 Harbor 服务 API 配置访问权限
每个 GDC 托管 Harbor 服务 API 都要求发出请求的正文具有使用 API 资源所需的权限。通过设置政策向主账号授予权限,这些政策会向主账号授予资源上的预定义角色。
预定义的托管 Harbor 服务角色
Managed Harbor Service 提供预定义角色,这些角色可以授予对相关 API 资源的访问权限,并防止对其他资源进行未经授权的访问。
使用以下预定义角色来管理 Harbor 实例资源和创建 Harbor 项目资源:
- Harbor 实例查看者:查看和获取 Harbor 实例。请让您的组织 IAM 管理员向您授予 Harbor Instance Viewer (
harbor-instance-viewer) 角色。 - Harbor 实例管理员:创建和管理 Harbor 实例,并在 Harbor 实例中创建 Harbor 项目。请让您的组织 IAM 管理员向您授予 Harbor Instance Admin (
harbor-instance-admin) 角色。 - Harbor Project Creator:在 Harbor 实例中创建 Harbor 项目。请让您的组织 IAM 管理员向您授予 Harbor Project Creator (
harbor-project-creator) 角色。
为 Harbor 实例中的 API 和资源配置访问权限
在 Harbor 实例中,请在每个 Harbor 项目中使用 Harbor 的内置基于角色的访问权限控制,以控制哪些人有权使用 API 和访问 Harbor 项目中的资源。如需了解详情,请参阅 https://goharbor.io/docs/2.8.0/administration/managing-users/。
创建 Harbor 项目的用户会自动被分配 Harbor 项目的 ProjectAdmin 角色。ProjectAdmin 用户可以为其他用户分配 Harbor 项目的角色。如需查看所有可用角色,请参阅
https://goharbor.io/docs/2.8.0/administration/managing-users/user-permissions-by-role/。
使用服务账号与 MHS 互动
您可以使用服务账号与 MHS 互动。使用项目服务帐号可将自动化直接集成到 GDC IAM 身份验证流程中,让工作负载自动生成短期令牌,而无需手动管理静态凭据。
如需设置、激活身份并授予项目权限以自动执行 MHS 身份验证,请按照管理服务账号中的步骤操作。
完成这些设置步骤后,您的服务帐号身份可以安全地与 Harbor 实例互动并管理容器代码库。
后续步骤
为项目服务帐号配置命令行工具和访问权限控制后,请查看轮替密钥和管理长期服务帐号安全性的标准做法: