POSIX グループの取得と一覧表示

このドキュメントでは、POSIX グループを取得して一覧表示する方法について説明します。

POSIX グループのメンバーを取得する

Google グループ名、POSIX グループ名、POSIX グループ ID、またはメールを使用してグループ情報を取得できます。

グループ名による POSIX グループの取得

次のサンプルは、グループ名を使用して POSIX グループを取得する方法を示しています。

REST

名前で POSIX グループを取得するには、グループのリソース名を指定して groups.get() メソッドを呼び出します。

GET "https://cloudidentity.googleapis.com/v1beta1/groups/GROUP_RESOURCE_NAME"

以下を置き換えます。

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

組織内のすべての POSIX グループを一覧表示するには、gcloud beta identity groups describe コマンドを使用します。

gcloud beta identity groups describe EMAIL_ADDRESS

EMAIL_ADDRESS を検索対象グループのメールアドレスで置き換えます。

REST

メールで POSIX グループを取得するには、次の手順に従います。

  1. グループのメールアドレスを使用して groups.lookup() メソッドを呼び出します。

    GET "https://cloudidentity.googleapis.com/v1beta1/groups:lookup?groupKey.id=EMAIL_ADDRESS"
    

    返されたグループのリソース名をメモします。

  2. グループのリソース名を指定して 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

組織内のすべての POSIX グループを一覧表示するには、gcloud identity groups search コマンドを使用します。

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