GKE Multi-Cloud audit logging

Cloud Audit Logs for GKE Multi-Cloud products, including GKE on AWS, GKE on AWS, and GKE attached clusters (EKS, AKS, and generic) let you track administrative and data-access operations on your resources to help you monitor access and configuration changes. You can query these logs in the Logs Explorer and check which GKE Multi-Cloud products, including GKE on AWS, GKE on AWS, and GKE attached clusters (EKS, AKS, and generic) API methods generate Cloud Audit Logs.

For more information about Cloud Audit Logs, see the following documents:

Service name

To view the GKE Multi-Cloud products, including GKE on AWS, GKE on AWS, and GKE attached clusters (EKS, AKS, and generic) audit logs, do the following:

  1. In the Google Cloud console, go to the Logs Explorer page:

    Go to Logs Explorer

  2. Copy and paste the following query into the Query field of the Logs Explorer, and then click Run query.

        protoPayload.serviceName="gkemulticloud.googleapis.com"
      

Methods by permission type

Each IAM permission has a type property, whose value is an enum that can be one of four values: ADMIN_READ, ADMIN_WRITE, DATA_READ, or DATA_WRITE. When you call a method, GKE Multi-Cloud products, including GKE on AWS, GKE on AWS, and GKE attached clusters (EKS, AKS, and generic) generates an audit log whose category is dependent on the type property of the permission required to perform the method. Methods that require an IAM permission with the type property value of DATA_READ, DATA_WRITE, or ADMIN_READ generate Data Access audit logs. Methods that require an IAM permission with the type property value of ADMIN_WRITE generate Admin Activity audit logs.

API methods in the following list that are marked with (LRO) are long-running operations (LROs). These methods usually generate two audit log entries: one when the operation starts and another when it ends. For more information see Audit logs for long-running operations.
Permission type Methods
ADMIN_READ google.cloud.gkemulticloud.v1.AttachedClusters.GenerateAttachedClusterInstallManifest
google.cloud.gkemulticloud.v1.AttachedClusters.GetAttachedCluster
google.cloud.gkemulticloud.v1.AttachedClusters.GetAttachedServerConfig
google.cloud.gkemulticloud.v1.AttachedClusters.ListAttachedClusters
google.cloud.gkemulticloud.v1.AwsClusters.GenerateAwsAccessToken
google.cloud.gkemulticloud.v1.AwsClusters.GetAwsCluster
google.cloud.gkemulticloud.v1.AwsClusters.GetAwsNodePool
google.cloud.gkemulticloud.v1.AwsClusters.GetAwsServerConfig
google.cloud.gkemulticloud.v1.AwsClusters.ListAwsClusters
google.cloud.gkemulticloud.v1.AwsClusters.ListAwsNodePools
google.cloud.gkemulticloud.v1.AzureClusters.GenerateAzureAccessToken
google.cloud.gkemulticloud.v1.AzureClusters.GetAzureClient
google.cloud.gkemulticloud.v1.AzureClusters.GetAzureCluster
google.cloud.gkemulticloud.v1.AzureClusters.GetAzureNodePool
google.cloud.gkemulticloud.v1.AzureClusters.GetAzureServerConfig
google.cloud.gkemulticloud.v1.AzureClusters.ListAzureClients
google.cloud.gkemulticloud.v1.AzureClusters.ListAzureClusters
google.cloud.gkemulticloud.v1.AzureClusters.ListAzureNodePools
ADMIN_WRITE google.cloud.gkemulticloud.v1.AttachedClusters.CreateAttachedCluster (LRO)
google.cloud.gkemulticloud.v1.AttachedClusters.DeleteAttachedCluster (LRO)
google.cloud.gkemulticloud.v1.AttachedClusters.ImportAttachedCluster (LRO)
google.cloud.gkemulticloud.v1.AttachedClusters.UpdateAttachedCluster (LRO)
google.cloud.gkemulticloud.v1.AwsClusters.CreateAwsCluster (LRO)
google.cloud.gkemulticloud.v1.AwsClusters.CreateAwsNodePool (LRO)
google.cloud.gkemulticloud.v1.AwsClusters.DeleteAwsCluster (LRO)
google.cloud.gkemulticloud.v1.AwsClusters.DeleteAwsNodePool (LRO)
google.cloud.gkemulticloud.v1.AwsClusters.UpdateAwsCluster (LRO)
google.cloud.gkemulticloud.v1.AwsClusters.UpdateAwsNodePool (LRO)
google.cloud.gkemulticloud.v1.AzureClusters.CreateAzureClient (LRO)
google.cloud.gkemulticloud.v1.AzureClusters.CreateAzureCluster (LRO)
google.cloud.gkemulticloud.v1.AzureClusters.CreateAzureNodePool (LRO)
google.cloud.gkemulticloud.v1.AzureClusters.DeleteAzureClient (LRO)
google.cloud.gkemulticloud.v1.AzureClusters.DeleteAzureCluster (LRO)
google.cloud.gkemulticloud.v1.AzureClusters.DeleteAzureNodePool (LRO)
google.cloud.gkemulticloud.v1.AzureClusters.UpdateAzureCluster (LRO)
google.cloud.gkemulticloud.v1.AzureClusters.UpdateAzureNodePool (LRO)

Audit logs for each API interface

google.cloud.gkemulticloud.v1.AttachedClusters

The following audit logs are associated with methods belonging to google.cloud.gkemulticloud.v1.AttachedClusters.

CreateAttachedCluster

  • Method: google.cloud.gkemulticloud.v1.AttachedClusters.CreateAttachedCluster
  • Audit log type: Admin activity
  • Permissions:
    • gkemulticloud.attachedClusters.create - ADMIN_WRITE
  • Method is a long-running or streaming operation: Long-running operation
  • Filter for this method: protoPayload.methodName="google.cloud.gkemulticloud.v1.AttachedClusters.CreateAttachedCluster"

DeleteAttachedCluster

  • Method: google.cloud.gkemulticloud.v1.AttachedClusters.DeleteAttachedCluster
  • Audit log type: Admin activity
  • Permissions:
    • gkemulticloud.attachedClusters.delete - ADMIN_WRITE
  • Method is a long-running or streaming operation: Long-running operation
  • Filter for this method: protoPayload.methodName="google.cloud.gkemulticloud.v1.AttachedClusters.DeleteAttachedCluster"

GenerateAttachedClusterInstallManifest

  • Method: google.cloud.gkemulticloud.v1.AttachedClusters.GenerateAttachedClusterInstallManifest
  • Audit log type: Data access
  • Permissions:
    • gkemulticloud.attachedClusters.generateInstallManifest - ADMIN_READ
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="google.cloud.gkemulticloud.v1.AttachedClusters.GenerateAttachedClusterInstallManifest"

GetAttachedCluster

  • Method: google.cloud.gkemulticloud.v1.AttachedClusters.GetAttachedCluster
  • Audit log type: Data access
  • Permissions:
    • gkemulticloud.attachedClusters.get - ADMIN_READ
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="google.cloud.gkemulticloud.v1.AttachedClusters.GetAttachedCluster"

GetAttachedServerConfig

  • Method: google.cloud.gkemulticloud.v1.AttachedClusters.GetAttachedServerConfig
  • Audit log type: Data access
  • Permissions:
    • gkemulticloud.attachedServerConfigs.get - ADMIN_READ
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="google.cloud.gkemulticloud.v1.AttachedClusters.GetAttachedServerConfig"

ImportAttachedCluster

  • Method: google.cloud.gkemulticloud.v1.AttachedClusters.ImportAttachedCluster
  • Audit log type: Admin activity
  • Permissions:
    • gkemulticloud.attachedClusters.import - ADMIN_WRITE
  • Method is a long-running or streaming operation: Long-running operation
  • Filter for this method: protoPayload.methodName="google.cloud.gkemulticloud.v1.AttachedClusters.ImportAttachedCluster"

ListAttachedClusters

  • Method: google.cloud.gkemulticloud.v1.AttachedClusters.ListAttachedClusters
  • Audit log type: Data access
  • Permissions:
    • gkemulticloud.attachedClusters.list - ADMIN_READ
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="google.cloud.gkemulticloud.v1.AttachedClusters.ListAttachedClusters"

UpdateAttachedCluster

  • Method: google.cloud.gkemulticloud.v1.AttachedClusters.UpdateAttachedCluster
  • Audit log type: Admin activity
  • Permissions:
    • gkemulticloud.attachedClusters.update - ADMIN_WRITE
  • Method is a long-running or streaming operation: Long-running operation
  • Filter for this method: protoPayload.methodName="google.cloud.gkemulticloud.v1.AttachedClusters.UpdateAttachedCluster"

google.cloud.gkemulticloud.v1.AwsClusters

The following audit logs are associated with methods belonging to google.cloud.gkemulticloud.v1.AwsClusters.

CreateAwsCluster

  • Method: google.cloud.gkemulticloud.v1.AwsClusters.CreateAwsCluster
  • Audit log type: Admin activity
  • Permissions:
    • gkemulticloud.awsClusters.create - ADMIN_WRITE
  • Method is a long-running or streaming operation: Long-running operation
  • Filter for this method: protoPayload.methodName="google.cloud.gkemulticloud.v1.AwsClusters.CreateAwsCluster"

CreateAwsNodePool

  • Method: google.cloud.gkemulticloud.v1.AwsClusters.CreateAwsNodePool
  • Audit log type: Admin activity
  • Permissions:
    • gkemulticloud.awsNodePools.create - ADMIN_WRITE
  • Method is a long-running or streaming operation: Long-running operation
  • Filter for this method: protoPayload.methodName="google.cloud.gkemulticloud.v1.AwsClusters.CreateAwsNodePool"

DeleteAwsCluster

  • Method: google.cloud.gkemulticloud.v1.AwsClusters.DeleteAwsCluster
  • Audit log type: Admin activity
  • Permissions:
    • gkemulticloud.awsClusters.delete - ADMIN_WRITE
  • Method is a long-running or streaming operation: Long-running operation
  • Filter for this method: protoPayload.methodName="google.cloud.gkemulticloud.v1.AwsClusters.DeleteAwsCluster"

DeleteAwsNodePool

  • Method: google.cloud.gkemulticloud.v1.AwsClusters.DeleteAwsNodePool
  • Audit log type: Admin activity
  • Permissions:
    • gkemulticloud.awsNodePools.delete - ADMIN_WRITE
  • Method is a long-running or streaming operation: Long-running operation
  • Filter for this method: protoPayload.methodName="google.cloud.gkemulticloud.v1.AwsClusters.DeleteAwsNodePool"

GenerateAwsAccessToken

  • Method: google.cloud.gkemulticloud.v1.AwsClusters.GenerateAwsAccessToken
  • Audit log type: Data access
  • Permissions:
    • gkemulticloud.awsClusters.generateAccessToken - ADMIN_READ
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="google.cloud.gkemulticloud.v1.AwsClusters.GenerateAwsAccessToken"

GetAwsCluster

  • Method: google.cloud.gkemulticloud.v1.AwsClusters.GetAwsCluster
  • Audit log type: Data access
  • Permissions:
    • gkemulticloud.awsClusters.get - ADMIN_READ
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="google.cloud.gkemulticloud.v1.AwsClusters.GetAwsCluster"

GetAwsNodePool

  • Method: google.cloud.gkemulticloud.v1.AwsClusters.GetAwsNodePool
  • Audit log type: Data access
  • Permissions:
    • gkemulticloud.awsNodePools.get - ADMIN_READ
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="google.cloud.gkemulticloud.v1.AwsClusters.GetAwsNodePool"

GetAwsServerConfig

  • Method: google.cloud.gkemulticloud.v1.AwsClusters.GetAwsServerConfig
  • Audit log type: Data access
  • Permissions:
    • gkemulticloud.awsServerConfigs.get - ADMIN_READ
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="google.cloud.gkemulticloud.v1.AwsClusters.GetAwsServerConfig"

ListAwsClusters

  • Method: google.cloud.gkemulticloud.v1.AwsClusters.ListAwsClusters
  • Audit log type: Data access
  • Permissions:
    • gkemulticloud.awsClusters.list - ADMIN_READ
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="google.cloud.gkemulticloud.v1.AwsClusters.ListAwsClusters"

ListAwsNodePools

  • Method: google.cloud.gkemulticloud.v1.AwsClusters.ListAwsNodePools
  • Audit log type: Data access
  • Permissions:
    • gkemulticloud.awsNodePools.list - ADMIN_READ
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="google.cloud.gkemulticloud.v1.AwsClusters.ListAwsNodePools"

UpdateAwsCluster

  • Method: google.cloud.gkemulticloud.v1.AwsClusters.UpdateAwsCluster
  • Audit log type: Admin activity
  • Permissions:
    • gkemulticloud.awsClusters.update - ADMIN_WRITE
  • Method is a long-running or streaming operation: Long-running operation
  • Filter for this method: protoPayload.methodName="google.cloud.gkemulticloud.v1.AwsClusters.UpdateAwsCluster"

UpdateAwsNodePool

  • Method: google.cloud.gkemulticloud.v1.AwsClusters.UpdateAwsNodePool
  • Audit log type: Admin activity
  • Permissions:
    • gkemulticloud.awsNodePools.update - ADMIN_WRITE
  • Method is a long-running or streaming operation: Long-running operation
  • Filter for this method: protoPayload.methodName="google.cloud.gkemulticloud.v1.AwsClusters.UpdateAwsNodePool"

google.cloud.gkemulticloud.v1.AzureClusters

The following audit logs are associated with methods belonging to google.cloud.gkemulticloud.v1.AzureClusters.

CreateAzureClient

  • Method: google.cloud.gkemulticloud.v1.AzureClusters.CreateAzureClient
  • Audit log type: Admin activity
  • Permissions:
    • gkemulticloud.azureClients.create - ADMIN_WRITE
  • Method is a long-running or streaming operation: Long-running operation
  • Filter for this method: protoPayload.methodName="google.cloud.gkemulticloud.v1.AzureClusters.CreateAzureClient"

CreateAzureCluster

  • Method: google.cloud.gkemulticloud.v1.AzureClusters.CreateAzureCluster
  • Audit log type: Admin activity
  • Permissions:
    • gkemulticloud.azureClusters.create - ADMIN_WRITE
  • Method is a long-running or streaming operation: Long-running operation
  • Filter for this method: protoPayload.methodName="google.cloud.gkemulticloud.v1.AzureClusters.CreateAzureCluster"

CreateAzureNodePool

  • Method: google.cloud.gkemulticloud.v1.AzureClusters.CreateAzureNodePool
  • Audit log type: Admin activity
  • Permissions:
    • gkemulticloud.azureNodePools.create - ADMIN_WRITE
  • Method is a long-running or streaming operation: Long-running operation
  • Filter for this method: protoPayload.methodName="google.cloud.gkemulticloud.v1.AzureClusters.CreateAzureNodePool"

DeleteAzureClient

  • Method: google.cloud.gkemulticloud.v1.AzureClusters.DeleteAzureClient
  • Audit log type: Admin activity
  • Permissions:
    • gkemulticloud.azureClients.delete - ADMIN_WRITE
  • Method is a long-running or streaming operation: Long-running operation
  • Filter for this method: protoPayload.methodName="google.cloud.gkemulticloud.v1.AzureClusters.DeleteAzureClient"

DeleteAzureCluster

  • Method: google.cloud.gkemulticloud.v1.AzureClusters.DeleteAzureCluster
  • Audit log type: Admin activity
  • Permissions:
    • gkemulticloud.azureClusters.delete - ADMIN_WRITE
  • Method is a long-running or streaming operation: Long-running operation
  • Filter for this method: protoPayload.methodName="google.cloud.gkemulticloud.v1.AzureClusters.DeleteAzureCluster"

DeleteAzureNodePool

  • Method: google.cloud.gkemulticloud.v1.AzureClusters.DeleteAzureNodePool
  • Audit log type: Admin activity
  • Permissions:
    • gkemulticloud.azureNodePools.delete - ADMIN_WRITE
  • Method is a long-running or streaming operation: Long-running operation
  • Filter for this method: protoPayload.methodName="google.cloud.gkemulticloud.v1.AzureClusters.DeleteAzureNodePool"

GenerateAzureAccessToken

  • Method: google.cloud.gkemulticloud.v1.AzureClusters.GenerateAzureAccessToken
  • Audit log type: Data access
  • Permissions:
    • gkemulticloud.azureClusters.generateAccessToken - ADMIN_READ
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="google.cloud.gkemulticloud.v1.AzureClusters.GenerateAzureAccessToken"

GetAzureClient

  • Method: google.cloud.gkemulticloud.v1.AzureClusters.GetAzureClient
  • Audit log type: Data access
  • Permissions:
    • gkemulticloud.azureClients.get - ADMIN_READ
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="google.cloud.gkemulticloud.v1.AzureClusters.GetAzureClient"

GetAzureCluster

  • Method: google.cloud.gkemulticloud.v1.AzureClusters.GetAzureCluster
  • Audit log type: Data access
  • Permissions:
    • gkemulticloud.azureClusters.get - ADMIN_READ
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="google.cloud.gkemulticloud.v1.AzureClusters.GetAzureCluster"

GetAzureNodePool

  • Method: google.cloud.gkemulticloud.v1.AzureClusters.GetAzureNodePool
  • Audit log type: Data access
  • Permissions:
    • gkemulticloud.azureNodePools.get - ADMIN_READ
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="google.cloud.gkemulticloud.v1.AzureClusters.GetAzureNodePool"

GetAzureServerConfig

  • Method: google.cloud.gkemulticloud.v1.AzureClusters.GetAzureServerConfig
  • Audit log type: Data access
  • Permissions:
    • gkemulticloud.azureServerConfigs.get - ADMIN_READ
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="google.cloud.gkemulticloud.v1.AzureClusters.GetAzureServerConfig"

ListAzureClients

  • Method: google.cloud.gkemulticloud.v1.AzureClusters.ListAzureClients
  • Audit log type: Data access
  • Permissions:
    • gkemulticloud.azureClients.list - ADMIN_READ
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="google.cloud.gkemulticloud.v1.AzureClusters.ListAzureClients"

ListAzureClusters

  • Method: google.cloud.gkemulticloud.v1.AzureClusters.ListAzureClusters
  • Audit log type: Data access
  • Permissions:
    • gkemulticloud.azureClusters.list - ADMIN_READ
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="google.cloud.gkemulticloud.v1.AzureClusters.ListAzureClusters"

ListAzureNodePools

  • Method: google.cloud.gkemulticloud.v1.AzureClusters.ListAzureNodePools
  • Audit log type: Data access
  • Permissions:
    • gkemulticloud.azureNodePools.list - ADMIN_READ
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="google.cloud.gkemulticloud.v1.AzureClusters.ListAzureNodePools"

UpdateAzureCluster

  • Method: google.cloud.gkemulticloud.v1.AzureClusters.UpdateAzureCluster
  • Audit log type: Admin activity
  • Permissions:
    • gkemulticloud.azureClusters.update - ADMIN_WRITE
  • Method is a long-running or streaming operation: Long-running operation
  • Filter for this method: protoPayload.methodName="google.cloud.gkemulticloud.v1.AzureClusters.UpdateAzureCluster"

UpdateAzureNodePool

  • Method: google.cloud.gkemulticloud.v1.AzureClusters.UpdateAzureNodePool
  • Audit log type: Admin activity
  • Permissions:
    • gkemulticloud.azureNodePools.update - ADMIN_WRITE
  • Method is a long-running or streaming operation: Long-running operation
  • Filter for this method: protoPayload.methodName="google.cloud.gkemulticloud.v1.AzureClusters.UpdateAzureNodePool"

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 significant 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.gkemulticloud.v1.AttachedClusters.GenerateAttachedClusterAgentToken
  • google.cloud.gkemulticloud.v1.AwsClusters.GenerateAwsClusterAgentToken
  • google.cloud.gkemulticloud.v1.AwsClusters.GetAwsJsonWebKeys
  • google.cloud.gkemulticloud.v1.AwsClusters.GetAwsOpenIdConfig
  • google.cloud.gkemulticloud.v1.AzureClusters.GenerateAzureClusterAgentToken
  • google.cloud.gkemulticloud.v1.AzureClusters.GetAzureJsonWebKeys
  • google.cloud.gkemulticloud.v1.AzureClusters.GetAzureOpenIdConfig
  • google.longrunning.Operations.CancelOperation
  • google.longrunning.Operations.DeleteOperation
  • google.longrunning.Operations.GetOperation
  • google.longrunning.Operations.ListOperations
  • google.longrunning.Operations.WaitOperation