Habilita la Aprobación de acceso con Terraform

Terraform es una herramienta de software de infraestructura como código de código abierto que te permite administrar tus solicitudes de aprobación de acceso. Terraform te permite realizar todas las acciones que puedes realizar con las APIs de Aprobación de acceso.

En esta página, se describe cómo habilitar la Aprobación de acceso con Terraform. En este instructivo, se usa el Google Cloud proveedor de Terraform.

Objetivo

En este instructivo, se explica cómo crear un archivo de configuración de Terraform que haga lo siguiente:

  • Establece las direcciones de correo electrónico para las notificaciones de solicitudes de aprobación de acceso.
  • Habilita la aprobación de acceso para todos los productos de Google Cloud compatibles. Para obtener la lista completa de productos de Google Cloud que admite la Aprobación de acceso, consulta Servicios admitidos.

Antes de comenzar

Cómo crear un proyecto de Google Cloud

  1. Accede a tu cuenta de Google Cloud . Si es la primera vez que usas Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
  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

Instala Google Cloud CLI

Instala Google Cloud CLI. Después de la instalación, inicializa Google Cloud CLI con el siguiente comando:

gcloud init

Si usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.

Cuando se te solicite, elige el proyecto que seleccionaste o creaste antes.

Si ya tienes instalada Google Cloud CLI, actualízala con el siguiente comando:

gcloud components update

Crea un archivo de configuración de Terraform

  1. Abrir Cloud Shell para iniciar una sesión independiente de Cloud Shell
  2. Abre un espacio de trabajo.
  3. Crea una carpeta nueva.
  4. Agrega un archivo de configuración de Terraform llamado main.tf a esta carpeta.
  5. Copia el siguiente recurso y pégalo en tu archivo 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"
      }
    }
    

    Ingresa valores para las siguientes variables:

    • email_1 y email_2: Proporciona las direcciones de correo electrónico de los usuarios que deseas establecer como revisores de las solicitudes de acceso para este proyecto.
    • parent_value: Es el nombre de la carpeta en la que deseas crear la carpeta my_folder. Para obtener más información sobre las carpetas, consulta Crea y administra carpetas.

Ejecuta el archivo de configuración de Terraform

Ejecuta los siguientes comandos en Cloud Shell.

  1. Inicializa Terraform en el directorio.

    terraform init
    
  2. Ejecuta el archivo de configuración de Terraform creado.

    terraform apply
    
  3. Cuando se te solicite confirmar si quieres ejecutar el archivo de configuración, ingresa yes.

Para obtener más información sobre cómo operar la Aprobación de acceso con Terraform, consulta este documento de Terraform: google_folder_access_approval_settings.

¿Qué sigue?