Neste tópico, mostramos como configurar as permissões necessárias para chamar a API Cloud Asset Inventory.
Como realizar a autenticação
Antes de chamar a API Cloud Asset Inventory, você precisa fazer a autenticação como usuário final ou como conta de serviço. Para mais informações sobre autenticação, consulte Visão geral da autenticação.
Como conceder as permissões necessárias para a ferramenta gcloud
Para usar a ferramenta gcloud
para acessar a API Cloud Asset Inventory, é preciso
conceder as permissões necessárias no pai do recurso de destino, que pode ser
uma organização, um projeto ou uma pasta. Especifique esse pai no campo
parent
das suas solicitações da API.
Se sua conta tiver o papel Proprietário do Cloud Asset (roles/cloudasset.owner
) ou o
papel básico de Proprietário (roles/owner
) no pai do recurso, ela terá permissões suficientes
para chamar a API Cloud Asset Inventory e você poderá passar para
Como fazer o download de credenciais. Para mais informações sobre
os papéis do Inventário de recursos do Cloud, consulte Papéis.
Como conceder papéis
Para conceder um papel a uma conta, conclua as etapas a seguir com a
ferramenta de linha de comando gcloud
. Saiba
como instalar e inicializar a ferramenta gcloud
.
Conta de usuário
Para conceder os papéis necessários a uma conta de usuário, siga estas etapas:
Para fazer login com sua conta de usuário, execute o seguinte comando.
gcloud auth login USER_ACCOUNT_EMAIL
Conceda à sua conta de usuário o papel Visualizador de recursos do Cloud (
roles/cloudasset.viewer
) ou o papel Proprietário do recurso do Cloud (roles/cloudasset.owner
) no recurso raiz (pai). Este pode ser o projeto em que a API Cloud Asset Inventory está ativada.Para conceder o papel de visualizador de recursos do Cloud à conta de usuário, execute o comando a seguir.
gcloud projects add-iam-policy-binding TARGET_PROJECT_ID \ --member user:USER_ACCOUNT_EMAIL \ --role roles/cloudasset.viewer
É possível adicionar a sinalização
--billing-project
ao comandogcloud asset
para especificar o projeto de faturamento em que a API Cloud Asset Inventory está ativada.--billing-project PROJECT_ID
Se você especificar essa sinalização, sua conta precisará da permissão
serviceusage.services.use
no projetoPROJECT_ID
. Consulte Noções básicas sobre papéis para ver uma lista de papéis predefinidos que incluem esse permissão.
Conta de serviço
Para conceder os papéis necessários a uma conta de serviço, conclua as etapas a seguir. Para mais informações sobre contas de serviço, consulte Como criar e gerenciar contas de serviço.
Para criar uma nova conta de serviço, execute o seguinte comando. Se você já tiver uma conta de serviço em um projeto em que a API Cloud Asset Inventory estiver ativada, pule esta etapa.
gcloud iam service-accounts create SERVICE_ACCOUNT_NAME \ --display-name "SERVICE_ACCOUNT_DISPLAY_NAME"
Conceda à sua conta de serviço o papel de visualizador de recursos do Cloud (
roles/cloudasset.viewer
) ou o papel Proprietário do recurso do Cloud (roles/cloudasset.owner
) no recurso raiz (pai). Esse projeto pode ser o mesmo em que a API Cloud Asset Inventory está ativada.Para conceder o papel de visualizador de recursos do Cloud à conta de serviço, execute o seguinte comando.
gcloud projects add-iam-policy-binding TARGET_PROJECT_ID \ --member serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \ --role roles/cloudasset.viewer
Para criar uma chave privada para a conta de serviço, execute o seguinte comando.
gcloud iam service-accounts keys create YOUR_FILE_PATH/key.json \ --iam-account SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
Para ativar a conta de serviço para uso com a ferramenta
gcloud
, execute o comando a seguir.gcloud auth activate-service-account SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \ --key-file=YOUR_FILE_PATH/key.json
Como fazer o download de credenciais JSON
Para acessar a API Cloud Asset Inventory sem a ferramenta gcloud
, você precisa de um
arquivo de credenciais JSON. Para fazer o download do arquivo, siga as etapas abaixo.
Acesse a página Credenciais no Console do Cloud.
Selecione + Criar credenciais e, em seguida, selecione ID do cliente OAuth.
Caso você esteja criando um ID do cliente para um novo projeto, será necessário definir uma tela de consentimento OAuth, O Console do Cloud exibe a tela de consentimento sempre que um aplicativo que usa seu ID do cliente solicita acesso a dados particulares.
Para configurar a tela de consentimento, siga estas etapas:
Selecione Configurar tela de consentimento e insira as informações necessárias.
Salve as alterações.
Na página Criar ID do cliente em Tipo de aplicativo, selecione o tipo apropriado. Para mais informações sobre tipos de clientes, consulte Como configurar o OAuth 2.0.
Insira um nome para a credencial e clique em Criar.
Na caixa de diálogo exibida, confirme se o ID e a chave secreta do cliente estão corretos e feche a caixa de diálogo.
Para salvar o novo arquivo JSON do ID do cliente, clique em
.Renomeie e mova o arquivo JSON salvo para que o caminho seja
~/credentials.json
.
Como verificar a configuração das credenciais
Para verificar se você configurou suas credenciais corretamente, execute o comando a seguir.
oauth2l header --json ~/credentials.json cloud-platform
O resultado será semelhante a este:
Authorization: Bearer y29.xxxxxxx
Como definir um alias do shell
Pode ser conveniente definir um alias de shell para chamar as APIs REST do Google Cloud.
Para definir um alias gcurl
para chamar APIs REST do Google Cloud, execute o seguinte
comando:
alias gcurl='curl -H "$(oauth2l header --json ~/credentials.json
cloud-platform)" -H "Content-Type: application/json" '