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

Ce document explique comment récupérer et répertorier les groupes POSIX.

Récupérer des membres de groupes POSIX

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

Récupérer un groupe POSIX par nom de groupe

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

REST

Pour récupérer un groupe POSIX par son nom, appelez la méthode groups.get() en indiquant le nom de ressource du groupe.

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

Remplacez l'élément suivant :

Python

L'exemple suivant montre comment récupérer un groupe POSIX par 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 par nom de groupe POSIX

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

REST

Pour rechercher un groupe POSIX par nom de groupe POSIX, appelez la méthode groups.search() avec 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 l'élément suivant :

  • CUSTOMER_ID: numéro client de votre organisation. Pour trouver le numéro client, exécutez la commande gcloud organizations list.
  • POSIX_NAME: le 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 par ID de groupe POSIX

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

REST

Pour rechercher un groupe POSIX par ID, appelez la méthode groups.search() avec 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 l'élément suivant :

  • 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 (GID) 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 l'élément suivant :

  • 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 (GID) 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 par e-mail

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

gcloud

Exécutez la commande gcloud beta identity groups describe pour répertorier tous les groupes POSIX d'une organisation:

gcloud beta identity groups describe EMAIL_ADDRESS

Remplacez EMAIL_ADDRESS par l'adresse e-mail du groupe en cours de recherche.

REST

Pour récupérer un groupe POSIX par e-mail, procédez comme suit:

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

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

    Notez le nom de ressource du groupe renvoyé.

  2. Appelez la méthode groups.get() en indiquant le 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 par 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

Répertorier les groupes POSIX

Les exemples suivants montrent comment répertorier tous les groupes POSIX de votre organisation:

gcloud

Exécutez la commande gcloud identity groups search pour répertorier 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 concerné par la recherche.

REST

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

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

Remplacez CUSTOMER_ID par l'ID 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 l'élément suivant :

  • 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 (GID) 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