创建和删除 POSIX 群组

本文档介绍了如何创建和删除 POSIX 群组。

准备工作

在继续此页面的信息之前,请先执行以下任务:

创建 POSIX 群组

您可以通过现有 Google 群组来创建 POSIX 群组,也可以通过创建新的 Google 群组并添加 POSIX 信息来创建 POSIX 群组。

通过现有 Google 群组创建 POSIX 群组

以下示例展示了如何通过现有 Google 群组创建 POSIX 群组:

gcloud

使用 gcloud beta identity groups update 命令将现有 Google 群组更新为 POSIX 群组:

gcloud beta identity groups update EMAIL \
   --add-posix-group=gid=GROUP_ID,name=POSIX_NAME

请替换以下内容:

  • EMAIL:要更新的群组的电子邮件地址
  • GROUP_ID:您要分配给 POSIX 群组的群组 ID (GID)
  • POSIX_NAME:您要分配给 POSIX 群组的名称

REST

如需将 Google 群组更新为 POSIX 群组,请调用 groups.patch() 方法,并指定 POSIX 群组字段。

PATCH 'https://cloudidentity.googleapis.com/v1beta1/groups/GROUP_RESOURCE_NAME?updateMask=posix_group

{
  "posixGroups": [
    {
      "name": "POSIX_NAME",
      "gid": GROUP_ID
    }
  ]
}

请替换以下内容:

  • GROUP_RESOURCE_NAME:Google 群组的资源名称。如需查找群组的资源名称,请运行 gcloud identity groups describe 命令
  • POSIX_NAME:您要分配给 POSIX 群组的名称
  • GROUP_ID:您要分配给 POSIX 群组的群组 ID (GID)

Python

以下示例展示了使用 Python 客户端库将 Google 群组更新为 POSIX 群组的辅助函数:

def add_posix_group_data_to_group(service, group_name, posix_name, posix_gid):
  group = {
    "posix_groups": [
          {
              "name": posix_name,
              "gid": posix_gid,
          }
      ]
  }
  try:
    request = service.groups().patch(name=group_name, body=group)
    request.uri = request.uri + '&updateMask=posix_groups'
    response = request.execute()
    print(response)
  except Exception as e:
    print(e)

通过新的 Google 群组创建 POSIX 群组

以下示例展示了如何通过新的 Google 群组创建 POSIX 群组:

gcloud

使用 gcloud beta identity groups create 命令创建 POSIX 群组:

gcloud beta identity groups create EMAIL \
  --organization=ORGANIZATION_ID \
  --labels=cloudidentity.googleapis.com/groups.discussion_forum \
  --posix-group=gid=GROUP_ID,name=POSIX_NAME

请替换以下内容:

  • EMAIL:要创建的群组的电子邮件地址
  • ORGANIZATION_ID:群组所属的组织。可以是 ID(“123456789”)或关联的网域(“example.com”)。
  • GROUP_ID:您为群组设置的群组 ID (GID)
  • POSIX_NAME:您为群组设置的名称

REST

如需创建群组,请使用新群组的电子邮件地址、组织 ID、POSIX 群组和标签调用 groups.create() 方法

POST 'https://cloudidentity.googleapis.com/v1beta1/groups?initialGroupConfig=WITH_INITIAL_OWNER

{
"parent": "customers/CUSTOMER_ID",
"groupKey": {"id": "EMAIL"},
"labels": {"cloudidentity.googleapis.com/groups.discussion_forum": ""},
"posixGroups": [
  {
    "name": "POSIX_NAME",
     "gid": GROUP_ID,
  }
]
}

请替换以下内容:

  • initialGroupConfig=WITH_INITIAL_OWNER?initialGroupConfig=WITH_INITIAL_OWNER 或为空。任何空群组只能由组织管理员创建。
  • CUSTOMER_ID:您的组织的客户 ID。如需查找客户 ID,请运行 gcloud organizations list 命令
  • EMAIL:要创建的群组的电子邮件地址
  • POSIX_NAME:您要分配给 POSIX 群组的名称
  • GROUP_ID:您要分配给 POSIX 群组的群组 ID (GID)

Python

以下示例展示了使用 Python 客户端库创建 POSIX 群组的辅助函数:

def create_posix_group(customer_id, email, query, posix_name, posix_gid):
  service = build_service()
  groupDef = {
      "parent": "customerId/{}".format(customer_id),
      "groupKey": {"id": email},
      "labels": {"cloudidentity.googleapis.com/groups.discussion_forum": ""},
      "posixGroups": [
          {
              "name": posix_name,
              "gid": posix_gid,
          }
      ]
  }
  request = service.groups().create(body=groupDef)
  request.uri += "&initialGroupConfig=WITH_INITIAL_OWNER"
  response = request.execute()
  return response

删除 POSIX 群组

以下示例展示了如何从 Google 群组中移除 POSIX 信息。

gcloud

使用 gcloud beta identity groups update 命令并指定值为 GROUP_IDPOSIX_NAME--remove-posix-groups 标志:

gcloud beta identity groups update \
   EMAIL \
   --remove-posix-groups=GROUP_ID_or_POSIX_NAME

请替换以下内容:

  • EMAIL:要删除的群组的电子邮件地址
  • GROUP_ID_or_POSIX_NAME:要删除的群组的群组 ID 或 POSIX 群组名称

REST

如需将 Google 群组更新为 POSIX 群组,请调用 groups.patch() 方法,并指定 POSIX 群组字段。

PATCH 'https://cloudidentity.googleapis.com/v1beta1/groups/GROUP_RESOURCE_NAME?updateMask=posix_group

{
  "posixGroups": []
}

请替换以下内容:

Python

以下示例展示了使用 Python 客户端库将 Google 群组更新为 POSIX 群组的辅助函数:

def remove_posix_data_from_group(service, group_name, posix_name, posix_gid):
  group = {
    "posix_groups": []
  }
  try:
    request = service.groups().patch(name=group_name, body=group)
    request.uri = request.uri + '&updateMask=posix_groups'
    response = request.execute()
    print(response)
  except Exception as e:
    print(e)

后续步骤

POSIX 群组存在后,您可以检索它并列出其成员资格。如需了解详情,请参阅检索和列出 POSIX 群组