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 puedes habilitar la Aprobación de acceso con Terraform. En este instructivo, se usa el Google Cloud proveedor de Terraform.

Objetivo

En este instructivo, se enseña a crear un archivo de configuración de Terraform que haga lo siguiente:

  • Establece 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 compatibles Google Cloud . Para obtener la lista completa de productos compatibles con la Aprobación de acceso, consulta Servicios compatibles. Google Cloud

Antes de comenzar

Crea un Google Cloud proyecto

  1. Accede a tu Google Cloud cuenta de. Si eres nuevo en 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.

    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

Instala Google Cloud CLI

Instala la 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. Abre Cloud Shell para iniciar una sesión independiente de Cloud Shell.
  2. Abre un espacio de trabajo.
  3. Crear 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 deseas ejecutar el archivo de configuración, ingresa yes.

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

¿Qué sigue?