Récupérer et répertorier des groupes POSIX

Ce document explique comment récupérer et lister des groupes POSIX.

Récupérer les membres de groupes POSIX

Vous pouvez récupérer des informations sur un groupe à l'aide du nom du groupe Google, du nom du groupe POSIX, de l'ID du groupe POSIX ou de l'adresse e-mail.

Récupérer un groupe POSIX via le nom de groupe

L'exemple suivant montre comment récupérer un groupe POSIX à l'aide du nom du groupe :

REST

Pour récupérer un groupe POSIX par nom, appelez la méthode groups.get() accompagnée du nom de ressource du groupe.

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

Remplacez les éléments suivants :

Python

L'exemple suivant montre comment récupérer un groupe POSIX via le nom à l'aide de la bibliothèque cliente Python :

def get_posix_group_by_name(name):
  service = build_service()
  response = service.groups().get(name=name).execute()
  return response

Récupérer un groupe POSIX via le nom de groupe POSIX

L'exemple suivant montre comment récupérer les informations du groupe avec le nom du groupe POSIX :

REST

Pour rechercher un groupe POSIX par nom de groupe POSIX, appelez la méthode groups.search() accompagnée de la chaîne de requête suivante :

query=parent=='customers/CUSTOMER_ID' && 'cloudidentity.googleapis.com/groups.posix' in labels && posix_groups.exists(pg, pg.name=='POSIX_NAME')

Remplacez POSIX_NAME par le nom que vous souhaitez attribuer au groupe POSIX.

Voici une requête GET utilisant la requête :

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"

Remplacez les éléments suivants :

  • CUSTOMER_ID : numéro client de votre organisation. Pour trouver le numéro client, exécutez la commande gcloud organizations list.
  • POSIX_NAME : nom que vous souhaitez attribuer au groupe POSIX.
  • VIEW : FULL ou BASIC

Python

L'exemple suivant montre comment récupérer un groupe POSIX par nom de groupe POSIX à l'aide de la bibliothèque cliente Python :

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

Récupérer un groupe POSIX via l'ID de groupe POSIX

L'exemple suivant montre comment récupérer des informations sur un groupe à l'aide de l'ID du groupe :

REST

Pour rechercher un groupe POSIX par ID, appelez la méthode groups.search() accompagnée de la chaîne de requête suivante :

query=parent=='customers/CUSTOMER_ID' && 'cloudidentity.googleapis.com/groups.posix' in labels && posix_groups.exists(pg, pg.gid==GIDu)

Remplacez les éléments suivants :

  • CUSTOMER_ID : numéro client de votre organisation. Pour trouver le numéro client, exécutez la commande gcloud organizations list.
  • GROUP_ID: ID de groupe que vous souhaitez attribuer au groupe POSIX.

Voici une requête GET utilisant la requête :

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"

Remplacez les éléments suivants :

  • CUSTOMER_ID : numéro client de votre organisation. Pour trouver le numéro client, exécutez la commande gcloud organizations list.
  • GROUP_ID: ID de groupe que vous souhaitez attribuer au groupe POSIX.
  • VIEW : FULL ou BASIC

Python

L'exemple suivant montre comment récupérer un groupe POSIX par ID de groupe à l'aide de la bibliothèque cliente Python :

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

Récupérer un groupe POSIX via l'adresse e-mail

L'exemple suivant montre comment récupérer les informations d'un groupe à l'aide de l'adresse e-mail du groupe :

gcloud

Utilisez la commande gcloud beta identity groups describe pour lister tous les groupes POSIX d'une organisation :

gcloud beta identity groups describe EMAIL_ADDRESS

Remplacez EMAIL_ADDRESS par l'adresse e-mail du groupe recherché.

REST

Pour récupérer un groupe POSIX via l'adresse e-mail, procédez comme suit:

  1. Appelez la méthode groups.lookup() accompagnée de l'adresse e-mail du groupe :

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

    Notez le nom de ressource renvoyé pour le groupe.

  2. Appelez la méthode groups.get() accompagnée du nom de ressource du groupe :

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

Python

L'exemple suivant montre comment récupérer un groupe POSIX via l'adresse e-mail à l'aide de la bibliothèque cliente Python:

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

Lister les groupes POSIX

Les exemples suivants montrent comment lister tous les groupes POSIX de votre organisation :

gcloud

Utilisez la commande gcloud identity groups search pour lister tous les groupes POSIX d'une organisation :

gcloud identity groups search \
    --labels=cloudidentity.googleapis.com/groups.posix \
    --organization=ORGANIZATION

Remplacez ORGANIZATION par l'ID de l'organisation du groupe recherché.

REST

Pour rechercher tous les groupes POSIX, appelez la méthode groups.search() accompagnée de la chaîne de requête suivante :

query=parent=='customers/CUSTOMER_ID' && 'cloudidentity.googleapis.com/groups.posix' in labels

Remplacez CUSTOMER_ID par le numéro client de votre organisation. Pour trouver le numéro client, exécutez la commande gcloud organizations list.

Voici une requête GET utilisant la requête :

GET "https://cloudidentity.googleapis.com/v1beta1/groups:search?query=parent=='customers/CUSTOMER_ID'%26%26'cloudidentity.googleapis.com/groups.posix'%20in%20labels&view=VIEW"

Remplacez les éléments suivants :

  • CUSTOMER_ID : numéro client de votre organisation. Pour trouver le numéro client, exécutez la commande gcloud organizations list.
  • GROUP_ID: ID de groupe que vous souhaitez attribuer au groupe POSIX.
  • VIEW : FULL ou BASIC

Python

L'exemple suivant montre une fonction d'assistance permettant de rechercher des groupes POSIX à l'aide de la bibliothèque cliente Python :

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