Guia de início rápido: como usar bibliotecas de cliente

Esta página mostra como começar a usar o Cloud Identity and Access Management em sua linguagem de programação favorita.

Antes de começar

  1. Faça login na sua Conta do Google.

    Se você ainda não tiver uma, inscreva-se.

  2. No Console do GCP, na página do seletor de projetos, selecione ou crie um projeto do GCP.

    Acesse a página do seletor de projetos

  3. Ative a(s) Cloud Identity and Access Management API necessária(s).

    Ativar a(s) API

  4. Configurar autenticação:
    1. No Console do GCP, acesse a página Criar chave da conta de serviço.

      Acessar a página "Criar chave da conta de serviço"
    2. Na lista Conta de serviço, selecione Nova conta de serviço.
    3. No campo Nome da conta de serviço, insira um nome.
    4. Na lista Papel, selecione Projeto > Proprietário.

      Observação: o campo Papel autoriza sua conta de serviço a acessar recursos. É possível ver e alterar esse campo no Console do GCP posteriormente. Se você estiver desenvolvendo um aplicativo de produção, especifique permissões mais granulares do que Projeto > Proprietário. Para mais informações, consulte Como atribuir papéis a contas de serviço.
    5. Clique em Criar. O download de um arquivo JSON que contém sua chave é feito no seu computador.
  5. Defina a variável de ambiente GOOGLE_APPLICATION_CREDENTIALS para o caminho do arquivo JSON que contém a chave da sua conta de serviço. Essa variável só se aplica à sessão de shell atual. Dessa maneira, se você abrir uma nova sessão, defina a variável novamente.

Instalar a biblioteca de cliente

C#

Para mais informações sobre a configuração do ambiente de desenvolvimento do C#, consulte o guia de configuração do ambiente de desenvolvimento do C#.
install-package Google.Apis.Iam.v1

Go

go get -u golang.org/x/oauth2/google
go get -u google.golang.org/api/iam/v1

Java

Para mais informações sobre a configuração do ambiente de desenvolvimento do Java, consulte o Guia de configuração do ambiente de desenvolvimento Java. Se você estiver usando o Maven, adicione isto ao seu arquivo pom.xml.

<dependency>
  <groupId>com.google.apis</groupId>
  <artifactId>google-api-services-iam</artifactId>
  <version>v1-rev247-1.23.0</version>
</dependency>

Python

Para mais informações sobre a configuração do ambiente de desenvolvimento do Python, consulte o guia de configuração do ambiente de desenvolvimento Python.
pip install --upgrade google-api-python-client google-auth google-auth-httplib2

Chamar a API Cloud IAM Roles

Receba uma credencial e chame a API Cloud IAM Roles para ver uma lista de papéis disponíveis usando o código abaixo:

C#

Para mais informações, consulte a documentação de referência da API Cloud IAM para C#.


using System;
using System.Collections.Generic;
using Google.Apis.Auth.OAuth2;
using Google.Apis.Iam.v1;
using Google.Apis.Iam.v1.Data;

public class QuickStart
{
    public static void Main(string[] args)
    {
        // Get credentials
        var credential = GoogleCredential.GetApplicationDefault()
            .CreateScoped(IamService.Scope.CloudPlatform);

        // Create the Cloud IAM service object
        IamService service = new IamService(new IamService.Initializer
        {
            HttpClientInitializer = credential
        });

        // Call the Cloud IAM Roles API
        ListRolesResponse response = service.Roles.List().Execute();
        IList<Role> roles = response.Roles;

        // Process the response
        foreach (Role role in roles)
        {
            Console.WriteLine("Title: " + role.Title);
            Console.WriteLine("Name: " + role.Name);
            Console.WriteLine("Description: " + role.Description);
            Console.WriteLine();
        }
    }
}

Go

Para mais informações, consulte a documentação de referência da API Cloud IAM para Go.


// The quickstart command is an example of using the Cloud IAM Roles API.
package main

import (
	"context"
	"log"

	"golang.org/x/oauth2/google"
	"google.golang.org/api/iam/v1"
)

func main() {
	// Get credentials.
	client, err := google.DefaultClient(context.Background(), iam.CloudPlatformScope)
	if err != nil {
		log.Fatalf("google.DefaultClient: %v", err)
	}

	// Create the Cloud IAM service object.
	service, err := iam.New(client)
	if err != nil {
		log.Fatalf("iam.New: %v", err)
	}

	// Call the Cloud IAM Roles API.
	resp, err := service.Roles.List().Do()
	if err != nil {
		log.Fatalf("Roles.List: %v", err)
	}

	// Process the response.
	for _, role := range resp.Roles {
		log.Println("Tile: " + role.Title)
		log.Println("Name: " + role.Name)
		log.Println("Description: " + role.Description)
	}
}

Java

Para mais informações, consulte a documentação de referência da API Cloud IAM para Java.


package com.google.iam.snippets;

import com.google.api.client.googleapis.auth.oauth2.GoogleCredential;
import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
import com.google.api.client.json.jackson2.JacksonFactory;
import com.google.api.services.iam.v1.Iam;
import com.google.api.services.iam.v1.IamScopes;
import com.google.api.services.iam.v1.model.ListRolesResponse;
import com.google.api.services.iam.v1.model.Role;
import java.util.Collections;
import java.util.List;

public class Quickstart {

  public static void main(String[] args) throws Exception {
    // Get credentials
    GoogleCredential credential =
        GoogleCredential.getApplicationDefault()
            .createScoped(Collections.singleton(IamScopes.CLOUD_PLATFORM));

    // Create the Cloud IAM service object
    Iam service =
        new Iam.Builder(
                GoogleNetHttpTransport.newTrustedTransport(),
                JacksonFactory.getDefaultInstance(),
                credential)
            .setApplicationName("quickstart")
            .build();

    // Call the Cloud IAM Roles API
    ListRolesResponse response = service.roles().list().execute();
    List<Role> roles = response.getRoles();

    // Process the response
    for (Role role : roles) {
      System.out.println("Title: " + role.getTitle());
      System.out.println("Name: " + role.getName());
      System.out.println("Description: " + role.getDescription());
      System.out.println();
    }
  }
}

Python

Para mais informações, consulte a documentação de referência da API Cloud IAM para Python.

import os

from google.oauth2 import service_account
import googleapiclient.discovery

# Get credentials
credentials = service_account.Credentials.from_service_account_file(
    filename=os.environ['GOOGLE_APPLICATION_CREDENTIALS'],
    scopes=['https://www.googleapis.com/auth/cloud-platform'])

# Create the Cloud IAM service object
service = googleapiclient.discovery.build(
    'iam', 'v1', credentials=credentials)

# Call the Cloud IAM Roles API
# If using pylint, disable weak-typing warnings
# pylint: disable=no-member
response = service.roles().list().execute()
roles = response['roles']

# Process the response
for role in roles:
    print('Title: ' + role['title'])
    print('Name: ' + role['name'])
    if 'description' in role:
        print('Description: ' + role['description'])
    print('')

O resultado será uma lista de informações sobre os papéis, como esta:

Title: App Engine Admin
Name: roles/appengine.appAdmin
Description: Full management of App Engine apps (but not storage).

Title: App Engine Viewer
Name: roles/appengine.appViewer
Description: Ability to view App Engine app status.

Parabéns! Você enviou sua primeira solicitação ao Cloud IAM.

Como foi?

A seguir

É possível encontrar snippets de código que usam as bibliotecas de cliente em toda a documentação do Cloud IAM.

As APIs disponíveis nas bibliotecas de cliente espelham aquelas disponíveis na API REST. Consulte a Referência da API REST para mais informações.