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

  8. 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 Google Cloud console, acesse a página "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.