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

O Terraform é uma ferramenta de software de infraestrutura como código de código aberto que permite gerenciar seus pedidos de aprovação de acesso. Com o Terraform, é possível realizar todas as ações que podem ser feitas usando as APIs de aprovação de acesso.

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

Objetivo

Neste tutorial, você vai aprender a 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 Google Cloud compatíveis. Para a lista completa de produtos do Google Cloud com suporte da Aprovação de acesso, consulte Serviços compatíveis.

Antes de começar

Como criar um projeto do Google Cloud

  1. Faça login na sua conta do Google Cloud . Se você começou a usar o Google Cloudagora, 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, if it is not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). 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, if it is not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

Como instalar a Google Cloud CLI

Instale a CLI do Google Cloud. 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 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 valores para as 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 dos pedidos 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.

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 preciso 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