Recupera y enumera grupos POSIX

En este documento se explica cómo recuperar y enumerar grupos POSIX.

Recuperación de miembros de grupos POSIX

Puedes recuperar información de grupos mediante el nombre del Grupo de Google, el nombre del grupo POSIX, el ID del grupo POSIX o el correo electrónico.

Recuperación de un grupo POSIX por nombre de grupo

En el siguiente ejemplo, se muestra cómo recuperar un grupo POSIX mediante el nombre del grupo:

REST

Para recuperar un grupo POSIX por nombre, llama al método groups.get() con el nombre del recurso del grupo.

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

Reemplaza lo siguiente:

Python

En el siguiente ejemplo, se muestra cómo recuperar un grupo POSIX por nombre mediante la biblioteca cliente de Python:

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

Recuperación de un grupo POSIX por nombre de grupo de POSIX

En el siguiente ejemplo, se muestra cómo recuperar la información del grupo mediante el nombre del grupo POSIX:

REST

Para buscar un grupo POSIX por nombre de grupo POSIX, llama al método groups.search() con la siguiente string de consulta:

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

Reemplaza POSIX_NAME por el nombre que deseas asignar al grupo POSIX.

La siguiente es una solicitud GET que usa la consulta:

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"

Reemplaza lo siguiente:

  • CUSTOMER_ID: El ID de cliente de tu organización. Para encontrar el ID de cliente, ejecuta el comando gcloud organizations list:
  • POSIX_NAME: El nombre que deseas asignarle al grupo POSIX
  • VIEW: Ya sea FULL o BASIC.

Python

En el siguiente ejemplo, se muestra cómo recuperar un grupo POSIX por nombre de grupo POSIX mediante la biblioteca cliente de 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

Recuperación de un grupo POSIX por ID de grupo de POSIX

En el siguiente ejemplo, se muestra cómo recuperar la información del grupo mediante el ID del grupo:

REST

Para buscar un grupo POSIX por ID, llama al método groups.search() con la siguiente string de consulta:

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

Reemplaza lo siguiente:

  • CUSTOMER_ID: El ID de cliente de tu organización. Para encontrar el ID de cliente, ejecuta el comando gcloud organizations list:
  • GROUP_ID: El ID del grupo (GID) que deseas asignar al grupo POSIX

La siguiente es una solicitud GET que usa la consulta:

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"

Reemplaza lo siguiente:

  • CUSTOMER_ID: El ID de cliente de tu organización. Para encontrar el ID de cliente, ejecuta el comando gcloud organizations list:
  • GROUP_ID: El ID del grupo (GID) que deseas asignar al grupo POSIX
  • VIEW: Ya sea FULL o BASIC.

Python

En el siguiente ejemplo, se muestra cómo recuperar un grupo POSIX mediante ID de grupo con la biblioteca cliente de 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

Recuperación de un grupo POSIX por correo electrónico

En el siguiente ejemplo, se muestra cómo recuperar la información del grupo mediante el correo electrónico del grupo:

gcloud

Usa el comando gcloud beta identity groups describe para enumerar todos los grupos POSIX en una organización:

gcloud beta identity groups describe EMAIL_ADDRESS

Reemplaza EMAIL_ADDRESS por la dirección de correo electrónico del grupo que se busca.

REST

Para recuperar un grupo POSIX mediante el correo electrónico, haz lo siguiente:

  1. Llama al método groups.lookup() con la dirección de correo electrónico del grupo:

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

    Anota el nombre del recurso del grupo que se muestra.

  2. Llama al método groups.get() con el nombre del recurso del grupo:

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

Python

En el siguiente ejemplo, se muestra cómo recuperar un grupo POSIX por correo electrónico mediante la biblioteca cliente de 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

Muestra grupos POSIX

En los siguientes ejemplos, se muestra cómo enumerar todos los grupos de POSIX en tu organización:

gcloud

Usa el comando gcloud identity groups search para enumerar todos los grupos POSIX en una organización:

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

Reemplaza ORGANIZATION por el ID de la organización del grupo que se busca.

REST

Para buscar todos los grupos de POSIX, llama al método groups.search() con la siguiente string de consulta:

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

Reemplaza CUSTOMER_ID por el ID de cliente de tu organización. Para encontrar el ID de cliente, ejecuta el comando gcloud organizations list.

La siguiente es una solicitud GET que usa la consulta:

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

Reemplaza lo siguiente:

  • CUSTOMER_ID: El ID de cliente de tu organización. Para encontrar el ID de cliente, ejecuta el comando gcloud organizations list:
  • GROUP_ID: El ID del grupo (GID) que deseas asignar al grupo POSIX
  • VIEW: Ya sea FULL o BASIC.

Python

En el siguiente ejemplo, se muestra una función auxiliar que se usa para buscar grupos de POSIX mediante la biblioteca cliente de 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