擷取及列出 POSIX 群組
本文將說明如何擷取及列出 POSIX 群組。
擷取 POSIX 群組的成員
您可以使用 Google 群組名稱、POSIX 群組名稱、POSIX 群組 ID 或電子郵件來擷取群組資訊。
依群組名稱擷取 POSIX 群組
以下範例說明如何使用群組名稱擷取 POSIX 群組:
REST
如要依名稱擷取 POSIX 群組,請使用群組的資源名稱呼叫 groups.get()
方法。
GET "https://cloudidentity.googleapis.com/v1beta1/groups/GROUP_RESOURCE_NAME"
更改下列內容:
GROUP_RESOURCE_NAME
:Google 群組的資源名稱。如要尋找群組的資源名稱,請執行gcloud identity groups describe
指令
Python
以下範例說明如何使用 Python 用戶端程式庫,根據名稱擷取 POSIX 群組:
def get_posix_group_by_name(name):
service = build_service()
response = service.groups().get(name=name).execute()
return response
依 POSIX 群組名稱擷取 POSIX 群組
以下範例說明如何擷取群組資訊 (POSIX 群組名稱):
REST
如要依 POSIX 群組名稱搜尋 POSIX 群組,請使用下列查詢字串呼叫 groups.search()
方法:
query=parent=='customers/CUSTOMER_ID' && 'cloudidentity.googleapis.com/groups.posix' in labels && posix_groups.exists(pg, pg.name=='POSIX_NAME')
將 POSIX_NAME
替換為您要指派給 POSIX 群組的名稱。
以下是使用查詢的 GET
要求:
GET "https://cloudidentity.googleapis.com/v1beta1/groups:search?query=parent=='customers/CUSTOMER_ID'%26%26'cloudidentity.googleapis.com/groups.posix'%20in%20labels%26%26posix_groups.exists(pg,pg.name=='POSIX_GROUP_NAME')&view=VIEW"
更改下列內容:
CUSTOMER_ID
:貴機構的客戶 ID。如要查看客戶 ID,請執行gcloud organizations list
指令POSIX_NAME
:要指派給 POSIX 群組的名稱VIEW
:FULL
或BASIC
Python
以下範例說明如何使用 Python 用戶端程式庫,根據 POSIX 群組名稱擷取 POSIX 群組:
def get_posix_group_by_posix_name((service, customer_id, posix_group_name, page_size, view):
# Set the label to search for a POSIX group
searchQuery = ("&query=parent=='customers/{customer_id}' "
"&& 'cloudidentity.googleapis.com/groups.posix' in labels "
"&& posix_groups.exists(pg, pg.name=='{posix_group_name}')"
"?pageSize={page_size}&view={view}".format(
customer_id=customer_id, posix_group_name=posix_group_name,
page_size=page_size, view=view))
try:
searchGroupsRequest = service.groups().search()
searchGroupsRequest.uri += searchQuery
response = searchGroupsRequest.execute()
print response
except Exception as e:
print e
依 POSIX 群組 ID 擷取 POSIX 群組
以下範例說明如何使用群組 ID 擷取群組資訊:
REST
如要依 ID 搜尋 POSIX 群組,請使用下列查詢字串呼叫 groups.search()
方法:
query=parent=='customers/CUSTOMER_ID' && 'cloudidentity.googleapis.com/groups.posix' in labels && posix_groups.exists(pg, pg.gid==GIDu)
更改下列內容:
CUSTOMER_ID
:貴機構的客戶 ID。如要查看客戶 ID,請執行gcloud organizations list
指令GROUP_ID
:您要指派給 POSIX 群組的群組 ID (GID)
以下是使用查詢的 GET
要求:
GET "https://cloudidentity.googleapis.com/v1beta1/groups:search?query=parent=='customers/CUSTOMER_ID'%26%26'cloudidentity.googleapis.com/groups.posix'%20in%20labels%26%26posix_groups.exists(pg,pg.gid==GROUP_IDu)&view=VIEW"
更改下列內容:
CUSTOMER_ID
:貴機構的客戶 ID。如要查看客戶 ID,請執行gcloud organizations list
指令GROUP_ID
:您要指派給 POSIX 群組的群組 ID (GID)VIEW
:FULL
或BASIC
Python
以下範例說明如何使用 Python 用戶端程式庫,根據群組 ID 擷取 POSIX 群組:
def get_posix_group_by_gid(service, customer_id, posix_group_id, page_size, view):
# Set the label to search for a POSIX group
searchQuery = ("&query=parent=='customers/{customer_id}' "
"&& 'cloudidentity.googleapis.com/groups.posix' in labels "
"&& posix_groups.exists(pg, pg.gid=={posix_group_id}u)"
"?pageSize={page_size}&view={view}".format(
customer_id=customer_id, posix_group_id=posix_group_id,
page_size=page_size, view=view))
try:
searchGroupsRequest = service.groups().search()
searchGroupsRequest.uri += searchQuery
response = searchGroupsRequest.execute()
print response
except Exception as e:
print e
透過電子郵件擷取 POSIX 群組
以下範例說明如何使用群組電子郵件擷取群組資訊:
gcloud
使用 gcloud beta identity groups describe
指令列出機構中的所有 POSIX 群組:
gcloud beta identity groups describe EMAIL_ADDRESS
將 EMAIL_ADDRESS
替換為要搜尋的群組電子郵件地址。
REST
如要透過電子郵件擷取 POSIX 群組,請按照下列步驟操作:
使用群組電子郵件地址呼叫
groups.lookup()
方法:GET "https://cloudidentity.googleapis.com/v1beta1/groups:lookup?groupKey.id=EMAIL_ADDRESS"
記下傳回的群組資源名稱。
使用群組的資源名稱呼叫
groups.get()
方法:GET "https://cloudidentity.googleapis.com/v1beta1/groups/GROUP_RESOURCE_NAME"
Python
以下範例說明如何使用 Python 用戶端程式庫,透過電子郵件擷取 POSIX 群組:
def get_posix_group_by_email(email):
service = build_service()
# First we use the email to get the groups name calling lookup()
lookup_group_name_request = service.groups().lookup()
param = "&groupKey.id=" + email
lookup_group_name_request.uri += param
lookup_group_name_response = lookup_group_name_request.execute()
name = lookup_group_name_response.get("name")
# Then we can call get() by passing in the group's name
response = service.groups().get(name=name).execute()
return response
列出 POSIX 群組
以下範例說明如何列出貴機構中的所有 POSIX 群組:
gcloud
使用 gcloud identity groups search
指令列出機構中的所有 POSIX 群組:
gcloud identity groups search \ --labels=cloudidentity.googleapis.com/groups.posix \ --organization=ORGANIZATION
將 ORGANIZATION
替換為要搜尋的群組機構 ID。
REST
如要搜尋所有 POSIX 群組,請使用下列查詢字串呼叫 groups.search()
方法:
query=parent=='customers/CUSTOMER_ID' && 'cloudidentity.googleapis.com/groups.posix' in labels
將 CUSTOMER_ID
替換為貴機構的客戶 ID。如要找出客戶 ID,請執行 gcloud organizations list
指令。
以下是使用查詢的 GET
要求:
GET "https://cloudidentity.googleapis.com/v1beta1/groups:search?query=parent=='customers/CUSTOMER_ID'%26%26'cloudidentity.googleapis.com/groups.posix'%20in%20labels&view=VIEW"
更改下列內容:
CUSTOMER_ID
:貴機構的客戶 ID。如要查看客戶 ID,請執行gcloud organizations list
指令GROUP_ID
:您要指派給 POSIX 群組的群組 ID (GID)VIEW
:FULL
或BASIC
Python
以下範例顯示輔助函式,可使用 Python 用戶端程式庫搜尋 POSIX 群組:
def search_posix_groups(service, customer_id, page_size, view):
# Set the label to search for all POSIX groups
searchQuery = ("&query=parent=='customers/{customer_id}' "
"&& 'cloudidentity.googleapis.com/groups.posix' in labels "
"?pageSize={page_size}&view={view}".format(
customer_id=customer_id, page_size=page_size, view=view))
try:
searchGroupsRequest = service.groups().search()
searchGroupsRequest.uri += searchQuery
response = searchGroupsRequest.execute()
print response
except Exception as e:
print e