
Si está buscando crear Grupos de Google a través de Terraform, ¡siga leyendo!
¿Qué es un grupo de Google?
Un grupo de Google es una colección con nombre de cuentas de usuario y cuentas de servicio de Google. Cada grupo de Google tiene una dirección de correo electrónico única que está asociada con el grupo. Los Grupos de Google son básicamente un grupo de cuentas de Google que deben unirse con fines administrativos.
¿Por qué utilizar Grupos de Google?
Como práctica recomendada, se recomienda utilizar Grupos de Google para organizar usuarios y cuentas de servicio en su Organización de GCP, de esta manera se puede otorgar acceso a un grupo de usuarios y cuentas de servicio en lugar de a cada usuario / cuenta de servicio individualmente, aliviando las complejidades de gestión de acceso y sigue el principio de privilegio mínimo .
Dos enfoques para crear grupos de Google
1. Agrupación basada en la estructura del equipo
Crea grupos basados en la estructura del equipo. La estructura del equipo es relativamente estática y los miembros del mismo equipo suelen compartir las mismas necesidades de acceso a los datos. Agregar un nuevo miembro del equipo al grupo le proporcionará inmediatamente a la persona todo el acceso a los datos necesarios. Cuando un miembro del equipo deja el equipo, es fácil eliminar a la persona del grupo, lo que revoca el acceso de esa persona a todos los datos asociados.
2. Agrupación basada en iniciativas de proyectos
Crea grupos basados en iniciativas de proyectos ad-hoc. Esta es una estrategia de agrupación más dinámica y es especialmente útil para escenarios en los que un grupo de personas necesita acceder a algunos datos durante un período de tiempo limitado. Al inicio del proyecto, creación de un grupo de personas involucradas en la iniciativa. Una vez que se completa el proyecto, disolver el grupo para revocar el acceso de todos los miembros, evitando posibles problemas de acceso con fugas.
¿Cómo crear grupos de Google a través de Terraform?
Paso 1: cree una cuenta de servicio con permisos
La cuenta de servicio debe tener las siguientes funciones de Google Cloud IAM:
- Consumidor de uso del servicio: roles / serviceusage.serviceUsageConsumer en el proyecto de facturación
- Visor de organización: roles / resourcemanager.organizationViewer si usa dominio en lugar de customer_id
Paso 2: Asignar la función de administrador de grupos a la cuenta de servicio
Los Grupos de Google son un recurso de nivel de organización, la cuenta de servicio deberá ser un administrador de Grupos de Google para poder crear los Grupos de Google y administrar la adición, eliminación de usuarios / cuentas de servicio hacia y desde el grupo.
Para convertir la cuenta de servicio en un administrador de grupo, debe tener acceso de superadministrador de Google Workspace (anteriormente conocido como G Suite) para su dominio. Si no es un administrador de Google Workspace, necesitará un administrador de Google Workspace para asignar la función de administrador de Grupos de Google a la cuenta de servicio creada en el Paso 1.
Utilice los siguientes pasos para convertir la cuenta de servicio en una función de administrador de Grupos de Google:
En un navegador, visite https://admin.google.com/ e inicie sesión con sus credenciales. Debería ver la siguiente pantalla, haga clic en "Funciones de administrador".
Se le presentará la siguiente pantalla, haga clic en "Administrador de grupos".
A continuación, verá la página de administración de grupos. En la pestaña "Administradores", puede ver "Asignar usuarios" y "Asignar cuentas de servicio". Haga clic en "Asignar cuentas de servicio".
Verá la siguiente pantalla, donde debe agregar la cuenta de servicio. Ingrese la dirección de correo electrónico de la cuenta de servicio creada en el Paso 1.
Haga clic en "AÑADIR".
Finalmente, haga clic en “ASIGNAR PAPEL”.
Debería poder ver la cuenta de servicio en la página de administración de grupos.
Paso 3: autenticarse con la cuenta de servicio
Necesitará el SDK de gcloud para ejecutar los comandos de gcloud que se mencionan a continuación. Además, tenga en cuenta que esto es para fines de prueba / desarrollo, debe seguir los pasos para la autenticación según la configuración de su organización.
Paso 3.1 Cree la clave JSON para la cuenta de servicio:
El siguiente comando creará una clave JSON para su cuenta de servicio, que debe usarse para la autenticación,
Las claves de las cuentas de servicio de gcloud iam crean key.json --iam-account=my-iam-account@my-project.iam.gserviceaccount.com
Paso 3.2 Autenticar la cuenta de servicio utilizando la clave JSON creada:
Utilice la clave JSON creada anteriormente para la autenticación a través de lo siguiente,
gcloud auth enable-service-account my-iam-account@my-project.iam.gserviceaccount.com --key-file = key.json
Paso 4: Escribe la configuración de Terraform para Grupos de Google
La siguiente configuración de Terraform se basa en el módulo Terraform Google Group que se mantiene aquí .
Aquí hay una muestra de main.tf:
main.tf ->
proveedor "google-beta" {
billing_project = var.project_id
user_project_override = true
} módulo "grupo" {
source = "terraform-google-modules / group / google"
versión = "~> 0.1"
id = var.group_id
display_name = var.name
description = "Probar Google Group a través de Terraform"
dominio = "dominio.com"
propietarios = var.owners
gerentes = var.managers
miembros = var.members
}Aquí hay un ejemplo de variables.tf para proporcionar entradas:
variables.tf ->
variable "project_id" {
tipo = cadena
default = "mi-proyecto"
description = "ID del proyecto para facturación"
} variable "group_id" {
tipo = cadena
default = "group-id.groups@domain.com"
description = "ID de grupo del grupo"
} nombre de la variable" {
tipo = cadena
default = "nombre-grupo-google"
description = "Nombre del grupo"
} variable "propietarios" {
tipo = lista (cadena)
predeterminado = ["admin@domain.com"]
description = "Propietario del grupo"
} variable "administradores" {
tipo = lista (cadena)
predeterminado = ["administrador@dominio.com"]
description = "Gerente del Grupo"
} variable "miembros" {
tipo = lista (cadena)
predeterminado = ["miembro-uno@dominio.com", "miembro-dos@dominio.com"]
description = "Miembros del grupo"
}Deberá personalizar la configuración de Terraform según sus requisitos. Una vez que esté satisfecho con su configuración de Terraform, ejecute lo siguiente para crear su primer grupo de Google a través de Terraform:
terraform init
plan de terraform
terraform aplicar
Una vez que la solicitud de terraform se haya completado con éxito, ¡se ha creado su Grupo de Google!
Los Grupos de Google se pueden ver y administrar en https://groups.google.com . El administrador del grupo, los gerentes y los miembros pueden administrar y verificar el grupo creado a través de la interfaz de usuario si es necesario.

Espero que esta publicación te ayude a automatizar la creación de grupos de Google para tu organización a través de Terraform.
Crear grupos de Google a través de Terraform se publicó originalmente en Google Cloud - Community on Medium, donde las personas continúan la conversación destacando y respondiendo a esta historia.