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 |
Temas relacionados
- Descripción general del control de acceso a la facturación
- Control de acceso a la API de Facturación de Cloud
- Cómo otorgar, cambiar y revocar el acceso en la documentación de la administración de identidades y accesos