Crea funciones personalizadas para la facturación

Identity and Access Management (IAM) incluye permisos precisos que te permiten otorgar o revocar el acceso a acciones específicas de usuarios individuales. Para simplificar el proceso de asignación de permisos a los usuarios, las funciones de IAM combinan estos permisos precisos en grupos relacionados. La facturación tiene funciones predefinidas, como el administrador de la cuenta de facturación o el visualizador de la cuenta de facturación, que deben funcionar para la mayoría de los usuarios. Sin embargo, si no se ajustan a tus necesidades, las funciones personalizadas te permiten autorizar conjuntos específicos de permisos.

Crea una función personalizada

Las funciones personalizadas se crean en la organización y, luego, se aplican a todas sus cuentas de facturación. En la página Crea y administra funciones personalizadas, en la documentación de IAM, se describe cómo configurar una función personalizada, incluidos los permisos necesarios.

Después de crear las funciones personalizadas, puedes otorgar funciones personalizadas a los usuarios, al igual que las funciones estándares y predefinidas. Obtén más información sobre cómo actualizar los permisos de facturación.

Ejemplo de una función personalizada

Imagina que quisieras otorgar a alguien la capacidad de editar funciones de administración de costos, como la generación de alertas de presupuestos o la exportación de la facturación. Los permisos relevantes son los siguientes:

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

Con las funciones predefinidas, para aplicar estos permisos deberás autorizar la función Administrador de la cuenta de facturación. Esa función, además, incluye permisos para borrar asociaciones de recursos, cancelar suscripciones y cerrar la cuenta de facturación. Si deseas que los usuarios no tengan esas funciones, puedes crear una función personalizada solo con los tres permisos mencionados antes y otorgarle el nombre de administrador de gestión de costos. Luego, puedes aplicar esa función personalizada en combinación con la función de lector de las cuentas de facturación a todos los usuarios que deban contar con permisos amplios de administración de costos, pero sin la capacidad de editar otras propiedades de la cuenta.

Asociación y herencia de los permisos

Puedes autorizar permisos de facturación al nivel de la cuenta de facturación o al nivel del proyecto. La mayoría de los permisos de facturación pertenecen a la cuenta de facturación, por lo que esos permisos deben estar asociados a ella. Por el contrario, otros permisos de facturación pertenecen a un proyecto y deben asociarse a este en lugar de a la cuenta de facturación.

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

Al igual que con otros permisos de IAM, todos los permisos de facturación se heredan desde los niveles superiores en la jerarquía de facturación. Por ejemplo, un usuario con una función que contiene billing.accounts.close en una organización puede cerrar cualquier cuenta de facturación dentro de esa organización. Sin embargo, algunos permisos solo se aplican en niveles superiores. Por ejemplo, el permiso billing.accounts.list no hace nada cuando se aplica a una cuenta de facturación individual, pero un usuario con una función que contiene billing.accounts.list puede enumerar todas las cuentas de facturación dentro de esa organización.

Actividades de facturación

Las siguientes tablas describen las actividades de facturación comunes, los permisos necesarios para ejecutarlas y los recursos a los que se aplican tales permisos.

Administración de cuentas

Acción Permiso Recurso
Obtener información básica de la cuenta (p. ej., nombre de la cuenta, moneda, abierta/cerrada) billing.accounts.get Cuenta de facturación
Actualizar tras usar una prueba gratuita billing.accounts.update Cuenta de facturación
Cambiar el nombre de la cuenta billing.accounts.update Cuenta de facturación
Cambiar el número de orden de compra billing.accounts.update Cuenta de facturación
Cerrar cuenta billing.accounts.close Cuenta de facturación
Reabrir una cuenta cerrada billing.accounts.reopen Cuenta de facturación

Jerarquía de la cuenta de facturación

Acción Permiso Recurso
Mostrar una lista con 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.move Cuenta de facturación
Mueve cuentas entre organizaciones billing.accounts.removeFromOrganization Organización antigua
billing.accounts.create Organización nueva
billing.accounts.move Cuenta de facturación

Información de pago

El perfil de pago incluye el nombre, la dirección y la forma de pago del cliente.

Acción Permiso Recurso
Ver el perfil de pago billing.accounts.getPaymentInfo Cuenta de facturación
Actualizar el perfil de pago billing.accounts.updatePaymentInfo Cuenta de facturación
Visualiza los precios solo de los SKU que generaron uso billing.accounts.getPricing Cuenta de facturación
Visualiza los precios de contratos personalizados por SKU para una cuenta de facturación billing.accounts.getPricing Cuenta de facturación
Visualiza los costos y el uso una cuenta de facturación* billing.accounts.getSpendingInformation Cuenta de facturación
Visualiza los costos y el uso de un proyecto* billing.resourceCosts.get Proyecto
resourcemanager.projects.get Proyecto

Asociaciones de recursos

Para mover un proyecto entre cuentas de facturación se necesitan los mismos permisos que para eliminarlo 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
resourcemanager.projects.get Proyecto
Asociar un proyecto a una cuenta de facturación billing.resourceAssociations.create Cuenta de facturación
resourcemanager.projects.createBillingAssignment Proyecto
Eliminar un proyecto de la cuenta de facturación billing.resourceAssociations.delete Cuenta de facturación
resourcemanager.projects.deleteBillingAssignment Proyecto

Presupuestos y alertas de gastos

Acción Permiso Recurso
Visualiza la lista de presupuestos para una cuenta de Facturación de Cloud billing.budgets.get Cuenta de facturación
billing.budgets.list Cuenta de facturación
Actualiza un presupuesto que esté limitado a una cuenta de Facturación de Cloud billing.budgets.update Cuenta de facturación
Crea un presupuesto para una cuenta de Facturación de Cloud billing.budgets.create Cuenta de facturación
Visualiza la lista de presupuestos que tienen alcance de un solo proyecto resourcemanager.projects.get Proyecto
billing.resourceCosts.get Proyecto
billing.resourcebudgets.read Proyecto
Actualiza un presupuesto que tenga un solo proyecto resourcemanager.projects.get Proyecto
billing.resourceCosts.get Proyecto
billing.resourcebudgets.read Proyecto
billing.resourcebudgets.write Proyecto
Crea un presupuesto que tenga un solo proyecto resourcemanager.projects.get Proyecto
billing.resourceCosts.get Proyecto
billing.resourcebudgets.read Proyecto
billing.resourcebudgets.write Proyecto

Créditos y promociones

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

Política

La política define qué usuarios tienen acceso a determinados recursos en una cuenta de facturación. Para obtener información sobre cómo crear o modificar funciones personalizadas, consulta la sección Crea una función personalizada que aparece anteriormente.

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

Especificaciones de exportación

La especificación de exportación determina dónde enviar una copia de todos los datos relacionados con el uso y puede contener el nombre de un conjunto de datos de BigQuery.

Acción Permiso Recurso
Ver la especificación de la exportación actual (bucket de Cloud°Storage o conjunto de datos de BigQuery donde exportar los datos de uso) billing.accounts.getUsageExportSpec Cuenta de facturación
Modificar la especificación de la exportación billing.accounts.updateUsageExportSpec Cuenta de facturación