Início rápido: como usar bibliotecas de cliente

Nesta página, mostramos como começar a usar a API 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 Cloud, na página de seletor de projetos, selecione ou crie um projeto do Cloud.

    Acessar a página do seletor de projetos

  3. Ative Cloud Identity and Access Management API.

    Ative a API

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

      Acessar 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 visualizar e alterar esse campo mais tarde usando o Console do Cloud. 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 a chave é feito no computador.
  5. Defina a variável de ambiente GOOGLE_APPLICATION_CREDENTIALS para o caminho do arquivo JSON com a chave da 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 este guia.
    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-rev20200221-1.30.9</version>
    </dependency>

Python

Para mais informações sobre a configuração do ambiente de desenvolvimento do Python, consulte este guia.
    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 saber 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"

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

    func main() {
    	// Create the Cloud IAM service object.
    	ctx := context.Background()
    	service, err := iam.NewService(ctx)
    	if err != nil {
    		log.Fatalf("iam.NewService: %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("Title: " + 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('')

A saída 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.