擷取及列出 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