Obter e listar grupos POSIX

Este documento explica como obter e apresentar grupos POSIX.

Obter membros de grupos POSIX

Pode obter informações do grupo através do nome do grupo Google, do nome do grupo POSIX, do ID do grupo POSIX ou do email.

Obter um grupo POSIX pelo nome do grupo

O exemplo seguinte mostra como obter um grupo POSIX através do nome do grupo:

REST

Para obter um grupo POSIX por nome, chame o método groups.get() com o nome do recurso do grupo.

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

Substitua o seguinte:

Python

O exemplo seguinte mostra como obter um grupo POSIX por nome através da biblioteca cliente Python:

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

Obter um grupo POSIX pelo nome do grupo POSIX

O exemplo seguinte mostra como obter informações do grupo o nome do grupo POSIX:

REST

Para pesquisar um grupo POSIX pelo nome do grupo POSIX, chame o método groups.search() com a seguinte string de consulta:

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

Substitua POSIX_NAME pelo nome que quer atribuir ao grupo POSIX.

Segue-se um pedido GET com a 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"

Substitua o seguinte:

  • CUSTOMER_ID: o ID de cliente da sua organização. Para encontrar o ID de cliente, execute o comando gcloud organizations list
  • POSIX_NAME: o nome que quer atribuir ao grupo POSIX
  • VIEW: FULL ou BASIC

Python

O exemplo seguinte mostra como obter um grupo POSIX pelo nome do grupo POSIX usando a biblioteca 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

Obter um grupo POSIX pelo ID do grupo POSIX

O exemplo seguinte mostra como obter informações do grupo através do ID do grupo:

REST

Para pesquisar um grupo POSIX por ID, chame o método groups.search() com a seguinte string de consulta:

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

Substitua o seguinte:

  • CUSTOMER_ID: o ID de cliente da sua organização. Para encontrar o ID de cliente, execute o comando gcloud organizations list
  • GROUP_ID: o ID do grupo (GID) que quer atribuir ao grupo POSIX

Segue-se um pedido GET com a 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"

Substitua o seguinte:

  • CUSTOMER_ID: o ID de cliente da sua organização. Para encontrar o ID de cliente, execute o comando gcloud organizations list
  • GROUP_ID: o ID do grupo (GID) que quer atribuir ao grupo POSIX
  • VIEW: FULL ou BASIC

Python

O exemplo seguinte mostra como obter um grupo POSIX por ID do grupo através da biblioteca 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

Obter um grupo POSIX por email

O exemplo seguinte mostra como obter informações do grupo através do email do grupo:

gcloud

Use o comando gcloud beta identity groups describe para listar todos os grupos POSIX numa organização:

gcloud beta identity groups describe EMAIL_ADDRESS

Substitua EMAIL_ADDRESS pelo endereço de email do grupo que está a ser pesquisado.

REST

Para obter um grupo POSIX por email, faça o seguinte:

  1. Chame o método groups.lookup() com o endereço de email do grupo:

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

    Tenha em atenção o nome do recurso do grupo devolvido.

  2. Chame o groups.get() método com o nome do recurso do grupo:

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

Python

O exemplo seguinte mostra como obter um grupo POSIX por email através da biblioteca 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

Listar grupos POSIX

Os exemplos seguintes mostram como listar todos os grupos POSIX na sua organização:

gcloud

Use o comando gcloud identity groups search para listar todos os grupos POSIX numa organização:

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

Substitua ORGANIZATION pelo ID da organização do grupo que está a ser pesquisado.

REST

Para pesquisar todos os grupos POSIX, chame o método groups.search() com a seguinte string de consulta:

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

Substitua CUSTOMER_ID pelo ID de cliente da sua organização. Para encontrar o ID de cliente, execute o comando gcloud organizations list.

Segue-se um pedido GET com a 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"

Substitua o seguinte:

  • CUSTOMER_ID: o ID de cliente da sua organização. Para encontrar o ID de cliente, execute o comando gcloud organizations list
  • GROUP_ID: o ID do grupo (GID) que quer atribuir ao grupo POSIX
  • VIEW: FULL ou BASIC

Python

O exemplo seguinte mostra uma função auxiliar para pesquisar grupos POSIX usando a biblioteca 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