Cloud Billing audit logging

This document describes audit logging for Cloud Billing, including which methods generate audit logs, details about the audit logs each method produces, and which methods do not produce audit logs, if any. Google Cloud generates audit logs that record administrative and access activities within your Google Cloud resources. For more information, see Cloud Audit Logs overview.

Service name

Cloud Billing audit logs use the service name cloudbilling.googleapis.com.

Methods by permission type

Methods that check DATA_READ, DATA_WRITE, and ADMIN_READ permissions generate logs categorized as Data Access audit logs. Methods that check ADMIN_WRITE permissions generate logs categorized as Admin Activity audit logs.

Permission type Methods
ADMIN_READ GetIamPolicy
ListBillingAccountResources
ADMIN_WRITE ActivateInstrumentlessBillingAccount
AssignResourceToBillingAccount
CloseBillingAccount
CreateBillingAccount
CreateSignupAssociationRecord
DisableResourceBilling
MigrateAccountSettings
MigrateBillableServices
ReopenBillingAccount
SetIamPolicy
UpdateBillingAccountAnacomCvpNumber
UpdateBillingAccountCurrency
UpdateBillingAccountDisplayName
UpdateBillingAccountPurchaseOrderNumber
UpdateParentOrganization
UpdateResourceBillingProtection
UpgradeFreeTrial
DATA_READ CheckReopenability
GetBillingAccount
ListBillingAccounts
google.cloud.billing.billingaccountprices.v1beta.BillingAccountPrices.GetBillingAccountPrice
google.cloud.billing.billingaccountprices.v1beta.BillingAccountPrices.ListBillingAccountPrices
google.cloud.billing.billingaccountservices.v1beta.BillingAccountServices.GetBillingAccountService
google.cloud.billing.billingaccountservices.v1beta.BillingAccountServices.ListBillingAccountServices
google.cloud.billing.billingaccountskugroups.v1beta.BillingAccountSkuGroups.GetBillingAccountSkuGroup
google.cloud.billing.billingaccountskugroups.v1beta.BillingAccountSkuGroups.ListBillingAccountSkuGroups
google.cloud.billing.billingaccountskugroupskus.v1beta.BillingAccountSkuGroupSkus.GetBillingAccountSkuGroupSku
google.cloud.billing.billingaccountskugroupskus.v1beta.BillingAccountSkuGroupSkus.ListBillingAccountSkuGroupSkus
google.cloud.billing.billingaccountskus.v1beta.BillingAccountSkus.GetBillingAccountSku
google.cloud.billing.billingaccountskus.v1beta.BillingAccountSkus.ListBillingAccountSkus
OTHER GetProjectBillingInfo: To enable this log, enable ADMIN_READ under the service cloudresourcemanager.googleapis.com.
GetResourceBillingInfo: To enable this log, enable ADMIN_READ under the service cloudresourcemanager.googleapis.com.
GetResourceBillingInfoBatch: To enable this log, enable ADMIN_READ under the service cloudresourcemanager.googleapis.com.

Audit logs for each API interface

For information about how and which permissions are evaluated, for each method, see the Identity and Access Management documentation for Cloud Billing.

google.cloud.billing.billingaccountprices.v1beta.BillingAccountPrices

The following section contains details about audit logs associated with methods belonging to google.cloud.billing.billingaccountprices.v1beta.BillingAccountPrices.

GetBillingAccountPrice

  • Method: google.cloud.billing.billingaccountprices.v1beta.BillingAccountPrices.GetBillingAccountPrice
  • Audit log type: Data access
  • Permissions:
    • billing.billingAccountPrice.get - DATA_READ
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="google.cloud.billing.billingaccountprices.v1beta.BillingAccountPrices.GetBillingAccountPrice"

ListBillingAccountPrices

  • Method: google.cloud.billing.billingaccountprices.v1beta.BillingAccountPrices.ListBillingAccountPrices
  • Audit log type: Data access
  • Permissions:
    • billing.billingAccountPrices.list - DATA_READ
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="google.cloud.billing.billingaccountprices.v1beta.BillingAccountPrices.ListBillingAccountPrices"

google.cloud.billing.billingaccountservices.v1beta.BillingAccountServices

The following section contains details about audit logs associated with methods belonging to google.cloud.billing.billingaccountservices.v1beta.BillingAccountServices.

GetBillingAccountService

  • Method: google.cloud.billing.billingaccountservices.v1beta.BillingAccountServices.GetBillingAccountService
  • Audit log type: Data access
  • Permissions:
    • billing.billingAccountServices.get - DATA_READ
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="google.cloud.billing.billingaccountservices.v1beta.BillingAccountServices.GetBillingAccountService"

ListBillingAccountServices

  • Method: google.cloud.billing.billingaccountservices.v1beta.BillingAccountServices.ListBillingAccountServices
  • Audit log type: Data access
  • Permissions:
    • billing.billingAccountServices.list - DATA_READ
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="google.cloud.billing.billingaccountservices.v1beta.BillingAccountServices.ListBillingAccountServices"

google.cloud.billing.billingaccountskugroups.v1beta.BillingAccountSkuGroups

The following section contains details about audit logs associated with methods belonging to google.cloud.billing.billingaccountskugroups.v1beta.BillingAccountSkuGroups.

GetBillingAccountSkuGroup

  • Method: google.cloud.billing.billingaccountskugroups.v1beta.BillingAccountSkuGroups.GetBillingAccountSkuGroup
  • Audit log type: Data access
  • Permissions:
    • billing.billingAccountSkuGroups.get - DATA_READ
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="google.cloud.billing.billingaccountskugroups.v1beta.BillingAccountSkuGroups.GetBillingAccountSkuGroup"

ListBillingAccountSkuGroups

  • Method: google.cloud.billing.billingaccountskugroups.v1beta.BillingAccountSkuGroups.ListBillingAccountSkuGroups
  • Audit log type: Data access
  • Permissions:
    • billing.billingAccountSkuGroups.list - DATA_READ
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="google.cloud.billing.billingaccountskugroups.v1beta.BillingAccountSkuGroups.ListBillingAccountSkuGroups"

google.cloud.billing.billingaccountskugroupskus.v1beta.BillingAccountSkuGroupSkus

The following section contains details about audit logs associated with methods belonging to google.cloud.billing.billingaccountskugroupskus.v1beta.BillingAccountSkuGroupSkus.

GetBillingAccountSkuGroupSku

  • Method: google.cloud.billing.billingaccountskugroupskus.v1beta.BillingAccountSkuGroupSkus.GetBillingAccountSkuGroupSku
  • Audit log type: Data access
  • Permissions:
    • billing.billingAccountSkuGroupSkus.get - DATA_READ
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="google.cloud.billing.billingaccountskugroupskus.v1beta.BillingAccountSkuGroupSkus.GetBillingAccountSkuGroupSku"

ListBillingAccountSkuGroupSkus

  • Method: google.cloud.billing.billingaccountskugroupskus.v1beta.BillingAccountSkuGroupSkus.ListBillingAccountSkuGroupSkus
  • Audit log type: Data access
  • Permissions:
    • billing.billingAccountSkuGroupSkus.list - DATA_READ
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="google.cloud.billing.billingaccountskugroupskus.v1beta.BillingAccountSkuGroupSkus.ListBillingAccountSkuGroupSkus"

google.cloud.billing.billingaccountskus.v1beta.BillingAccountSkus

The following section contains details about audit logs associated with methods belonging to google.cloud.billing.billingaccountskus.v1beta.BillingAccountSkus.

GetBillingAccountSku

  • Method: google.cloud.billing.billingaccountskus.v1beta.BillingAccountSkus.GetBillingAccountSku
  • Audit log type: Data access
  • Permissions:
    • billing.billingAccountSkus.get - DATA_READ
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="google.cloud.billing.billingaccountskus.v1beta.BillingAccountSkus.GetBillingAccountSku"

ListBillingAccountSkus

  • Method: google.cloud.billing.billingaccountskus.v1beta.BillingAccountSkus.ListBillingAccountSkus
  • Audit log type: Data access
  • Permissions:
    • billing.billingAccountSkus.list - DATA_READ
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="google.cloud.billing.billingaccountskus.v1beta.BillingAccountSkus.ListBillingAccountSkus"

google.cloud.billing.v1.CloudBilling

The following section contains details about audit logs associated with methods belonging to google.cloud.billing.v1.CloudBilling.

CreateBillingAccount

  • Method: CreateBillingAccount
  • Audit log type: Admin activity
  • Permissions:
    • billing.accounts.create - ADMIN_WRITE
    • billing.accounts.update - ADMIN_WRITE
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="CreateBillingAccount"

GetBillingAccount

  • Method: GetBillingAccount
  • Audit log type: Data access
  • Permissions:
    • billing.accounts.get - DATA_READ
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="GetBillingAccount"

GetIamPolicy

  • Method: GetIamPolicy
  • Audit log type: Data access
  • Permissions:
    • billing.accounts.getIamPolicy - ADMIN_READ
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="GetIamPolicy"

GetProjectBillingInfo

  • Method: GetProjectBillingInfo
  • Audit log type: Data access
  • Permissions:
    • resourcemanager.projects.get - ADMIN_READ
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="GetProjectBillingInfo"

ListBillingAccounts

  • Method: ListBillingAccounts
  • Audit log type: Data access
  • Permissions:
    • billing.accounts.get - DATA_READ
    • billing.accounts.list - DATA_READ
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="ListBillingAccounts"

SetIamPolicy

  • Method: SetIamPolicy
  • Audit log type: Admin activity
  • Permissions:
    • billing.accounts.setIamPolicy - ADMIN_WRITE
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="SetIamPolicy"

other

The following section contains details about audit logs associated with methods belonging to other.

ActivateInstrumentlessBillingAccount

  • Method: ActivateInstrumentlessBillingAccount
  • Audit log type: Admin activity
  • Permissions:
    • billing.accounts.update - ADMIN_WRITE
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="ActivateInstrumentlessBillingAccount"

AssignResourceToBillingAccount

  • Method: AssignResourceToBillingAccount
  • Audit log type: Admin activity
  • Permissions:
    • billing.resourceAssociations.create - ADMIN_WRITE
    • billing.resourceAssociations.delete - ADMIN_WRITE
    • resourcemanager.projects.createBillingAssignment - ADMIN_WRITE
    • resourcemanager.projects.deleteBillingAssignment - ADMIN_WRITE
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="AssignResourceToBillingAccount"

CheckReopenability

  • Method: CheckReopenability
  • Audit log type: Data access
  • Permissions:
    • billing.accounts.get - DATA_READ
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="CheckReopenability"

CloseBillingAccount

  • Method: CloseBillingAccount
  • Audit log type: Admin activity
  • Permissions:
    • billing.accounts.close - ADMIN_WRITE
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="CloseBillingAccount"

CreateSignupAssociationRecord

  • Method: CreateSignupAssociationRecord
  • Audit log type: Admin activity
  • Permissions:
    • billing.accounts.update - ADMIN_WRITE
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="CreateSignupAssociationRecord"

DisableResourceBilling

  • Method: DisableResourceBilling
  • Audit log type: Admin activity
  • Permissions:
    • billing.resourceAssociations.delete - ADMIN_WRITE
    • resourcemanager.projects.deleteBillingAssignment - ADMIN_WRITE
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="DisableResourceBilling"

GetResourceBillingInfo

  • Method: GetResourceBillingInfo
  • Audit log type: Data access
  • Permissions:
    • resourcemanager.organizations.get - ADMIN_READ
    • resourcemanager.projects.get - ADMIN_READ
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="GetResourceBillingInfo"

GetResourceBillingInfoBatch

  • Method: GetResourceBillingInfoBatch
  • Audit log type: Data access
  • Permissions:
    • resourcemanager.organizations.get - ADMIN_READ
    • resourcemanager.projects.get - ADMIN_READ
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="GetResourceBillingInfoBatch"

ListBillingAccountResources

  • Method: ListBillingAccountResources
  • Audit log type: Data access
  • Permissions:
    • billing.resourceAssociations.list - ADMIN_READ
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="ListBillingAccountResources"

MigrateAccountSettings

  • Method: MigrateAccountSettings
  • Audit log type: Admin activity
  • Permissions:
    • billing.accounts.setIamPolicy - ADMIN_WRITE
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="MigrateAccountSettings"

MigrateBillableServices

  • Method: MigrateBillableServices
  • Audit log type: Admin activity
  • Permissions:
    • billing.accounts.update - ADMIN_WRITE
    • billing.subscriptions.create - ADMIN_WRITE
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="MigrateBillableServices"

ReopenBillingAccount

  • Method: ReopenBillingAccount
  • Audit log type: Admin activity
  • Permissions:
    • billing.accounts.reopen - ADMIN_WRITE
    • billing.accounts.reopenTerminated - ADMIN_WRITE
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="ReopenBillingAccount"

UpdateBillingAccountAnacomCvpNumber

  • Method: UpdateBillingAccountAnacomCvpNumber
  • Audit log type: Admin activity
  • Permissions:
    • billing.accounts.update - ADMIN_WRITE
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="UpdateBillingAccountAnacomCvpNumber"

UpdateBillingAccountCurrency

  • Method: UpdateBillingAccountCurrency
  • Audit log type: Admin activity
  • Permissions:
    • billing.accounts.update - ADMIN_WRITE
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="UpdateBillingAccountCurrency"

UpdateBillingAccountDisplayName

  • Method: UpdateBillingAccountDisplayName
  • Audit log type: Admin activity
  • Permissions:
    • billing.accounts.update - ADMIN_WRITE
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="UpdateBillingAccountDisplayName"

UpdateBillingAccountPurchaseOrderNumber

  • Method: UpdateBillingAccountPurchaseOrderNumber
  • Audit log type: Admin activity
  • Permissions:
    • billing.accounts.update - ADMIN_WRITE
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="UpdateBillingAccountPurchaseOrderNumber"

UpdateParentOrganization

  • Method: UpdateParentOrganization
  • Audit log type: Admin activity
  • Permissions:
    • billing.accounts.create - ADMIN_WRITE
    • billing.accounts.move - ADMIN_WRITE
    • billing.accounts.removeFromOrganization - ADMIN_WRITE
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="UpdateParentOrganization"

UpdateResourceBillingProtection

  • Method: UpdateResourceBillingProtection
  • Audit log type: Admin activity
  • Permissions:
    • billing.resourceAssociations.create - ADMIN_WRITE
    • billing.resourceAssociations.delete - ADMIN_WRITE
    • resourcemanager.projects.createBillingAssignment - ADMIN_WRITE
    • resourcemanager.projects.deleteBillingAssignment - ADMIN_WRITE
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="UpdateResourceBillingProtection"

UpgradeFreeTrial

  • Method: UpgradeFreeTrial
  • Audit log type: Admin activity
  • Permissions:
    • billing.accounts.update - ADMIN_WRITE
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="UpgradeFreeTrial"

Methods that don't produce audit logs

A method might not produce audit logs for one or more of the following reasons:

  • It is a high volume method involving signifcant log generation and storage costs.
  • It has low auditing value.
  • Another audit or platform log already provides method coverage.

The following methods don't produce audit logs:

  • google.cloud.billing.prices.v1beta.Prices.GetPrice
  • google.cloud.billing.prices.v1beta.Prices.ListPrices
  • google.cloud.billing.services.v2beta.Services.GetService
  • google.cloud.billing.services.v2beta.Services.ListServices
  • google.cloud.billing.skugroups.v1beta.SkuGroups.GetSkuGroup
  • google.cloud.billing.skugroups.v1beta.SkuGroups.ListSkuGroups
  • google.cloud.billing.skugroupskus.v1beta.SkuGroupSkus.GetSkuGroupSku
  • google.cloud.billing.skugroupskus.v1beta.SkuGroupSkus.ListSkuGroupSkus
  • google.cloud.billing.skus.v2beta.Skus.GetSku
  • google.cloud.billing.skus.v2beta.Skus.ListSkus