Crear funciones personalizadas de facturación

Cloud Identity and Access Management (IAM) incluye permisos detallados que te permiten otorgar o revocar el acceso a acciones específicas a los usuarios. Para simplificar el proceso de asignación de permisos, las funciones de Cloud IAM combinan estos permisos detallados en grupos relacionados. La facturación cuenta con funciones predefinidas que deberían funcionar para la mayoría de los usuarios, como la de administrador de cuentas de facturación o la de lector de cuentas de facturación. Sin embargo, si estas no se ajustan a tus necesidades, dispones de funciones personalizadas, que te permiten conceder conjuntos de permisos más específicos.

Crear una función personalizada

Las funciones personalizadas se crean en la organización y, luego, se pueden aplicar a cualquier cuenta de facturación de la organización. Una vez creadas, puedes otorgárselas a los usuarios a través de la página de información general de facturación de la consola, al igual que con las funciones predefinidas estándar.

En la página Crear y administrar funciones personalizadas de la documentación de Cloud IAM se describe cómo configurar una función personalizada, incluidos los permisos necesarios.

Ejemplo de función personalizada

Imagina que quieres conceder a alguien la capacidad de editar funciones de administración de costes, como los presupuestos y la exportación de facturación. Estos son los permisos correspondientes:

  • billing.budgets.create
  • billing.budgets.update
  • billing.accounts.updateUsageExportSpec

En el caso de las funciones predefinidas, si quieres aplicar estos permisos, deberás otorgar la función de administrador de cuentas de facturación. Esta función también concede el permiso para eliminar asociaciones de recursos, cancelar suscripciones y cerrar cuentas de facturación. Si prefieres que tus usuarios no tengan la posibilidad de realizar estas acciones, puedes crear una función personalizada que incluya solo los tres permisos anteriores y asignarle el nombre administrador de costes. A continuación, podrías aplicar esa función personalizada junto con la de lector de cuentas de facturación a cualquier usuario que deba contar con permisos generales de administración de costes, pero no con la capacidad de editar otras propiedades de la cuenta.

Asociación y herencia de permisos

Puedes otorgar permisos de facturación tanto en las cuentas de facturación como en los proyectos. La mayoría de estos permisos atañen a las cuentas de facturación, por lo que las funciones que contengan dichos permisos deben estar asociadas a una cuenta de esta índole. No obstante, hay otros permisos de facturación que corresponden a proyectos y, por ello, deben asociarse al proyecto en cuestión, no a una cuenta de facturación.

Por ejemplo, para asociar un proyecto a una cuenta de facturación, se requiere el permiso billing.resourceAssociations.create en la cuenta de facturación y el permiso resourcemanager.projects.createBillingAssignment en el proyecto. Esto se debe a que los permisos de proyecto son necesarios para realizar acciones en las que los propietarios del proyecto controlan el acceso, mientras que los permisos de cuenta de facturación se requieren para las acciones en las que los administradores de la cuenta de facturación controlan el acceso. Cuando ambas partes deban estar involucradas, se necesitarán los dos permisos.

Como sucede con otros permisos de Cloud IAM, todos los permisos de facturación se heredan de niveles superiores de la jerarquía de facturación. Por ejemplo, un usuario con una función que contenga el permiso billing.accounts.close en una organización puede cerrar cualquier cuenta de facturación de dicha organización. No obstante, algunos permisos solo se pueden aplicar a niveles superiores. Por ejemplo, billing.accounts.list no tiene ningún efecto cuando se aplica a una cuenta de facturación específica, pero un usuario cuya función contenga billing.accounts.list en una organización puede crear una lista de todas las cuentas de facturación de esa organización.

Actividades de facturación

En las siguientes tablas se describen las actividades de facturación más habituales, los permisos necesarios para realizarlas y el recurso al que se aplican esos permisos.

Gestión de cuentas

Acción Permiso Recurso
Obtener información básica de una cuenta (por ejemplo, su nombre, su moneda o si está abierta o cerrada) billing.accounts.get Cuenta de facturación
Actualizar la versión de prueba gratuita a una superior billing.accounts.update Cuenta de facturación
Cambiar el nombre de una cuenta billing.accounts.update Cuenta de facturación
Cambiar el número de una orden de compra billing.accounts.update Cuenta de facturación
Cerrar una cuenta billing.accounts.close Cuenta de facturación
Reabrir una cuenta cerrada billing.accounts.reopen Cuenta de facturación

Jerarquía de una cuenta de facturación

Acción Permiso Recurso
Generar una lista de las cuentas de una organización billing.accounts.list Organización
Crear cuentas en una organización billing.accounts.create Organización
Mover una cuenta a una organización billing.accounts.create Organización
billing.accounts.update Cuenta de facturación
Mover una cuenta entre organizaciones billing.accounts.removeFromOrganization Cuenta de facturación (u organización anterior)
billing.accounts.create Nueva organización
billing.accounts.update Cuenta de facturación

Datos de pago

En el perfil de pagos se incluye el nombre del cliente, la dirección y el método de pago.

Acción Permiso Recurso
Ver un perfil de pagos billing.accounts.getPaymentInfo Cuenta de facturación
Actualizar un perfil de pagos billing.accounts.updatePaymentInfo Cuenta de facturación
Consultar los costes y el uso billing.accounts.getSpendingInformation Cuenta de facturación

Asociaciones de recursos

Para mover un proyecto entre cuentas de facturación, es necesario contar con los mismos permisos que para quitarlo de la cuenta de facturación original y asociarlo con la nueva.

Acción Permiso Recurso
Ver asociaciones de proyectos billing.resourceAssociations.list Cuenta de facturación
Asociar un proyecto a una cuenta de facturación billing.resourceAssociations.create Cuenta de facturación
resourcemanager.projects.createBillingAssignment Proyecto
Quitar un proyecto de una cuenta de facturación billing.resourceAssociations.delete Cuenta de facturación
resourcemanager.projects.deleteBillingAssignment Proyecto

Presupuestos

Acción Permiso Recurso
Ver una lista de presupuestos, incluido el gasto del mes hasta la fecha billing.budgets.get Cuenta de facturación
billing.budgets.list Cuenta de facturación
Actualizar un presupuesto billing.budgets.update Cuenta de facturación
Crear un presupuesto billing.budgets.create Cuenta de facturación

Créditos y promociones

Acción Permiso Recurso
Ver una lista de créditos, incluidos el importe original y el restante billing.credits.list Cuenta de facturación
Canjear un código promocional billing.credits.create Cuenta de facturación
billing.accounts.update Cuenta de facturación

Política

La política define qué usuarios tienen acceso a qué recursos en una cuenta de facturación. Para obtener más información sobre cómo crear o modificar funciones personalizadas, consulta la sección Crear una función personalizada más arriba.

Acción Permiso Recurso
Ver las funciones de una cuenta, incluidos los nombres de usuario asociados billing.accounts.getIamPolicy Cuenta de facturación
Otorgar funciones a los usuarios de una cuenta billing.accounts.setIamPolicy Cuenta de facturación

Especificaciones de exportación

En una especificación de exportación se indica dónde se debe enviar una copia de todos los datos relacionados con el uso y puede contener el nombre de un segmento de Cloud Storage o de un conjunto de datos de BigQuery.

Acción Permiso Recurso
Ver la especificación de la exportación actual (segmento de Cloud Storage o conjunto de datos de BigQuery al que se exportan los datos de uso) billing.accounts.getUsageExportSpec Cuenta de facturación
Modificar una especificación de exportación billing.accounts.updateUsageExportSpec Cuenta de facturación
¿Te ha resultado útil esta página? Enviar comentarios: