Obtener y mostrar grupos POSIX

En este documento se explica cómo obtener y mostrar grupos POSIX.

Obtener miembros de grupos POSIX

Puedes obtener información de un grupo mediante el nombre del grupo de Google, el nombre del grupo POSIX, el ID del grupo POSIX o el correo electrónico.

Obtener un grupo POSIX por su nombre

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

REST

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

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

Haz los cambios siguientes:

  • GROUP_RESOURCE_NAME: el nombre del recurso del grupo de Google. Para encontrar el nombre de recurso de un grupo, ejecuta el comando gcloud identity groups describe.

Python

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

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

Obtener un grupo POSIX por su nombre

En el siguiente ejemplo se muestra cómo obtener información de un grupo, como 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 cadena de consulta:

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

Sustituye POSIX_NAME por el nombre que quieras asignar al grupo POSIX.

A continuación se muestra 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"

Haz los cambios siguientes:

  • 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 quieres asignar al grupo POSIX
  • VIEW: FULL o BASIC

Python

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

Obtener un grupo POSIX por su ID

En el siguiente ejemplo se muestra cómo obtener información de un grupo mediante el ID del grupo:

REST

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

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

Haz los cambios siguientes:

  • 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 de grupo (GID) que quieres asignar al grupo POSIX.

A continuación se muestra 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"

Haz los cambios siguientes:

  • 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 de grupo (GID) que quieres asignar al grupo POSIX.
  • VIEW: FULL o BASIC

Python

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

Obtener un grupo POSIX por correo electrónico

En el siguiente ejemplo se muestra cómo obtener información de un grupo mediante el correo del grupo:

gcloud

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

gcloud beta identity groups describe EMAIL_ADDRESS

Sustituye EMAIL_ADDRESS por la dirección de correo del grupo que se va a buscar.

REST

Para obtener un grupo POSIX por correo electrónico, sigue estos pasos:

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

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

    Anota el nombre del recurso del grupo devuelto.

  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 de 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

Mostrar grupos POSIX

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

gcloud

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

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

Sustituye ORGANIZATION por el ID de la organización del grupo que se va a buscar.

REST

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

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

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

A continuación se muestra 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"

Haz los cambios siguientes:

  • 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 de grupo (GID) que quieres asignar al grupo POSIX.
  • VIEW: FULL o BASIC

Python

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