建立及刪除 POSIX 群組

本文件說明如何建立及刪除 POSIX 群組。

事前準備

請先執行下列工作,再繼續瞭解本頁資訊:

建立 POSIX 群組

您可以使用現有的 Google 群組建立 POSIX 群組,也可以建立新的 Google 群組並新增 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 群組」。