Roles de IAM para funciones de tareas relacionadas con la facturación

En esta página, se muestra cómo configurar los permisos de Cloud IAM para un conjunto de situaciones de facturación de muestra. Se proporciona orientación sobre las funciones de Cloud IAM que se deben otorgar a las competencias funcionales relacionadas con la facturación de tu empresa para esas situaciones. Estos ejemplos están dirigidos principalmente a administradores de facturación y empleados que administran las tareas de facturación de una organización.

En este documento, no se explican en detalle las funciones ni los permisos de facturación. Para obtener una descripción detallada de las funciones y los permisos de la API de facturación, lee la página Control del acceso de la API Cloud Billing.

Una empresa pequeña que configura los permisos de facturación

En este caso, una empresa pequeña está intentando configurar y usar las cuentas de facturación de Google. Tiene varios ingenieros que desarrollan y mantienen sus aplicaciones, pero ninguno de ellos administra su facturación. Tienen un gerente de oficina, quien es responsable de hacer coincidir los pagos con las facturas, pero a quien no se le permite tener acceso a los recursos de Cloud Platform en los proyectos por razones de cumplimiento. El director general también tiene y administra los detalles de las tarjetas de crédito.

En la siguiente tabla, se explican las funciones de facturación de Cloud IAM que el administrador de la organización (que es el director general en este caso) puede otorgar a las demás personas de la empresa y el nivel de recursos al que otorga las funciones.

Función: Administrador de la organización La función de administrador de la organización le da al director ejecutivo la capacidad de asignar permisos al gerente de oficina.
Recurso: Organización
Miembro: Director ejecutivo
Función: Administrador de cuentas de facturación La función de administrador de la cuenta de facturación permite que el administrador de oficina y el director general administren los pagos y las facturas sin otorgarles permiso para ver el contenido de los proyectos.
Recurso: Organización
Miembros: Gerente de oficina, director general

La política de Cloud IAM adjunta al recurso de la organización para esta situación será similar a la que se muestra a continuación:

{
  "bindings": [
  {
    "members": [
      "user:ceo@example.com"
    ],
    "role": "roles/resourcemanager.organizationAdmin"
  },
  {
    "members": [
      "group:finance-admins-group@example.com"
    ],
    "role": "roles/billing.admin"
  }
  ]
}

La práctica recomendada es usar grupos para administrar miembros. En el ejemplo anterior, para la segunda vinculación, debes agregar al director general y al gerente de oficina al finance-admins-group. Cuando necesitas modificar quién es capaz de llevar a cabo la función, tan solo debes ajustar la membresía del grupo, sin necesidad de actualizar la política. Por lo tanto, las dos cuentas de usuario individuales no aparecen en la lista de miembros.

Equipos de finanzas que administran los presupuestos

En este caso, una organización grande desea que el equipo de finanzas de cada división pueda establecer presupuestos y ver la inversión del equipo en la división, pero que no tenga acceso a los recursos de Google Cloud. No les importa si los desarrolladores ven el gasto para sus propios proyectos, pero no se les debe permitir a los desarrolladores tener una visión amplia de los gastos.

Otorga las funciones de la siguiente tabla al gerente de finanzas de cada división y a los desarrolladores:

Función: Administrador de cuentas de facturación Con esta función, se otorga al gerente de finanzas de cada división el permiso para establecer presupuestos y ver los gastos de las cuentas de facturación de sus divisiones, pero no le otorga permisos para ver el contenido del proyecto.
Recurso: Cuenta de facturación
Miembros: Gerente de finanzas de cada división
Función: Visualizador La función de visualizador permite a los desarrolladores ver los gastos de los proyectos que poseen.
Recurso: Proyecto
Miembros: Desarrolladores del proyecto

Para esta situación, necesitarás dos acciones distintas a fin de asignar las políticas de Cloud IAM de permisos adecuadas, ya que se adjuntan en diferentes niveles de jerarquía.

Asignación de permisos a la cuenta de facturación:

Usa la consola de facturación para otorgar a un usuario la función de administrador de la cuenta de facturación en esta cuenta. Desde la cuenta que configuró la cuenta de facturación, otorga al gerente de finanzas la función de administrador de la cuenta de facturación en esta cuenta.

La política de Cloud IAM que se debe vincular al proyecto será similar a la que se muestra a continuación:

{
  "bindings": [
  {
     "role": "roles/viewer",
     "members": [
               "group:developers@example.com"
     ]
  }
  ]
}

Portal de autoservicio para clientes, en el que los desarrolladores no pueden ajustar la facturación

En este caso, el equipo central de TI de un cliente proporciona recursos de Google Cloud a sus desarrolladores como parte de su portal de autoservicio. Los desarrolladores solicitan acceso a los proyectos de Google Cloud y a otros servicios en la nube aprobados a través del portal. El centro de costos del desarrollador paga al equipo central de TI por los recursos en la nube que se consumieron.

El equipo central de TI debe ser capaz de hacer las acciones siguientes:

  • Asociar proyectos a las cuentas de facturación
  • Desactivar la facturación de los proyectos
  • Ver la información de la tarjeta de crédito

No deben tener permisos para ver los contenidos del proyecto.

Los desarrolladores deben poder ver los costos reales de los recursos de Google Cloud que se consumen, pero no deben poder desactivar la facturación, asociar la facturación a proyectos ni ver la información de la tarjeta de crédito.

Función: Administrador de cuentas de facturación La función de administrador de la cuenta de facturación otorga al departamento de TI los permisos para asociar proyectos a cuentas de facturación, desactivar la facturación de proyectos y ver la información de la tarjeta de crédito de las cuentas que revenden a sus clientes.

No les da permisos para ver el contenido de los proyectos.

Recurso: Cuenta de facturación
Miembro: Departamento de TI
Función: Usuario de cuenta de facturación La función de usuario de la cuenta de facturación otorga a la cuenta de servicio los permisos a fin de habilitar la facturación (asociar proyectos a la cuenta de facturación de la organización para todos los proyectos de esta) y, por lo tanto, permitir que la cuenta de servicio habilite las API que requieren que se habilite la facturación.
Recurso: Organización
Miembro: Cuenta de servicio que se utiliza para automatizar la creación de proyectos
Función: Visualizador La función de visualizador permite a los desarrolladores ver los gastos de los proyectos que poseen.
Recurso: Proyecto
Miembros: Desarrolladores del proyecto

Para esta situación, necesitarás dos operaciones distintas a fin de asignar las políticas de Cloud IAM adecuadas, ya que se vinculan en diferentes niveles de jerarquía.

Usa la consola de facturación para otorgar a un usuario la función de administrador de la cuenta de facturación en esta cuenta. Desde la cuenta que configuró la cuenta de facturación, otorga al gerente de finanzas la función de administrador de la cuenta de facturación en esta cuenta.

Luego, necesitarás dos políticas de Cloud IAM distintas, ya que las debes vincular en niveles diferentes de jerarquía.

La primera política de Cloud IAM que se debe vincular a nivel de la organización es la que otorga la función del usuario de la cuenta de facturación a la cuenta de servicio. Tendrá un aspecto similar al siguiente:

{
  "bindings": [
  {
     "role": "roles/billing.user",
     "members": [
       "serviceAccount:my-project-creator@shared-resources-proj.iam.gserviceaccount.com"
     ]
  }
  ]
}

La segunda política de Cloud IAM debe adjuntarse a nivel de proyecto. Otorga a los desarrolladores la función de visualizador en el proyecto:

{
  "bindings": [
  {
     "role": "roles/viewer",
     "members": [
       "group:developers@example.com"
     ]
  }
  ]
}

Desarrolladores que crean proyectos facturados

Un nativo digital importante desea permitir a todos sus desarrolladores crear proyectos facturados en la cuenta facturada de su organización sin otorgarles los derechos de administrador de la cuenta de facturación.

Un proyecto debe tener habilitada la facturación para garantizar que se puedan habilitar las API que no se encuentren en la configuración predeterminada. Por lo tanto, si un desarrollador crea un proyecto, debe asociarlo a una cuenta de facturación para habilitar las API.

Función: Creador de cuentas de facturación La función de creador de facturación permitirá a los desarrolladores realizar las acciones siguientes:
  • Crear cuentas de facturación nuevas
  • Adjuntar las cuentas de facturación a los proyectos
Recurso: Proyecto
Miembros: Desarrolladores

La política de Cloud IAM para este caso se debe vincular a nivel de proyecto y tendrá un aspecto similar al siguiente:

{
  "bindings": [
  {
     "role": "roles/billing.creator",
     "members": [
               "group:developers@example.com"
     ]
  }
  ]
}

Agregación de costos

En esta situación, una empresa desea calcular y realizar un seguimiento de cuánto les cuesta cada equipo, departamento, servicio o proyecto. Por ejemplo, realizar un seguimiento de cuánto les cuesta una implementación de prueba cada mes.

Se puede hacer un seguimiento de esto con las siguientes prácticas:

  • Con proyectos para organizar recursos. El costo se muestra por proyecto y los ID de proyecto se incluyen en la exportación de la facturación.
  • Anotando proyectos con etiquetas que representen información adicional de agrupación. Por ejemplo, environment=test. Las etiquetas se incluyen en la exportación de facturación para que puedas desglosar aún más. Sin embargo, las etiquetas de un proyecto se autorizan de la misma manera que el resto de los metadatos del proyecto, lo que significa que el propietario del proyecto puede cambiar las etiquetas. Puedes educar a tus empleados sobre lo que no se debe cambiar y, luego, supervisar (a través de los registros de auditoría) o puedes otorgarles solo permisos detallados para que no puedan cambiar los metadatos del proyecto.

Puedes exportar a JSON y CSV, pero exportar directamente a BigQuery es la solución que recomendamos. Esto se configura fácilmente desde la sección de exportación de facturación de la consola de facturación.

Si cada centro de costo debe pagar una factura por separado o pagar en una moneda diferente para algunas cargas de trabajo, entonces se requiere una cuenta de facturación por cada centro de costo. Sin embargo, este enfoque requeriría un acuerdo de afiliación firmado para cada cuenta de facturación.