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
- Faça login na sua Google Cloud conta do. Se você começou a usar o Google Cloud, crie uma conta para avaliar o desempenho dos nossos produtos em situações reais. Clientes novos também recebem US $300 em créditos para executar, testar e implantar cargas de trabalho.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Cloud Identity API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Cloud Identity API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
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 recursos do Google Workspace. Não é possível fazer a autenticação diretamente na API Devices usando uma conta de serviço. Portanto, você precisa usar esse método.
Criar uma conta de serviço e configurá-la para delegação em todo o domínio
Para criar uma conta de serviço e fazer o download da chave dela, faça o seguinte:
Para criar uma conta de serviço, faça o seguinte:
No Google Cloud Console do Cloud, acesse a página Contas de serviço do IAM:
Clique em Criar conta de serviço.
Em Detalhes da conta de serviço, digite um nome, ID e descrição para a conta de serviço e clique em Criar e continuar.
Opcional: em Conceda a essa conta de serviço acesso ao projeto, selecione os papéis do IAM que serão concedidos à conta de serviço.
Clique em Continuar.
Opcional: em Conceder aos usuários acesso a essa conta de serviço, adicione os usuários ou grupos que podem usar e gerenciar a conta de serviço.
Clique em Concluído.
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.
Para criar e fazer o download de uma chave de conta de serviço, faça o seguinte.
- Clique no endereço de e-mail da conta de serviço que você criou.
- Clique na guia Chaves.
- Na lista suspensa Adicionar chave, selecione Criar nova chave.
Clique em Criar.
Um arquivo de credenciais formatado em JSON, contendo um novo par de chaves pública e privada, é gerado e salvo no seu computador. O arquivo contém a única cópia das chaves. Você é responsável por armazená-lo com segurança. Se você perder o par de chaves, será necessário gerar um novo.
Revisar entradas de registro
Ao revisar as entradas de registro, observe que os registros de auditoria vão mostrar todas as ações da conta de serviço como tendo sido iniciadas pelo usuário. Isso ocorre porque a delegação em todo o domínio funciona permitindo que a conta de serviço represente 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 documentoUSER: o usuário que a conta de serviço representa
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 documentoUSER: o usuário que a conta de serviço representa
Agora você pode começar a fazer chamadas para a API Devices.
Para fazer a autenticação como um usuário final, substitua o credential objeto da
conta de serviço pelo credential que pode ser obtido 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.