检索和列出 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