Google Cloud ofrece la función de Identity and Access Management (IAM), que te permite otorgar acceso a recursos específicos de Google Cloud, pero no a otros. IAM te permite adoptar el principio de seguridad de privilegio mínimo, de manera que solo otorgas el acceso necesario a tus recursos.
IAM te permite configurar políticas para controlar quién (usuarios) tiene qué acceso (funciones) a qué recursos estableciendo las políticas de permiso de IAM. Las políticas de permiso otorgan funciones específicas a un usuario, que le otorga al usuario los permisos en esas funciones.
En esta página, se explican las funciones de IAM disponibles para las APIs de Cloud Billing. Por ejemplo, puedes usar IAM para asignar funciones, como el administrador de costos de la cuenta de facturación o el visualizador de cuentas de facturación, en una cuenta de Facturación de Cloud. Para obtener una descripción detallada de IAM y sus características, consulta la documentación de IAM. En particular, consulta Administra el acceso a los proyectos, las carpetas y las organizaciones y Administra el acceso a otros recursos.
Permisos y roles
Para que un usuario vea los detalles de la cuenta de facturación de Cloud en la consola de Google Cloud o para que un método de la API de Facturación de Cloud muestre información sobre la cuenta de Facturación de Cloud, el usuario o el emisor deben tener los permisos necesarios.
Permisos necesarios para la API del catálogo de Facturación de Cloud
No se requieren permisos para usar la API del catálogo de Facturación de Cloud (lista de servicios y de SKU). Todos los datos que muestra esta API son públicos.
Permisos necesarios para la API de presupuesto de Facturación de Cloud
En la siguiente tabla, se describen los permisos que son necesarios para llamar a cada método de la API de presupuestos de Facturación de Cloud. También se incluyen los roles estándar de facturación de IAM que otorgan automáticamente esos permisos.
Método de API | Permiso necesario | Rol de IAM que otorga permisos |
---|---|---|
GetBudget |
Para obtener los detalles de un presupuesto, el emisor debe tener el permiso billing.budgets.get en la cuenta de facturación de Cloud del presupuesto.
Para los presupuestos de un solo proyecto, en lugar de los permisos de la cuenta de facturación, el emisor puede tener los siguientes permisos en el proyecto: |
Administrador de cuentas de facturación, Administrador de costos de la cuenta de facturación o Visualizador de cuentas de facturación en la cuenta de facturación de Cloud del presupuesto. Para presupuestos de un solo proyecto, Propietario del proyecto, Editor del proyecto o Visualizador del proyecto. |
ListBudgets |
Para mostrar una lista de los presupuestos aplicados a una cuenta de facturación de Cloud, el emisor debe tener el permiso billing.budgets.list en la cuenta de facturación de Cloud.
Para los presupuestos de un solo proyecto, en lugar de los permisos de la cuenta de facturación, el emisor puede tener los siguientes permisos en el proyecto: |
Administrador de cuentas de facturación, Administrador de costos de la cuenta de facturación o Visualizador de cuentas de facturación en la cuenta de facturación de Cloud del presupuesto. Para presupuestos de un solo proyecto, Propietario del proyecto, Editor del proyecto o Visualizador del proyecto. |
CreateBudget |
Para crear un nuevo presupuesto, el emisor debe tener el permiso billing.budgets.create en la cuenta de facturación de Cloud del presupuesto.
Para los presupuestos de un solo proyecto, en lugar de los permisos de la cuenta de facturación, el emisor puede tener los siguientes permisos en el proyecto: |
Administrador de cuentas de facturación o Administrador de costos de cuentas de facturación en la cuenta de Facturación de Cloud del presupuesto. Para presupuestos de un solo proyecto, Propietario del proyecto o Editor del proyecto. |
UpdateBudget |
Para actualizar un presupuesto existente, el emisor debe tener el permiso billing.budgets.update en la cuenta de facturación de Cloud del presupuesto.
Para los presupuestos de un solo proyecto, en lugar de los permisos de la cuenta de facturación, el emisor puede tener los siguientes permisos en el proyecto: |
Administrador de cuentas de facturación o Administrador de costos de cuentas de facturación en la cuenta de Facturación de Cloud del presupuesto. Para presupuestos de un solo proyecto, Propietario del proyecto o Editor del proyecto. |
DeleteBudget |
Para borrar un presupuesto existente, el emisor debe tener el permiso billing.budgets.delete en la cuenta de facturación de Cloud del presupuesto.
Para los presupuestos de un solo proyecto, en lugar de los permisos de la cuenta de facturación, el emisor puede tener los siguientes permisos en el proyecto: |
Administrador de cuentas de facturación o Administrador de costos de cuentas de facturación en la cuenta de Facturación de Cloud del presupuesto. Para presupuestos de un solo proyecto, Propietario del proyecto o Editor del proyecto. |
Permisos necesarios para la API de cuentas de facturación de Cloud
En la siguiente tabla, se enumeran los permisos necesarios para llamar a cada método de la API de cuenta de Facturación de Cloud, así como las funciones de IAM para la Facturación de Cloud que incluyen esos permisos.
Método de la API | Permisos necesarios | Funciones de IAM que incluyen permisos |
---|---|---|
billingAccounts.create |
El método se usa para crear nuevas cuentas de facturación secundarias de Cloud. El emisor debe tener billing.accounts.update en la cuenta superior de la cuenta secundaria de facturación de Cloud.
|
Administrador de cuentas de facturación |
billingAccounts.get |
billing.accounts.get en una cuenta de facturación de Cloud. |
Administrador de cuentas de facturación, Administrador de costos de la cuenta de facturación, Visualizador de cuentas de facturación o Usuario de cuentas de facturación |
billingAccounts.list |
Ninguno Este método muestra todas las cuentas a las que el emisor tiene permiso para acceder. | Administrador de cuentas de facturación, Administrador de costos de la cuenta de facturación, Visualizador de cuentas de facturación o Usuario de cuentas de facturación en las cuentas de facturación de Cloud, o Administrador de facturación del proyecto en los proyectos. |
billingAccounts.getIamPolicy |
billing.accounts.getIamPolicy en una cuenta de facturación de Cloud. |
Administrador de cuentas de facturación, Administrador de costos de la cuenta de facturación, Visualizador de cuentas de facturación o Usuario de cuentas de facturación |
billingAccounts.setIamPolicy |
billing.accounts.setIamPolicy en una cuenta de facturación de Cloud. |
Administrador de cuentas de facturación |
billingAccounts.testIamPermissions |
Ninguno Este método se usa para determinar los permisos que tiene un emisor en una cuenta de facturación de Cloud. | No disponible |
billingAccounts.patch |
billing.accounts.update en una cuenta de facturación de Cloud. |
Administrador de cuentas de facturación |
billingAccounts.projects.list |
billing.resourceAssociations.list en una cuenta de facturación de Cloud.
|
Administrador de cuentas de facturación, Administrador de costos de la cuenta de facturación o Visualizador de cuentas de facturación |
projects.getBillingInfo |
resourcemanager.projects.get en el proyecto.Consulta Control de acceso para proyectos a fin de obtener más información. |
Propietario, editor o visualizador del proyecto |
projects.updateBillingInfo |
billing.resourceAssociations.create en la cuenta de Facturación de Cloud Y resourcemanager.projects.createBillingAssignment en el proyecto. |
Administrador de cuentas de facturación o Usuario de cuentas de facturación Y Administrador de facturación del proyecto |
Funciones
No se otorgan permisos a los usuarios directamente, sino funciones, que incluyen uno o más permisos.
Puedes otorgar una o más funciones en el mismo recurso.
En la siguiente tabla, se enumeran las funciones de IAM que puedes otorgar para acceder a las API de Facturación de Cloud, la descripción de lo que hace la función y los permisos agrupados en ella. Algunas de estas funciones también incluyen permisos para otros servicios de Google Cloud.
Role | Permissions |
---|---|
Billing Account Administrator( Provides access to see and manage all aspects of billing accounts. Lowest-level resources where you can grant this role:
|
|
Billing Account Costs Manager( Manage budgets for a billing account, and view, analyze, and export cost information of a billing account. Lowest-level resources where you can grant this role:
|
|
Billing Account Creator( Provides access to create billing accounts. Lowest-level resources where you can grant this role:
|
|
Project Billing Manager( When granted in conjunction with the Billing Account User role, provides access to assign a project's billing account or disable its billing. Lowest-level resources where you can grant this role:
|
|
Billing Account User( When granted in conjunction with the Project Owner role or Project Billing Manager role, provides access to associate projects with billing accounts. Lowest-level resources where you can grant this role:
|
|
Billing Account Viewer( View billing account cost and pricing information, transactions, and billing and commitment recommendations. Lowest-level resources where you can grant this role:
|
|
Ten en cuenta que los roles roles/billing.admin
, roles/billing.costsManager
, roles/billing.viewer
y roles/billing.projectManager
también incluyen permisos para otros servicios de Google Cloud.
Temas relacionados
- Administra el acceso a los proyectos, las carpetas y las organizaciones en la documentación de IAM
- Administra el acceso a otros recursos en la documentación de IAM
- Crea funciones personalizadas de la Facturación de Cloud