Configurar a API Devices

Nesta página, explicamos como configurar a API Cloud Identity Devices. É possível usar a API Devices para provisionar recursos de maneira programática, por exemplo, gerenciando grupos do Google em nome de um administrador.

Ativar a API e configurar as credenciais

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Cloud Identity API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Cloud Identity API.

    Enable the API

Configurar o acesso à API usando uma conta de serviço com delegação em todo o domínio

Esta seção descreve como criar e usar uma conta de serviço para acessar os recursos do Google Workspace. A autenticação direta na API Devices usando uma conta de serviço não é possível. Portanto, é necessário usar esse método.

Criar e configurar uma conta de serviço para delegação em todo o domínio

Para criar uma conta de serviço e fazer o download da chave da conta de serviço, faça o seguinte:

  1. Para criar uma conta de serviço, faça o seguinte:

    1. No console do Google Cloud, acesse a página de contas de serviço do IAM:

      Acessar contas de serviço

    2. Clique em Criar conta de serviço.

    3. Em Detalhes da conta de serviço, digite um nome, um ID e uma descrição para a conta de serviço e clique em Criar e continuar.

    4. Opcional: em Conceder acesso a essa conta de serviço ao projeto, selecione os papéis do IAM que você quer conceder à conta de serviço.

    5. Clique em Continuar.

    6. Opcional: em Conceder aos usuários acesso a esta conta de serviço, adicione os usuários ou grupos que podem usar e gerenciar a conta de serviço.

    7. Clique em Concluído.

  2. Para permitir que a conta de serviço acesse a API Devices usando a delegação em todo o domínio, siga as instruções em Configurar a delegação em todo o domínio para a conta de serviço.

  3. Para criar e fazer o download de uma chave de conta de serviço, faça o seguinte.

    1. Clique no endereço de e-mail da conta de serviço que você criou.
    2. Clique na guia Chaves.
    3. Na lista suspensa Adicionar chave, selecione Criar nova chave.
    4. Clique em Criar.

      Um arquivo de credencial formatado em JSON, contendo um novo par de chaves pública e privada, é gerado e transferido por download para sua máquina. O arquivo contém a única cópia das chaves. Você é responsável por armazená-la com segurança. Se você perder o par de chaves, será necessário gerar outro.

Analisar entradas de registro

Ao analisar as entradas de registro, observe que os registros de auditoria mostram todas as ações da conta de serviço como iniciadas pelo usuário. Isso ocorre porque a delegação em todo o domínio permite que a conta de serviço personifique um usuário administrador.

Inicializar credenciais

Ao inicializar a credencial no código, especifique o endereço de e-mail em que a conta de serviço atua chamando with_subject() na credencial. Exemplo:

Python

credentials = service_account.Credentials.from_service_account_file(
  'SERVICE_ACCOUNT_CREDENTIAL_FILE',
  scopes=SCOPES).with_subject(USER
)

Substitua:

  • SERVICE_ACCOUNT_CREDENTIAL_FILE: o arquivo de chave da conta de serviço que você criou anteriormente neste documento.
  • USER: o usuário que a conta de serviço personifica

Instanciação de um cliente

O exemplo a seguir mostra como instanciar um cliente usando as credenciais da conta de serviço.

Python

from google.oauth2 import service_account
import googleapiclient.discovery

SCOPES = ['https://www.googleapis.com/auth/cloud-identity.devices']

def create_service():
  credentials = service_account.Credentials.from_service_account_file(
    'SERVICE_ACCOUNT_CREDENTIAL_FILE',
    scopes=SCOPES
  )

  delegated_credentials = credentials.with_subject('USER')

  service_name = 'cloudidentity'
  api_version = 'v1'
  service = googleapiclient.discovery.build(
    service_name,
    api_version,
    credentials=delegated_credentials)

  return service

Substitua:

  • SERVICE_ACCOUNT_CREDENTIAL_FILE: o arquivo de chave da conta de serviço que você criou anteriormente neste documento.
  • USER: o usuário que a conta de serviço personifica

Agora você pode começar a fazer chamadas para a API Devices.

Para autenticar como um usuário final, substitua o objeto credential da conta de serviço pelo credential que você pode receber em Como receber tokens do OAuth 2.0.

Como instalar a biblioteca de cliente do Python

Para instalar a biblioteca de cliente Python, execute o seguinte comando:

  pip install --upgrade google-api-python-client google-auth \
    google-auth-oauthlib google-auth-httplib2

Para mais informações sobre a configuração do ambiente de desenvolvimento do Python, consulte o Guia de configuração do ambiente de desenvolvimento do Python.