Habilitar Aprobación de acceso con Terraform
Terraform es una herramienta de software de código abierto de infraestructura como código que te permite gestionar tus solicitudes de aprobación de acceso. Terraform te permite realizar todas las acciones que puedes llevar a cabo con las APIs de Aprobación de acceso.
En esta página se describe cómo habilitar Aprobación de acceso con Terraform. En este tutorial se usa el Google Cloud proveedor de Terraform.
Objetivo
En este tutorial se explica cómo crear un archivo de configuración de Terraform que haga lo siguiente:
- Define las direcciones de correo electrónico para las notificaciones de solicitudes de aprobación de acceso.
- Habilita Aprobación de acceso en todos los productos compatibles. Google Cloud Para ver la lista completa de productos compatibles con Aprobación de acceso, consulta Servicios admitidos. Google Cloud
Antes de empezar
- Para usar Aprobación de acceso y Transparencia de acceso, tu organización debe cumplir determinados requisitos de asistencia. Para obtener más información, consulta los requisitos para usar Aprobación de acceso.
- Habilita Transparencia de acceso en tu organización. Para obtener más información, consulta el artículo sobre cómo habilitar Transparencia de acceso.
- Asegúrate de tener el rol de Gestión de Identidades y Accesos (IAM) Editor de configuración de aprobaciones de acceso (
roles/accessapproval.configEditor
). Para obtener más información sobre los roles de gestión de identidades y accesos de la aprobación de accesos, consulta el artículo sobre los roles de la aprobación de accesos.
Crear un Google Cloud proyecto
- 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.
-
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 theresourcemanager.projects.create
permission. Learn how to grant roles.
-
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 theserviceusage.services.enable
permission. Learn how to grant roles. -
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 theresourcemanager.projects.create
permission. Learn how to grant roles.
-
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 theserviceusage.services.enable
permission. Learn how to grant roles. - Abre Cloud Shell para iniciar una sesión independiente de Cloud Shell.
- Abre un espacio de trabajo.
- Crea una carpeta.
- Añade a esta carpeta un archivo de configuración de Terraform llamado
main.tf
. Copia el siguiente recurso y pégalo en el 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" } }
Introduce valores para las siguientes variables:
email_1
yemail_2
: indica las direcciones de correo de los usuarios a los que quieres asignar el rol de revisor de las solicitudes de acceso a este proyecto.
parent_value
: nombre de la carpeta en la que quieres crear la carpetamy_folder
. Para obtener más información sobre las carpetas, consulta el artículo Crear y gestionar carpetas.
Inicializa Terraform en el directorio.
terraform init
Ejecuta el archivo de configuración de Terraform que has creado.
terraform apply
Cuando se te pida que confirmes si quieres ejecutar el archivo de configuración, introduce yes.
- Usar Terraform con Google Cloud
- Usar Terraform con Access Approval
- Primeros pasos con Terraform en Google Cloud
- Empieza a usar Terraform en Google Cloud con Cloud Shell
Instalar Google Cloud CLI
Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:
gcloud init
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
Cuando se te solicite, elige el proyecto que has seleccionado o creado antes.
Si ya tienes instalada la CLI de Google Cloud, actualízala con el siguiente comando:
gcloud components update
Crear un archivo de configuración de Terraform
Ejecutar el archivo de configuración de Terraform
Ejecuta los siguientes comandos en Cloud Shell.
Para obtener más información sobre cómo usar Aprobación de acceso con Terraform, consulta este documento de Terraform: google_folder_access_approval_settings.