Prácticas recomendadas para usar IAM y Cloud Billing en la educación superior

A menudo, universidades, facultades, centros de formación profesional y otras instituciones de educación superior tienen necesidades de TI únicas en comparación con otros tipos de empresas. En esta guía, se presentan prácticas recomendadas y se describe un conjunto de problemas críticos que deben resolverse cuando configures el entorno de Google Cloud en tu institución.

A continuación, se brindan algunas definiciones de conceptos básicos para que sea más fácil comprender esta guía.

nodo de organización
El nodo de organización (nodo org) representa a una organización, como la escuela. Es el nodo raíz en la jerarquía de los recursos de Google Cloud.
carpeta
Con las carpetas, se organizan los recursos pertenecientes a tu organización. Cuando configuras las políticas de Identity and Access Management (IAM) a nivel de carpeta, estas se aplican de forma transitiva a los recursos que contiene la carpeta.
proyecto
El nivel del proyecto es el que empleas para habilitar y usar todos los servicios de Google Cloud, administrar las API y la facturación, agregar o quitar colaboradores y administrar permisos.
IAM
IAM controla las políticas para tu organización y tus proyectos. Determina el nivel de acceso que tiene cada miembro de un proyecto para administrar las máquinas virtuales (VM), los registros y otros recursos.
función
Una función es una colección de permisos. No es posible asignar permisos directamente a los usuarios. Lo que se hace es asignarles funciones. Cuando se asigna una función a un usuario, se le otorgan todos los permisos correspondientes.
recurso
Los recursos pueden ser físicos, como una computadora o un disco duro, o virtuales, como una máquina virtual (VM). Los proyectos, las instancias de Compute Engine y los depósitos de Cloud Storage son distintos ejemplos de recursos.

Configura G Suite for Education

Si tu institución educativa está investigando las capacidades de Google Cloud, la configuración de G Suite for Education suele ser el punto de partida. Incluso si no tienes la intención de usar Gmail, configurar G Suite for Education y, luego, inhabilitar los servicios que no usas te permite aprovechar las cuentas de usuario y los grupos para la identificación y autenticación de Google Cloud. En el caso de las entidades comerciales que no cumplen con los requisitos para obtener cuentas gratuitas de G Suite for Education, Cloud Identity es una opción.

Administra recursos

Google Cloud proporciona un sistema jerárquico de contenedores que consiste en organizaciones, carpetas y proyectos. Dentro de esas estructuras, puedes organizar otros recursos, como las máquinas virtuales (VM) de Compute Engine y los temas de Pub/Sub. Esta jerarquía ayuda a administrar las propiedades compartidas entre varios recursos, como el control de acceso y los ajustes de la configuración. Puedes administrar estos recursos de manera programática con Resource Manager.

Las instituciones grandes (incluidas muchas universidades) suelen tener bastantes proyectos y usuarios que interactúan directamente con los recursos de Google Cloud. Para respaldar mejor las estrategias existentes de control de acceso y de administración de TI, te recomendamos que implementes un enfoque centralizado para la organización de los recursos de Google Cloud.

Organizaciones y carpetas

Los recursos están dispuestos en una estructura que tiene al nodo de organización como raíz. Las carpetas pueden anidarse en hasta cuatro niveles dentro del nodo de organización. Estas carpetas pueden contener proyectos que, a su vez, contienen otros recursos como nodos secundarios. Cada recurso depende de exactamente un elemento de nivel superior. Cuando se definen las políticas de control de acceso y los ajustes de configuración de un elemento de nivel superior, los recursos secundarios que dependen de él heredan esas políticas y configuraciones.

Un nodo de organización garantiza que los administradores avanzados puedan ver todos los proyectos que crean los usuarios en el dominio de G Suite for Education. Cada dominio principal en G Suite for Education tiene un nodo de organización. Los dominios secundarios de G Suite no tienen un nodo propio de organización. En la configuración predeterminada, el administrador avanzado de G Suite tiene acceso irrevocable para configurar las políticas de la organización. En el caso de las organizaciones que cuentan con una administración separada para TI y los servicios de nube, el administrador avanzado de G Suite debe asignar un administrador de organización para que se encargue de esta tarea.

La estructura de una organización típica de Google Cloud podría verse así:

Estructura de una organización típica de Google Cloud

Si la institución tiene proyectos anteriores al establecimiento del nodo de organización, estos pueden integrarse a la nueva estructura a través del proceso de migración.

El siguiente comando permite ver una lista de todos los proyectos incluidos en el nodo de la organización:

gcloud projects list --filter "parent.type=organization parent.id=$ORG_ID"

Cuando una escuela con un dominio de G Suite for Education adopta Google Cloud, se establece mediante la configuración predeterminada que solo habrá un nodo de organización. En la siguiente sección, analizaremos las diferencias entre contar con uno o varios nodos de organización.

Cuándo usar un nodo de organización centralizado

El nodo de organización centralizado corresponde al dominio de G Suite, que funciona como fuente de información central de Cloud IAM. Cada carpeta puede configurarse con sus propios administradores centrales y con Cloud IAM y otras políticas independientes.

nodo de organización centralizado

Para obtener más información, consulta los siguientes recursos:

Los recursos globales, como las imágenes compartidas y las redes de varios proyectos, pueden alojarse en una carpeta con permisos que posibiliten el acceso a todos los usuarios de la organización.

Cuándo usar nodos de organización separados

Si se desea tratar a los departamentos de la institución educativa como entidades aisladas sin una administración central, se pueden crear organizaciones separadas, como se muestra en el siguiente diagrama.

estructura organizativa separada

Para implementar esta configuración, establece school.edu y lab3.school.edu como dominios principales de G Suite independientes, lo que genera nodos de organización discretos. Esta opción resulta recomendable solo cuando se tomó alguna de las siguientes determinaciones:

  • Contar con dominios de identidad separados
  • Diferencia los ajustes de IAM, funciones personalizadas, facturación, cuota y configuración del nodo de organización central school.edu.

Para muchas escuelas con un control de TI centralizado, la administración de dos entornos independientes de Google Cloud crea una sobrecarga adicional. Además, las políticas de los distintos nodos de organización pueden ir diferenciándose cada vez más con el tiempo.

Cómo usar las carpetas

Las carpetas te permiten organizar los recursos de Google Cloud, aplicar políticas, delegar privilegios administrativos y darles a los departamentos y a los equipos mayor autonomía. También son una forma de administrar las políticas y controlar el acceso en un nivel superior al de cada proyecto. Las carpetas, los proyectos y los recursos que se anidan dentro de una carpeta heredan las políticas de la carpeta superior.

A continuación, se describen algunas situaciones en las que puede ser indicado usar carpetas:

  • La institución tiene facultades independientes, como ingeniería, negocios y bellas artes, cada una con su propio grupo de TI.
  • Se busca mantener una correspondencia con una estructura establecida que se basa en un directorio LDAP, como Microsoft Active Directory.
  • Se quiere dividir los proyectos por caso práctico, p. ej., infraestructura de TI, computación de investigación o enseñanza y aprendizaje.

Proyectos y recursos

Todos los recursos de Google Cloud que asignas y usas deben pertenecer a un proyecto. El proyecto puede considerarse la entidad organizadora de lo que se está creando. Un proyecto consta de la configuración, los permisos y otros metadatos que describen las aplicaciones. Los recursos que se encuentran dentro de un proyecto trabajan juntos sin problemas, ya que se comunican a través de una red interna, que está sujeta a reglas que varían según la región o la zona. Los recursos que usa cada proyecto mantienen su independencia según los límites de cada uno. La única manera de vincularlos es mediante una conexión de red externa o una red de nube privada virtual (VPC) compartida.

Cada proyecto de Google Cloud tiene las siguientes características:

  • Un nombre de proyecto, del que te encargas de asignar
  • Un ID del proyecto, que lo puedes proporcionar o que lo puede brindar Google Cloud
  • Un número de proyecto, que proporciona Google Cloud

Cuando configuras un proyecto nuevo, puedes tomar cualquiera de estas situaciones como base:

  • La propiedad de las aplicaciones o los proyectos, p. ej., cuando se configura un proyecto que gira en torno a una carga de trabajo o un equipo pequeño
  • La división de una aplicación entre los proyectos que son de producción y los que no lo son. De esta manera, los cambios que se realicen en el entorno de pruebas de no producción no afectarán al entorno de producción. Además, los cambios se pueden promover o propagar mediante secuencias de comandos de implementación
  • Separación de los recursos de procesamiento y de datos de labs o proyectos diferentes dentro de un lab. Esta separación permite la autonomía total o separación de datos entre los proyectos, lo cual es útil si un lab trabaja en varios proyectos con partes interesadas en competencia

Los proyectos se pueden asociar con cuentas de facturación, lo que se explica más adelante en este documento. Debe tenerse en cuenta que solo los usuarios con la función de Administrador de cuenta de facturación o Usuario de cuenta de facturación puede asociar un proyecto nuevo con una cuenta de facturación existente.

Cuotas

Muchos recursos dentro de Google Cloud están limitados por las cuotas. Por ejemplo, un proyecto nuevo que esté vinculado a una cuenta de facturación asociada recientemente tiene una cuota de ocho CPU virtuales de Compute Engine. Puede solicitarse un aumento de la cuota para incrementar los límites o agregar recursos adicionales (p. ej., GPU, que no se incluyen en la configuración predeterminada).

Además de las cuotas para los recursos, las organizaciones están sujetas a cuotas sobre la cantidad de proyectos que pueden crear. Incluso si borras un proyecto, este sigue siendo parte de la cuota del proyecto durante algunos días hasta, que su eliminación se vuelve definitiva.

Límites de confianza

Cuando se determina la estructura de un proyecto, deben tenerse en cuenta los límites de confianza de TI, que probablemente sigan un modelo de seguridad o administración de TI existente. Por ejemplo, ¿las distintas facultades, como las de ingeniería, negocios y abogacía, implementan límites de confianza entre sí? ¿Existen relaciones de confianza entre los diferentes departamentos dentro de cada facultad?

Cuando se implementa la recomendación del acceso de mínimo privilegio para la seguridad de TI, se pueden asignar diferentes funciones a las cuentas de usuario y a las cuentas de servicio de uno o varios proyectos. Si un usuario tiene acceso de administrador en un proyecto, pero solo debe tener acceso de visualizador o de solo lectura en otro proyecto, puedes definir esas funciones de manera explícita mediante la política de IAM en Google Cloud. Para obtener más información, consulta la guía de IAM sobre el privilegio mínimo.

Políticas de IAM

A menudo, las organizaciones grandes dividen los equipos encargados de las operaciones, como el de seguridad y administración de redes, de los equipos encargados de los productos. Con esta división, es necesario usar recursos que administran otros equipos y seguir el principio de mínimo privilegio. Puedes configurar esta división mediante la IAM y las cuentas de servicio.

Con IAM, administras el control de acceso mediante la definición de qué nivel de acceso tiene cada usuario para cada recurso. Puedes otorgar funciones a los usuarios mediante la creación de una política de IAM, que es una colección de instrucciones vinculada a un recurso que define y controla el tipo de acceso que tiene cada usuario a ese recurso. Para otorgar acceso detallado a recursos específicos de Google Cloud, usa funciones predefinidas o define funciones personalizadas de IAM.

Cómo usar cuentas con privilegios

De acuerdo con el principio de mínimo privilegio, las funciones de administrador avanzado deben asignarse a cuentas que se usan con poca frecuencia. Por ejemplo, puedes usar jo.watanabe@school.edu para las actividades diarias, pero usa jo.watanabe.admin@school.edu cuando realices cambios en la Consola del administrador de G Suite o Cloud Console.

Cómo usar las cuentas de servicio

Google Cloud usa cuentas de servicio de IAM para invocar llamadas a la API de Google, de modo que las credenciales de usuario individuales no estén involucradas de manera directa. Una de las características de estas cuentas es que se las trata como una identidad y como un recurso.

  • Cuando una cuenta de servicio funciona como una identidad, se le asignan funciones para que pueda acceder a un recurso, como un bucket de Cloud Storage.

  • Cuando una cuenta de servicio funciona como recurso, debes otorgarles permiso a los usuarios a fin de que puedan acceder a ella, tal como les otorgas permiso para acceder a un conjunto de datos de BigQuery. Las funciones que puedes asignar son las de propietario, editor, lector o usuario de cuenta de servicio. Los usuarios que tienen una cuenta de servicio pueden acceder a todos los mismos recursos que la cuenta de servicio en sí.

Cuándo usar grupos

El uso de grupos en lugar de personas individuales en las políticas permite que, cuando un equipo adquiere o pierde miembros, los administradores puedan ajustar las suscripciones del grupo. De esta manera, se realizan automáticamente los cambios correctos a la política. Para implementar esta práctica, deben crearse grupos correspondientes a distintos puestos de trabajo en cada proyecto o carpeta. Luego, se asignan diversas funciones a cada grupo, según sea necesario para el puesto de trabajo correspondiente.

Google Groups for Business es parte de G Suite y se encarga de la administración de los grupos. Los usuarios admin o administradores delegados de G Suite pueden usar la Consola del administrador para acceder a esta herramienta.

Opciones de Herramientas de redes

Con una nube privada virtual (VPC), pueden aislarse los servicios de nube privada. Por ejemplo, puede usarse VPC para configurar una red, un espacio de IP privado de tipo RFC 1918 común, que abarque a todos los proyectos. Luego, se agregan instancias de cualquier proyecto a esta red o las subredes.

También se puede conectar una red privada virtual (VPN) a una sola red, que pueden usar todos los proyectos o un subconjunto de ellos. La conexión de VPN se puede usar para conectarse a un espacio de IP RFC 1918 específico de Google Cloud o extender el espacio de IP RFC 1918 de tu red local.

Google ofrece las siguientes opciones para la conexión de instancias de VPC.

Interconexión Intercambio de tráfico
Interconexión dedicada VPN con IPsec Intercambio de tráfico directo Intercambio de tráfico por proveedores
Es útil para extender a la nube las redes corporativas y el espacio de IP RFC 1918.

No se requiere una VPN para acceder a los recursos de Google Cloud en tu VPC.
Es útil para establecer un túnel en la Internet pública que conecte a Google y para las conexiones de datos de poco volumen. Es útil para conectarse directamente con Google y ahorrar el 50% en tarifas de egreso en comparación con una VPN o el acceso público por Internet. Es útil para obtener las ventajas del intercambio de tráfico directo, pero no se cumplen los requisitos de intercambio de tráfico sin socio.
10 Gbps para cada vínculo 1.5 a 3 Gbps para cada túnel 10 Gbps para cada vínculo Varía según la oferta del socio

Para obtener más información acerca de estas opciones, consulta la página de Cloud Interconnect.

Cuándo usar el intercambio de tráfico directo

Cualquier cliente de Google Cloud que tenga un número de sistema autónomo (ASN) registrado y prefijos de IP enrutables de forma pública puede establecer un intercambio de tráfico directo con Google. Para esta opción, se usa el mismo modelo de interconexión que la Internet pública, excepto que no hay un proveedor de servicios como intermediario. Obtén más información sobre el intercambio de tráfico con Google.

Cuándo usar el intercambio de tráfico con proveedores

Para los clientes que no tienen números de sistema autónomo (ANS) públicos o que quieren conectarse con Google a través de un proveedor, Google ofrece el servicio de intercambio de tráfico con proveedores. El intercambio de tráfico con proveedores está diseñado para los clientes que buscan conectividad de calidad empresarial con la red perimetral de Google.

Facturación de Cloud

Puedes usar Cloud Console para administrar tu cuenta de facturación de Cloud. Desde Cloud Console, puedes actualizar la configuración de la cuenta, como las formas de pago y los contactos administrativos. También puedes configurar Cloud Console para establecer presupuestos, activar alertas, ver tu historial de pagos y exportar datos de facturación.

Para la mayoría de los usuarios, una sola cuenta de facturación de Cloud es suficiente. Los descuentos para la institución se aplican a todos los proyectos asociados con la cuenta. Los usuarios realizan un solo pago a Google correspondiente a la factura mensual y los proyectos de departamentos o labs específicos se pueden cobrar con un proceso interno de contracargos de TI.

La cuenta de facturación única funciona de la siguiente manera:

cuenta de facturación única

Además, mediante las consideraciones de facturación se puede impulsar la organización de proyectos y carpetas en Google Cloud. Según tus centros de costos internos, puedes elegir una organización como la que se muestra en el siguiente diagrama.

cuenta de facturación separada en carpetas

  • En este diagrama, las carpetas identifican a todos los proyectos y recursos asociados con un proyecto de TI, centro de costos o departamento.
  • Los proyectos organizan los recursos. El costo se muestra por proyecto, y los ID del proyecto están incluidos en la exportación de la facturación.
  • Los proyectos se anotan con etiquetas que representan la información adicional de los grupos, como environment=test. Las etiquetas se incluyen en la exportación de la facturación.
  • El centro de costos se codifica en el nombre o el ID del proyecto.

Este modelo funciona bien cada carpeta se alinea con un centro de costos interno diferente. Sin embargo, los contracargos internos son necesarios porque Google envía una sola factura para cada cuenta de facturación determinada.

También existe la opción de usar varias cuentas de facturación si los centros de costos deben pagar una factura separada o se pueden pagar algunas cargas de trabajo con una moneda distinta. Es posible que este enfoque requiera que se firme un acuerdo para cada cuenta de facturación.

Administración de las cuentas de Cloud Billing

Las funciones de las cuentas de Cloud Billing ayudan a administrar las cuentas de facturación. Pueden asignarse las siguientes funciones de facturación en el nivel de la organización.

Función Descripción
Administrador de cuentas de facturación Administra todas las cuentas de facturación de la organización.
Creador de cuentas de facturación Crea cuentas de facturación en la organización.
Usuario de cuenta de facturación Vincula proyectos con cuentas de facturación.
Administrador de facturación del proyecto Proporciona acceso para asignar la cuenta de facturación a un proyecto o inhabilitar la facturación en un proyecto.

La función de Administrador de cuentas de facturación debe asignarse en el nivel del nodo de organización para permitir la visualización de todas las cuentas de facturación de la organización. Para limitar quién puede crear cuentas de facturación y cómo, debe usarse la función de Creador de cuentas de facturación y limitar qué usuarios tienen este permiso. Los siguientes artículos del Centro de ayuda de Google contienen más información al respecto:

Modificación de las cuentas de facturación

Para cambiar las cuentas de facturación de Cloud de un proyecto o inhabilitar la facturación directamente, debes seguir estos pasos:

  1. En Cloud Console, en el menú de navegación de la izquierda, haz clic en Facturación.
  2. A la derecha del nombre del proyecto, haz clic en el ícono de tres puntos y, luego, selecciona Change billing account (Cambiar cuenta de facturación). También puedes usar este ícono para inhabilitar la facturación, que también inhabilitará el proyecto.

    cambiar cuenta de facturación

Crea un presupuesto

Los presupuestos generan alertas, pero no desactivan la facturación de los proyectos. Es decir, que el proyecto sigue funcionando incluso si se excede el presupuesto. Si un proyecto está consumiendo recursos más allá de lo establecido en el presupuesto, la facturación debe inhabilitarse manualmente. También se pueden detener los recursos que generan gastos para evitar que se siga excediendo el presupuesto. Dado que el presupuesto no se actualiza en tiempo real, es posible que transcurran uno o dos días antes de que se vuelva evidente que un proyecto está generando un gasto superior a lo previsto.

Estos son los pasos necesarios para crear un presupuesto:

  1. En Cloud Console, ve al menú Billing (Facturación), haz clic en Budgets & alerts (Presupuestos y alertas) y, luego, en Create budget (Crear presupuesto).

    crear presupuesto

    En este ejemplo, la cuenta ya excedió el presupuesto mensual. Recuerda que los presupuestos no desactivan los servicios, sino que generan notificaciones para informarle al administrador de facturación sobre el gasto excesivo.

  2. Ingresa los detalles del presupuesto y en qué niveles de consumo deseas recibir las alertas.

    alertas de presupuesto

  3. En Project or billing account (Proyecto o cuenta de facturación), determina si deseas supervisar el presupuesto general o los proyectos individuales. La característica de presupuestos funciona en períodos mensuales. Puedes indicar el valor que quieres asignarle al presupuesto para un mes determinado.

Configura la exportación de la facturación

Si deseas obtener un informe detallado sobre todos los servicios que usa tu cuenta de facturación de Cloud, configura Billing export (Exportación de facturación) en el menú Billing (Facturación) de Cloud Console. Los detalles pueden almacenarse en Cloud Storage o BigQuery. Si se usa Cloud Storage, los datos pueden almacenarse en los formatos JSON o CSV.

exportación de la facturación

Si se exportan los datos de facturación a BigQuery, pueden encontrarse con rapidez los proyectos que están gastando por encima del límite configurado. También se puede ver qué servicios se están cobrando. Por ejemplo, con la siguiente consulta se genera una lista con todos los proyectos que gastaron más de $0.10 durante el mes en curso. Solo hay que reemplazar [YOUR_BIGQUERY_TABLE] con el nombre de la tabla de la institución.

SELECT
  project.name,
  cost
FROM
  [YOUR_BIGQUERY_TABLE]
WHERE
  cost > 0.1
ORDER BY
  cost DESC

¿Qué sigue?