本页介绍了如何使用 Identity and Access Management (IAM) 授予用户对 Secure Source Manager 实例的访问权限。如需详细了解 Secure Source Manager 中的访问权限控制,请参阅使用 IAM 进行访问权限控制
所需的角色
如需获得向用户授予实例访问权限所需的权限,请让您的管理员为您授予 Secure Source Manager 实例的 Secure Source Manager Instance Owner 角色 (roles/securesourcemanager.instanceOwner) IAM 角色。
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
如需了解如何授予 Secure Source Manager 角色,请参阅使用 IAM 进行访问权限控制。
向员工身份联合用户授予访问权限
如果您使用员工身份联合来访问 Secure Source Manager,则主账号的表示方式会有所不同。如需详细了解如何向表示身份群组的主账号授予访问权限,请参阅在 IAM 政策中表示员工池用户。
例如,以下命令向用户 user@example.com 授予了工作区池 my-pool 中项目 my-project 内 us-central1 区域中实例 my-instance 的 Instance Accessor 角色 (roles/securesourcemanager.instanceAccessor):
gcloud source-manager instances add-iam-policy-binding my-instance \
--project=my-project \
--region=us-central1 \
--member=principal://iam.googleapis.com/locations/global/workforcePools/my-pool/subject/user@example.com \
--role=roles/securesourcemanager.instanceAccessor
您可以根据身份提供方 (IdP) 属性向员工身份池中的用户或群组授予权限,也可以使用通用表达式语言 (CEL) 将 OIDC 属性映射到自定义属性,以便在 IAM 政策中定义授权策略。如需详细了解属性映射,请参阅属性映射。
在 Google Cloud 控制台中授予实例访问权限
在 Google Cloud 控制台中,前往 IAM 页面。
点击授予访问权限。
在新的主账号字段中,输入您要向其授予访问权限的用户或群组的电子邮件地址。
从选择角色列表中选择一个角色。
- 如需授予对实例的只读权限,请选择 Secure Source Manager Instance Accessor (
roles/securesourcemanager.instanceAccessor)。此角色可授予对实例的访问权限,但不会授予代码库查看权限。 - 如需授予对代码库的只读访问权限,请选择 Secure Source Manager Repository Reader (
roles/securesourcemanager.repoReader)。用户还需要 Instance Accessor 角色才能通过 Secure Source Manager 网页界面访问代码库。 - 如需允许创建和修改代码库,请选择 Secure Source Manager Instance Repository Creator (
roles/securesourcemanager.instanceRepositoryCreator)。 - 如需授予对实例的完整管理员权限,请选择 Secure Source Manager Instance Owner (
roles/securesourcemanager.instanceOwner)。
- 如需授予对实例的只读权限,请选择 Secure Source Manager Instance Accessor (
点击保存。
向单个用户授予访问权限
如需向单个用户授予对实例的访问权限,请使用以下 Google Cloud CLI 命令:
gcloud source-manager instances add-iam-policy-binding INSTANCE_ID \
--project=PROJECT_ID \
--region=REGION \
--member=PRINCIPAL_IDENTIFIER \
--role=roles/securesourcemanager.instanceAccessor
替换以下内容:
- 将
INSTANCE_ID替换为实例 ID。 - 将
PROJECT_ID替换为实例的项目 ID 或项目编号。 - 将
REGION替换为实例所在的区域。如需查看可用的 Secure Source Manager 区域,请参阅位置文档。 将
PRINCIPAL_IDENTIFIER替换为您要向其授予相应角色的主账号的标识符。例如,要向电子邮件地址为 EMAIL 的单个用户授予角色,您需要将主账号标识符的格式设置为
user:EMAIL,其中 EMAIL 是用户的电子邮件地址。如需详细了解支持的主账号标识符,请参阅主账号标识符。
例如,以下命令向 us-central 区域中项目 my-project 内的实例 my-instance 授予 trusted-user1@gmail.com 用户 roles/securesourcemanager.instanceAccessor 角色。
gcloud source-manager instances add-iam-policy-binding INSTANCE_ID \
--project=my-project \
--region=us-central1 \
--member=user:trusted-user1@gmail.com \
--role=roles/securesourcemanager.instanceAccessor
向多位用户授予访问权限
如需向多位用户授予访问权限,我们建议您创建一个 Google 群组,其中包含所有潜在用户,例如所有开发者。
然后,您可以向该群组授予以下一个或多个角色:
- Instance Accessor (
roles/securesourcemanager.instanceAccessor):查看实例。 - Instance Repository Creator (
roles/securesourcemanager.instanceRepositoryCreator):创建和修改代码库。 - 实例所有者 (
roles/securesourcemanager.instanceOwner):对实例拥有完全管理权限。
如需了解如何向群组授予角色,请参阅 IAM 文档中的向多个主账号授予访问权限。
后续步骤
- 向用户授予代码库访问权限。
- 详细了解如何使用 IAM 进行访问权限控制。
- 创建代码库。
- 授予和撤消 IAM 角色。