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 |
Temas relacionados
- Información general sobre el control de acceso de facturación
- Control del acceso de la API Cloud Billing
- Conceder, cambiar y revocar el acceso a miembros del proyecto en la documentación de Cloud IAM