Ativar a aprovação de acesso através do Terraform

O Terraform é uma ferramenta de software de infraestrutura como código de código aberto que lhe permite gerir os seus pedidos de aprovação de acesso. O Terraform permite-lhe realizar todas as ações que pode realizar através das APIs Access Approval.

Esta página descreve como pode ativar a Aprovação de acesso através do Terraform. Este tutorial usa o Google Cloud fornecedor do Terraform.

Objetivo

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

  • Define as moradas de email para notificações de pedidos de aprovação de acesso.
  • Ativa a aprovação de acesso para todos os produtos Google Cloud compatíveis. Para ver a lista completa de produtos suportados pela aprovação de acesso, consulte os serviços suportados. Google Cloud

Antes de começar

Criar um Google Cloud projeto

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  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 (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 (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

  6. Instalar a CLI do Google Cloud

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

    gcloud init

    Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.

    Quando lhe for pedido, escolha o projeto que selecionou ou criou anteriormente.

    Se já tiver a Google Cloud CLI instalada, atualize-a através do seguinte comando:

    gcloud components update
    

    Criar um ficheiro de configuração do Terraform

    1. Abra o Cloud Shell para iniciar uma sessão autónoma do Cloud Shell.
    2. Abra um espaço de trabalho.
    3. Crie uma nova pasta.
    4. Adicione um ficheiro de configuração do Terraform denominado main.tf a esta pasta.
    5. Copie o seguinte recurso e cole-o no ficheiro 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"
        }
      }
      

      Introduza valores para as seguintes variáveis:

      • email_1 e email_2: indique os endereços de email dos utilizadores que quer definir como revisores dos pedidos de acesso para este projeto.
      • parent_value: nome da pasta na qual quer criar a pasta my_folder. Para mais informações sobre pastas, consulte o artigo Criar e gerir pastas.

    Executar o ficheiro de configuração do Terraform

    Execute os seguintes comandos no Cloud Shell.

    1. Inicialize o Terraform no diretório.

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

      terraform apply
      
    3. Quando lhe for pedido para confirmar se quer executar o ficheiro de configuração, introduza sim.

    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.

    O que se segue?