Como ativar a aprovação de acesso usando o Terraform

O Terraform é uma ferramenta de software de infraestrutura como código aberto que permite gerenciar suas solicitações de aprovação de acesso. Com ele, você pode realizar todas as ações que podem ser feitas usando as APIs Access Approval.

Esta página descreve como ativar a aprovação de acesso usando o Terraform. Este tutorial usa o Google Cloud provedor do Terraform.

Objetivo

Este tutorial ensina como criar um arquivo de configuração do Terraform que:

  • Define endereços de e-mail para notificações de pedido de aprovação de acesso.
  • Ativa a aprovação de acesso para todos os produtos com suporte Google Cloud . Para conferir a lista completa de Google Cloud produtos com suporte para aprovação de acesso, consulte Serviços com suporte.

Antes de começar

Como criar um Google Cloud projeto

  1. Faça login nasua Google Cloud conta. 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.
  2. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Enable the Access Approval API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  4. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Enable the Access Approval API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

Como instalar a CLI do Google Cloud

Instale a Google Cloud CLI. Após a instalação, inicialize a Google Cloud CLI executando o seguinte comando:

gcloud init

Ao usar um provedor de identidade (IdP) externo, primeiro faça login na CLI gcloud com sua identidade federada.

Quando solicitado, escolha o projeto que você selecionou ou criou anteriormente.

Se você já tiver a Google Cloud CLI instalada, atualize-a usando o seguinte comando:

gcloud components update

Como criar um arquivo de configuração do Terraform

  1. Abra o Cloud Shell para iniciar uma sessão independente do Cloud Shell.
  2. Abra um espaço de trabalho.
  3. Criar uma nova pasta.
  4. Adicione um arquivo de configuração do Terraform chamado main.tf a essa pasta.
  5. Copie o recurso a seguir e cole-o no arquivo main.tf.

    main.tf

    variable "parent_value" {
    type        = string
    }
    
    variable "email_1" {
    type        = string
    }
    
    variable "email_2" {
    type        = string
    }
    
    resource "google_folder" "my_folder" {
    display_name = "my-folder"
    parent       = var.parent_value
    # parent = "organizations/123456789"
    }
    
    resource "google_folder_access_approval_settings" "folder_access_approval" {
    folder_id           = google_folder.my_folder.folder_id
    notification_emails = [var.email_1, var.email_2]
    
    enrolled_services {
      cloud_product = "all"
      }
    }
    

    Insira os valores das seguintes variáveis:

    • email_1 e email_2: forneça os endereços de e-mail dos usuários que você quer definir como revisores das solicitações de acesso para esse projeto.
    • parent_value: nome da pasta em que você quer criar a pasta my_folder. Para mais informações sobre pastas, consulte Como criar e gerenciar pastas.

Como executar o arquivo de configuração do Terraform

Execute os comandos a seguir no Cloud Shell.

  1. Inicialize o Terraform no diretório.

    terraform init
    
  2. Execute o arquivo de configuração do Terraform criado.

    terraform apply
    
  3. Quando for solicitado a confirmar se você quer executar o arquivo de configuração, digite yes.

Para mais informações sobre como operar a aprovação de acesso com o Terraform, consulte este documento do Terraform: google_folder_access_approval_settings.

A seguir